TPL_UNIT.SUMMON_Poison = UnitTpl("FaerieDragon")
    :name("小怪萌")
    :icon("unit/PoisonElemental")
    :modelAlias("hero/PoisonElemental")
    :modelScale(0.75)
    :scale(1.0)
    :material(UNIT_MATERIAL.flesh)
    :itemSlot(false)
    :move(175)
    :attackRange(400)
    :attackSpaceBase(2)
    :attackMode(AttackMode():mode("missile")
                            :missileModel("missile/SpiritBolt")
                            :damageType(DAMAGE_TYPE.poison)
                            :speed(600):height(20))
TPL_UNIT.SUMMON_BlueFire = UnitTpl()
    :speechExtra("immovable")
    :name("魔火")
    :modelAlias("AshenvaleBrazier")
    :modelScale(1.2)
    :scale(1.4)
    :material(UNIT_MATERIAL.metal)
    :itemSlot(false)
    :move(0)
    :corpse(0)
TPL_UNIT.SUMMON_ThunderBall = UnitTpl()
    :superposition("locust", 1)
    :superposition("invulnerable", 1)
    :name("雷球")
    :modelAlias("FarseerMissile")
    :modelScale(1.5)
    :scale(1.0)
    :flyHeight(200)
    :itemSlot(false)
    :attackRange(350)
    :attackSpaceBase(2)
    :attackMode(AttackMode():mode("lightning")
                            :lightningType(LIGHTNING_TYPE.thunderLite)
                            :damageType(DAMAGE_TYPE.thunder))
TPL_UNIT.SUMMON_Barrens_Rocks8 = UnitTpl()
    :speechExtra("buildingBig")
    :superposition("invulnerable", 1)
    :name("大石块")
    :modelAlias("Barrens_Rocks8")
    :modelScale(2)
    :scale(3)
    :material(UNIT_MATERIAL.rock)
    :itemSlot(false)
    :move(0)
    :corpse(0)
TPL_UNIT.SUMMON_SandTornado = UnitTpl()
    :superposition("locust", 1)
    :superposition("invulnerable", 1)
    :name("沙尘暴")
    :modelAlias("eff/SandTornado")
    :modelScale(2)
    :scale(1)
    :itemSlot(false)
    :move(150)
    :corpse(0)
TPL_UNIT.SUMMON_GoldWarrior = UnitTpl("HighElfSwordsman")
    :name("黄金战士")
    :modelAlias("TheCaptain")
    :icon("unit/TheCaptain")
    :modelScale(1.2)
    :scale(1.3)
    :itemSlot(false)
    :move(300)
    :weaponSound("metal_slice_heavy")
    :material(UNIT_MATERIAL.metal)
    :enchantMaterial(DAMAGE_TYPE.light)
    :attackRange(125)
    :attackSpaceBase(2.0)
    :attackMode(AttackMode():mode("common"):damageType(DAMAGE_TYPE.steel))
TPL_UNIT.SUMMON_NzothEye = UnitTpl()
    :name("洞天至眼")
    :modelAlias("unit/NzothTentacleEye")
    :icon("unit/NzothEyeIcon")
    :modelScale(1)
    :scale(1)
    :itemSlot(false)
    :move(0)
    :attackRange(400)
    :attackSpaceBase(2)
    :enchantMaterial(DAMAGE_TYPE.dark)
    :material(UNIT_MATERIAL.flesh)
    :weaponLength(120)
    :weaponHeight(240)
    :attackMode(AttackMode():mode("missile")
                            :missileModel("DevourMagicBirthMissile")
                            :damageType(DAMAGE_TYPE.dark)
                            :speed(600):height(0))
    :onEvent(EVENT.Unit.Attack,
    function(atkData)
        atkData.targetUnit:attack("-=7;3")
    end)
TPL_UNIT.SUMMON_NzothTentacle = UnitTpl()
    :name("洞天至鞭")
    :modelAlias("unit/NzothTentacle")
    :icon("unit/NzothTentacleIcon")
    :modelScale(1)
    :scale(1)
    :itemSlot(false)
    :move(0)
    :attackRange(120)
    :attackSpaceBase(2)
    :enchantMaterial(DAMAGE_TYPE.dark)
    :material(UNIT_MATERIAL.flesh)
    :attackMode(AttackMode():mode("common"):damageType(DAMAGE_TYPE.dark))
    :onEvent(EVENT.Unit.Attack,
    function(atkData)
        ability.stun({
            sourceUnit = atkData.triggerUnit,
            targetUnit = atkData.targetUnit,
            duration = 0.3,
        })
    end)