Paste #5800: Untitled Paste

Date: 2014/06/26 13:12:45 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


'Mob Management':
 type: world
 events:
   on entity damages player:
   - define distanceNewDalantum <context.damager.location.distance[<server.flag[ArathiaLocation]>]>
   - define distanceArathia <context.damager.location.distance[<server.flag[NewDalantumLocation]>]>
   - if %distanceNewDalantum% < %distanceArathia% {
       - define lowest %distanceNewDalantum%
     }
   - if %distanceArathia% < %distanceNewDalantum% {
       - define lowest %distanceArathia%
     }
   - if %ent% == ZOMBIE || %ent% == SKELETON || %ent% == CREEPER || %ent% == SPIDER {
       - define distanceNewDalantum <context.location.distance[<server.flag[ArathiaLocation]>]>
       - define distanceArathia <context.location.distance[<server.flag[NewDalantumLocation]>]>
       - if %distanceNewDalantum% < %distanceArathia% {
           - define lowest %distanceNewDalantum%
         }
       - if %distanceArathia% < %distanceNewDalantum% {
           - define lowest %distanceArathia%
         }
       - if <def[lowest].asint> < 150 {
           - determine amount:<context.amount.mul[1.0]>
         }
       - if <def[lowest].asint> > 150 && <def[lowest].asint> < 300 {
           - determine amount:<context.amount.mul[1.5]>
         }
       - if <def[lowest].asint> > 300 && <def[lowest].asint> < 450 {
           - determine amount:<context.amount.mul[2.0]>
         }
       - if <def[lowest].asint> > 450 && <def[lowest].asint> < 600 {
           - determine amount:<context.amount.mul[2.5]>
         }
       - if <def[lowest].asint> > 600 && <def[lowest].asint> < 750 {
           - determine amount:<context.amount.mul[3.0]>
         }
       - if <def[lowest].asint> > 750 && <def[lowest].asint> < 900 {
           - determine amount:<context.amount.mul[3.5]>
         }
       - if <def[lowest].asint> > 900 && <def[lowest].asint> < 1050 {
           - determine amount:<context.amount.mul[4.0]>
         }
       - if <def[lowest].asint> > 1050 && <def[lowest].asint> < 1200 {
           - determine amount:<context.amount.mul[4.5]>
         }
       - if <def[lowest].asint> > 1200 && <def[lowest].asint> < 1350 {
           - determine amount:<context.amount.mul[5.0]>
         }
       - if <def[lowest].asint> > 1350 && <def[lowest].asint> < 1500 {
           - determine amount:<context.amount.mul[5.5]>
         }
       - if <def[lowest].asint> > 1500 && <def[lowest].asint> < 1650 {
           - determine amount:<context.amount.mul[6.0]>
         }
       - if <def[lowest].asint> > 1650 && <def[lowest].asint> < 1800 {
           - determine amount:<context.amount.mul[6.5]>
         }
       - if <def[lowest].asint> > 1800 && <def[lowest].asint> < 1950 {
           - determine amount:<context.amount.mul[7.0>
         }
       - if <def[lowest].asint> > 1950 && <def[lowest].asint> < 2100 {
           - determine amount:<context.amount.mul[7.5]>
         }
       - if <def[lowest].asint> > 2100 && <def[lowest].asint> < 2250 {
           - determine amount:<context.amount.mul[8.0]>
         }
       - if <def[lowest].asint> > 2250 && <def[lowest].asint> < 2400{
           - determine amount:<context.amount.mul[8.5]>
         }
       - if <def[lowest].asint> > 2400 && <def[lowest].asint> < 2550 {
           - determine amount:<context.amount.mul[9.0]>
         }
       - if <def[lowest].asint> > 2550 && <def[lowest].asint> < 2700 {
           - determine amount:<context.amount.mul[9.5]>
         }
       - if <def[lowest].asint> > 2700 && <def[lowest].asint> < 2850 {
           - determine amount:<context.amount.mul[10.0]>
         }
       - if <def[lowest].asint> > 3000 && <def[lowest].asint> < 3500 {
           - determine amount:<context.amount.mul[10.5]>
         }
       - if <def[lowest].asint> > 3500 && <def[lowest].asint> < 4000 {
           - determine amount:<context.amount.mul[11.0]>
         }
       - if <def[lowest].asint> > 4500 && <def[lowest].asint> < 5000 {
           - determine amount:<context.amount.mul[11.5]>
         }
       - if <def[lowest].asint> > 5500 && <def[lowest].asint> < 6000 {
           - determine amount:<context.amount.mul[12.0]>
         }
       - if <def[lowest].asint> > 6000 && <def[lowest].asint> < 6500 {
           - determine amount:<context.amount.mul[12.5]>
         }
       - if <def[lowest].asint> > 6500 && <def[lowest].asint> < 7000 {
           - determine amount:<context.amount.mul[13.0]>
         }
       - if <def[lowest].asint> > 7000 && <def[lowest].asint> < 7500 {
           - determine amount:<context.amount.mul[13.5]>
         }
       - if <def[lowest].asint> > 7500 && <def[lowest].asint> < 10000 {
           - determine amount:<context.amount.mul[14.0]>
         }
       - if <def[lowest].asint> > 10000 {
           - determine amount:<context.amount.mul[14.5]>
         }
     }
   - determine amount:<context.amount>
   on zombie spawns:
   - define ent <context.entity.entity_type>
   - if %ent% == ZOMBIE || %ent% == SKELETON || %ent% == CREEPER || %ent% == SPIDER {
       - define distanceNewDalantum <context.location.distance[<server.flag[ArathiaLocation]>]>
       - define distanceArathia <context.location.distance[<server.flag[NewDalantumLocation]>]>
       - if %distanceNewDalantum% < %distanceArathia% {
           - define lowest %distanceNewDalantum%
         }
       - if %distanceArathia% < %distanceNewDalantum% {
           - define lowest %distanceArathia%
         }
       - if <def[lowest].asint> < 150 {
           - define maxHealth 0.5
           - define name "Level 1<&co> Harmless <context.entity.name>"
         }
       - if <def[lowest].asint> > 150 && <def[lowest].asint> < 300 {
           - define maxHealth 1.0
           - define name "Level 2<&co> Miscreant <context.entity.name>"
         }
       - if <def[lowest].asint> > 300 && <def[lowest].asint> < 450 {
           - define maxHealthMod 1.5
           - define name "Level 3<&co> Common <context.entity.name>"
         }
       - if <def[lowest].asint> > 450 && <def[lowest].asint> < 600 {
           - define maxHealth 2.0
           - define name "Level 4<&co> Threatening <context.entity.name>"
         }
       - if <def[lowest].asint> > 600 && <def[lowest].asint> < 750 {
           - define maxHealth 2.5
           - define name "Level 5<&co> Vicious <context.entity.name>"
         }
       - if <def[lowest].asint> > 750 && <def[lowest].asint> < 900 {
           - define maxHealth 3.0
           - define name "Level 6<&co> Fiendish <context.entity.name>"
         }
       - if <def[lowest].asint> > 900 && <def[lowest].asint> < 1050 {
           - define maxHealth 4.0
           - define name "Level 7<&co> Savage <context.entity.name>"
         }
       - if <def[lowest].asint> > 1050 && <def[lowest].asint> < 1200 {
           - define maxHealth 5.0
           - define name "Level 8<&co> Barbarous <context.entity.name>"
         }
       - if <def[lowest].asint> > 1200 && <def[lowest].asint> < 1350 {
           - define maxHealth 6.0
           - define name "Level 9<&co> Diabolical <context.entity.name>"
         }
       - if <def[lowest].asint> > 1350 && <def[lowest].asint> < 1500 {
           - define maxHealth 7.0
           - define name "Level 10<&co> Nefarious <context.entity.name>"
         }
       - if <def[lowest].asint> > 1500 && <def[lowest].asint> < 1650 {
           - define maxHealth 8.0
           - define name "Level 11<&co> Infamous <context.entity.name>"  
         }
       - if <def[lowest].asint> > 1650 && <def[lowest].asint> < 1800 {
           - define maxHealth 9.0
           - define name "Level 12<&co> Sadistic <context.entity.name>"
         }
       - if <def[lowest].asint> > 1800 && <def[lowest].asint> < 1950 {
           - define maxHealth 10.0
           - define name "Level 13<&co> Unrelenting <context.entity.name>"
         }
       - if <def[lowest].asint> > 1950 && <def[lowest].asint> < 2100 {
           - define maxHealth 11.0
           - define name "Level 14<&co> Vindictive <context.entity.name>"
         }
       - if <def[lowest].asint> > 2100 && <def[lowest].asint> < 2250 {
           - define maxHealth 12.0
           - define name "<red>Level 15<&co> Rancorous <context.entity.name>"
         }
       - if <def[lowest].asint> > 2250 && <def[lowest].asint> < 2400{
           - define maxHealth 13.0
           - define name "<red>Level 16<&co> Inescapable <context.entity.name>"
         }
       - if <def[lowest].asint> > 2400 && <def[lowest].asint> < 2550 {
           - define maxHealth 14.0
           - define name "<red>Level 17<&co> Hellish <context.entity.name>"
         }
       - if <def[lowest].asint> > 2550 && <def[lowest].asint> < 2700 {
           - define maxHealth 15.0
           - define name "<red>Level 18<&co> Relentless <context.entity.name>"
         }
       - if <def[lowest].asint> > 2700 && <def[lowest].asint> < 2850 {
           - define maxHealth 16.0
           - define name "<red>Level 19<&co> Merciless <context.entity.name>"
         }
       - if <def[lowest].asint> > 3000 && <def[lowest].asint> < 3500 {
           - define maxHealth 17.0
           - define name "<red>Level 20<&co> Hideous <context.entity.name>"
         }
       - if <def[lowest].asint> > 3500 && <def[lowest].asint> < 4000 {
           - define maxHealth 18.0
           - define name "<red>Level 21<&co> Satanic <context.entity.name>" 
         }
       - if <def[lowest].asint> > 4500 && <def[lowest].asint> < 5000 {
           - define maxHealth 19.0
           - define name "<red>Level 22<&co> Demonic <context.entity.name>"
         }
       - if <def[lowest].asint> > 5500 && <def[lowest].asint> < 6000 {
           - define maxHealth 20.0
           - define name "<red>Level 23<&co>Abominable <context.entity.name>"
         }
       - if <def[lowest].asint> > 6000 && <def[lowest].asint> < 6500 {
           - define maxHealth 21.0
           - define name "<red>Level 24<&co> Serpentine <context.entity.name>"
         }
       - if <def[lowest].asint> > 6500 && <def[lowest].asint> < 7000 {
           - define maxHealth 22.0
           - define name "<red>Level 25<&co> Hellborn <context.entity.name>"
         }
       - if <def[lowest].asint> > 7000 && <def[lowest].asint> < 7500 {
           - define maxHealth 23.0
           - define name "<red>Level 26<&co>Brutish <context.entity.name>"
         }
       - if <def[lowest].asint> > 7500 && <def[lowest].asint> < 10000 {
           - define maxHealth 24.0
           - define name "<red>Level 27<&co>Unhallowed <context.entity.name>"
         }
       - if <def[lowest].asint> > 10000 {
           - define maxHealth 25.0
           - define name "<black>Level 28<&co>Infernal <context.entity.name>"
         }
       - narrate "<def[lowest].asint>" t:p@ares513
       - run AdjustEntityOnSpawn "def:e@<context.entity.eid>|%name%|%maxHealth%|<context.entity.health>"
     }

AdjustEntityOnSpawn:
  type: task
  definitions: entity|name|maxHealth|defaultLife
  script:
  - adjust %entity% "custom_name_visibility:true"
  - adjust %entity% custom_name:%name%
  - ^health %entity% <def[maxHealth].mul[%defaultlife%].as_int>
  - ^heal %entity% <def[maxHealth].mul[%defaultlife%].as_int>