Paste #46351: bossscript2

Date: 2018/01/16 13:10:47 UTC-08:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


Illfang:
    type: assignment

    default constants:
      MobType: Giant
      MobName: <Red><bold>Illfang
      MobHealth: 4000
      MobDamage: 10
      MobDamage2: 18
      MobSpeed: 1
      MobRespawn: 20
      MobArmor: 0
      MobFollow: 32
      MobRegen: 6

      #Mob gear
      MobHelmet: 306
      MobChest: 307
      MobLegs:
      MobBoots:
      MobWeapon: 2257
      MobWeapon2: 2263

      #Companion settings
      CompanionType: player
      CompanionName: <red><bold>Sentinel
      CompanionHealth: 500
      CompanionDamage: 4
      CompanionSpeed: 1
      CompanionRespawn: -1
      CompanionArmor: 100
      CompanionFollow: 32
      CompanionRegen: 2
      CompanionSkin: Goblin

      #Companion Gear
      CompanionHelmet: 314
      CompanionChest: 307
      CompanionLegs:
      CompanionBoots:
      CompanionWeapon: 272

      #Loot Options
      Loot1:
      Dropchance1:
      Loot2:
      Dropchance2:
      Loot3:
      Dropchance3:
      Loot4:
      Dropchance4:
      Loot5:
      Dropchance5:

    interact scripts:
    - Illfang_Script

    actions:
        on assignment:
        - trigger name:proximity toggle:true "radius:<cons:Boss Awareness Range>"
        - trigger name:damage toggle:true
        - execute as_server "npc sel <npc.id>"
        - execute as_server "trait sentry"
        - execute as_server "sentry equip <cons:MobHelmet>"
        - execute as_server "sentry equip <cons:MobChest>"
        - execute as_server "sentry equip <cons:MobLegs>"
        - execute as_server "sentry equip <cons:MobBoots>"
        - execute as_server "sentry equip <cons:MobWeapon>"
        - wait 2s
        - execute as_server "npc rename <cons:Mobname>"
        - execute as_server "npc type <cons:Mobtype>"
        - execute as_server "sentry health <cons:MobHealth>"
        - execute as_server "sentry strength <cons:MobDamage>"
        - execute as_server "sentry speed <cons:MobSpeed>"
        - execute as_server "sentry respawn <cons:MobRespawn>"
        - execute as_server "sentry armor <cons:Mobarmor>"
        - execute as_server "sentry follow <cons:MobFollow>"
        - execute as_server "sentry healrate <cons:MobRegen>"

        on death:
        - execute as_server "npc sel <npc.id>"
        - execute as_server "sentry strength <cons:MobDamage>"
        - execute as_server "sentry equip <cons:MobWeapon>"
        - flag npc Sentinels:!
        - flag npc Action:idle
        - flag npc weapons:1
        - zap s@Illfang_Script step:1
        - announce "<white>[<gold>Cardinal<white>]<green> Floor 1 has been succesfully cleared!!"
        - title "title:<blue><bold>Congratulations" "subtitle:<red><bold>You have cleared the first floor" stay:5s targets:<npc.flag[Damagelist]>
        - flag npc Damagelist:!

Illfang_setup:
    type: command
    name: Illfang
    usage: /Illfang Sentinel
    script:
    - if <context.args.get[1]> == Sentinel {
        - narrate "<green>Use /Illfang Sentinel(1/6)"
    } else {
        - if <context.args.get[1]> == Sentinel1 {
            - flag world Sentinel1:<player.location>
            - narrate "<green>Sentinel 1 spawnlocation set"
        } else {
            - if <context.args.get[1]> == Sentinel2 {
                - flag world Sentinel2:<player.location>
                - narrate "<green>Sentinel 2 spawnlocation set"
            } else {
                - if <context.args.get[1]> == Sentinel3 {
                    - flag world Sentinel3:<player.location>
                    - narrate "<green>Sentinel 3 spawnlocation set"
                } else {
                    - if <context.args.get[1]> == Sentinel4 {
                        - flag world Sentinel4:<player.location>
                        - narrate "<green>Sentinel 4 spawnlocation set"
                    } else {
                        - if <context.args.get[1]> == Sentinel5 {
                            - flag world Sentinel5:<player.location>
                            - narrate "<green>Sentinel 5 spawnlocation set"
                        } else {
                            - if <context.args.get[1]> == Sentinel6 {
                                - flag world Sentinel5:<player.location>
                                - narrate "<green>Sentinel 6 spawnlocation set"
                            } else {
                                - narrate "<red>Oops, <green>please use /Illfang Sentinel"
                            }
                        }
                    }
                }
            }
        }
    }

Illfang_Script:
    type: interact
    steps:
        1:
            damage trigger:
                script:
                - narrate "Ouch"
                - if <npc.flag[Damagelist]> !contains <player.name> {
                    - flag npc Damagelist:->:<player.name>
                } else {
                    - queue clear
                }
                - if <npc.health.percentage> <= 40 {
                    - zap step:2
                } else {
                    - queue clear
                }
                - if <npc.flag[Sentinels]> == Spawned {
                    - queue clear
                } else {
                    - flag npc Sentinels:Spawned
                    - execute as_server "npc create <cons:CompanionName> --at <world.flag[Sentinel1]> --type <cons:CompanionType> --trait Sentry"
                    - execute as_server "npc skin <cons:CompanionSkin>"
                    - execute as_server "sentry health <cons:CompanionHealth>"
                    - execute as_server "sentry strength <cons:CompanionDamage>"
                    - execute as_server "sentry speed <cons:CompanionSpeed>"
                    - execute as_server "sentry respawn <cons:CompanionRespawn>"
                    - execute as_server "sentry armor <cons:CompanionArmor>"
                    - execute as_server "sentry follow <cons:CompanionFollow>"
                    - execute as_server "sentry healrate <cons:CompanionRegen>"
                    - execute as_server "sentry equip <cons:CompanionBoots>"
                    - execute as_server "sentry equip <cons:CompanionChest>"
                    - execute as_server "sentry equip <cons:CompanionHelmet>"
                    - execute as_server "sentry equip <cons:CompanionLegs>"
                    - execute as_server "sentry equip <cons:CompanionWeapon>"
                    - execute as_server "npc create <cons:CompanionName> --at <world.flag[Sentinel2]> --type <cons:CompanionType> --trait Sentry"
                    - execute as_server "npc skin <cons:CompanionSkin>"
                    - execute as_server "sentry health <cons:CompanionHealth>"
                    - execute as_server "sentry strength <cons:CompanionDamage>"
                    - execute as_server "sentry speed <cons:CompanionSpeed>"
                    - execute as_server "sentry respawn <cons:CompanionRespawn>"
                    - execute as_server "sentry armor <cons:CompanionArmor>"
                    - execute as_server "sentry follow <cons:CompanionFollow>"
                    - execute as_server "sentry healrate <cons:CompanionRegen>"
                    - execute as_server "sentry equip <cons:CompanionBoots>"
                    - execute as_server "sentry equip <cons:CompanionChest>"
                    - execute as_server "sentry equip <cons:CompanionHelmet>"
                    - execute as_server "sentry equip <cons:CompanionLegs>"
                    - execute as_server "sentry equip <cons:CompanionWeapon>"
                    - execute as_server "npc create <cons:CompanionName> --at <world.flag[Sentinel3]> --type <cons:CompanionType> --trait Sentry"
                    - execute as_server "npc skin <cons:CompanionSkin>"
                    - execute as_server "sentry health <cons:CompanionHealth>"
                    - execute as_server "sentry strength <cons:CompanionDamage>"
                    - execute as_server "sentry speed <cons:CompanionSpeed>"
                    - execute as_server "sentry respawn <cons:CompanionRespawn>"
                    - execute as_server "sentry armor <cons:CompanionArmor>"
                    - execute as_server "sentry follow <cons:CompanionFollow>"
                    - execute as_server "sentry healrate <cons:CompanionRegen>"
                    - execute as_server "sentry equip <cons:CompanionBoots>"
                    - execute as_server "sentry equip <cons:CompanionChest>"
                    - execute as_server "sentry equip <cons:CompanionHelmet>"
                    - execute as_server "sentry equip <cons:CompanionLegs>"
                    - execute as_server "sentry equip <cons:CompanionWeapon>"
                    - execute as_server "npc create <cons:CompanionName> --at <world.flag[Sentinel4]> --type <cons:CompanionType> --trait Sentry"
                    - execute as_server "npc skin <cons:CompanionSkin>"
                    - execute as_server "sentry health <cons:CompanionHealth>"
                    - execute as_server "sentry strength <cons:CompanionDamage>"
                    - execute as_server "sentry speed <cons:CompanionSpeed>"
                    - execute as_server "sentry respawn <cons:CompanionRespawn>"
                    - execute as_server "sentry armor <cons:CompanionArmor>"
                    - execute as_server "sentry follow <cons:CompanionFollow>"
                    - execute as_server "sentry healrate <cons:CompanionRegen>"
                    - execute as_server "sentry equip <cons:CompanionBoots>"
                    - execute as_server "sentry equip <cons:CompanionChest>"
                    - execute as_server "sentry equip <cons:CompanionHelmet>"
                    - execute as_server "sentry equip <cons:CompanionLegs>"
                    - execute as_server "sentry equip <cons:CompanionWeapon>"
                    - execute as_server "npc create <cons:CompanionName> --at <world.flag[Sentinel5]> --type <cons:CompanionType> --trait Sentry"
                    - execute as_server "npc skin <cons:CompanionSkin>"
                    - execute as_server "sentry health <cons:CompanionHealth>"
                    - execute as_server "sentry strength <cons:CompanionDamage>"
                    - execute as_server "sentry speed <cons:CompanionSpeed>"
                    - execute as_server "sentry respawn <cons:CompanionRespawn>"
                    - execute as_server "sentry armor <cons:CompanionArmor>"
                    - execute as_server "sentry follow <cons:CompanionFollow>"
                    - execute as_server "sentry healrate <cons:CompanionRegen>"
                    - execute as_server "sentry equip <cons:CompanionBoots>"
                    - execute as_server "sentry equip <cons:CompanionChest>"
                    - execute as_server "sentry equip <cons:CompanionHelmet>"
                    - execute as_server "sentry equip <cons:CompanionLegs>"
                    - execute as_server "sentry equip <cons:CompanionWeapon>"
                    - execute as_server "npc create <cons:CompanionName> --at <world.flag[Sentinel6]> --type <cons:CompanionType> --trait Sentry"
                    - execute as_server "npc skin <cons:CompanionSkin>"
                    - execute as_server "sentry health <cons:CompanionHealth>"
                    - execute as_server "sentry strength <cons:CompanionDamage>"
                    - execute as_server "sentry speed <cons:CompanionSpeed>"
                    - execute as_server "sentry respawn <cons:CompanionRespawn>"
                    - execute as_server "sentry armor <cons:CompanionArmor>"
                    - execute as_server "sentry follow <cons:CompanionFollow>"
                    - execute as_server "sentry healrate <cons:CompanionRegen>"
                    - execute as_server "sentry equip <cons:CompanionBoots>"
                    - execute as_server "sentry equip <cons:CompanionChest>"
                    - execute as_server "sentry equip <cons:CompanionHelmet>"
                    - execute as_server "sentry equip <cons:CompanionLegs>"
                    - execute as_server "sentry equip <cons:CompanionWeapon>"
                    - execute as_server "npc create <cons:CompanionName> --at <world.flag[Sentinel7]> --type <cons:CompanionType> --trait Sentry"
                    - execute as_server "npc skin <cons:CompanionSkin>"
                    - execute as_server "sentry health <cons:CompanionHealth>"
                    - execute as_server "sentry strength <cons:CompanionDamage>"
                    - execute as_server "sentry speed <cons:CompanionSpeed>"
                    - execute as_server "sentry respawn <cons:CompanionRespawn>"
                    - execute as_server "sentry armor <cons:CompanionArmor>"
                    - execute as_server "sentry follow <cons:CompanionFollow>"
                    - execute as_server "sentry healrate <cons:CompanionRegen>"
                    - execute as_server "sentry equip <cons:CompanionBoots>"
                    - execute as_server "sentry equip <cons:CompanionChest>"
                    - execute as_server "sentry equip <cons:CompanionHelmet>"
                    - execute as_server "sentry equip <cons:CompanionLegs>"
                    - execute as_server "sentry equip <cons:CompanionWeapon>"
                }
        2:
            damage trigger:
                script:
                - if <npc.flag[Sentinels]> == Spawned {
                    - flag npc Sentinels:!
                } else {
                    - queue clear
                }
                - zap step:3

        3:
            damage trigger:
                script:
                - if <npc.flag[Weapon]> == 1 {
                    - flag npc Weapon:2
                    - announce "<white>[<gold>Cardinal<white>]<red> Illfang <green>Reached the second stage"
                    - execute as_server "npc select <npc.id>"
                    - execute as_server "sentry equip <cons:MobWeapon2>"
                    - execute as_server "sentry strength <cons:MobDamage2>"
                    - zap step:4
                }

        4:
            damage trigger:
                script:
                - if <npc.flag[Action]> == idle {
                    - flag npc Action:active
                    - run Illfang_attack
                }

Illfang_attack:
    type: task
    script:
    - if <npc.flag[Action]> == active {
        - random 2
        - run Illfang_charge
        - run Illfang_spin
    } else {
        - queue clear
    }

Illfang_charge:
    type: task
    script:
    - wait 3
    - define Chargetarget <npc.location.find.players.within[<cons:follow>].random>
    - playeffect <npc.location> effect:large_smoke qty:40
    - fly origin:<npc.location> destination:<player[%Chargetarget%].location> speed:3
    - hurt 20 <player[%Chargetarget%].name>
    - wait 10s
    - flag npc Action:idle

Illfang_spin:
    type: task
    script:
    - wait 3
    - playeffect <npc.location> effect:large_smoke qty:40
    - hurt 10 <npc.location.find.players.within[<cons:follow>]>
    - wait 6s
    - flag npc Action:idle