├── .gitignore ├── .gitmodules ├── LICENSE ├── README.md ├── android ├── AndroidManifest.xml ├── build.gradle ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── ic_launcher-web.png ├── local.properties ├── proguard-rules.pro ├── project.properties ├── res │ ├── drawable-hdpi │ │ └── ic_launcher.png │ ├── drawable-mdpi │ │ └── ic_launcher.png │ ├── drawable-xhdpi │ │ └── ic_launcher.png │ ├── drawable-xxhdpi │ │ └── ic_launcher.png │ ├── drawable │ │ ├── down_arrow.png │ │ ├── left_arrow.png │ │ ├── mouse.png │ │ ├── right_arrow.png │ │ ├── toggle.png │ │ └── up_arrow.png │ ├── layout │ │ ├── main_activity.xml │ │ ├── screen_controls.xml │ │ └── tv_activity.xml │ ├── menu │ │ └── menu.xml │ ├── mipmap-xhdpi │ │ ├── ic_banner.png │ │ └── ic_banner_foreground.png │ ├── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── ic_banner_background.xml │ │ ├── strings.xml │ │ ├── styles.xml │ │ └── themes.xml │ └── xml │ │ ├── backup_rules.xml │ │ ├── data_extraction_rules.xml │ │ └── settings.xml └── src │ └── main │ └── java │ └── net │ └── warsmash │ └── phone │ ├── CustomExceptionHandler.kt │ ├── ExceptionsHandlerApplication.kt │ ├── android │ └── engine │ │ ├── ANGLEInstancedArraysGLES30.java │ │ ├── DynamicShadowExtensionGLES30.java │ │ ├── Engine.kt │ │ └── activity │ │ └── EngineActivity.kt │ ├── interfaces │ └── SettingsFragmentMvpView.kt │ ├── presenter │ ├── MainActivityPresenter.kt │ └── SettingsFragmentPresenter.kt │ ├── ui │ ├── activity │ │ ├── ConfigureControlsActivity.kt │ │ ├── MainActivity.kt │ │ └── TVActivity.kt │ ├── controls │ │ ├── ScreenControlsManager.kt │ │ └── views │ │ │ ├── MouseButton.kt │ │ │ ├── ScrollableImageButton.kt │ │ │ └── TouchScreenImageButton.kt │ └── fragment │ │ ├── MvpAppCompatFragment.java │ │ └── SettingsFragment.kt │ └── utils │ ├── Consts.kt │ ├── Utils.kt │ └── extensions │ └── Extensions.kt ├── assets ├── gles3.2 │ ├── MdxShaders.fsHd.glsl │ └── MdxShaders.vsHd.glsl ├── resources │ ├── Scripts │ │ ├── Abilities │ │ │ ├── Human │ │ │ │ ├── Archmage │ │ │ │ │ ├── Blizzard.j │ │ │ │ │ ├── Brilliance.j │ │ │ │ │ ├── MassTeleport.j │ │ │ │ │ └── SummonWaterElemental.j │ │ │ │ ├── MountainKing │ │ │ │ │ ├── Avatar.j │ │ │ │ │ ├── StormBolt.j │ │ │ │ │ └── ThunderClap.j │ │ │ │ └── Paladin │ │ │ │ │ ├── Devotion.j │ │ │ │ │ ├── DivineShield.j │ │ │ │ │ ├── HolyLight.j │ │ │ │ │ └── Resurrect.j │ │ │ └── Orc │ │ │ │ └── TaurenChieftain │ │ │ │ └── AbilityWarStomp.j │ │ ├── abilitiesCommon.j │ │ ├── abilitiesCommon2.j │ │ ├── abilitiesCommon3.j │ │ ├── abilitiesDefaults.j │ │ ├── abilitiesUtils.j │ │ ├── common.jui │ │ └── melee.jui │ └── UI │ │ └── FrameDef │ │ ├── SmashFrameDef.toc │ │ └── SmashUI │ │ ├── InventoryCover.fdf │ │ ├── SmashConsoleUI.fdf │ │ ├── TimeOfDayIndicator.fdf │ │ ├── ToolTip.fdf │ │ └── UnitPortrait.fdf └── warsmash.ini ├── build.gradle ├── core ├── AndroidManifest.xml ├── assets │ ├── abilityBehaviors │ │ ├── RaiseDead.json │ │ ├── Transformations.json │ │ ├── auras.json │ │ ├── generalPassives.json │ │ ├── humanHeroActives.json │ │ ├── humanUnitActives.json │ │ ├── itemSimple.json │ │ ├── neutralHeroUnitActives.json │ │ ├── neutralUnitActives.json │ │ ├── nightElfHeroUnitActives.json │ │ ├── nightElfUnitActives.json │ │ ├── orcHeroActives.json │ │ ├── reactions.json │ │ ├── undeadHeroUnitActives.json │ │ └── undeadUnitActives.json │ ├── resources │ │ ├── Icon128.png │ │ ├── Icon16.png │ │ ├── Icon32.png │ │ └── Icon64.png │ ├── warsmash.ini │ ├── warsmash131notworking.ini │ ├── warsmashPRSCMOD.ini │ ├── warsmashRF.ini │ ├── warsmashTTOR.ini │ ├── warsmashUF.ini │ ├── warsmash_131.ini │ └── warsmash_myHD.ini ├── build.gradle ├── src │ ├── com │ │ ├── etheller │ │ │ └── warsmash │ │ │ │ ├── AudioLoader.kt │ │ │ │ ├── CodeCounter.java │ │ │ │ ├── KeysEmulator.kt │ │ │ │ ├── MathSpeedBenchmark.java │ │ │ │ ├── SingleModelScreen.java │ │ │ │ ├── Utils.java │ │ │ │ ├── WarsmashGdxFDFTestRenderScreen.java │ │ │ │ ├── WarsmashGdxGame.java │ │ │ │ ├── WarsmashGdxMapScreen.java │ │ │ │ ├── WarsmashGdxMenuScreen.java │ │ │ │ ├── WarsmashGdxMultiScreenGame.java │ │ │ │ ├── WarsmashGdxTerrainEditor.java │ │ │ │ ├── WarsmashPreviewApplication.java │ │ │ │ ├── WarsmashTestGame.java │ │ │ │ ├── WarsmashTestGame2.java │ │ │ │ ├── WarsmashTestGame3.java │ │ │ │ ├── WarsmashTestGameAttributes.java │ │ │ │ ├── WarsmashTestGameAttributes2.java │ │ │ │ ├── WarsmashTestGameTextureBuffer.java │ │ │ │ ├── WarsmashTestGameTextureBuffer2.java │ │ │ │ ├── WarsmashTestMyTextureGame.java │ │ │ │ ├── common │ │ │ │ ├── FetchDataTypeName.java │ │ │ │ └── LoadGenericCallback.java │ │ │ │ ├── datasources │ │ │ │ ├── CascDataSource.java │ │ │ │ ├── CascDataSourceDescriptor.java │ │ │ │ ├── CompoundDataSource.java │ │ │ │ ├── CompoundDataSourceDescriptor.java │ │ │ │ ├── DataSource.java │ │ │ │ ├── DataSourceDescriptor.java │ │ │ │ ├── FolderDataSource.java │ │ │ │ ├── FolderDataSourceDescriptor.java │ │ │ │ ├── MpqDataSource.java │ │ │ │ ├── MpqDataSourceDescriptor.java │ │ │ │ └── SubdirDataSource.java │ │ │ │ ├── networking │ │ │ │ ├── WarsmashClient.java │ │ │ │ ├── WarsmashClientSendingOrderListener.java │ │ │ │ ├── WarsmashClientTestingUtility.java │ │ │ │ └── uberserver │ │ │ │ │ └── GamingNetworkConnectionImpl.java │ │ │ │ ├── parsers │ │ │ │ ├── fdf │ │ │ │ │ ├── DataSourceFDFParserBuilder.java │ │ │ │ │ ├── DynamicFontGeneratorHolder.java │ │ │ │ │ ├── FontGeneratorHolder.java │ │ │ │ │ ├── GameSkin.java │ │ │ │ │ ├── GameUI.java │ │ │ │ │ ├── Main.java │ │ │ │ │ ├── ModelExport.java │ │ │ │ │ └── frames │ │ │ │ │ │ ├── AbstractRenderableFrame.java │ │ │ │ │ │ ├── AbstractUIFrame.java │ │ │ │ │ │ ├── AnchorPoint.java │ │ │ │ │ │ ├── BackdropFrame.java │ │ │ │ │ │ ├── CheckBoxFrame.java │ │ │ │ │ │ ├── ClickConsumingTextureFrame.java │ │ │ │ │ │ ├── ControlFrame.java │ │ │ │ │ │ ├── EditBoxFrame.java │ │ │ │ │ │ ├── FilterModeTextureFrame.java │ │ │ │ │ │ ├── FramePointAssignment.java │ │ │ │ │ │ ├── GlueButtonFrame.java │ │ │ │ │ │ ├── GlueTextButtonFrame.java │ │ │ │ │ │ ├── ListBoxFrame.java │ │ │ │ │ │ ├── MenuFrame.java │ │ │ │ │ │ ├── PopupMenuFrame.java │ │ │ │ │ │ ├── ScrollBarFrame.java │ │ │ │ │ │ ├── SetPoint.java │ │ │ │ │ │ ├── SimpleButtonFrame.java │ │ │ │ │ │ ├── SimpleFrame.java │ │ │ │ │ │ ├── SimpleStatusBarFrame.java │ │ │ │ │ │ ├── SingleStringFrame.java │ │ │ │ │ │ ├── SmartBackdropFrame.java │ │ │ │ │ │ ├── SpriteFrame.java │ │ │ │ │ │ ├── SpriteFrame2.java │ │ │ │ │ │ ├── StringFrame.java │ │ │ │ │ │ ├── TextAreaFrame.java │ │ │ │ │ │ ├── TextButtonFrame.java │ │ │ │ │ │ ├── TextureFrame.java │ │ │ │ │ │ └── UIFrame.java │ │ │ │ ├── jass │ │ │ │ │ ├── Jass2.java │ │ │ │ │ ├── JassAIEnvironment.java │ │ │ │ │ ├── JassTest.java │ │ │ │ │ ├── JassTextGenerator.java │ │ │ │ │ ├── JassTextGeneratorCallStmt.java │ │ │ │ │ ├── JassTextGeneratorExpr.java │ │ │ │ │ ├── JassTextGeneratorImpl1.java │ │ │ │ │ ├── JassTextGeneratorStmt.java │ │ │ │ │ ├── JassTextGeneratorType.java │ │ │ │ │ ├── Tmpgen.java │ │ │ │ │ ├── Tmpgen2.java │ │ │ │ │ ├── scope │ │ │ │ │ │ └── CommonTriggerExecutionScope.java │ │ │ │ │ └── triggers │ │ │ │ │ │ ├── BoolExprAnd.java │ │ │ │ │ │ ├── BoolExprCondition.java │ │ │ │ │ │ ├── BoolExprFilter.java │ │ │ │ │ │ ├── BoolExprNot.java │ │ │ │ │ │ ├── BoolExprOr.java │ │ │ │ │ │ ├── EnumSetHandle.java │ │ │ │ │ │ ├── HandleList.java │ │ │ │ │ │ ├── IntExpr.java │ │ │ │ │ │ ├── LocationJass.java │ │ │ │ │ │ ├── StringList.java │ │ │ │ │ │ ├── TriggerAction.java │ │ │ │ │ │ ├── TriggerCondition.java │ │ │ │ │ │ └── UnitGroup.java │ │ │ │ └── w3x │ │ │ │ │ ├── War3Map.java │ │ │ │ │ ├── doo │ │ │ │ │ ├── Doodad.java │ │ │ │ │ ├── RandomItem.java │ │ │ │ │ ├── RandomItemSet.java │ │ │ │ │ ├── TerrainDoodad.java │ │ │ │ │ └── War3MapDoo.java │ │ │ │ │ ├── objectdata │ │ │ │ │ ├── MakeMeTFTBeROC.java │ │ │ │ │ ├── Warcraft3MapObjectData.java │ │ │ │ │ └── Warcraft3MapRuntimeObjectData.java │ │ │ │ │ ├── unitsdoo │ │ │ │ │ ├── DroppedItem.java │ │ │ │ │ ├── DroppedItemSet.java │ │ │ │ │ ├── InventoryItem.java │ │ │ │ │ ├── ModifiedAbility.java │ │ │ │ │ ├── RandomUnit.java │ │ │ │ │ ├── Unit.java │ │ │ │ │ └── War3MapUnitsDoo.java │ │ │ │ │ ├── w3e │ │ │ │ │ ├── Corner.java │ │ │ │ │ └── War3MapW3e.java │ │ │ │ │ ├── w3i │ │ │ │ │ ├── Force.java │ │ │ │ │ ├── Player.java │ │ │ │ │ ├── RandomItem.java │ │ │ │ │ ├── RandomItemSet.java │ │ │ │ │ ├── RandomItemTable.java │ │ │ │ │ ├── RandomUnit.java │ │ │ │ │ ├── RandomUnitTable.java │ │ │ │ │ ├── TechAvailabilityChange.java │ │ │ │ │ ├── UpgradeAvailabilityChange.java │ │ │ │ │ ├── War3MapW3i.java │ │ │ │ │ └── War3MapW3iFlags.java │ │ │ │ │ ├── w3r │ │ │ │ │ ├── Region.java │ │ │ │ │ └── War3MapW3r.java │ │ │ │ │ └── wpm │ │ │ │ │ └── War3MapWpm.java │ │ │ │ ├── pjblp │ │ │ │ ├── AbstractBitmap.java │ │ │ │ ├── BitConvert.java │ │ │ │ ├── Blp2.java │ │ │ │ ├── DDSReader.java │ │ │ │ ├── DataView.java │ │ │ │ ├── JpegImage.java │ │ │ │ ├── blpDataFormat.java │ │ │ │ ├── blpImage.java │ │ │ │ ├── imageData.java │ │ │ │ └── mipmap.java │ │ │ │ ├── units │ │ │ │ ├── DataTable.java │ │ │ │ ├── Element.java │ │ │ │ ├── GameObject.java │ │ │ │ ├── HashedGameObject.java │ │ │ │ ├── LMUnit.java │ │ │ │ ├── ObjectData.java │ │ │ │ ├── StandardObjectData.java │ │ │ │ ├── StringKey.java │ │ │ │ ├── collapsed │ │ │ │ │ └── CollapsedObjectData.java │ │ │ │ ├── custom │ │ │ │ │ ├── Change.java │ │ │ │ │ ├── ChangeMap.java │ │ │ │ │ ├── ObjectDataChangeEntry.java │ │ │ │ │ ├── ObjectMap.java │ │ │ │ │ ├── WTS.java │ │ │ │ │ ├── WTSFile.java │ │ │ │ │ └── War3ObjectDataChangeset.java │ │ │ │ └── manager │ │ │ │ │ ├── MutableObjectData.java │ │ │ │ │ ├── MutableObjectDataChangeListener.java │ │ │ │ │ └── MutableObjectDataChangeNotifier.java │ │ │ │ ├── util │ │ │ │ ├── AbstractListItemDisplay.java │ │ │ │ ├── AbstractListItemProperty.java │ │ │ │ ├── DataSourceFileHandle.java │ │ │ │ ├── Descriptor.java │ │ │ │ ├── FastNumberFormat.java │ │ │ │ ├── FixedIntersector.java │ │ │ │ ├── ImageUtils.java │ │ │ │ ├── IniFile.java │ │ │ │ ├── InputManager.kt │ │ │ │ ├── Interpolator.java │ │ │ │ ├── ListItemEnum.java │ │ │ │ ├── ListItemMapDisplay.java │ │ │ │ ├── ListItemMapProperty.java │ │ │ │ ├── ListItemStringDisplay.java │ │ │ │ ├── ListItemStringProperty.java │ │ │ │ ├── MapType.java │ │ │ │ ├── MappedData.java │ │ │ │ ├── MappedDataRow.java │ │ │ │ ├── MdlUtils.java │ │ │ │ ├── ParseUtils.java │ │ │ │ ├── Quadtree.java │ │ │ │ ├── QuadtreeIntersector.java │ │ │ │ ├── RenderMathUtils.java │ │ │ │ ├── SlkFile.java │ │ │ │ ├── StringBundle.java │ │ │ │ ├── SubscriberSetNotifier.java │ │ │ │ ├── Test.java │ │ │ │ ├── Test2.java │ │ │ │ ├── Test3.java │ │ │ │ ├── Vector4.java │ │ │ │ ├── WarsmashConstants.java │ │ │ │ ├── WarsmashUtils.java │ │ │ │ └── WorldEditStrings.java │ │ │ │ └── viewer5 │ │ │ │ ├── AudioBufferSource.java │ │ │ │ ├── AudioContext.java │ │ │ │ ├── AudioDestination.java │ │ │ │ ├── AudioPanner.java │ │ │ │ ├── BatchedInstance.java │ │ │ │ ├── Bounds.java │ │ │ │ ├── Camera.java │ │ │ │ ├── CanvasProvider.java │ │ │ │ ├── EmittedObject.java │ │ │ │ ├── EmittedObjectUpdater.java │ │ │ │ ├── Emitter.java │ │ │ │ ├── FogSettings.java │ │ │ │ ├── FogStyle.java │ │ │ │ ├── GdxTextureResource.java │ │ │ │ ├── GenericNode.java │ │ │ │ ├── GenericResource.java │ │ │ │ ├── Grid.java │ │ │ │ ├── GridCell.java │ │ │ │ ├── HandlerResource.java │ │ │ │ ├── Model.java │ │ │ │ ├── ModelInstance.java │ │ │ │ ├── ModelInstanceCallback.java │ │ │ │ ├── ModelViewer.java │ │ │ │ ├── Node.java │ │ │ │ ├── PathSolver.java │ │ │ │ ├── RawOpenGLTextureResource.java │ │ │ │ ├── RenderBatch.java │ │ │ │ ├── Resource.java │ │ │ │ ├── ResourceLoader.java │ │ │ │ ├── Scene.java │ │ │ │ ├── SceneLightInstance.java │ │ │ │ ├── SceneLightManager.java │ │ │ │ ├── Shaders.java │ │ │ │ ├── SimpleScene.java │ │ │ │ ├── SkeletalNode.java │ │ │ │ ├── SolvedPath.java │ │ │ │ ├── StaticSceneLightInstance.java │ │ │ │ ├── Texture.java │ │ │ │ ├── TextureMapper.java │ │ │ │ ├── UpdatableObject.java │ │ │ │ ├── ViewerTextureRenderable.java │ │ │ │ ├── WorldScene.java │ │ │ │ ├── deprecated │ │ │ │ ├── ShaderProgram.java │ │ │ │ └── ShaderUnitDeprecated.java │ │ │ │ ├── gl │ │ │ │ ├── ANGLEInstancedArrays.java │ │ │ │ ├── AudioExtension.java │ │ │ │ ├── ClientBuffer.java │ │ │ │ ├── DataTexture.java │ │ │ │ ├── DynamicShadowExtension.java │ │ │ │ ├── Extensions.java │ │ │ │ ├── WebGL.java │ │ │ │ └── WireframeExtension.java │ │ │ │ └── handlers │ │ │ │ ├── AbstractMdxModelViewer.java │ │ │ │ ├── EmitterObject.java │ │ │ │ ├── ModelHandler.java │ │ │ │ ├── ModelInstanceDescriptor.java │ │ │ │ ├── ResourceHandler.java │ │ │ │ ├── ResourceHandlerConstructionParams.java │ │ │ │ ├── blp │ │ │ │ ├── BlpGdxTexture.java │ │ │ │ ├── BlpHandler.java │ │ │ │ ├── BlpTexture.java │ │ │ │ ├── DDsGdxTexture.java │ │ │ │ ├── DdsHandler.java │ │ │ │ ├── DdsTexture.java │ │ │ │ ├── PngHandler.java │ │ │ │ └── TgaGdxTexture.java │ │ │ │ ├── mdx │ │ │ │ ├── AnimatedObject.java │ │ │ │ ├── Attachment.java │ │ │ │ ├── AttachmentInstance.java │ │ │ │ ├── Batch.java │ │ │ │ ├── BatchGroup.java │ │ │ │ ├── Bone.java │ │ │ │ ├── Camera.java │ │ │ │ ├── CollisionShape.java │ │ │ │ ├── EmitterGroup.java │ │ │ │ ├── EventObjectEmitter.java │ │ │ │ ├── EventObjectEmitterObject.java │ │ │ │ ├── EventObjectSnd.java │ │ │ │ ├── EventObjectSndEmitter.java │ │ │ │ ├── EventObjectSpl.java │ │ │ │ ├── EventObjectSplEmitter.java │ │ │ │ ├── EventObjectSpn.java │ │ │ │ ├── EventObjectSpnEmitter.java │ │ │ │ ├── EventObjectUbr.java │ │ │ │ ├── EventObjectUbrEmitter.java │ │ │ │ ├── FilterMode.java │ │ │ │ ├── GenericGroup.java │ │ │ │ ├── GenericIndexed.java │ │ │ │ ├── GenericObject.java │ │ │ │ ├── GeometryEmitterFuncs.java │ │ │ │ ├── Geoset.java │ │ │ │ ├── GeosetAnimation.java │ │ │ │ ├── Helper.java │ │ │ │ ├── Layer.java │ │ │ │ ├── Light.java │ │ │ │ ├── LightInstance.java │ │ │ │ ├── Material.java │ │ │ │ ├── MdxComplexInstance.java │ │ │ │ ├── MdxEmitter.java │ │ │ │ ├── MdxHandler.java │ │ │ │ ├── MdxModel.java │ │ │ │ ├── MdxNode.java │ │ │ │ ├── MdxNodeDescriptor.java │ │ │ │ ├── MdxRenderBatch.java │ │ │ │ ├── MdxShaders.java │ │ │ │ ├── MdxSimpleInstance.java │ │ │ │ ├── MdxViewer.java │ │ │ │ ├── Particle.java │ │ │ │ ├── Particle2.java │ │ │ │ ├── ParticleEmitter.java │ │ │ │ ├── ParticleEmitter2.java │ │ │ │ ├── ParticleEmitter2Object.java │ │ │ │ ├── ParticleEmitterObject.java │ │ │ │ ├── QuaternionSd.java │ │ │ │ ├── ReplaceableIds.java │ │ │ │ ├── Ribbon.java │ │ │ │ ├── RibbonEmitter.java │ │ │ │ ├── RibbonEmitterObject.java │ │ │ │ ├── ScalarSd.java │ │ │ │ ├── Sd.java │ │ │ │ ├── SdArrayDescriptor.java │ │ │ │ ├── SdSequence.java │ │ │ │ ├── Sequence.java │ │ │ │ ├── SequenceLoopMode.java │ │ │ │ ├── SetupGeosets.java │ │ │ │ ├── SetupGroups.java │ │ │ │ ├── SetupSimpleGroups.java │ │ │ │ ├── SkinningType.java │ │ │ │ ├── TextureAnimation.java │ │ │ │ ├── UInt32Sd.java │ │ │ │ └── VectorSd.java │ │ │ │ ├── tga │ │ │ │ ├── TgaFile.java │ │ │ │ └── TgaHandler.java │ │ │ │ └── w3x │ │ │ │ ├── AnimationTokens.java │ │ │ │ ├── DynamicShadowManager.java │ │ │ │ ├── IndexedSequence.java │ │ │ │ ├── MdxAssetLoader.java │ │ │ │ ├── SecondaryTagSequenceComparator.java │ │ │ │ ├── SequenceUtils.java │ │ │ │ ├── SplatModel.java │ │ │ │ ├── StandSequenceComparator.java │ │ │ │ ├── TerrainDoodad.java │ │ │ │ ├── TextTag.java │ │ │ │ ├── TextTagConfig.java │ │ │ │ ├── TreeBlightingCallback.java │ │ │ │ ├── UnitSound.java │ │ │ │ ├── UnitSoundset.java │ │ │ │ ├── Variations.java │ │ │ │ ├── W3xSceneLight.java │ │ │ │ ├── W3xSceneLightManager.java │ │ │ │ ├── W3xScenePortraitLightManager.java │ │ │ │ ├── W3xSceneWorldLightManager.java │ │ │ │ ├── W3xShaders.java │ │ │ │ ├── W3xShadersWebGLDeprecated.java │ │ │ │ ├── War3MapViewer.java │ │ │ │ ├── camera │ │ │ │ ├── CameraManager.java │ │ │ │ ├── CameraPanControls.java │ │ │ │ ├── CameraPreset.java │ │ │ │ ├── CameraRates.java │ │ │ │ ├── CameraSetup.java │ │ │ │ ├── CameraSetupField.java │ │ │ │ ├── CustomCameraSetup.java │ │ │ │ ├── GameCameraManager.java │ │ │ │ └── PortraitCameraManager.java │ │ │ │ ├── environment │ │ │ │ ├── BuildingShadow.java │ │ │ │ ├── CliffMesh.java │ │ │ │ ├── GroundTexture.java │ │ │ │ ├── IVec3.java │ │ │ │ ├── PathingGrid.java │ │ │ │ ├── RenderCorner.java │ │ │ │ ├── Shapes.java │ │ │ │ ├── Terrain.java │ │ │ │ ├── TerrainShaders.java │ │ │ │ └── WaveBuilder.java │ │ │ │ ├── lightning │ │ │ │ ├── LightningEffectBatch.java │ │ │ │ ├── LightningEffectModel.java │ │ │ │ ├── LightningEffectModelHandler.java │ │ │ │ └── LightningEffectNode.java │ │ │ │ ├── rendersim │ │ │ │ ├── LockTarget.java │ │ │ │ ├── LockTargetGame.java │ │ │ │ ├── LockTargetRenderGeometry.java │ │ │ │ ├── OrientationInterpolation.java │ │ │ │ ├── RenderAttackInstant.java │ │ │ │ ├── RenderDestructable.java │ │ │ │ ├── RenderDoodad.java │ │ │ │ ├── RenderEffect.java │ │ │ │ ├── RenderItem.java │ │ │ │ ├── RenderItemType.java │ │ │ │ ├── RenderItemTypeData.java │ │ │ │ ├── RenderLightningEffect.java │ │ │ │ ├── RenderProjectile.java │ │ │ │ ├── RenderShadowType.java │ │ │ │ ├── RenderSpellEffect.java │ │ │ │ ├── RenderUnit.java │ │ │ │ ├── RenderUnitType.java │ │ │ │ ├── RenderUnitTypeData.java │ │ │ │ ├── RenderWidget.java │ │ │ │ ├── RenderWidgetType.java │ │ │ │ ├── RenderWidgetTypeData.java │ │ │ │ ├── ability │ │ │ │ │ ├── AbilityDataUI.java │ │ │ │ │ ├── AbilityUI.java │ │ │ │ │ ├── BuffUI.java │ │ │ │ │ ├── EffectAttachmentUI.java │ │ │ │ │ ├── EffectAttachmentUIMissile.java │ │ │ │ │ ├── IconUI.java │ │ │ │ │ ├── ItemUI.java │ │ │ │ │ ├── OrderButtonUI.java │ │ │ │ │ └── UnitIconUI.java │ │ │ │ └── commandbuttons │ │ │ │ │ ├── BasicCommandButton.java │ │ │ │ │ ├── CommandButton.java │ │ │ │ │ ├── CommandButtonListener.java │ │ │ │ │ ├── CommandCardActivationReceiverPreviewCallback.java │ │ │ │ │ └── CommandCardPopulatingAbilityVisitor.java │ │ │ │ ├── simulation │ │ │ │ ├── Aliased.java │ │ │ │ ├── CDestructable.java │ │ │ │ ├── CDestructableEnumFunction.java │ │ │ │ ├── CDestructableType.java │ │ │ │ ├── CFogMaskSettings.java │ │ │ │ ├── CGameplayConstants.java │ │ │ │ ├── CGlobalEvent.java │ │ │ │ ├── CGlobalWidgetEvent.java │ │ │ │ ├── CItem.java │ │ │ │ ├── CItemEnumFunction.java │ │ │ │ ├── CItemType.java │ │ │ │ ├── CPlayerStateListener.java │ │ │ │ ├── CSimulation.java │ │ │ │ ├── CSimulationMapData.java │ │ │ │ ├── CUnit.java │ │ │ │ ├── CUnitAnimationListener.java │ │ │ │ ├── CUnitClassification.java │ │ │ │ ├── CUnitEnumFunction.java │ │ │ │ ├── CUnitStateListener.java │ │ │ │ ├── CUnitType.java │ │ │ │ ├── CUnitTypeRequirement.java │ │ │ │ ├── CUpgradeType.java │ │ │ │ ├── CWidget.java │ │ │ │ ├── CWidgetFilterFunction.java │ │ │ │ ├── CWidgetVisitor.java │ │ │ │ ├── CWorldCollision.java │ │ │ │ ├── HandleIdAllocator.java │ │ │ │ ├── StringsToExternalizeLater.java │ │ │ │ ├── abilities │ │ │ │ │ ├── AbstractCAbility.java │ │ │ │ │ ├── CAbility.java │ │ │ │ │ ├── CAbilityAttack.java │ │ │ │ │ ├── CAbilityCategory.java │ │ │ │ │ ├── CAbilityDisableType.java │ │ │ │ │ ├── CAbilityGenericDoNothing.java │ │ │ │ │ ├── CAbilityMove.java │ │ │ │ │ ├── CAbilityRanged.java │ │ │ │ │ ├── CAbilityRangedView.java │ │ │ │ │ ├── CAbilityToggleableView.java │ │ │ │ │ ├── CAbilityView.java │ │ │ │ │ ├── CAbilityVisitor.java │ │ │ │ │ ├── COrderButton.java │ │ │ │ │ ├── GetAbilityByRawcodeVisitor.java │ │ │ │ │ ├── autocast │ │ │ │ │ │ ├── AutocastType.java │ │ │ │ │ │ └── CAutocastAbility.java │ │ │ │ │ ├── blight │ │ │ │ │ │ └── CAbilityBlight.java │ │ │ │ │ ├── build │ │ │ │ │ │ ├── AbstractCAbilityBuild.java │ │ │ │ │ │ ├── CAbilityBuildInProgress.java │ │ │ │ │ │ ├── CAbilityHumanBuild.java │ │ │ │ │ │ ├── CAbilityHumanRepair.java │ │ │ │ │ │ ├── CAbilityNagaBuild.java │ │ │ │ │ │ ├── CAbilityNeutralBuild.java │ │ │ │ │ │ ├── CAbilityNightElfBuild.java │ │ │ │ │ │ ├── CAbilityOrcBuild.java │ │ │ │ │ │ ├── CAbilityRepair.java │ │ │ │ │ │ └── CAbilityUndeadBuild.java │ │ │ │ │ ├── cargohold │ │ │ │ │ │ ├── CAbilityCargoHold.java │ │ │ │ │ │ ├── CAbilityCargoHoldBurrow.java │ │ │ │ │ │ ├── CAbilityCargoHoldEntangledMine.java │ │ │ │ │ │ ├── CAbilityDrop.java │ │ │ │ │ │ ├── CAbilityDropInstant.java │ │ │ │ │ │ ├── CAbilityLoad.java │ │ │ │ │ │ └── CAbilityStandDown.java │ │ │ │ │ ├── combat │ │ │ │ │ │ ├── CAbilityColdArrows.java │ │ │ │ │ │ └── CAbilityInvulnerable.java │ │ │ │ │ ├── generic │ │ │ │ │ │ ├── AbilityGenericSingleIconPassiveAbility.java │ │ │ │ │ │ ├── AbstractCBuff.java │ │ │ │ │ │ ├── AbstractGenericAliasedAbility.java │ │ │ │ │ │ ├── AbstractGenericNoIconAbility.java │ │ │ │ │ │ ├── AbstractGenericSingleIconActiveAbility.java │ │ │ │ │ │ ├── AbstractGenericSingleIconNoSmartActiveAbility.java │ │ │ │ │ │ ├── CAliasedLevelingAbility.java │ │ │ │ │ │ ├── CBuff.java │ │ │ │ │ │ ├── CDestructableBuff.java │ │ │ │ │ │ ├── CLevelingAbility.java │ │ │ │ │ │ ├── CPairingAbility.java │ │ │ │ │ │ ├── GenericNoIconAbility.java │ │ │ │ │ │ ├── GenericSingleIconActiveAbility.java │ │ │ │ │ │ ├── GenericSingleIconPassiveAbility.java │ │ │ │ │ │ └── SingleOrderAbility.java │ │ │ │ │ ├── harvest │ │ │ │ │ │ ├── CAbilityAcolyteHarvest.java │ │ │ │ │ │ ├── CAbilityHarvest.java │ │ │ │ │ │ ├── CAbilityReturnResources.java │ │ │ │ │ │ └── CAbilityWispHarvest.java │ │ │ │ │ ├── hero │ │ │ │ │ │ ├── CAbilityHero.java │ │ │ │ │ │ └── CPrimaryAttribute.java │ │ │ │ │ ├── inventory │ │ │ │ │ │ └── CAbilityInventory.java │ │ │ │ │ ├── item │ │ │ │ │ │ ├── CAbilityItemAttackBonus.java │ │ │ │ │ │ ├── CAbilityItemDefenseBonus.java │ │ │ │ │ │ ├── CAbilityItemExperienceGain.java │ │ │ │ │ │ ├── CAbilityItemFigurineSummon.java │ │ │ │ │ │ ├── CAbilityItemHeal.java │ │ │ │ │ │ ├── CAbilityItemLevelGain.java │ │ │ │ │ │ ├── CAbilityItemLifeBonus.java │ │ │ │ │ │ ├── CAbilityItemManaBonus.java │ │ │ │ │ │ ├── CAbilityItemManaRegain.java │ │ │ │ │ │ ├── CAbilityItemPermanentLifeGain.java │ │ │ │ │ │ ├── CAbilityItemPermanentStatGain.java │ │ │ │ │ │ ├── CAbilityItemStatBonus.java │ │ │ │ │ │ ├── CAbilityItemWandOfManaStealing.java │ │ │ │ │ │ └── shop │ │ │ │ │ │ │ ├── CAbilityNeutralBuilding.java │ │ │ │ │ │ │ ├── CAbilitySellItems.java │ │ │ │ │ │ │ └── CAbilityShopPurhaseItem.java │ │ │ │ │ ├── jass │ │ │ │ │ │ ├── CAbilityJass.java │ │ │ │ │ │ ├── CAbilityOrderButtonJass.java │ │ │ │ │ │ ├── CBuffJass.java │ │ │ │ │ │ └── RecordingAbilityTargetCheckReceiver.java │ │ │ │ │ ├── listeners │ │ │ │ │ │ └── CUnitAbilityEffectReactionListener.java │ │ │ │ │ ├── menu │ │ │ │ │ │ └── CAbilityMenu.java │ │ │ │ │ ├── mine │ │ │ │ │ │ ├── CAbilityBlightedGoldMine.java │ │ │ │ │ │ ├── CAbilityEntangledMine.java │ │ │ │ │ │ ├── CAbilityGoldMinable.java │ │ │ │ │ │ ├── CAbilityGoldMine.java │ │ │ │ │ │ ├── CAbilityOverlayedMinableMine.java │ │ │ │ │ │ └── CAbilityOverlayedMine.java │ │ │ │ │ ├── neutral │ │ │ │ │ │ └── CAbilityWayGate.java │ │ │ │ │ ├── nightelf │ │ │ │ │ │ ├── eattree │ │ │ │ │ │ │ ├── CAbilityEatTree.java │ │ │ │ │ │ │ └── CBuffEatTree.java │ │ │ │ │ │ ├── moonwell │ │ │ │ │ │ │ └── CAbilityMoonWell.java │ │ │ │ │ │ └── root │ │ │ │ │ │ │ ├── CAbilityEntangleGoldMine.java │ │ │ │ │ │ │ └── CAbilityRoot.java │ │ │ │ │ ├── queue │ │ │ │ │ │ ├── CAbilityQueue.java │ │ │ │ │ │ ├── CAbilityRally.java │ │ │ │ │ │ └── CAbilityReviveHero.java │ │ │ │ │ ├── skills │ │ │ │ │ │ ├── CAbilityNoTargetSpellBase.java │ │ │ │ │ │ ├── CAbilityPassiveSpellBase.java │ │ │ │ │ │ ├── CAbilityPointTargetSpellBase.java │ │ │ │ │ │ ├── CAbilitySpell.java │ │ │ │ │ │ ├── CAbilitySpellBase.java │ │ │ │ │ │ ├── CAbilityTargetSpellBase.java │ │ │ │ │ │ ├── CAbilityUnitOrPointTargetSpellBase.java │ │ │ │ │ │ ├── human │ │ │ │ │ │ │ ├── archmage │ │ │ │ │ │ │ │ ├── CAbilityBlizzard.java │ │ │ │ │ │ │ │ ├── CAbilityBrilliance.java │ │ │ │ │ │ │ │ ├── CAbilityMassTeleport.java │ │ │ │ │ │ │ │ ├── CAbilitySummonWaterElemental.java │ │ │ │ │ │ │ │ └── CBuffBrilliance.java │ │ │ │ │ │ │ ├── bloodmage │ │ │ │ │ │ │ │ └── phoenix │ │ │ │ │ │ │ │ │ ├── CAbilityPhoenixFire.java │ │ │ │ │ │ │ │ │ └── CAbilitySummonPhoenix.java │ │ │ │ │ │ │ ├── mountainking │ │ │ │ │ │ │ │ ├── CAbilityAvatar.java │ │ │ │ │ │ │ │ ├── CAbilityBash.java │ │ │ │ │ │ │ │ ├── CAbilityThunderBolt.java │ │ │ │ │ │ │ │ ├── CAbilityThunderClap.java │ │ │ │ │ │ │ │ └── CBuffAvatar.java │ │ │ │ │ │ │ └── paladin │ │ │ │ │ │ │ │ ├── CAbilityDevotion.java │ │ │ │ │ │ │ │ ├── CAbilityDivineShield.java │ │ │ │ │ │ │ │ ├── CAbilityHolyLight.java │ │ │ │ │ │ │ │ ├── CAbilityResurrect.java │ │ │ │ │ │ │ │ ├── CBuffDevotion.java │ │ │ │ │ │ │ │ └── CBuffDivineShield.java │ │ │ │ │ │ ├── neutral │ │ │ │ │ │ │ ├── beastmaster │ │ │ │ │ │ │ │ ├── CAbilitySummonGrizzly.java │ │ │ │ │ │ │ │ ├── CAbilitySummonHawk.java │ │ │ │ │ │ │ │ └── CAbilitySummonQuilbeast.java │ │ │ │ │ │ │ ├── darkranger │ │ │ │ │ │ │ │ └── CAbilityCharm.java │ │ │ │ │ │ │ ├── sappers │ │ │ │ │ │ │ │ └── CAbilityKaboom.java │ │ │ │ │ │ │ └── tinker │ │ │ │ │ │ │ │ ├── CAbilityClusterRockets.java │ │ │ │ │ │ │ │ ├── CAbilityFactory.java │ │ │ │ │ │ │ │ └── CAbilityPocketFactory.java │ │ │ │ │ │ ├── nightelf │ │ │ │ │ │ │ ├── demonhunter │ │ │ │ │ │ │ │ ├── CAbilityImmolation.java │ │ │ │ │ │ │ │ ├── CAbilityManaBurn.java │ │ │ │ │ │ │ │ └── CBuffImmolationCaster.java │ │ │ │ │ │ │ ├── keeper │ │ │ │ │ │ │ │ └── CAbilityForceOfNature.java │ │ │ │ │ │ │ ├── moonpriestess │ │ │ │ │ │ │ │ └── CAbilitySummonOwlScout.java │ │ │ │ │ │ │ └── warden │ │ │ │ │ │ │ │ └── CAbilityBlink.java │ │ │ │ │ │ ├── orc │ │ │ │ │ │ │ ├── blademaster │ │ │ │ │ │ │ │ ├── CAbilityWhirlWind.java │ │ │ │ │ │ │ │ └── CBuffWhirlWindCaster.java │ │ │ │ │ │ │ ├── farseer │ │ │ │ │ │ │ │ ├── CAbilityChainLightning.java │ │ │ │ │ │ │ │ └── CAbilityFeralSpirit.java │ │ │ │ │ │ │ └── taurenchieftain │ │ │ │ │ │ │ │ └── CAbilityWarStomp.java │ │ │ │ │ │ ├── undead │ │ │ │ │ │ │ └── deathknight │ │ │ │ │ │ │ │ ├── CAbilityDarkRitual.java │ │ │ │ │ │ │ │ ├── CAbilityDeathCoil.java │ │ │ │ │ │ │ │ └── CAbilityDeathPact.java │ │ │ │ │ │ └── util │ │ │ │ │ │ │ ├── CAbilityAuraBase.java │ │ │ │ │ │ │ ├── CBuffAuraBase.java │ │ │ │ │ │ │ ├── CBuffSlow.java │ │ │ │ │ │ │ ├── CBuffStun.java │ │ │ │ │ │ │ ├── CBuffTimed.java │ │ │ │ │ │ │ └── CBuffTimedLife.java │ │ │ │ │ ├── targeting │ │ │ │ │ │ ├── AbilityPointTarget.java │ │ │ │ │ │ ├── AbilityTarget.java │ │ │ │ │ │ ├── AbilityTargetItemVisitor.java │ │ │ │ │ │ ├── AbilityTargetStillAliveAndTargetableVisitor.java │ │ │ │ │ │ ├── AbilityTargetStillAliveVisitor.java │ │ │ │ │ │ ├── AbilityTargetUnitVisitor.java │ │ │ │ │ │ ├── AbilityTargetVisitor.java │ │ │ │ │ │ ├── AbilityTargetVisitorJass.java │ │ │ │ │ │ └── AbilityTargetWidgetVisitor.java │ │ │ │ │ ├── test │ │ │ │ │ │ ├── CAbilityCarrionSwarmDummy.java │ │ │ │ │ │ ├── CAbilityChannelTest.java │ │ │ │ │ │ └── CAbilityCoupleInstant.java │ │ │ │ │ ├── types │ │ │ │ │ │ ├── CAbilityType.java │ │ │ │ │ │ ├── CAbilityTypeLevelData.java │ │ │ │ │ │ ├── definitions │ │ │ │ │ │ │ ├── CAbilityTypeDefinition.java │ │ │ │ │ │ │ └── impl │ │ │ │ │ │ │ │ ├── AbilityFields.java │ │ │ │ │ │ │ │ ├── AbstractCAbilityTypeDefinition.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionAcolyteHarvest.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionBlight.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionBlightedGoldMine.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionCargoHold.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionCargoHoldBurrow.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionCargoHoldEntangledMine.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionCarrionSwarmDummy.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionChannelTest.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionColdArrows.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionCoupleInstant.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionDrop.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionGoldMine.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionGoldMineOverlayed.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionHarvest.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionHarvestLumber.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionHumanRepair.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionImmolation.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionInventory.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionInvulnerable.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionItemAttackBonus.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionItemDefenseBonus.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionItemHeal.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionItemLifeBonus.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionItemManaRegain.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionItemPermanentStatGain.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionItemStatBonus.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionLoad.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionNeutralBuilding.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionPhoenixFire.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionRally.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionRepair.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionReturnResources.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionRoot.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionShopPurchaseItem.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionShopSharing.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionSpellBase.java │ │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionStandDown.java │ │ │ │ │ │ │ │ └── CAbilityTypeDefinitionWispHarvest.java │ │ │ │ │ │ ├── impl │ │ │ │ │ │ │ ├── CAbilitySpellBaseTypeLevelData.java │ │ │ │ │ │ │ ├── CAbilityTypeAcolyteHarvest.java │ │ │ │ │ │ │ ├── CAbilityTypeAcolyteHarvestLevelData.java │ │ │ │ │ │ │ ├── CAbilityTypeBlight.java │ │ │ │ │ │ │ ├── CAbilityTypeBlightLevelData.java │ │ │ │ │ │ │ ├── CAbilityTypeBlightedGoldMine.java │ │ │ │ │ │ │ ├── CAbilityTypeBlightedGoldMineLevelData.java │ │ │ │ │ │ │ ├── CAbilityTypeBlizzard.java │ │ │ │ │ │ │ ├── CAbilityTypeBlizzardLevelData.java │ │ │ │ │ │ │ ├── CAbilityTypeCargoHold.java │ │ │ │ │ │ │ ├── CAbilityTypeCargoHoldBurrow.java │ │ │ │ │ │ │ ├── CAbilityTypeCargoHoldBurrowLevelData.java │ │ │ │ │ │ │ ├── CAbilityTypeCargoHoldEntangledMine.java │ │ │ │ │ │ │ ├── CAbilityTypeCargoHoldLevelData.java │ │ │ │ │ │ │ ├── CAbilityTypeCarrionSwarmDummy.java │ │ │ │ │ │ │ ├── CAbilityTypeCarrionSwarmDummyLevelData.java │ │ │ │ │ │ │ ├── CAbilityTypeChannelTest.java │ │ │ │ │ │ │ ├── CAbilityTypeChannelTestLevelData.java │ │ │ │ │ │ │ ├── CAbilityTypeColdArrows.java │ │ │ │ │ │ │ ├── CAbilityTypeColdArrowsLevelData.java │ │ │ │ │ │ │ ├── CAbilityTypeCoupleInstant.java │ │ │ │ │ │ │ ├── CAbilityTypeCoupleInstantLevelData.java │ │ │ │ │ │ │ ├── CAbilityTypeDrop.java │ │ │ │ │ │ │ ├── CAbilityTypeDropLevelData.java │ │ │ │ │ │ │ ├── CAbilityTypeGoldMine.java │ │ │ │ │ │ │ ├── CAbilityTypeGoldMineLevelData.java │ │ │ │ │ │ │ ├── CAbilityTypeGoldMineOverlayed.java │ │ │ │ │ │ │ ├── CAbilityTypeHarvest.java │ │ │ │ │ │ │ ├── CAbilityTypeHarvestLevelData.java │ │ │ │ │ │ │ ├── CAbilityTypeHarvestLumber.java │ │ │ │ │ │ │ ├── CAbilityTypeHarvestLumberLevelData.java │ │ │ │ │ │ │ ├── CAbilityTypeHumanRepair.java │ │ │ │ │ │ │ ├── CAbilityTypeHumanRepairLevelData.java │ │ │ │ │ │ │ ├── CAbilityTypeImmolation.java │ │ │ │ │ │ │ ├── CAbilityTypeImmolationLevelData.java │ │ │ │ │ │ │ ├── CAbilityTypeInventory.java │ │ │ │ │ │ │ ├── CAbilityTypeInventoryLevelData.java │ │ │ │ │ │ │ ├── CAbilityTypeInvulnerable.java │ │ │ │ │ │ │ ├── CAbilityTypeItemAttackBonus.java │ │ │ │ │ │ │ ├── CAbilityTypeItemAttackBonusLevelData.java │ │ │ │ │ │ │ ├── CAbilityTypeItemDefenseBonus.java │ │ │ │ │ │ │ ├── CAbilityTypeItemDefenseBonusLevelData.java │ │ │ │ │ │ │ ├── CAbilityTypeItemHeal.java │ │ │ │ │ │ │ ├── CAbilityTypeItemHealLevelData.java │ │ │ │ │ │ │ ├── CAbilityTypeItemLifeBonus.java │ │ │ │ │ │ │ ├── CAbilityTypeItemLifeBonusLevelData.java │ │ │ │ │ │ │ ├── CAbilityTypeItemManaRegain.java │ │ │ │ │ │ │ ├── CAbilityTypeItemManaRegainLevelData.java │ │ │ │ │ │ │ ├── CAbilityTypeItemPermanentStatGain.java │ │ │ │ │ │ │ ├── CAbilityTypeItemStatBonus.java │ │ │ │ │ │ │ ├── CAbilityTypeItemStatBonusLevelData.java │ │ │ │ │ │ │ ├── CAbilityTypeLoad.java │ │ │ │ │ │ │ ├── CAbilityTypeLoadLevelData.java │ │ │ │ │ │ │ ├── CAbilityTypeNeutralBuilding.java │ │ │ │ │ │ │ ├── CAbilityTypeNeutralBuildingLevelData.java │ │ │ │ │ │ │ ├── CAbilityTypePhoenixFire.java │ │ │ │ │ │ │ ├── CAbilityTypePhoenixFireLevelData.java │ │ │ │ │ │ │ ├── CAbilityTypeRepair.java │ │ │ │ │ │ │ ├── CAbilityTypeReturnResources.java │ │ │ │ │ │ │ ├── CAbilityTypeReturnResourcesLevelData.java │ │ │ │ │ │ │ ├── CAbilityTypeRoot.java │ │ │ │ │ │ │ ├── CAbilityTypeRootLevelData.java │ │ │ │ │ │ │ ├── CAbilityTypeShopPurchaseItem.java │ │ │ │ │ │ │ ├── CAbilityTypeShopSharing.java │ │ │ │ │ │ │ ├── CAbilityTypeStandDown.java │ │ │ │ │ │ │ ├── CAbilityTypeSummonWaterElementalLevelData.java │ │ │ │ │ │ │ ├── CAbilityTypeWispHarvest.java │ │ │ │ │ │ │ └── CAbilityTypeWispHarvestLevelData.java │ │ │ │ │ │ └── jass │ │ │ │ │ │ │ ├── BehaviorExpr.java │ │ │ │ │ │ │ ├── CAbilityTypeJassDefinition.java │ │ │ │ │ │ │ └── CodeJassValueBehaviorExpr.java │ │ │ │ │ └── upgrade │ │ │ │ │ │ └── CAbilityUpgrade.java │ │ │ │ ├── abilitybuilder │ │ │ │ │ ├── ability │ │ │ │ │ │ ├── AbilityBuilderAbility.java │ │ │ │ │ │ ├── AbilityBuilderActiveAbility.java │ │ │ │ │ │ ├── AbilityBuilderPassiveAbility.java │ │ │ │ │ │ ├── CAbilityAbilityBuilderActiveAutoTarget.java │ │ │ │ │ │ ├── CAbilityAbilityBuilderActiveFlexTarget.java │ │ │ │ │ │ ├── CAbilityAbilityBuilderActiveFlexTargetSimple.java │ │ │ │ │ │ ├── CAbilityAbilityBuilderActiveNoTarget.java │ │ │ │ │ │ ├── CAbilityAbilityBuilderActiveNoTargetSimple.java │ │ │ │ │ │ ├── CAbilityAbilityBuilderActivePairing.java │ │ │ │ │ │ ├── CAbilityAbilityBuilderActivePointTarget.java │ │ │ │ │ │ ├── CAbilityAbilityBuilderActivePointTargetSimple.java │ │ │ │ │ │ ├── CAbilityAbilityBuilderActiveSmart.java │ │ │ │ │ │ ├── CAbilityAbilityBuilderActiveToggle.java │ │ │ │ │ │ ├── CAbilityAbilityBuilderActiveUnitTarget.java │ │ │ │ │ │ ├── CAbilityAbilityBuilderActiveUnitTargetSimple.java │ │ │ │ │ │ ├── CAbilityAbilityBuilderGenericActive.java │ │ │ │ │ │ ├── CAbilityAbilityBuilderNoIcon.java │ │ │ │ │ │ ├── CAbilityAbilityBuilderPassive.java │ │ │ │ │ │ ├── GetABAbilityByRawcodeVisitor.java │ │ │ │ │ │ ├── GetInstantTransformationBuffVisitor.java │ │ │ │ │ │ └── template │ │ │ │ │ │ │ ├── CAbilityAbilityBuilderAuraTemplate.java │ │ │ │ │ │ │ ├── CAbilityAbilityBuilderSimpleAuraTemplate.java │ │ │ │ │ │ │ ├── CAbilityAbilityBuilderStatAuraTemplate.java │ │ │ │ │ │ │ └── CAbilityAbilityBuilderStatPassiveTemplate.java │ │ │ │ │ ├── behavior │ │ │ │ │ │ ├── ABAbilityTargetStillTargetableVisitor.java │ │ │ │ │ │ ├── ABBehavior.java │ │ │ │ │ │ ├── CBehaviorAbilityBuilderBase.java │ │ │ │ │ │ ├── CBehaviorAbilityBuilderNoTarget.java │ │ │ │ │ │ ├── CBehaviorFinishTransformation.java │ │ │ │ │ │ ├── CBehaviorSendOrder.java │ │ │ │ │ │ ├── COrderStartTransformation.java │ │ │ │ │ │ ├── action │ │ │ │ │ │ │ ├── ABActionAddAbility.java │ │ │ │ │ │ │ ├── ABActionAddStunBuff.java │ │ │ │ │ │ │ ├── ABActionCleanUpCastInstance.java │ │ │ │ │ │ │ ├── ABActionCreateAbilityFromId.java │ │ │ │ │ │ │ ├── ABActionCreateLightningEffect.java │ │ │ │ │ │ │ ├── ABActionCreateLoopingSoundEffectOnUnit.java │ │ │ │ │ │ │ ├── ABActionCreateSoundEffectOnUnit.java │ │ │ │ │ │ │ ├── ABActionCreateSpellEffectAtLocation.java │ │ │ │ │ │ │ ├── ABActionCreateSpellEffectAtPoint.java │ │ │ │ │ │ │ ├── ABActionCreateSpellEffectOnUnit.java │ │ │ │ │ │ │ ├── ABActionCreateTemporarySpellEffectAtLocation.java │ │ │ │ │ │ │ ├── ABActionCreateTemporarySpellEffectAtPoint.java │ │ │ │ │ │ │ ├── ABActionCreateTemporarySpellEffectOnUnit.java │ │ │ │ │ │ │ ├── ABActionRemoveAbility.java │ │ │ │ │ │ │ ├── ABActionRemoveLightningEffect.java │ │ │ │ │ │ │ ├── ABActionRemoveSpellEffect.java │ │ │ │ │ │ │ ├── ability │ │ │ │ │ │ │ │ ├── ABActionActivateToggledAbility.java │ │ │ │ │ │ │ │ ├── ABActionAddTargetAllowed.java │ │ │ │ │ │ │ │ ├── ABActionBeginChanneling.java │ │ │ │ │ │ │ │ ├── ABActionDeactivateToggledAbility.java │ │ │ │ │ │ │ │ ├── ABActionFinishChanneling.java │ │ │ │ │ │ │ │ ├── ABActionRemoveTargetAllowed.java │ │ │ │ │ │ │ │ ├── ABActionResetCooldown.java │ │ │ │ │ │ │ │ ├── ABActionSetAbilityCastRange.java │ │ │ │ │ │ │ │ ├── ABActionSetAutoTargetDestructable.java │ │ │ │ │ │ │ │ ├── ABActionSetAutoTargetUnit.java │ │ │ │ │ │ │ │ └── ABActionStartCooldown.java │ │ │ │ │ │ │ ├── buff │ │ │ │ │ │ │ │ ├── ABActionAddBuff.java │ │ │ │ │ │ │ │ ├── ABActionAddNonStackingDisplayBuff.java │ │ │ │ │ │ │ │ ├── ABActionCreatePassiveBuff.java │ │ │ │ │ │ │ │ ├── ABActionCreateTargetingBuff.java │ │ │ │ │ │ │ │ ├── ABActionCreateTimedArtBuff.java │ │ │ │ │ │ │ │ ├── ABActionCreateTimedBuff.java │ │ │ │ │ │ │ │ ├── ABActionCreateTimedLifeBuff.java │ │ │ │ │ │ │ │ ├── ABActionCreateTimedTargetingBuff.java │ │ │ │ │ │ │ │ ├── ABActionCreateTimedTickingBuff.java │ │ │ │ │ │ │ │ ├── ABActionCreateTimedTickingPausedBuff.java │ │ │ │ │ │ │ │ ├── ABActionCreateTimedTickingPostDeathBuff.java │ │ │ │ │ │ │ │ ├── ABActionRemoveBuff.java │ │ │ │ │ │ │ │ └── ABActionRemoveNonStackingDisplayBuff.java │ │ │ │ │ │ │ ├── destructable │ │ │ │ │ │ │ │ ├── ABActionAddDestructableBuff.java │ │ │ │ │ │ │ │ ├── ABActionCreateDestructableBuff.java │ │ │ │ │ │ │ │ ├── ABActionDamageDestructable.java │ │ │ │ │ │ │ │ ├── ABActionIterateDestructablesInRangeOfLocation.java │ │ │ │ │ │ │ │ └── ABActionRemoveDestructableBuff.java │ │ │ │ │ │ │ ├── events │ │ │ │ │ │ │ │ ├── ABActionCreateTimeOfDayEvent.java │ │ │ │ │ │ │ │ ├── ABActionRegisterTimeOfDayEvent.java │ │ │ │ │ │ │ │ ├── ABActionRegisterUniqueTimeOfDayEvent.java │ │ │ │ │ │ │ │ └── ABActionUnregisterTimeOfDayEvent.java │ │ │ │ │ │ │ ├── floatingtext │ │ │ │ │ │ │ │ ├── ABActionCreateFloatingTextOnUnit.java │ │ │ │ │ │ │ │ └── ABActionCreateNumericFloatingTextOnUnit.java │ │ │ │ │ │ │ ├── gamestate │ │ │ │ │ │ │ │ └── ABActionSetFalseTimeOfDay.java │ │ │ │ │ │ │ ├── item │ │ │ │ │ │ │ │ └── ABActionChargeItem.java │ │ │ │ │ │ │ ├── player │ │ │ │ │ │ │ │ ├── ABActionGiveResourcesToPlayer.java │ │ │ │ │ │ │ │ └── ABActionSetAbilityEnabledForPlayer.java │ │ │ │ │ │ │ ├── projectile │ │ │ │ │ │ │ │ ├── ABActionCreateLocationTargetedCollisionProjectile.java │ │ │ │ │ │ │ │ ├── ABActionCreateLocationTargetedProjectile.java │ │ │ │ │ │ │ │ ├── ABActionCreateLocationTargetedPseudoProjectile.java │ │ │ │ │ │ │ │ ├── ABActionCreateUnitTargetedCollisionProjectile.java │ │ │ │ │ │ │ │ ├── ABActionCreateUnitTargetedProjectile.java │ │ │ │ │ │ │ │ ├── ABActionCreateUnitTargetedPseudoProjectile.java │ │ │ │ │ │ │ │ ├── ABActionSetAttackProjectileDamage.java │ │ │ │ │ │ │ │ ├── ABActionSetProjectileDone.java │ │ │ │ │ │ │ │ ├── ABActionSetProjectileReflected.java │ │ │ │ │ │ │ │ └── ABActionSetProjectileTarget.java │ │ │ │ │ │ │ ├── stats │ │ │ │ │ │ │ │ ├── ABActionAddDefenseBonus.java │ │ │ │ │ │ │ │ ├── ABActionAddNonStackingStatBuff.java │ │ │ │ │ │ │ │ ├── ABActionCreateNonStackingStatBuff.java │ │ │ │ │ │ │ │ ├── ABActionRecomputeStatBuffsOnUnit.java │ │ │ │ │ │ │ │ ├── ABActionRemoveDefenseBonus.java │ │ │ │ │ │ │ │ ├── ABActionRemoveNonStackingStatBuff.java │ │ │ │ │ │ │ │ └── ABActionUpdateNonStackingStatBuff.java │ │ │ │ │ │ │ ├── structural │ │ │ │ │ │ │ │ ├── ABActionBreak.java │ │ │ │ │ │ │ │ ├── ABActionCreateSubroutine.java │ │ │ │ │ │ │ │ ├── ABActionFor.java │ │ │ │ │ │ │ │ ├── ABActionIf.java │ │ │ │ │ │ │ │ ├── ABActionIterateUnitsInGroup.java │ │ │ │ │ │ │ │ ├── ABActionIterateUnitsInQueue.java │ │ │ │ │ │ │ │ ├── ABActionIterateUnitsInRangeOfLocation.java │ │ │ │ │ │ │ │ ├── ABActionIterateUnitsInRangeOfLocationMatchingCondition.java │ │ │ │ │ │ │ │ ├── ABActionIterateUnitsInRangeOfUnit.java │ │ │ │ │ │ │ │ ├── ABActionIterateUnitsInRangeOfUnitMatchingCondition.java │ │ │ │ │ │ │ │ ├── ABActionIterateUnitsInRect.java │ │ │ │ │ │ │ │ ├── ABActionPeriodicExecute.java │ │ │ │ │ │ │ │ ├── ABActionRunSubroutine.java │ │ │ │ │ │ │ │ ├── ABActionStoreValueLocally.java │ │ │ │ │ │ │ │ └── ABActionWhile.java │ │ │ │ │ │ │ ├── timer │ │ │ │ │ │ │ │ ├── ABActionCreateTimer.java │ │ │ │ │ │ │ │ ├── ABActionRemoveTimer.java │ │ │ │ │ │ │ │ ├── ABActionStartTimer.java │ │ │ │ │ │ │ │ └── ABActionUpdateTimerTimeout.java │ │ │ │ │ │ │ ├── unit │ │ │ │ │ │ │ │ ├── ABActionAddMp.java │ │ │ │ │ │ │ │ ├── ABActionAddNewAbility.java │ │ │ │ │ │ │ │ ├── ABActionAddRallyAbility.java │ │ │ │ │ │ │ │ ├── ABActionCheckAbilityEffectReaction.java │ │ │ │ │ │ │ │ ├── ABActionCheckAbilityProjReaction.java │ │ │ │ │ │ │ │ ├── ABActionCreateUnit.java │ │ │ │ │ │ │ │ ├── ABActionDamageTarget.java │ │ │ │ │ │ │ │ ├── ABActionDisableWorkerAbilities.java │ │ │ │ │ │ │ │ ├── ABActionEnableWorkerAbilities.java │ │ │ │ │ │ │ │ ├── ABActionHeal.java │ │ │ │ │ │ │ │ ├── ABActionHideUnit.java │ │ │ │ │ │ │ │ ├── ABActionInstantReturnResources.java │ │ │ │ │ │ │ │ ├── ABActionIssueStopOrder.java │ │ │ │ │ │ │ │ ├── ABActionKillUnit.java │ │ │ │ │ │ │ │ ├── ABActionMergeUnits.java │ │ │ │ │ │ │ │ ├── ABActionRemoveUnit.java │ │ │ │ │ │ │ │ ├── ABActionResurrect.java │ │ │ │ │ │ │ │ ├── ABActionSendUnitBackToWork.java │ │ │ │ │ │ │ │ ├── ABActionSetExplodesOnDeath.java │ │ │ │ │ │ │ │ ├── ABActionSetHp.java │ │ │ │ │ │ │ │ ├── ABActionSetMp.java │ │ │ │ │ │ │ │ ├── ABActionStartSacrificingUnit.java │ │ │ │ │ │ │ │ ├── ABActionStartTrainingUnit.java │ │ │ │ │ │ │ │ ├── ABActionSubtractMp.java │ │ │ │ │ │ │ │ ├── ABActionTransformUnit.java │ │ │ │ │ │ │ │ ├── ABActionTransformUnitInstant.java │ │ │ │ │ │ │ │ ├── ABActionTransformedUnitAbilityAdd.java │ │ │ │ │ │ │ │ ├── ABActionTransformedUnitAbilityRemove.java │ │ │ │ │ │ │ │ ├── ABActionUnhideUnit.java │ │ │ │ │ │ │ │ ├── animation │ │ │ │ │ │ │ │ │ ├── ABActionAddSecondaryAnimationTag.java │ │ │ │ │ │ │ │ │ ├── ABActionPlayAnimation.java │ │ │ │ │ │ │ │ │ └── ABActionRemoveSecondaryAnimationTag.java │ │ │ │ │ │ │ │ ├── art │ │ │ │ │ │ │ │ │ ├── ABActionDivideUnitAlpha.java │ │ │ │ │ │ │ │ │ ├── ABActionMultiplyUnitAlpha.java │ │ │ │ │ │ │ │ │ └── ABActionSetUnitAlpha.java │ │ │ │ │ │ │ │ └── movement │ │ │ │ │ │ │ │ │ ├── ABActionSetUnitFlyHeight.java │ │ │ │ │ │ │ │ │ └── ABActionSetUnitMovementTypeNoCollision.java │ │ │ │ │ │ │ ├── unitgroup │ │ │ │ │ │ │ │ ├── ABActionAddUnitToGroup.java │ │ │ │ │ │ │ │ ├── ABActionCreateUnitGroup.java │ │ │ │ │ │ │ │ └── ABActionRemoveUnitFromGroup.java │ │ │ │ │ │ │ ├── unitlisteners │ │ │ │ │ │ │ │ ├── ABActionAddAbilityEffectReactionListener.java │ │ │ │ │ │ │ │ ├── ABActionAddAbilityProjReactionListener.java │ │ │ │ │ │ │ │ ├── ABActionAddAttackPostDamageListener.java │ │ │ │ │ │ │ │ ├── ABActionAddAttackPreDamageListener.java │ │ │ │ │ │ │ │ ├── ABActionAddAttackProjReactionListener.java │ │ │ │ │ │ │ │ ├── ABActionAddBehaviorChangeListener.java │ │ │ │ │ │ │ │ ├── ABActionAddDamageTakenListener.java │ │ │ │ │ │ │ │ ├── ABActionAddDamageTakenModificationListener.java │ │ │ │ │ │ │ │ ├── ABActionAddDeathReplacementEffect.java │ │ │ │ │ │ │ │ ├── ABActionAddEvasionListener.java │ │ │ │ │ │ │ │ ├── ABActionAddFinalDamageTakenModificationListener.java │ │ │ │ │ │ │ │ ├── ABActionCreateAbilityEffectReactionListener.java │ │ │ │ │ │ │ │ ├── ABActionCreateAbilityProjReactionListener.java │ │ │ │ │ │ │ │ ├── ABActionCreateAttackPostDamageListener.java │ │ │ │ │ │ │ │ ├── ABActionCreateAttackPreDamageListener.java │ │ │ │ │ │ │ │ ├── ABActionCreateAttackProjReactionListener.java │ │ │ │ │ │ │ │ ├── ABActionCreateBehaviorChangeListener.java │ │ │ │ │ │ │ │ ├── ABActionCreateDamageTakenListener.java │ │ │ │ │ │ │ │ ├── ABActionCreateDamageTakenModificationListener.java │ │ │ │ │ │ │ │ ├── ABActionCreateDeathReplacementEffect.java │ │ │ │ │ │ │ │ ├── ABActionCreateEvasionListener.java │ │ │ │ │ │ │ │ ├── ABActionCreateFinalDamageTakenModificationListener.java │ │ │ │ │ │ │ │ ├── ABActionRemoveAbilityEffectReactionListener.java │ │ │ │ │ │ │ │ ├── ABActionRemoveAbilityProjReactionListener.java │ │ │ │ │ │ │ │ ├── ABActionRemoveAttackPostDamageListener.java │ │ │ │ │ │ │ │ ├── ABActionRemoveAttackPreDamageListener.java │ │ │ │ │ │ │ │ ├── ABActionRemoveAttackProjReactionListener.java │ │ │ │ │ │ │ │ ├── ABActionRemoveBehaviorChangeListener.java │ │ │ │ │ │ │ │ ├── ABActionRemoveDamageTakenListener.java │ │ │ │ │ │ │ │ ├── ABActionRemoveDamageTakenModificationListener.java │ │ │ │ │ │ │ │ ├── ABActionRemoveDeathReplacementEffect.java │ │ │ │ │ │ │ │ ├── ABActionRemoveEvasionListener.java │ │ │ │ │ │ │ │ ├── ABActionRemoveFinalDamageTakenModificationListener.java │ │ │ │ │ │ │ │ ├── internalActions │ │ │ │ │ │ │ │ │ ├── ABActionDamageTakenModificationMultiplyDamageMultiplier.java │ │ │ │ │ │ │ │ │ ├── ABActionDamageTakenModificationSetDamageMultiplier.java │ │ │ │ │ │ │ │ │ ├── ABActionDeathReplacementFinishReincarnating.java │ │ │ │ │ │ │ │ │ ├── ABActionDeathReplacementSetReincarnating.java │ │ │ │ │ │ │ │ │ ├── ABActionDeathReplacementSetReviving.java │ │ │ │ │ │ │ │ │ ├── ABActionPreDamageListenerAddBonusDamage.java │ │ │ │ │ │ │ │ │ ├── ABActionPreDamageListenerAddDamageMultiplier.java │ │ │ │ │ │ │ │ │ ├── ABActionPreDamageListenerSetMiss.java │ │ │ │ │ │ │ │ │ ├── ABActionReactionPreventHit.java │ │ │ │ │ │ │ │ │ ├── ABActionSetPreDamageStacking.java │ │ │ │ │ │ │ │ │ └── ABActionSubtractTotalDamageDealt.java │ │ │ │ │ │ │ │ ├── internalCallbacks │ │ │ │ │ │ │ │ │ ├── ABCallbackGetNewBehaviorTarget.java │ │ │ │ │ │ │ │ │ ├── ABCallbackGetReactionAttackProjectileAttackType.java │ │ │ │ │ │ │ │ │ ├── ABCallbackGetReactionAttackProjectileDamage.java │ │ │ │ │ │ │ │ │ ├── ABCallbackGetTotalDamageDealt.java │ │ │ │ │ │ │ │ │ ├── ABCallbackGetTriggeringAttackType.java │ │ │ │ │ │ │ │ │ ├── ABCallbackGetTriggeringDamageType.java │ │ │ │ │ │ │ │ │ ├── ABCallbackIsTriggeringDamageAnAttack.java │ │ │ │ │ │ │ │ │ └── ABCallbackIsTriggeringDamageRanged.java │ │ │ │ │ │ │ │ └── internalConditions │ │ │ │ │ │ │ │ │ └── ABConditionIsNewBehaviorCategoryInList.java │ │ │ │ │ │ │ ├── unitqueue │ │ │ │ │ │ │ │ ├── ABActionAddUnitToQueue.java │ │ │ │ │ │ │ │ ├── ABActionClearUnitQueue.java │ │ │ │ │ │ │ │ ├── ABActionCreateUnitQueue.java │ │ │ │ │ │ │ │ └── ABActionRemoveUnitFromQueue.java │ │ │ │ │ │ │ ├── unitstate │ │ │ │ │ │ │ │ ├── ABActionAddStateModBuff.java │ │ │ │ │ │ │ │ ├── ABActionCreateStateModBuff.java │ │ │ │ │ │ │ │ ├── ABActionRemoveStateModBuff.java │ │ │ │ │ │ │ │ └── ABActionSetUnitFadeTimer.java │ │ │ │ │ │ │ └── vision │ │ │ │ │ │ │ │ ├── ABActionCreateLocationVisionModifier.java │ │ │ │ │ │ │ │ ├── ABActionCreateUnitVisionModifier.java │ │ │ │ │ │ │ │ ├── ABActionRemoveVisionModifier.java │ │ │ │ │ │ │ │ └── ABActionSetBurrowPlaceholder.java │ │ │ │ │ │ ├── callback │ │ │ │ │ │ │ ├── abilitycallbacks │ │ │ │ │ │ │ │ ├── ABAbilityCallback.java │ │ │ │ │ │ │ │ ├── ABCallbackGetLastCreatedAbility.java │ │ │ │ │ │ │ │ ├── ABCallbackGetPartnerAbility.java │ │ │ │ │ │ │ │ ├── ABCallbackGetReactionAbility.java │ │ │ │ │ │ │ │ └── ABCallbackGetStoredAbilityByKey.java │ │ │ │ │ │ │ ├── booleancallbacks │ │ │ │ │ │ │ │ ├── ABBooleanCallback.java │ │ │ │ │ │ │ │ ├── ABCallbackGetAbilityDataAsBoolean.java │ │ │ │ │ │ │ │ ├── ABCallbackGetParentAbilityDataAsBoolean.java │ │ │ │ │ │ │ │ ├── ABCallbackGetStoredBooleanByKey.java │ │ │ │ │ │ │ │ ├── ABCallbackIntegerToBoolean.java │ │ │ │ │ │ │ │ ├── ABCallbackIsProjectileReflected.java │ │ │ │ │ │ │ │ ├── ABCallbackRawBoolean.java │ │ │ │ │ │ │ │ └── ABCallbackWasCastingInterrupted.java │ │ │ │ │ │ │ ├── buffcallbacks │ │ │ │ │ │ │ │ ├── ABBuffCallback.java │ │ │ │ │ │ │ │ ├── ABCallbackGetLastCreatedBuff.java │ │ │ │ │ │ │ │ └── ABCallbackGetStoredBuffByKey.java │ │ │ │ │ │ │ ├── destructable │ │ │ │ │ │ │ │ ├── ABCallbackGetEnumDestructable.java │ │ │ │ │ │ │ │ ├── ABCallbackGetProjectileHitDestructable.java │ │ │ │ │ │ │ │ └── ABDestructableCallback.java │ │ │ │ │ │ │ ├── destructablebuff │ │ │ │ │ │ │ │ ├── ABCallbackGetLastCreatedDestructableBuff.java │ │ │ │ │ │ │ │ ├── ABCallbackGetStoredDestructableBuffByKey.java │ │ │ │ │ │ │ │ └── ABDestructableBuffCallback.java │ │ │ │ │ │ │ ├── enumcallbacks │ │ │ │ │ │ │ │ ├── ABAttackPreDamageListenerPriorityCallback.java │ │ │ │ │ │ │ │ ├── ABAttackTypeCallback.java │ │ │ │ │ │ │ │ ├── ABAutocastTypeCallback.java │ │ │ │ │ │ │ │ ├── ABCallbackConditionalAutocastType.java │ │ │ │ │ │ │ │ ├── ABCallbackGetAttackTypeFromString.java │ │ │ │ │ │ │ │ ├── ABCallbackGetAutocastTypeFromString.java │ │ │ │ │ │ │ │ ├── ABCallbackGetDamageTypeFromString.java │ │ │ │ │ │ │ │ ├── ABCallbackGetNonStackingStatBuffTypeFromString.java │ │ │ │ │ │ │ │ ├── ABCallbackRawDeathEffectPriority.java │ │ │ │ │ │ │ │ ├── ABCallbackRawPreDamageListenerPriority.java │ │ │ │ │ │ │ │ ├── ABDamageTypeCallback.java │ │ │ │ │ │ │ │ ├── ABDeathReplacementPriorityCallback.java │ │ │ │ │ │ │ │ └── ABNonStackingStatBuffTypeCallback.java │ │ │ │ │ │ │ ├── eventcallbacks │ │ │ │ │ │ │ │ └── timeeventcallbacks │ │ │ │ │ │ │ │ │ ├── ABCallbackGetLastCreatedTimeOfDayEvent.java │ │ │ │ │ │ │ │ │ ├── ABCallbackGetStoredTimeOfDayEventByKey.java │ │ │ │ │ │ │ │ │ └── ABTimeOfDayEventCallback.java │ │ │ │ │ │ │ ├── floatcallbacks │ │ │ │ │ │ │ │ ├── ABCallbackAddFloat.java │ │ │ │ │ │ │ │ ├── ABCallbackCeilFloat.java │ │ │ │ │ │ │ │ ├── ABCallbackCos.java │ │ │ │ │ │ │ │ ├── ABCallbackDivideFloat.java │ │ │ │ │ │ │ │ ├── ABCallbackFMaxValue.java │ │ │ │ │ │ │ │ ├── ABCallbackFloorFloat.java │ │ │ │ │ │ │ │ ├── ABCallbackGetAbilityArea.java │ │ │ │ │ │ │ │ ├── ABCallbackGetAbilityCastRange.java │ │ │ │ │ │ │ │ ├── ABCallbackGetAbilityCastTime.java │ │ │ │ │ │ │ │ ├── ABCallbackGetAbilityCooldown.java │ │ │ │ │ │ │ │ ├── ABCallbackGetAbilityDataAsFloat.java │ │ │ │ │ │ │ │ ├── ABCallbackGetAbilityDuration.java │ │ │ │ │ │ │ │ ├── ABCallbackGetAbilityHeroDuration.java │ │ │ │ │ │ │ │ ├── ABCallbackGetAngleBetweenLocations.java │ │ │ │ │ │ │ │ ├── ABCallbackGetDistanceBetweenLocations.java │ │ │ │ │ │ │ │ ├── ABCallbackGetLocationX.java │ │ │ │ │ │ │ │ ├── ABCallbackGetLocationY.java │ │ │ │ │ │ │ │ ├── ABCallbackGetParentAbilityDataAsFloat.java │ │ │ │ │ │ │ │ ├── ABCallbackGetStoredFloatByKey.java │ │ │ │ │ │ │ │ ├── ABCallbackGetUnitAcquisitionRange.java │ │ │ │ │ │ │ │ ├── ABCallbackGetUnitCastPoint.java │ │ │ │ │ │ │ │ ├── ABCallbackGetUnitCurrentHp.java │ │ │ │ │ │ │ │ ├── ABCallbackGetUnitCurrentMana.java │ │ │ │ │ │ │ │ ├── ABCallbackGetUnitFacing.java │ │ │ │ │ │ │ │ ├── ABCallbackGetUnitInitialMana.java │ │ │ │ │ │ │ │ ├── ABCallbackGetUnitLocationX.java │ │ │ │ │ │ │ │ ├── ABCallbackGetUnitLocationY.java │ │ │ │ │ │ │ │ ├── ABCallbackIntToFloat.java │ │ │ │ │ │ │ │ ├── ABCallbackMaxFloat.java │ │ │ │ │ │ │ │ ├── ABCallbackMinFloat.java │ │ │ │ │ │ │ │ ├── ABCallbackMultiplyFloat.java │ │ │ │ │ │ │ │ ├── ABCallbackNegativeFloat.java │ │ │ │ │ │ │ │ ├── ABCallbackPi.java │ │ │ │ │ │ │ │ ├── ABCallbackRandomBoundedFloat.java │ │ │ │ │ │ │ │ ├── ABCallbackRandomFloat.java │ │ │ │ │ │ │ │ ├── ABCallbackRawFloat.java │ │ │ │ │ │ │ │ ├── ABCallbackSin.java │ │ │ │ │ │ │ │ ├── ABCallbackSubtractFloat.java │ │ │ │ │ │ │ │ ├── ABCallbackTicksForDuration.java │ │ │ │ │ │ │ │ └── ABFloatCallback.java │ │ │ │ │ │ │ ├── fxcallbacks │ │ │ │ │ │ │ │ ├── ABCallbackGetLastCreatedLightningEffect.java │ │ │ │ │ │ │ │ ├── ABCallbackGetLastCreatedSpellEffect.java │ │ │ │ │ │ │ │ ├── ABCallbackGetStoredFXByKey.java │ │ │ │ │ │ │ │ ├── ABCallbackGetStoredLightningByKey.java │ │ │ │ │ │ │ │ ├── ABFXCallback.java │ │ │ │ │ │ │ │ └── ABLightningCallback.java │ │ │ │ │ │ │ ├── idcallbacks │ │ │ │ │ │ │ │ ├── ABCallbackGetAbilityDataAsID.java │ │ │ │ │ │ │ │ ├── ABCallbackGetAbilityUnitId.java │ │ │ │ │ │ │ │ ├── ABCallbackGetAlias.java │ │ │ │ │ │ │ │ ├── ABCallbackGetFirstBuffId.java │ │ │ │ │ │ │ │ ├── ABCallbackGetFirstEffectId.java │ │ │ │ │ │ │ │ ├── ABCallbackGetNonCurrentTransformType.java │ │ │ │ │ │ │ │ ├── ABCallbackGetParentAlias.java │ │ │ │ │ │ │ │ ├── ABCallbackGetSecondBuffId.java │ │ │ │ │ │ │ │ ├── ABCallbackGetStoredIDByKey.java │ │ │ │ │ │ │ │ ├── ABCallbackGetUnitType.java │ │ │ │ │ │ │ │ ├── ABCallbackGetWar3IDFromString.java │ │ │ │ │ │ │ │ ├── ABCallbackNullIfFalse.java │ │ │ │ │ │ │ │ └── ABIDCallback.java │ │ │ │ │ │ │ ├── integercallbacks │ │ │ │ │ │ │ │ ├── ABCallbackAddInteger.java │ │ │ │ │ │ │ │ ├── ABCallbackAndInteger.java │ │ │ │ │ │ │ │ ├── ABCallbackCountUnitsInRangeOfLocation.java │ │ │ │ │ │ │ │ ├── ABCallbackCountUnitsInRangeOfUnit.java │ │ │ │ │ │ │ │ ├── ABCallbackDetectionDropdownConversion.java │ │ │ │ │ │ │ │ ├── ABCallbackDivideInteger.java │ │ │ │ │ │ │ │ ├── ABCallbackGetAbilityCastTimeAsInteger.java │ │ │ │ │ │ │ │ ├── ABCallbackGetAbilityDataAsInteger.java │ │ │ │ │ │ │ │ ├── ABCallbackGetAbilityManaCost.java │ │ │ │ │ │ │ │ ├── ABCallbackGetAbilityTargetAttachmentPoints.java │ │ │ │ │ │ │ │ ├── ABCallbackGetPlayerId.java │ │ │ │ │ │ │ │ ├── ABCallbackGetProjectileDestructableTargets.java │ │ │ │ │ │ │ │ ├── ABCallbackGetProjectileUnitTargets.java │ │ │ │ │ │ │ │ ├── ABCallbackGetSpellLevel.java │ │ │ │ │ │ │ │ ├── ABCallbackGetStoredIntegerByKey.java │ │ │ │ │ │ │ │ ├── ABCallbackGetUnitGroupSize.java │ │ │ │ │ │ │ │ ├── ABCallbackGetUnitQueueSize.java │ │ │ │ │ │ │ │ ├── ABCallbackGetUnitTypeFoodCost.java │ │ │ │ │ │ │ │ ├── ABCallbackGetUnitTypeGoldCost.java │ │ │ │ │ │ │ │ ├── ABCallbackGetUnitTypeLumberCost.java │ │ │ │ │ │ │ │ ├── ABCallbackIntegerIf.java │ │ │ │ │ │ │ │ ├── ABCallbackIntegerZeroIfFalse.java │ │ │ │ │ │ │ │ ├── ABCallbackIterator.java │ │ │ │ │ │ │ │ ├── ABCallbackMaxInteger.java │ │ │ │ │ │ │ │ ├── ABCallbackMinInteger.java │ │ │ │ │ │ │ │ ├── ABCallbackMultiplyInteger.java │ │ │ │ │ │ │ │ ├── ABCallbackOrInteger.java │ │ │ │ │ │ │ │ ├── ABCallbackPlayerToStateModValue.java │ │ │ │ │ │ │ │ ├── ABCallbackRawInteger.java │ │ │ │ │ │ │ │ ├── ABCallbackSubtractInteger.java │ │ │ │ │ │ │ │ └── ABIntegerCallback.java │ │ │ │ │ │ │ ├── item │ │ │ │ │ │ │ │ └── ABItemCallback.java │ │ │ │ │ │ │ ├── listenercallbacks │ │ │ │ │ │ │ │ ├── ABAbilityEffectReactionListenerCallback.java │ │ │ │ │ │ │ │ ├── ABAbilityProjReactionListenerCallback.java │ │ │ │ │ │ │ │ ├── ABAttackPostDamageListenerCallback.java │ │ │ │ │ │ │ │ ├── ABAttackPreDamageListenerCallback.java │ │ │ │ │ │ │ │ ├── ABAttackProjReactionListenerCallback.java │ │ │ │ │ │ │ │ ├── ABBehaviorChangeListenerCallback.java │ │ │ │ │ │ │ │ ├── ABCallbackGetLastCreatedAbilityEffectReactionListener.java │ │ │ │ │ │ │ │ ├── ABCallbackGetLastCreatedAbilityProjReactionListener.java │ │ │ │ │ │ │ │ ├── ABCallbackGetLastCreatedAttackPostDamageListener.java │ │ │ │ │ │ │ │ ├── ABCallbackGetLastCreatedAttackPreDamageListener.java │ │ │ │ │ │ │ │ ├── ABCallbackGetLastCreatedAttackProjReactionListener.java │ │ │ │ │ │ │ │ ├── ABCallbackGetLastCreatedBehaviorChangeListener.java │ │ │ │ │ │ │ │ ├── ABCallbackGetLastCreatedDamageTakenListener.java │ │ │ │ │ │ │ │ ├── ABCallbackGetLastCreatedDamageTakenModificationListener.java │ │ │ │ │ │ │ │ ├── ABCallbackGetLastCreatedDeathReplacement.java │ │ │ │ │ │ │ │ ├── ABCallbackGetLastCreatedEvasionListener.java │ │ │ │ │ │ │ │ ├── ABCallbackGetLastCreatedFinalDamageTakenModificationListener.java │ │ │ │ │ │ │ │ ├── ABCallbackGetStoredAbilityEffectReactionListenerByKey.java │ │ │ │ │ │ │ │ ├── ABCallbackGetStoredAbilityProjReactionListenerByKey.java │ │ │ │ │ │ │ │ ├── ABCallbackGetStoredAttackPostDamageListenerByKey.java │ │ │ │ │ │ │ │ ├── ABCallbackGetStoredAttackPreDamageListenerByKey.java │ │ │ │ │ │ │ │ ├── ABCallbackGetStoredAttackProjReactionListenerByKey.java │ │ │ │ │ │ │ │ ├── ABCallbackGetStoredBehaviorChangeListenerByKey.java │ │ │ │ │ │ │ │ ├── ABCallbackGetStoredDamageTakenListenerByKey.java │ │ │ │ │ │ │ │ ├── ABCallbackGetStoredDamageTakenModificationListenerByKey.java │ │ │ │ │ │ │ │ ├── ABCallbackGetStoredDeathReplacementByKey.java │ │ │ │ │ │ │ │ ├── ABCallbackGetStoredEvasionListenerByKey.java │ │ │ │ │ │ │ │ ├── ABCallbackGetStoredFinalDamageTakenModificationListenerByKey.java │ │ │ │ │ │ │ │ ├── ABDamageTakenListenerCallback.java │ │ │ │ │ │ │ │ ├── ABDamageTakenModificationListenerCallback.java │ │ │ │ │ │ │ │ ├── ABDeathReplacementCallback.java │ │ │ │ │ │ │ │ ├── ABEvasionListenerCallback.java │ │ │ │ │ │ │ │ └── ABFinalDamageTakenModificationListenerCallback.java │ │ │ │ │ │ │ ├── locationcallbacks │ │ │ │ │ │ │ │ ├── ABCallbackCreateLocationFromOffset.java │ │ │ │ │ │ │ │ ├── ABCallbackCreateLocationFromTarget.java │ │ │ │ │ │ │ │ ├── ABCallbackCreateLocationFromXY.java │ │ │ │ │ │ │ │ ├── ABCallbackGetProjectileCurrentLocation.java │ │ │ │ │ │ │ │ ├── ABCallbackGetStoredLocationByKey.java │ │ │ │ │ │ │ │ ├── ABCallbackGetTargetedLocation.java │ │ │ │ │ │ │ │ ├── ABCallbackGetUnitLocation.java │ │ │ │ │ │ │ │ └── ABLocationCallback.java │ │ │ │ │ │ │ ├── longcallbacks │ │ │ │ │ │ │ │ ├── ABCallbackAddLong.java │ │ │ │ │ │ │ │ ├── ABCallbackAndLong.java │ │ │ │ │ │ │ │ ├── ABCallbackCreateDetectedData.java │ │ │ │ │ │ │ │ ├── ABCallbackCreateDetectorData.java │ │ │ │ │ │ │ │ ├── ABCallbackDivideLong.java │ │ │ │ │ │ │ │ ├── ABCallbackGetStoredLongByKey.java │ │ │ │ │ │ │ │ ├── ABCallbackMaxLong.java │ │ │ │ │ │ │ │ ├── ABCallbackMinLong.java │ │ │ │ │ │ │ │ ├── ABCallbackMultiplyLong.java │ │ │ │ │ │ │ │ ├── ABCallbackOrLong.java │ │ │ │ │ │ │ │ ├── ABCallbackRawLong.java │ │ │ │ │ │ │ │ ├── ABCallbackSubtractLong.java │ │ │ │ │ │ │ │ └── ABLongCallback.java │ │ │ │ │ │ │ ├── orderid │ │ │ │ │ │ │ │ ├── ABCallbackIdString.java │ │ │ │ │ │ │ │ ├── ABCallbackRawID.java │ │ │ │ │ │ │ │ └── ABOrderIdCallback.java │ │ │ │ │ │ │ ├── player │ │ │ │ │ │ │ │ ├── ABCallbackGetOwnerOfUnit.java │ │ │ │ │ │ │ │ ├── ABCallbackGetPlayerById.java │ │ │ │ │ │ │ │ ├── ABCallbackGetStoredPlayerByKey.java │ │ │ │ │ │ │ │ └── ABPlayerCallback.java │ │ │ │ │ │ │ ├── projectile │ │ │ │ │ │ │ │ ├── ABCallbackGetLastCreatedProjectile.java │ │ │ │ │ │ │ │ ├── ABCallbackGetReactionAbilityProjectile.java │ │ │ │ │ │ │ │ ├── ABCallbackGetReactionAttackProjectile.java │ │ │ │ │ │ │ │ ├── ABCallbackGetStoredProjectileByKey.java │ │ │ │ │ │ │ │ ├── ABCallbackGetThisProjectile.java │ │ │ │ │ │ │ │ └── ABProjectileCallback.java │ │ │ │ │ │ │ ├── statbuffcallbacks │ │ │ │ │ │ │ │ ├── ABCallbackGetLastCreatedNonStackingStatBuff.java │ │ │ │ │ │ │ │ ├── ABCallbackGetStoredNonStackingStatBuffByKey.java │ │ │ │ │ │ │ │ └── ABNonStackingStatBuffCallback.java │ │ │ │ │ │ │ ├── statemodcallbacks │ │ │ │ │ │ │ │ ├── ABCallbackGetLastCreatedStateModBuff.java │ │ │ │ │ │ │ │ ├── ABCallbackGetStoredStateModBuffByKey.java │ │ │ │ │ │ │ │ └── ABStateModBuffCallback.java │ │ │ │ │ │ │ ├── stringcallbacks │ │ │ │ │ │ │ │ ├── ABCallbackBooleanToString.java │ │ │ │ │ │ │ │ ├── ABCallbackCatStrings.java │ │ │ │ │ │ │ │ ├── ABCallbackFloatToString.java │ │ │ │ │ │ │ │ ├── ABCallbackGetAbilityDataAsString.java │ │ │ │ │ │ │ │ ├── ABCallbackGetAliasAsString.java │ │ │ │ │ │ │ │ ├── ABCallbackGetAllowStackingKey.java │ │ │ │ │ │ │ │ ├── ABCallbackGetCodeAsString.java │ │ │ │ │ │ │ │ ├── ABCallbackGetUnitHandleAsString.java │ │ │ │ │ │ │ │ ├── ABCallbackIntegerToString.java │ │ │ │ │ │ │ │ ├── ABCallbackLongToString.java │ │ │ │ │ │ │ │ ├── ABCallbackRawString.java │ │ │ │ │ │ │ │ └── ABStringCallback.java │ │ │ │ │ │ │ ├── targetcallbacks │ │ │ │ │ │ │ │ ├── ABCallbackGetAbilityTarget.java │ │ │ │ │ │ │ │ ├── ABCallbackGetStoredTargetByKey.java │ │ │ │ │ │ │ │ └── ABTargetCallback.java │ │ │ │ │ │ │ ├── timercallbacks │ │ │ │ │ │ │ │ ├── ABCallbackGetFiringTimer.java │ │ │ │ │ │ │ │ ├── ABCallbackGetLastCreatedTimer.java │ │ │ │ │ │ │ │ ├── ABCallbackGetLastStartedTimer.java │ │ │ │ │ │ │ │ ├── ABCallbackGetStoredTimerByKey.java │ │ │ │ │ │ │ │ └── ABTimerCallback.java │ │ │ │ │ │ │ ├── unitcallbacks │ │ │ │ │ │ │ │ ├── ABCallbackGetAbilityPairedUnit.java │ │ │ │ │ │ │ │ ├── ABCallbackGetAbilityTargetedUnit.java │ │ │ │ │ │ │ │ ├── ABCallbackGetAttackedUnit.java │ │ │ │ │ │ │ │ ├── ABCallbackGetAttackingUnit.java │ │ │ │ │ │ │ │ ├── ABCallbackGetBuffCastingUnit.java │ │ │ │ │ │ │ │ ├── ABCallbackGetBuffedUnit.java │ │ │ │ │ │ │ │ ├── ABCallbackGetCastingUnit.java │ │ │ │ │ │ │ │ ├── ABCallbackGetDyingUnit.java │ │ │ │ │ │ │ │ ├── ABCallbackGetEnumUnit.java │ │ │ │ │ │ │ │ ├── ABCallbackGetKillingUnit.java │ │ │ │ │ │ │ │ ├── ABCallbackGetLastCreatedUnit.java │ │ │ │ │ │ │ │ ├── ABCallbackGetListenerUnit.java │ │ │ │ │ │ │ │ ├── ABCallbackGetMatchingUnit.java │ │ │ │ │ │ │ │ ├── ABCallbackGetNearestCorpseInRangeOfUnit.java │ │ │ │ │ │ │ │ ├── ABCallbackGetNearestUnitInRangeOfUnit.java │ │ │ │ │ │ │ │ ├── ABCallbackGetParentCastingUnit.java │ │ │ │ │ │ │ │ ├── ABCallbackGetProjectileHitUnit.java │ │ │ │ │ │ │ │ ├── ABCallbackGetReactionAbilityCastingUnit.java │ │ │ │ │ │ │ │ ├── ABCallbackGetReactionAbilityTargetUnit.java │ │ │ │ │ │ │ │ ├── ABCallbackGetStoredUnitByKey.java │ │ │ │ │ │ │ │ ├── ABCallbackPollUnitQueue.java │ │ │ │ │ │ │ │ └── ABUnitCallback.java │ │ │ │ │ │ │ ├── unitgroupcallbacks │ │ │ │ │ │ │ │ ├── ABCallbackGetLastCreatedUnitGroup.java │ │ │ │ │ │ │ │ ├── ABCallbackGetUnitGroupByName.java │ │ │ │ │ │ │ │ └── ABUnitGroupCallback.java │ │ │ │ │ │ │ ├── unitqueue │ │ │ │ │ │ │ │ ├── ABCallbackGetLastCreatedUnitQueue.java │ │ │ │ │ │ │ │ ├── ABCallbackGetUnitQueueByName.java │ │ │ │ │ │ │ │ └── ABUnitQueueCallback.java │ │ │ │ │ │ │ ├── visionmodifier │ │ │ │ │ │ │ │ ├── ABCallbackGetLastCreatedVisionModifier.java │ │ │ │ │ │ │ │ ├── ABCallbackGetStoredVisionModifierByKey.java │ │ │ │ │ │ │ │ └── ABVisionModifierCallback.java │ │ │ │ │ │ │ └── widget │ │ │ │ │ │ │ │ ├── ABCallbackGetProjectileHitWidget.java │ │ │ │ │ │ │ │ ├── ABCallbackUnitToWidget.java │ │ │ │ │ │ │ │ └── ABWidgetCallback.java │ │ │ │ │ │ └── condition │ │ │ │ │ │ │ ├── ABConditionIsDestructableValidTarget.java │ │ │ │ │ │ │ ├── ABConditionIsPassAllAbilityTargetChecks.java │ │ │ │ │ │ │ ├── ABConditionIsUnitInGroup.java │ │ │ │ │ │ │ ├── ABConditionIsUnitInRangeOfUnit.java │ │ │ │ │ │ │ ├── ABConditionIsUnitPassAllAbilityTargetChecks.java │ │ │ │ │ │ │ ├── ABConditionIsUnitValidTarget.java │ │ │ │ │ │ │ ├── ABConditionIsValidTarget.java │ │ │ │ │ │ │ ├── ABConditionMatchingCorpseExistsInRangeOfUnit.java │ │ │ │ │ │ │ ├── ABConditionMatchingUnitExistsInRangeOfUnit.java │ │ │ │ │ │ │ ├── ABConditionSetCantUseReasonOnFailure.java │ │ │ │ │ │ │ ├── ability │ │ │ │ │ │ │ ├── ABConditionIsFlexAbilityNonPointTarget.java │ │ │ │ │ │ │ ├── ABConditionIsFlexAbilityNonTargeted.java │ │ │ │ │ │ │ ├── ABConditionIsFlexAbilityPointTarget.java │ │ │ │ │ │ │ ├── ABConditionIsFlexAbilityTargeted.java │ │ │ │ │ │ │ ├── ABConditionIsOnCooldown.java │ │ │ │ │ │ │ ├── ABConditionIsToggleAbilityActive.java │ │ │ │ │ │ │ └── ABConditionIsTransformingToAlternate.java │ │ │ │ │ │ │ ├── comparison │ │ │ │ │ │ │ ├── ABConditionIsAttackTypeEqual.java │ │ │ │ │ │ │ ├── ABConditionIsDamageTypeEqual.java │ │ │ │ │ │ │ └── ABConditionIsUnitEqual.java │ │ │ │ │ │ │ ├── game │ │ │ │ │ │ │ ├── ABConditionGameplayConstantIsDefendCanDeflect.java │ │ │ │ │ │ │ ├── ABConditionGameplayConstantIsRelativeUpgradeCosts.java │ │ │ │ │ │ │ └── ABConditionIsTimeOfDayInRange.java │ │ │ │ │ │ │ ├── item │ │ │ │ │ │ │ ├── ABConditionIsItemAbility.java │ │ │ │ │ │ │ └── ABConditionItemHasCharges.java │ │ │ │ │ │ │ ├── logical │ │ │ │ │ │ │ ├── ABConditionAnd.java │ │ │ │ │ │ │ ├── ABConditionBool.java │ │ │ │ │ │ │ ├── ABConditionNot.java │ │ │ │ │ │ │ ├── ABConditionNotNull.java │ │ │ │ │ │ │ └── ABConditionOr.java │ │ │ │ │ │ │ ├── numeric │ │ │ │ │ │ │ ├── ABConditionFloatEq0.java │ │ │ │ │ │ │ ├── ABConditionFloatEqual.java │ │ │ │ │ │ │ ├── ABConditionFloatGt.java │ │ │ │ │ │ │ ├── ABConditionFloatGte.java │ │ │ │ │ │ │ ├── ABConditionFloatLt.java │ │ │ │ │ │ │ ├── ABConditionFloatLte.java │ │ │ │ │ │ │ ├── ABConditionFloatNe.java │ │ │ │ │ │ │ ├── ABConditionFloatNe0.java │ │ │ │ │ │ │ ├── ABConditionIntegerEq.java │ │ │ │ │ │ │ ├── ABConditionIntegerEq0.java │ │ │ │ │ │ │ ├── ABConditionIntegerGt.java │ │ │ │ │ │ │ ├── ABConditionIntegerGte.java │ │ │ │ │ │ │ ├── ABConditionIntegerIsEven.java │ │ │ │ │ │ │ ├── ABConditionIntegerIsOdd.java │ │ │ │ │ │ │ ├── ABConditionIntegerLt.java │ │ │ │ │ │ │ ├── ABConditionIntegerLte.java │ │ │ │ │ │ │ ├── ABConditionIntegerNe.java │ │ │ │ │ │ │ └── ABConditionIntegerNe0.java │ │ │ │ │ │ │ ├── timer │ │ │ │ │ │ │ └── ABConditionIsTimerActive.java │ │ │ │ │ │ │ └── unit │ │ │ │ │ │ │ ├── ABConditionDoesUnitHaveBuff.java │ │ │ │ │ │ │ ├── ABConditionIsUnitBuilding.java │ │ │ │ │ │ │ ├── ABConditionIsUnitDead.java │ │ │ │ │ │ │ ├── ABConditionIsUnitEnemy.java │ │ │ │ │ │ │ ├── ABConditionIsUnitMaxHp.java │ │ │ │ │ │ │ ├── ABConditionIsUnitMaxMp.java │ │ │ │ │ │ │ └── ABConditionIsUnitTraining.java │ │ │ │ │ ├── buff │ │ │ │ │ │ ├── ABBuff.java │ │ │ │ │ │ ├── ABDestructableBuff.java │ │ │ │ │ │ ├── ABGenericArtBuff.java │ │ │ │ │ │ ├── ABGenericAuraBuff.java │ │ │ │ │ │ ├── ABGenericPermanentBuff.java │ │ │ │ │ │ ├── ABGenericTimedBuff.java │ │ │ │ │ │ ├── ABPermanentPassiveBuff.java │ │ │ │ │ │ ├── ABTargetingBuff.java │ │ │ │ │ │ ├── ABTimedArtBuff.java │ │ │ │ │ │ ├── ABTimedBuff.java │ │ │ │ │ │ ├── ABTimedInstantTransformationBuff.java │ │ │ │ │ │ ├── ABTimedTargetingBuff.java │ │ │ │ │ │ ├── ABTimedTickingBuff.java │ │ │ │ │ │ ├── ABTimedTickingPausedBuff.java │ │ │ │ │ │ ├── ABTimedTickingPostDeathBuff.java │ │ │ │ │ │ └── ABTimedTransformationBuff.java │ │ │ │ │ ├── core │ │ │ │ │ │ ├── ABAction.java │ │ │ │ │ │ ├── ABCallback.java │ │ │ │ │ │ ├── ABCondition.java │ │ │ │ │ │ ├── ABLocalStoreKeys.java │ │ │ │ │ │ ├── ABSingleAction.java │ │ │ │ │ │ └── AbilityBuilderGsonBuilder.java │ │ │ │ │ ├── event │ │ │ │ │ │ ├── ABGlobalWidgetEvent.java │ │ │ │ │ │ ├── ABPlayerEvent.java │ │ │ │ │ │ ├── ABTimeOfDayEvent.java │ │ │ │ │ │ └── ABWidgetEvent.java │ │ │ │ │ ├── handler │ │ │ │ │ │ └── TransformationHandler.java │ │ │ │ │ ├── iterstructs │ │ │ │ │ │ └── UnitAndRange.java │ │ │ │ │ ├── jass │ │ │ │ │ │ ├── ABActionJass.java │ │ │ │ │ │ └── ABConditionJass.java │ │ │ │ │ ├── listener │ │ │ │ │ │ ├── ABAbilityEffectReactionListener.java │ │ │ │ │ │ ├── ABAbilityProjReactionListener.java │ │ │ │ │ │ ├── ABAttackEvasionListener.java │ │ │ │ │ │ ├── ABAttackPostDamageListener.java │ │ │ │ │ │ ├── ABAttackPreDamageListener.java │ │ │ │ │ │ ├── ABAttackProjReactionListener.java │ │ │ │ │ │ ├── ABBehaviorChangeListener.java │ │ │ │ │ │ ├── ABDamageTakenListener.java │ │ │ │ │ │ ├── ABDamageTakenModificationListener.java │ │ │ │ │ │ ├── ABDeathReplacementEffect.java │ │ │ │ │ │ └── ABFinalDamageTakenModificationListener.java │ │ │ │ │ ├── parser │ │ │ │ │ │ ├── AbilityBuilderConfiguration.java │ │ │ │ │ │ ├── AbilityBuilderDupe.java │ │ │ │ │ │ ├── AbilityBuilderFile.java │ │ │ │ │ │ ├── AbilityBuilderOverrideFields.java │ │ │ │ │ │ ├── AbilityBuilderParser.java │ │ │ │ │ │ ├── AbilityBuilderParserTemplateFields.java │ │ │ │ │ │ ├── AbilityBuilderParserUtil.java │ │ │ │ │ │ ├── AbilityBuilderSpecialConfigFields.java │ │ │ │ │ │ ├── AbilityBuilderSpecialDisplayFields.java │ │ │ │ │ │ ├── AbilityBuilderTemplateType.java │ │ │ │ │ │ ├── AbilityBuilderType.java │ │ │ │ │ │ └── template │ │ │ │ │ │ │ ├── DataFieldLetter.java │ │ │ │ │ │ │ ├── MeleeRangeTargetOverride.java │ │ │ │ │ │ │ ├── StatBuffFromDataField.java │ │ │ │ │ │ │ └── StatBuffType.java │ │ │ │ │ ├── projectile │ │ │ │ │ │ ├── ABCollisionProjectileListener.java │ │ │ │ │ │ └── ABProjectileListener.java │ │ │ │ │ ├── timer │ │ │ │ │ │ ├── ABTimer.java │ │ │ │ │ │ ├── AltitudeAdjustmentTimer.java │ │ │ │ │ │ ├── DelayInstantTransformationTimer.java │ │ │ │ │ │ ├── DelayTimerTimer.java │ │ │ │ │ │ ├── ManaDepletedCheckTimer.java │ │ │ │ │ │ └── TransformationMorphAnimationTimer.java │ │ │ │ │ └── types │ │ │ │ │ │ ├── definitions │ │ │ │ │ │ └── impl │ │ │ │ │ │ │ ├── CAbilityTypeDefinitionAbilityBuilder.java │ │ │ │ │ │ │ └── CAbilityTypeDefinitionAbilityTemplateBuilder.java │ │ │ │ │ │ └── impl │ │ │ │ │ │ ├── CAbilityTypeAbilityBuilder.java │ │ │ │ │ │ ├── CAbilityTypeAbilityBuilderLevelData.java │ │ │ │ │ │ └── CAbilityTypeAbilityTemplateBuilder.java │ │ │ │ ├── ai │ │ │ │ │ └── AIDifficulty.java │ │ │ │ ├── behaviors │ │ │ │ │ ├── BehaviorAbilityVisitor.java │ │ │ │ │ ├── BehaviorTargetUnitVisitor.java │ │ │ │ │ ├── BehaviorTargetVisitor.java │ │ │ │ │ ├── CAbstractRangedBehavior.java │ │ │ │ │ ├── CBehavior.java │ │ │ │ │ ├── CBehaviorAttack.java │ │ │ │ │ ├── CBehaviorAttackListener.java │ │ │ │ │ ├── CBehaviorAttackMove.java │ │ │ │ │ ├── CBehaviorBoardTransport.java │ │ │ │ │ ├── CBehaviorCategory.java │ │ │ │ │ ├── CBehaviorFollow.java │ │ │ │ │ ├── CBehaviorHoldPosition.java │ │ │ │ │ ├── CBehaviorMove.java │ │ │ │ │ ├── CBehaviorMoveIntoRangeFor.java │ │ │ │ │ ├── CBehaviorPatrol.java │ │ │ │ │ ├── CBehaviorStop.java │ │ │ │ │ ├── CBehaviorStun.java │ │ │ │ │ ├── CBehaviorVisitor.java │ │ │ │ │ ├── CRangedBehavior.java │ │ │ │ │ ├── build │ │ │ │ │ │ ├── AbilityDisableWhileUnderConstructionVisitor.java │ │ │ │ │ │ ├── AbilityDisableWhileUpgradingVisitor.java │ │ │ │ │ │ ├── CBehaviorHumanBuild.java │ │ │ │ │ │ ├── CBehaviorHumanRepair.java │ │ │ │ │ │ ├── CBehaviorNightElfBuild.java │ │ │ │ │ │ ├── CBehaviorOrcBuild.java │ │ │ │ │ │ ├── CBehaviorRepair.java │ │ │ │ │ │ └── CBehaviorUndeadBuild.java │ │ │ │ │ ├── cargohold │ │ │ │ │ │ ├── CBehaviorDrop.java │ │ │ │ │ │ └── CBehaviorLoad.java │ │ │ │ │ ├── harvest │ │ │ │ │ │ ├── CBehaviorAcolyteHarvest.java │ │ │ │ │ │ ├── CBehaviorHarvest.java │ │ │ │ │ │ ├── CBehaviorReturnResources.java │ │ │ │ │ │ └── CBehaviorWispHarvest.java │ │ │ │ │ ├── inventory │ │ │ │ │ │ ├── CBehaviorDropItem.java │ │ │ │ │ │ ├── CBehaviorGetItem.java │ │ │ │ │ │ └── CBehaviorGiveItemToHero.java │ │ │ │ │ ├── jass │ │ │ │ │ │ ├── CAbstractRangedBehaviorJass.java │ │ │ │ │ │ ├── CBehaviorJass.java │ │ │ │ │ │ └── CRangedBehaviorJass.java │ │ │ │ │ ├── root │ │ │ │ │ │ ├── CBehaviorRoot.java │ │ │ │ │ │ └── CBehaviorUproot.java │ │ │ │ │ ├── skills │ │ │ │ │ │ ├── CBehaviorNoTargetSpellBase.java │ │ │ │ │ │ └── CBehaviorTargetSpellBase.java │ │ │ │ │ └── test │ │ │ │ │ │ ├── CBehaviorCarrionSwarmDummy.java │ │ │ │ │ │ ├── CBehaviorChannelTest.java │ │ │ │ │ │ └── CBehaviorCoupleInstant.java │ │ │ │ ├── combat │ │ │ │ │ ├── AttackInterceptor.java │ │ │ │ │ ├── CAttackType.java │ │ │ │ │ ├── CDefenseType.java │ │ │ │ │ ├── CRegenType.java │ │ │ │ │ ├── CTargetType.java │ │ │ │ │ ├── CUpgradeClass.java │ │ │ │ │ ├── CWeaponType.java │ │ │ │ │ ├── CodeKeyType.java │ │ │ │ │ ├── IncomingAttackInterceptor.java │ │ │ │ │ ├── OutgoingAttackInterceptor.java │ │ │ │ │ ├── attacks │ │ │ │ │ │ ├── CUnitAttack.java │ │ │ │ │ │ ├── CUnitAttackInstant.java │ │ │ │ │ │ ├── CUnitAttackListener.java │ │ │ │ │ │ ├── CUnitAttackMissile.java │ │ │ │ │ │ ├── CUnitAttackMissileBounce.java │ │ │ │ │ │ ├── CUnitAttackMissileLine.java │ │ │ │ │ │ ├── CUnitAttackMissileSplash.java │ │ │ │ │ │ ├── CUnitAttackNormal.java │ │ │ │ │ │ ├── listeners │ │ │ │ │ │ │ ├── CUnitAttackDamageTakenListener.java │ │ │ │ │ │ │ ├── CUnitAttackDamageTakenModificationListener.java │ │ │ │ │ │ │ ├── CUnitAttackDamageTakenModificationListenerDamageModResult.java │ │ │ │ │ │ │ ├── CUnitAttackEffectListenerStacking.java │ │ │ │ │ │ │ ├── CUnitAttackEvasionListener.java │ │ │ │ │ │ │ ├── CUnitAttackFinalDamageTakenModificationListener.java │ │ │ │ │ │ │ ├── CUnitAttackPostDamageListener.java │ │ │ │ │ │ │ ├── CUnitAttackPreDamageListener.java │ │ │ │ │ │ │ ├── CUnitAttackPreDamageListenerDamageModResult.java │ │ │ │ │ │ │ ├── CUnitAttackPreDamageListenerPriority.java │ │ │ │ │ │ │ ├── CUnitDeathReplacementEffect.java │ │ │ │ │ │ │ ├── CUnitDeathReplacementEffectPriority.java │ │ │ │ │ │ │ ├── CUnitDeathReplacementResult.java │ │ │ │ │ │ │ ├── CUnitDeathReplacementStacking.java │ │ │ │ │ │ │ ├── CUnitDefaultAccuracyCheckListener.java │ │ │ │ │ │ │ ├── CUnitDefaultEtherealDamageModListener.java │ │ │ │ │ │ │ ├── CUnitDefaultLifestealListener.java │ │ │ │ │ │ │ ├── CUnitDefaultMagicImmuneDamageModListener.java │ │ │ │ │ │ │ ├── CUnitDefaultSleepListener.java │ │ │ │ │ │ │ └── CUnitDefaultThornsListener.java │ │ │ │ │ │ └── replacement │ │ │ │ │ │ │ ├── CUnitAttackReplacementEffect.java │ │ │ │ │ │ │ └── CUnitAttackReplacementPriority.java │ │ │ │ │ └── projectile │ │ │ │ │ │ ├── CAbilityCollisionProjectileListener.java │ │ │ │ │ │ ├── CAbilityProjectile.java │ │ │ │ │ │ ├── CAbilityProjectileListener.java │ │ │ │ │ │ ├── CAttackProjectile.java │ │ │ │ │ │ ├── CAttackProjectileInstant.java │ │ │ │ │ │ ├── CAttackProjectileMissile.java │ │ │ │ │ │ ├── CCollisionProjectile.java │ │ │ │ │ │ ├── CEffect.java │ │ │ │ │ │ ├── CJassProjectile.java │ │ │ │ │ │ ├── CProjectile.java │ │ │ │ │ │ ├── CProjectileListener.java │ │ │ │ │ │ ├── CPsuedoProjectile.java │ │ │ │ │ │ └── listeners │ │ │ │ │ │ ├── CUnitAbilityProjReactionListener.java │ │ │ │ │ │ └── CUnitAttackProjReactionListener.java │ │ │ │ ├── config │ │ │ │ │ ├── CBasePlayer.java │ │ │ │ │ ├── CPlayerAPI.java │ │ │ │ │ ├── War3MapConfig.java │ │ │ │ │ ├── War3MapConfigPlayer.java │ │ │ │ │ └── War3MapConfigStartLoc.java │ │ │ │ ├── data │ │ │ │ │ ├── CAbilityData.java │ │ │ │ │ ├── CDestructableData.java │ │ │ │ │ ├── CItemData.java │ │ │ │ │ ├── CUnitData.java │ │ │ │ │ ├── CUnitRace.java │ │ │ │ │ └── CUpgradeData.java │ │ │ │ ├── item │ │ │ │ │ └── CItemTypeJass.java │ │ │ │ ├── orders │ │ │ │ │ ├── COrder.java │ │ │ │ │ ├── COrderDropItemAtPoint.java │ │ │ │ │ ├── COrderDropItemAtTargetWidget.java │ │ │ │ │ ├── COrderNoTarget.java │ │ │ │ │ ├── COrderTargetPoint.java │ │ │ │ │ ├── COrderTargetWidget.java │ │ │ │ │ ├── OrderIdUtils.java │ │ │ │ │ └── OrderIds.java │ │ │ │ ├── pathing │ │ │ │ │ ├── CBuildingPathingType.java │ │ │ │ │ ├── CDirection.java │ │ │ │ │ ├── CNode.kt │ │ │ │ │ ├── CPathfindingProcessor.java │ │ │ │ │ └── Extensions.kt │ │ │ │ ├── players │ │ │ │ │ ├── CAllianceType.java │ │ │ │ │ ├── CMapControl.java │ │ │ │ │ ├── CMapFlag.java │ │ │ │ │ ├── CMapPlacement.java │ │ │ │ │ ├── CPlayer.java │ │ │ │ │ ├── CPlayerColor.java │ │ │ │ │ ├── CPlayerEvent.java │ │ │ │ │ ├── CPlayerGameResult.java │ │ │ │ │ ├── CPlayerJass.java │ │ │ │ │ ├── CPlayerScore.java │ │ │ │ │ ├── CPlayerState.java │ │ │ │ │ ├── CPlayerUnitOrderExecutor.java │ │ │ │ │ ├── CPlayerUnitOrderListener.java │ │ │ │ │ ├── CPlayerUnitOrderListenerDelaying.java │ │ │ │ │ ├── CRace.java │ │ │ │ │ ├── CRaceManager.java │ │ │ │ │ ├── CRaceManagerEntry.java │ │ │ │ │ ├── CRacePreference.java │ │ │ │ │ ├── CRacePreferences.java │ │ │ │ │ ├── CStartLocPrio.java │ │ │ │ │ └── vision │ │ │ │ │ │ ├── CCircleFogModifier.java │ │ │ │ │ │ ├── CFogModifier.java │ │ │ │ │ │ ├── CFogModifierJass.java │ │ │ │ │ │ ├── CFogModifierJassMulti.java │ │ │ │ │ │ ├── CFogModifierJassSingle.java │ │ │ │ │ │ ├── CPlayerFogOfWar.java │ │ │ │ │ │ ├── CRectFogModifier.java │ │ │ │ │ │ ├── CTimedCircleFogModifier.java │ │ │ │ │ │ ├── CUnitAttackVisionFogModifier.java │ │ │ │ │ │ ├── CUnitDeathVisionFogModifier.java │ │ │ │ │ │ ├── CUnitVisionFogModifier.java │ │ │ │ │ │ └── DetectionLevel.java │ │ │ │ ├── region │ │ │ │ │ ├── CRegion.java │ │ │ │ │ ├── CRegionEnumFunction.java │ │ │ │ │ ├── CRegionManager.java │ │ │ │ │ ├── CRegionTriggerEnter.java │ │ │ │ │ └── CRegionTriggerLeave.java │ │ │ │ ├── sound │ │ │ │ │ ├── CMIDISound.java │ │ │ │ │ ├── CSound.java │ │ │ │ │ ├── CSoundFilename.java │ │ │ │ │ └── CSoundFromLabel.java │ │ │ │ ├── state │ │ │ │ │ ├── CGameState.java │ │ │ │ │ ├── CUnitState.java │ │ │ │ │ └── FalseTimeOfDay.java │ │ │ │ ├── timers │ │ │ │ │ ├── CTimer.java │ │ │ │ │ ├── CTimerJass.java │ │ │ │ │ ├── CTimerJassBase.java │ │ │ │ │ ├── CTimerJassStruct.java │ │ │ │ │ ├── CTimerNativeEvent.java │ │ │ │ │ └── CTimerSleepAction.java │ │ │ │ ├── trigger │ │ │ │ │ ├── JassGameEventsWar3.java │ │ │ │ │ ├── enumtypes │ │ │ │ │ │ ├── CAttackTypeJass.java │ │ │ │ │ │ ├── CBlendMode.java │ │ │ │ │ │ ├── CCameraField.java │ │ │ │ │ │ ├── CDamageType.java │ │ │ │ │ │ ├── CEffectType.java │ │ │ │ │ │ ├── CFogState.java │ │ │ │ │ │ ├── CGameSpeed.java │ │ │ │ │ │ ├── CGameType.java │ │ │ │ │ │ ├── CMapDensity.java │ │ │ │ │ │ ├── CMapDifficulty.java │ │ │ │ │ │ ├── CPathingTypeJass.java │ │ │ │ │ │ ├── CPlayerSlotState.java │ │ │ │ │ │ ├── CRarityControl.java │ │ │ │ │ │ ├── CSoundType.java │ │ │ │ │ │ ├── CSoundVolumeGroup.java │ │ │ │ │ │ ├── CTexMapFlags.java │ │ │ │ │ │ ├── CVersion.java │ │ │ │ │ │ └── CWeaponSoundTypeJass.java │ │ │ │ │ └── uidialog │ │ │ │ │ │ ├── JassUIDialog.java │ │ │ │ │ │ └── JassUIDialogButton.java │ │ │ │ ├── unit │ │ │ │ │ ├── BuildOnBuildingIntersector.java │ │ │ │ │ ├── CUnitBehaviorChangeListener.java │ │ │ │ │ ├── CUnitTypeJass.java │ │ │ │ │ ├── CWidgetEvent.java │ │ │ │ │ ├── NonStackingFx.java │ │ │ │ │ ├── NonStackingStatBuff.java │ │ │ │ │ ├── NonStackingStatBuffType.java │ │ │ │ │ ├── StateModBuff.java │ │ │ │ │ └── StateModBuffType.java │ │ │ │ ├── upgrade │ │ │ │ │ ├── CUpgradeEffect.java │ │ │ │ │ ├── CUpgradeEffectAttackDamage.java │ │ │ │ │ ├── CUpgradeEffectAttackDice.java │ │ │ │ │ ├── CUpgradeEffectAttackRange.java │ │ │ │ │ ├── CUpgradeEffectAttackSpeed.java │ │ │ │ │ ├── CUpgradeEffectDefenseUpgradeBonus.java │ │ │ │ │ ├── CUpgradeEffectHitPointRegen.java │ │ │ │ │ ├── CUpgradeEffectHitPoints.java │ │ │ │ │ ├── CUpgradeEffectHitPointsPcnt.java │ │ │ │ │ ├── CUpgradeEffectManaPoints.java │ │ │ │ │ ├── CUpgradeEffectManaPointsPcnt.java │ │ │ │ │ ├── CUpgradeEffectManaRegen.java │ │ │ │ │ ├── CUpgradeEffectMovementSpeed.java │ │ │ │ │ ├── CUpgradeEffectMovementSpeedPcnt.java │ │ │ │ │ ├── CUpgradeEffectSpellLevel.java │ │ │ │ │ └── CUpgradeEffectTechMaxAllowed.java │ │ │ │ └── util │ │ │ │ │ ├── AbilityActivationErrorHandler.java │ │ │ │ │ ├── AbilityActivationReceiver.java │ │ │ │ │ ├── AbilityTargetCheckReceiver.java │ │ │ │ │ ├── BooleanAbilityActivationReceiver.java │ │ │ │ │ ├── BooleanAbilityTargetCheckReceiver.java │ │ │ │ │ ├── CHashtable.java │ │ │ │ │ ├── CWidgetAbilityTargetCheckReceiver.java │ │ │ │ │ ├── CommandStringErrorKeys.java │ │ │ │ │ ├── CommandStringErrorKeysEnum.java │ │ │ │ │ ├── ExternStringMsgAbilityActivationReceiver.java │ │ │ │ │ ├── ExternStringMsgTargetCheckReceiver.java │ │ │ │ │ ├── MeleeUIAbilityActivationReceiver.java │ │ │ │ │ ├── MultiStockDelayProcessor.java │ │ │ │ │ ├── PointAbilityTargetCheckReceiver.java │ │ │ │ │ ├── ResourceType.java │ │ │ │ │ ├── SimulationRenderComponent.java │ │ │ │ │ ├── SimulationRenderComponentLightning.java │ │ │ │ │ ├── SimulationRenderComponentLightningMovable.java │ │ │ │ │ ├── SimulationRenderComponentModel.java │ │ │ │ │ ├── SimulationRenderController.java │ │ │ │ │ ├── TextTagConfigType.java │ │ │ │ │ └── UiSoundLookup.java │ │ │ │ └── ui │ │ │ │ ├── BeginGameInformation.java │ │ │ │ ├── BuffBarIcon.java │ │ │ │ ├── CargoHoldUnitIcon.java │ │ │ │ ├── CommandCardIcon.java │ │ │ │ ├── MeleeUI.java │ │ │ │ ├── MeleeUIMinimap.java │ │ │ │ ├── MenuCursorState.java │ │ │ │ ├── MenuUI.java │ │ │ │ ├── MultiSelectionIcon.java │ │ │ │ ├── MusicPlayer.java │ │ │ │ ├── MusicPlayerLibGDX.java │ │ │ │ ├── PlayerProfile.java │ │ │ │ ├── PlayerProfileManager.java │ │ │ │ ├── QueueIcon.java │ │ │ │ ├── TestUI.java │ │ │ │ ├── WarsmashBaseUI.java │ │ │ │ ├── WarsmashToggleableUI.java │ │ │ │ ├── WarsmashUI.java │ │ │ │ ├── command │ │ │ │ ├── AbstractClickableActionFrame.java │ │ │ │ ├── ActiveCommand.java │ │ │ │ ├── ClickableActionFrame.java │ │ │ │ ├── ClickableFrame.java │ │ │ │ ├── CommandCardCommandListener.java │ │ │ │ ├── CommandErrorListener.java │ │ │ │ ├── FocusableFrame.java │ │ │ │ ├── MultiSelectionIconListener.java │ │ │ │ ├── QueueIconListener.java │ │ │ │ └── SettableCommandErrorListener.java │ │ │ │ ├── dialog │ │ │ │ ├── CLeaderboard.java │ │ │ │ ├── CScriptDialog.java │ │ │ │ ├── CScriptDialogButton.java │ │ │ │ ├── CTimerDialog.java │ │ │ │ └── DialogWar3.java │ │ │ │ ├── mapsetup │ │ │ │ ├── CurrentNetGameMapLookup.java │ │ │ │ ├── CurrentNetGameMapLookupFile.java │ │ │ │ ├── CurrentNetGameMapLookupPath.java │ │ │ │ ├── MapInfoPane.java │ │ │ │ ├── MapListContainer.java │ │ │ │ ├── PlayerSlotPane.java │ │ │ │ ├── PlayerSlotPaneListener.java │ │ │ │ └── TeamSetupPane.java │ │ │ │ ├── menu │ │ │ │ ├── BattleNetUI.java │ │ │ │ ├── BattleNetUIActionListener.java │ │ │ │ ├── CampaignButtonUI.java │ │ │ │ ├── CampaignMenuData.java │ │ │ │ ├── CampaignMenuUI.java │ │ │ │ └── CampaignMission.java │ │ │ │ ├── sound │ │ │ │ └── KeyedSounds.java │ │ │ │ └── toggle │ │ │ │ └── MeleeToggleUI.java │ │ ├── google │ │ │ └── gson │ │ │ │ └── typeadapters │ │ │ │ └── RuntimeTypeAdapterFactory.java │ │ └── hiveworkshop │ │ │ ├── ReteraCASCUtils.java │ │ │ ├── blizzard │ │ │ └── casc │ │ │ │ ├── ConfigurationFile.java │ │ │ │ ├── Key.java │ │ │ │ ├── StorageReference.java │ │ │ │ ├── info │ │ │ │ ├── FieldDataType.java │ │ │ │ ├── FieldDescriptor.java │ │ │ │ └── Info.java │ │ │ │ ├── io │ │ │ │ ├── WarcraftIIICASC.java │ │ │ │ └── package-info.java │ │ │ │ ├── nio │ │ │ │ ├── HashMismatchException.java │ │ │ │ ├── LittleHashBlockProcessor.java │ │ │ │ └── MalformedCASCStructureException.java │ │ │ │ ├── storage │ │ │ │ ├── BLTEContent.java │ │ │ │ ├── BankStream.java │ │ │ │ ├── IndexEntry.java │ │ │ │ ├── IndexFile.java │ │ │ │ ├── Storage.java │ │ │ │ └── StorageContainer.java │ │ │ │ ├── trash │ │ │ │ ├── LocalDataFiles.java │ │ │ │ ├── LocalIndexFile.java │ │ │ │ └── VirtualFileSystem.java │ │ │ │ └── vfs │ │ │ │ ├── FileNode.java │ │ │ │ ├── PathNode.java │ │ │ │ ├── PrefixNode.java │ │ │ │ ├── StorageReference.java │ │ │ │ ├── TVFSDecoder.java │ │ │ │ ├── TVFSFile.java │ │ │ │ └── VirtualFileSystem.java │ │ │ ├── json │ │ │ ├── JSONArray.java │ │ │ ├── JSONException.java │ │ │ ├── JSONObject.java │ │ │ ├── JSONPointer.java │ │ │ ├── JSONPointerException.java │ │ │ ├── JSONPropertyIgnore.java │ │ │ ├── JSONPropertyName.java │ │ │ ├── JSONString.java │ │ │ ├── JSONStringer.java │ │ │ ├── JSONTokener.java │ │ │ └── JSONWriter.java │ │ │ ├── lang │ │ │ └── Hex.java │ │ │ ├── nio │ │ │ └── ByteBufferInputStream.java │ │ │ └── rms │ │ │ ├── parsers │ │ │ └── mdlx │ │ │ │ ├── AnimationMap.java │ │ │ │ ├── InterpolationType.java │ │ │ │ ├── MdlxAnimatedObject.java │ │ │ │ ├── MdlxAttachment.java │ │ │ │ ├── MdlxBlock.java │ │ │ │ ├── MdlxBlockDescriptor.java │ │ │ │ ├── MdlxBone.java │ │ │ │ ├── MdlxCamera.java │ │ │ │ ├── MdlxChunk.java │ │ │ │ ├── MdlxCollisionShape.java │ │ │ │ ├── MdlxEventObject.java │ │ │ │ ├── MdlxExtent.java │ │ │ │ ├── MdlxFaceEffect.java │ │ │ │ ├── MdlxGenericObject.java │ │ │ │ ├── MdlxGeoset.java │ │ │ │ ├── MdlxGeosetAnimation.java │ │ │ │ ├── MdlxHelper.java │ │ │ │ ├── MdlxLayer.java │ │ │ │ ├── MdlxLight.java │ │ │ │ ├── MdlxMaterial.java │ │ │ │ ├── MdlxModel.java │ │ │ │ ├── MdlxParticleEmitter.java │ │ │ │ ├── MdlxParticleEmitter2.java │ │ │ │ ├── MdlxParticleEmitterPopcorn.java │ │ │ │ ├── MdlxRibbonEmitter.java │ │ │ │ ├── MdlxSequence.java │ │ │ │ ├── MdlxTexture.java │ │ │ │ ├── MdlxTextureAnimation.java │ │ │ │ ├── MdlxTimelineDescriptor.java │ │ │ │ ├── MdlxUnknownChunk.java │ │ │ │ ├── mdl │ │ │ │ ├── MdlTokenInputStream.java │ │ │ │ ├── MdlTokenOutputStream.java │ │ │ │ └── MdlUtils.java │ │ │ │ ├── timeline │ │ │ │ ├── MdlxFloatArrayTimeline.java │ │ │ │ ├── MdlxFloatTimeline.java │ │ │ │ ├── MdlxTimeline.java │ │ │ │ └── MdlxUInt32Timeline.java │ │ │ │ └── util │ │ │ │ └── MdxUtils.java │ │ │ └── util │ │ │ ├── BinaryReader.java │ │ │ ├── BinaryWriter.java │ │ │ └── Descriptor.java │ ├── jni │ │ ├── Android.mk │ │ ├── Application.mk │ │ └── src │ │ │ ├── cnode.cpp │ │ │ └── cnode.h │ └── mpq │ │ ├── ArchivedFile.java │ │ ├── ArchivedFileExtractor.java │ │ ├── ArchivedFileStream.java │ │ ├── BlockTable.java │ │ ├── HashLookup.java │ │ ├── HashTable.java │ │ ├── MPQArchive.java │ │ ├── MPQException.java │ │ ├── compression │ │ ├── Compression.java │ │ ├── DecompressionException.java │ │ ├── adpcm │ │ │ └── ADPCM.java │ │ ├── huffman │ │ │ └── Huffman.java │ │ └── pkware │ │ │ ├── PKException.java │ │ │ └── PKExploder.java │ │ ├── data │ │ ├── ArchiveHeader.java │ │ ├── BlockTableEntry.java │ │ ├── FileHeader.java │ │ ├── HashTableEntry.java │ │ ├── Raw.java │ │ ├── RawArrays.java │ │ └── UserDataHeader.java │ │ └── util │ │ └── Cryption.java └── test │ └── com │ └── etheller │ └── warsmash │ └── util │ └── QuadtreeTest.java ├── directory-picker ├── .gitignore ├── build.gradle ├── consumer-rules.pro ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── example │ │ └── directory_picker │ │ └── ExampleInstrumentedTest.java │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── obsez │ │ │ └── android │ │ │ └── lib │ │ │ └── filechooser │ │ │ ├── ChooserDialog.java │ │ │ ├── defBackPressed.java │ │ │ ├── internals │ │ │ ├── ExtFileFilter.java │ │ │ ├── FileUtil.java │ │ │ ├── RegexFileFilter.java │ │ │ ├── UiUtil.java │ │ │ └── WrappedDrawable.java │ │ │ ├── keyListener.java │ │ │ ├── onShowListener.java │ │ │ └── tool │ │ │ ├── DirAdapter.java │ │ │ └── RootFile.java │ └── res │ │ ├── drawable-hdpi │ │ ├── ic_chooser.png │ │ ├── ic_file.png │ │ ├── ic_folder.png │ │ └── ic_provider.png │ │ ├── drawable-mdpi │ │ ├── ic_chooser.png │ │ ├── ic_file.png │ │ ├── ic_folder.png │ │ ├── ic_provider.png │ │ └── listview_item_selector.xml │ │ ├── drawable-xhdpi │ │ ├── ic_chooser.png │ │ ├── ic_file.png │ │ ├── ic_folder.png │ │ └── ic_provider.png │ │ ├── drawable-xxhdpi │ │ ├── ic_chooser.png │ │ ├── ic_file.png │ │ ├── ic_folder.png │ │ └── ic_provider.png │ │ ├── drawable │ │ ├── ic_add_24dp.xml │ │ ├── ic_delete_24dp.xml │ │ └── ic_menu_24dp.xml │ │ ├── layout │ │ └── li_row_textview.xml │ │ ├── values-ca │ │ └── strings.xml │ │ ├── values-de │ │ └── strings.xml │ │ ├── values-es │ │ └── strings.xml │ │ ├── values-fr │ │ └── strings.xml │ │ ├── values-ga │ │ └── strings.xml │ │ ├── values-in │ │ ├── strings.xml │ │ └── strings_0.xml │ │ ├── values-it │ │ └── strings.xml │ │ ├── values-ka │ │ ├── strings.xml │ │ └── strings_0.xml │ │ ├── values-ko │ │ └── strings.xml │ │ ├── values-pl │ │ └── strings.xml │ │ ├── values-pt-rBR │ │ └── strings.xml │ │ ├── values-ru │ │ └── strings.xml │ │ ├── values-v11 │ │ └── strings.xml │ │ ├── values-v19 │ │ └── bool.xml │ │ ├── values-zh-rCN │ │ ├── strings.xml │ │ └── strings_0.xml │ │ ├── values-zh-rTW │ │ ├── strings.xml │ │ └── strings_0.xml │ │ └── values │ │ ├── attr.xml │ │ ├── bool.xml │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ ├── strings_0.xml │ │ └── styles.xml │ └── test │ └── java │ └── com │ └── example │ └── directory_picker │ └── ExampleUnitTest.java ├── fastlane └── metadata │ └── android │ └── en-US │ ├── changelogs │ ├── 3.txt │ ├── 4.txt │ └── 5.txt │ ├── full_description.txt │ ├── images │ ├── icon.png │ └── phoneScreenshots │ │ ├── 1.png │ │ ├── 2.png │ │ └── 3.png │ ├── short_description.txt │ └── title.txt ├── fdfparser ├── antlr-src │ └── FDF.g4 ├── build.gradle └── src │ └── com │ └── etheller │ └── warsmash │ ├── fdfparser │ ├── FDFParserBuilder.java │ ├── FrameDefinitionFieldVisitor.java │ ├── FrameDefinitionVisitor.java │ ├── Main.java │ └── TestFDFParserBuilder.java │ └── parsers │ └── fdf │ └── datamodel │ ├── AnchorDefinition.java │ ├── BackdropCornerFlags.java │ ├── ControlStyle.java │ ├── FontDefinition.java │ ├── FontFlags.java │ ├── FrameClass.java │ ├── FrameDefinition.java │ ├── FrameEvent.java │ ├── FramePoint.java │ ├── FrameTemplateEnvironment.java │ ├── HighlightAlphaMode.java │ ├── HighlightType.java │ ├── MenuItem.java │ ├── SetPointDefinition.java │ ├── TextJustify.java │ ├── Vector2Definition.java │ ├── Vector3Definition.java │ ├── Vector4Definition.java │ └── fields │ ├── FloatFrameDefinitionField.java │ ├── FontFrameDefinitionField.java │ ├── FrameDefinitionField.java │ ├── FrameDefinitionFieldVisitor.java │ ├── MenuItemFrameDefinitionField.java │ ├── RepeatingFrameDefinitionField.java │ ├── StringFrameDefinitionField.java │ ├── StringPairFrameDefinitionField.java │ ├── TextJustifyFrameDefinitionField.java │ ├── Vector2FrameDefinitionField.java │ ├── Vector3FrameDefinitionField.java │ ├── Vector4FrameDefinitionField.java │ └── visitor │ ├── GetFloatFieldVisitor.java │ ├── GetFontFieldVisitor.java │ ├── GetMenuItemFieldVisitor.java │ ├── GetRepeatingFieldVisitor.java │ ├── GetStringFieldVisitor.java │ ├── GetStringPairFieldVisitor.java │ ├── GetTextJustifyFieldVisitor.java │ ├── GetVector2FieldVisitor.java │ └── GetVector4FieldVisitor.java ├── gdx-controllers-android ├── build.gradle └── gdx-controllers-android-2.2.3.aar ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── jars ├── blp-iio-plugin.jar └── gson-2.10.jar ├── jassparser ├── antlr-src │ └── Jass.g4 ├── build.gradle └── src │ ├── com │ └── etheller │ │ └── interpreter │ │ └── ast │ │ ├── Assignable.java │ │ ├── debug │ │ ├── DebuggingJassFunction.java │ │ ├── DebuggingJassStatement.java │ │ ├── JassException.java │ │ └── JassStackElement.java │ │ ├── definition │ │ ├── JassCodeDefinitionBlock.java │ │ ├── JassDefinitionBlock.java │ │ ├── JassFunctionDefinitionBlock.java │ │ ├── JassGlobalsDefinitionBlock.java │ │ ├── JassImplementModuleDefinition.java │ │ ├── JassLibraryDefinitionBlock.java │ │ ├── JassLibraryRequirementDefinition.java │ │ ├── JassMethodDefinitionBlock.java │ │ ├── JassModuleDefinitionBlock.java │ │ ├── JassNativeDefinitionBlock.java │ │ ├── JassParameterDefinition.java │ │ ├── JassScopeDefinitionBlock.java │ │ ├── JassStructDefinitionBlock.java │ │ ├── JassStructLikeDefinitionBlock.java │ │ └── JassTypeDefinitionBlock.java │ │ ├── execution │ │ ├── JassStackFrame.java │ │ ├── JassThread.java │ │ └── instruction │ │ │ ├── AllocateArrayInstruction.java │ │ │ ├── AllocateInstruction.java │ │ │ ├── AllocateStructAsNewTypeInstruction.java │ │ │ ├── ArithmeticInstruction.java │ │ │ ├── ArrayAssignmentInstruction.java │ │ │ ├── ArrayReferenceInstruction.java │ │ │ ├── BeginFunctionInstruction.java │ │ │ ├── BeginLoopInstruction.java │ │ │ ├── BranchInstruction.java │ │ │ ├── ConditionalBranchInstruction.java │ │ │ ├── DeclareLocalArrayInstruction.java │ │ │ ├── DoNothingInstruction.java │ │ │ ├── ExtendHandleInstruction.java │ │ │ ├── GlobalArrayAssignmentInstruction.java │ │ │ ├── GlobalAssignmentInstruction.java │ │ │ ├── GlobalReferenceInstruction.java │ │ │ ├── InstructionAppendingJassStatementVisitor.java │ │ │ ├── InvertedConditionalBranchInstruction.java │ │ │ ├── JassInstruction.java │ │ │ ├── JassThrowInstruction.java │ │ │ ├── LocalArrayAssignmentInstruction.java │ │ │ ├── LocalAssignmentInstruction.java │ │ │ ├── LocalReferenceInstruction.java │ │ │ ├── MethodReferenceInstruction.java │ │ │ ├── NativeInstruction.java │ │ │ ├── NegateInstruction.java │ │ │ ├── NewStackFrameInstruction.java │ │ │ ├── NotInstruction.java │ │ │ ├── PeekInstruction.java │ │ │ ├── PopInstruction.java │ │ │ ├── PushLiteralInstruction.java │ │ │ ├── ReturnInstruction.java │ │ │ ├── SetDebugLineNoInstruction.java │ │ │ ├── SetReturnAddrInstruction.java │ │ │ ├── SetStructMemberInstruction.java │ │ │ ├── StructMemberReferenceInstruction.java │ │ │ ├── TypeCastInstruction.java │ │ │ ├── TypeCheckInstruction.java │ │ │ └── VirtualBranchInstruction.java │ │ ├── expression │ │ ├── AllocateAsNewTypeExpression.java │ │ ├── ArithmeticJassExpression.java │ │ ├── ArithmeticSign.java │ │ ├── ArithmeticSigns.java │ │ ├── ArrayRefJassExpression.java │ │ ├── ExtendHandleExpression.java │ │ ├── FunctionCallJassExpression.java │ │ ├── FunctionReferenceJassExpression.java │ │ ├── JassExpression.java │ │ ├── JassExpressionVisitor.java │ │ ├── JassNewArrayExpression.java │ │ ├── JassNewExpression.java │ │ ├── LiteralJassExpression.java │ │ ├── MemberJassExpression.java │ │ ├── MethodCallJassExpression.java │ │ ├── MethodReferenceJassExpression.java │ │ ├── NegateJassExpression.java │ │ ├── NotJassExpression.java │ │ ├── ParentlessMethodCallJassExpression.java │ │ ├── ReferenceJassExpression.java │ │ ├── TypeCastJassExpression.java │ │ └── visitor │ │ │ ├── JassTypeExpressionVisitor.java │ │ │ └── ReplaceNewExpressionVisitor.java │ │ ├── function │ │ ├── AbstractJassFunction.java │ │ ├── JassFunction.java │ │ ├── JassNativeManager.java │ │ ├── JassParameter.java │ │ ├── NativeJassFunction.java │ │ └── UserJassFunction.java │ │ ├── qualifier │ │ └── JassQualifier.java │ │ ├── scope │ │ ├── DefaultScope.java │ │ ├── GlobalScope.java │ │ ├── GlobalScopeAssignable.java │ │ ├── LibraryScopeTree.java │ │ ├── LocalScope.java │ │ ├── Scope.java │ │ ├── ScopedScope.java │ │ ├── StructScope.java │ │ ├── TriggerExecutionScope.java │ │ ├── TypeDefinition.java │ │ ├── trigger │ │ │ ├── RemovableTriggerEvent.java │ │ │ ├── Trigger.java │ │ │ ├── TriggerBooleanExpression.java │ │ │ └── TriggerIntegerExpression.java │ │ └── variableevent │ │ │ ├── CLimitOp.java │ │ │ └── VariableEvent.java │ │ ├── statement │ │ ├── JassArrayedAssignmentStatement.java │ │ ├── JassCallExpressionStatement.java │ │ ├── JassCallStatement.java │ │ ├── JassDoNothingStatement.java │ │ ├── JassExitWhenStatement.java │ │ ├── JassGlobalDefinitionStatement.java │ │ ├── JassGlobalStatement.java │ │ ├── JassIfElseIfStatement.java │ │ ├── JassIfElseStatement.java │ │ ├── JassIfStatement.java │ │ ├── JassLocalDefinitionStatement.java │ │ ├── JassLocalStatement.java │ │ ├── JassLoopStatement.java │ │ ├── JassReturnNothingStatement.java │ │ ├── JassReturnStatement.java │ │ ├── JassSetMemberStatement.java │ │ ├── JassSetStatement.java │ │ ├── JassStatement.java │ │ ├── JassStatementVisitor.java │ │ └── JassThrowStatement.java │ │ ├── struct │ │ ├── JassStructMemberType.java │ │ └── JassStructMemberTypeDefinition.java │ │ ├── type │ │ ├── ArrayJassTypeToken.java │ │ ├── JassTypeToken.java │ │ ├── LiteralJassTypeToken.java │ │ ├── NothingJassTypeToken.java │ │ └── PrimitiveJassTypeToken.java │ │ ├── util │ │ ├── CExtensibleHandle.java │ │ ├── CExtensibleHandleAbstract.java │ │ ├── CHandle.java │ │ ├── JassLog.java │ │ ├── JassProgram.java │ │ └── JassSettings.java │ │ └── value │ │ ├── AnyStructTypeJassType.java │ │ ├── ArrayJassType.java │ │ ├── ArrayJassValue.java │ │ ├── BaseStructJassValue.java │ │ ├── BooleanJassValue.java │ │ ├── CodeJassType.java │ │ ├── CodeJassValue.java │ │ ├── DummyJassValue.java │ │ ├── HandleJassType.java │ │ ├── HandleJassTypeConstructor.java │ │ ├── HandleJassValue.java │ │ ├── IntegerJassValue.java │ │ ├── JassStructStatements.java │ │ ├── JassType.java │ │ ├── JassTypeVisitor.java │ │ ├── JassValue.java │ │ ├── JassValueVisitor.java │ │ ├── MethodJassValue.java │ │ ├── PrimitiveJassType.java │ │ ├── RealJassType.java │ │ ├── RealJassValue.java │ │ ├── StaticStructTypeJassValue.java │ │ ├── StringJassType.java │ │ ├── StringJassValue.java │ │ ├── StructAssignabilityTypeVisitor.java │ │ ├── StructJassType.java │ │ ├── StructJassTypeInterface.java │ │ ├── StructJassValue.java │ │ └── visitor │ │ ├── ArithmeticJassValueVisitor.java │ │ ├── ArithmeticLeftHandBooleanJassValueVisitor.java │ │ ├── ArithmeticLeftHandCodeJassValueVisitor.java │ │ ├── ArithmeticLeftHandHandleJassValueVisitor.java │ │ ├── ArithmeticLeftHandIntegerJassValueVisitor.java │ │ ├── ArithmeticLeftHandNullJassValueVisitor.java │ │ ├── ArithmeticLeftHandRealJassValueVisitor.java │ │ ├── ArithmeticLeftHandStringJassValueVisitor.java │ │ ├── ArithmeticLeftHandStructJassValueVisitor.java │ │ ├── ArrayJassValueVisitor.java │ │ ├── ArrayPrimitiveTypeVisitor.java │ │ ├── ArrayTypeVisitor.java │ │ ├── BaseStructJassValueVisitor.java │ │ ├── BooleanJassValueVisitor.java │ │ ├── CodeJassValueVisitor.java │ │ ├── HandleJassTypeVisitor.java │ │ ├── HandleTypeSuperTypeLoadingVisitor.java │ │ ├── IntegerJassValueVisitor.java │ │ ├── JassTypeGettingValueVisitor.java │ │ ├── NegateJassValueVisitor.java │ │ ├── NotJassValueVisitor.java │ │ ├── ObjectJassValueVisitor.java │ │ ├── RealJassValueVisitor.java │ │ ├── StaticStructTypeJassTypeVisitor.java │ │ ├── StaticStructTypeJassValueVisitor.java │ │ ├── StringJassValueVisitor.java │ │ ├── StructJassTypeVisitor.java │ │ ├── StructJassValueVisitor.java │ │ ├── StructSuperJassValueVisitor.java │ │ ├── SuperTypeVisitor.java │ │ ├── WrappedStringJassValueVisitor.java │ │ └── cast │ │ ├── TypeCastConverterGettingJassTypeVisitor.java │ │ ├── TypeCastToArrayJassValueVisitor.java │ │ ├── TypeCastToBooleanJassValueVisitor.java │ │ ├── TypeCastToCodeJassValueVisitor.java │ │ ├── TypeCastToHandleJassValueVisitor.java │ │ ├── TypeCastToIntegerJassValueVisitor.java │ │ ├── TypeCastToRealJassValueVisitor.java │ │ ├── TypeCastToStringJassValueVisitor.java │ │ └── TypeCastToStructJassValueVisitor.java │ └── net │ └── warsmash │ └── parsers │ └── jass │ ├── SmashJassLexer.flex │ ├── SmashJassLexer.java │ ├── SmashJassParser.java │ ├── SmashJassParser.y │ ├── generateSmashJass.sh │ └── util │ └── SmashJassRunner.java ├── key.jks ├── libgdx ├── build.gradle └── gdx-backend-android-release.aar ├── replay_pid31584.log ├── resources ├── Scripts │ ├── Abilities │ │ ├── Human │ │ │ ├── Archmage │ │ │ │ ├── Blizzard.j │ │ │ │ ├── Brilliance.j │ │ │ │ ├── MassTeleport.j │ │ │ │ └── SummonWaterElemental.j │ │ │ ├── MountainKing │ │ │ │ ├── Avatar.j │ │ │ │ ├── StormBolt.j │ │ │ │ └── ThunderClap.j │ │ │ └── Paladin │ │ │ │ ├── Devotion.j │ │ │ │ ├── DivineShield.j │ │ │ │ ├── HolyLight.j │ │ │ │ └── Resurrect.j │ │ └── Orc │ │ │ └── TaurenChieftain │ │ │ └── AbilityWarStomp.j │ ├── abilitiesCommon.j │ ├── abilitiesCommon2.j │ ├── abilitiesCommon3.j │ ├── abilitiesDefaults.j │ ├── abilitiesUtils.j │ ├── common.jui │ └── melee.jui └── UI │ └── FrameDef │ ├── SmashFrameDef.toc │ └── SmashUI │ ├── InventoryCover.fdf │ ├── SmashConsoleUI.fdf │ ├── TimeOfDayIndicator.fdf │ ├── ToolTip.fdf │ └── UnitPortrait.fdf ├── server ├── build.gradle └── src │ └── com │ └── etheller │ └── warsmash │ └── networking │ └── uberserver │ ├── AcceptedGameListKey.java │ ├── DefaultGamingNetworkServerClientBuilder.java │ ├── GamingNetworkServerBusinessLogicImpl.java │ ├── GamingNetworkServerClientBuilder.java │ ├── GamingNetworkServerMain.java │ ├── GamingNetworkServerToClientWriter.java │ ├── GamingNetworkServerTracker.java │ ├── LobbyActionFailureReason.java │ ├── LoggingGamingNetworkServerTracker.java │ ├── SessionManager.java │ ├── TCPGamingNetworkServer.java │ ├── TCPGamingNetworkServerClientParser.java │ └── users │ ├── InRAMUserManager.java │ ├── PasswordAuthentication.java │ ├── PasswordResetListener.java │ ├── User.java │ ├── UserImpl.java │ ├── UserManager.java │ ├── UserRank.java │ ├── UserRanking.java │ ├── UserStats.java │ └── UserView.java ├── settings.gradle.kts ├── shared ├── build.gradle └── src │ ├── com │ └── etheller │ │ └── warsmash │ │ ├── networking │ │ ├── ClientToServerListener.java │ │ ├── ClientToServerProtocol.java │ │ ├── GameTurnManager.java │ │ ├── ServerToClientListener.java │ │ ├── ServerToClientProtocol.java │ │ ├── WarsmashClientParser.java │ │ ├── WarsmashClientWriter.java │ │ ├── WarsmashServer.java │ │ ├── WarsmashServerParser.java │ │ ├── WarsmashServerWriter.java │ │ └── udp │ │ │ ├── UdpClientTestMain.java │ │ │ └── UdpServerTestMain.java │ │ └── util │ │ ├── JAVACrc32C.java │ │ ├── RawcodeUtils.java │ │ ├── Utils.java │ │ └── War3ID.java │ └── net │ └── warsmash │ ├── map │ └── NetMapDownloader.java │ ├── networking │ ├── tcp │ │ ├── TCPTestClient.java │ │ ├── TCPTestServer.java │ │ ├── TestChatClient.java │ │ └── TestChatServer.java │ ├── udp │ │ ├── OrderedUdpClient.java │ │ ├── OrderedUdpClientListener.java │ │ ├── OrderedUdpCommuncation.java │ │ ├── OrderedUdpServer.java │ │ ├── OrderedUdpServerListener.java │ │ ├── UdpClient.java │ │ ├── UdpClientListener.java │ │ ├── UdpServer.java │ │ └── UdpServerListener.java │ └── util │ │ └── AbstractWriter.java │ ├── nio │ ├── channels │ │ ├── ByteParser.java │ │ ├── ChannelListener.java │ │ ├── ChannelOpener.java │ │ ├── KeyAttachment.java │ │ ├── OpenedChannel.java │ │ ├── SelectableChannelOpener.java │ │ ├── SocketChannelCallback.java │ │ ├── TCPParser.java │ │ ├── WritableOutput.java │ │ ├── WritableSocketOutput.java │ │ ├── tcp │ │ │ ├── ConnectionFinishingKeyAttachment.java │ │ │ ├── TCPClientKeyAttachment.java │ │ │ ├── TCPClientParser.java │ │ │ └── TCPServerKeyAttachment.java │ │ └── udp │ │ │ └── UDPServerKeyAttachment.java │ └── util │ │ ├── Callback.java │ │ ├── DisconnectListener.java │ │ └── ExceptionListener.java │ └── uberserver │ ├── AccountCreationFailureReason.java │ ├── ChannelServerMessageType.java │ ├── GameCreationFailureReason.java │ ├── GamingNetwork.java │ ├── GamingNetworkClientConnectionContext.java │ ├── GamingNetworkClientToServerListener.java │ ├── GamingNetworkClientToServerWriter.java │ ├── GamingNetworkConnection.java │ ├── GamingNetworkServerToClientListener.java │ ├── HandshakeDeniedReason.java │ ├── HostedGameVisibility.java │ ├── JoinGameFailureReason.java │ ├── LobbyGameSpeed.java │ ├── LobbyPlayerType.java │ ├── LoginFailureReason.java │ ├── PasswordResetFailureReason.java │ ├── ServerErrorMessageType.java │ ├── TCPGamingNetworkServerToClientParser.java │ └── lobby │ ├── LobbyConstants.java │ ├── LobbyListener.java │ ├── LobbyRace.java │ ├── LobbySetupListener.java │ ├── LobbySlotType.java │ ├── LobbyStateView.java │ ├── LobbyType.java │ ├── UserSlotSetting.java │ └── state │ ├── CustomForcesLobbySlot.java │ ├── FixedCustomForcesLobbySlot.java │ ├── LobbyActionException.java │ ├── LobbyPlayerSlot.java │ ├── LobbyStateImpl.java │ ├── LobbyStateImplBuilder.java │ ├── LobbyUserPlayer.java │ └── MeleeLobbySlot.java └── welaunch.bat /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "libgdx-oboe"] 2 | path = libgdx-oboe 3 | url = https://github.com/sandstranger/libgdx-oboe.git 4 | [submodule "android-awt"] 5 | path = android-awt 6 | url = https://github.com/sandstranger/android-awt.git 7 | -------------------------------------------------------------------------------- /android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandstranger/WarsmashModEngine/12a393cdc09ba05f8e67271a2e4574d944106baf/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /android/ic_launcher-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandstranger/WarsmashModEngine/12a393cdc09ba05f8e67271a2e4574d944106baf/android/ic_launcher-web.png -------------------------------------------------------------------------------- /android/local.properties: -------------------------------------------------------------------------------- 1 | ## This file must *NOT* be checked into Version Control Systems, 2 | # as it contains information specific to your local configuration. 3 | # 4 | # Location of the SDK. This is only used by Gradle. 5 | # For customization when using a Version Control System, please read the 6 | # header note. 7 | #Wed Dec 11 05:53:14 GMT+04:00 2024 8 | sdk.dir=D\:\\SDK 9 | -------------------------------------------------------------------------------- /android/project.properties: -------------------------------------------------------------------------------- 1 | # This file is automatically generated by Android Tools. 2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED! 3 | # 4 | # This file must be checked in Version Control Systems. 5 | # 6 | # To customize properties used by the Ant build system edit 7 | # "ant.properties", and override values to adapt the script to your 8 | # project structure. 9 | # 10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): 11 | #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-rules.pro 12 | 13 | # Project target. 14 | target=android-19 15 | -------------------------------------------------------------------------------- /android/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandstranger/WarsmashModEngine/12a393cdc09ba05f8e67271a2e4574d944106baf/android/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandstranger/WarsmashModEngine/12a393cdc09ba05f8e67271a2e4574d944106baf/android/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandstranger/WarsmashModEngine/12a393cdc09ba05f8e67271a2e4574d944106baf/android/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandstranger/WarsmashModEngine/12a393cdc09ba05f8e67271a2e4574d944106baf/android/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/res/drawable/down_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandstranger/WarsmashModEngine/12a393cdc09ba05f8e67271a2e4574d944106baf/android/res/drawable/down_arrow.png -------------------------------------------------------------------------------- /android/res/drawable/left_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandstranger/WarsmashModEngine/12a393cdc09ba05f8e67271a2e4574d944106baf/android/res/drawable/left_arrow.png -------------------------------------------------------------------------------- /android/res/drawable/mouse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandstranger/WarsmashModEngine/12a393cdc09ba05f8e67271a2e4574d944106baf/android/res/drawable/mouse.png -------------------------------------------------------------------------------- /android/res/drawable/right_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandstranger/WarsmashModEngine/12a393cdc09ba05f8e67271a2e4574d944106baf/android/res/drawable/right_arrow.png -------------------------------------------------------------------------------- /android/res/drawable/toggle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandstranger/WarsmashModEngine/12a393cdc09ba05f8e67271a2e4574d944106baf/android/res/drawable/toggle.png -------------------------------------------------------------------------------- /android/res/drawable/up_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandstranger/WarsmashModEngine/12a393cdc09ba05f8e67271a2e4574d944106baf/android/res/drawable/up_arrow.png -------------------------------------------------------------------------------- /android/res/menu/menu.xml: -------------------------------------------------------------------------------- 1 | 2 |
-------------------------------------------------------------------------------- /android/res/mipmap-xhdpi/ic_banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandstranger/WarsmashModEngine/12a393cdc09ba05f8e67271a2e4574d944106baf/android/res/mipmap-xhdpi/ic_banner.png -------------------------------------------------------------------------------- /android/res/mipmap-xhdpi/ic_banner_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandstranger/WarsmashModEngine/12a393cdc09ba05f8e67271a2e4574d944106baf/android/res/mipmap-xhdpi/ic_banner_foreground.png -------------------------------------------------------------------------------- /android/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 |