示例#1
0
 // Update is called once per frame
 void Update()
 {
     //if (!NetworkServer.active) return;
     if (!initialized)
     {
         initialized = MonsterInitializer.Initialize(gameObject, new AttackAbility {
             name        = "Attack",
             description = "Basic attack.",
             damage      = 1.5f,
             element     = Element.piercing,
             baseStat    = BaseStat.strength,
             hitEffect   = 2
         },
                                                     new AttackAbility {
             name             = "Acid Breath",
             description      = "Ankheg breath.",
             damage           = 1.75f,
             element          = Element.acid,
             baseStat         = BaseStat.strength,
             isRanged         = true,
             rangedProjectile = 2,
             cooldown         = 15f
         });
     }
 }
示例#2
0
 // Update is called once per frame
 void Update()
 {
     //if (!NetworkServer.active) return;
     if (!initialized)
     {
         initialized = MonsterInitializer.Initialize(gameObject, new AttackAbility {
             name             = "Attack",
             description      = "Spell attack.",
             damage           = 0.25f,
             element          = Element.dark,
             baseStat         = BaseStat.intelligence,
             hitEffect        = 7,
             rangedProjectile = 7,
             isRanged         = true,
             attributes       = new List <AbilityAttribute> {
                 new AbilityAttribute {
                     type       = "inflictVulnerability",
                     parameters = new List <AbilityAttributeParameter> {
                         new AbilityAttributeParameter {
                             name  = "degree",
                             value = 100f
                         },
                         new AbilityAttributeParameter {
                             name  = "duration",
                             value = 10f
                         }
                     }
                 }
             }
         });
     }
 }
示例#3
0
 // Update is called once per frame
 void Update()
 {
     //if (!NetworkServer.active) return;
     if (!initialized)
     {
         initialized = MonsterInitializer.Initialize(gameObject, new AttackAbility {
             name        = "Pushing Attack",
             description = "Pushing attack.",
             damage      = 1.125f,
             element     = Element.bashing,
             baseStat    = BaseStat.strength,
             hitEffect   = 1,
             attributes  = new List <AbilityAttribute> {
                 new AbilityAttribute {
                     type       = "knockback",
                     parameters = new List <AbilityAttributeParameter> {
                         new AbilityAttributeParameter {
                             name  = "degree",
                             value = 5f
                         }
                     }
                 }
             }
         });
         GetComponent <Monster>().elementalAffinities.Add(new ElementalAffinity(Element.piercing, -50));
     }
 }
示例#4
0
 // Update is called once per frame
 void Update()
 {
     //if (!NetworkServer.active) return;
     if (!initialized)
     {
         initialized = MonsterInitializer.Initialize(gameObject, new AttackAbility {
             name             = "Attack",
             description      = "Spell attack.",
             damage           = 1f,
             element          = Element.dark,
             baseStat         = BaseStat.intelligence,
             hitEffect        = 7,
             rangedProjectile = 7,
             isRanged         = true
         },
                                                     new UtilityAbility {
             name        = "Cure",
             description = "Cure wounds.",
             baseStat    = BaseStat.wisdom,
             mpUsage     = 20,
             attributes  = new List <AbilityAttribute> {
                 new AbilityAttribute {
                     type       = "heal",
                     parameters = new List <AbilityAttributeParameter> {
                         new AbilityAttributeParameter {
                             name  = "degree",
                             value = 1.125f
                         }
                     }
                 }
             }
         });
     }
 }
示例#5
0
 // Update is called once per frame
 void Update()
 {
     //if (!NetworkServer.active) return;
     if (!initialized)
     {
         initialized = MonsterInitializer.Initialize(gameObject, new AttackAbility {
             name        = "Attack",
             description = "Basic attack.",
             damage      = 1.5f,
             element     = Element.bashing,
             baseStat    = BaseStat.strength,
             hitEffect   = 1
         },
                                                     new AttackAbility {
             name        = "Charge",
             description = "Charge.",
             damage      = 2.62f,
             element     = Element.bashing,
             baseStat    = BaseStat.strength,
             cooldown    = 3f,
             hitEffect   = 1,
             attributes  = new List <AbilityAttribute> {
                 new AbilityAttribute {
                     type = "chargeTowards"
                 }
             }
         });
     }
 }
示例#6
0
 // Update is called once per frame
 void Update()
 {
     //if (!NetworkServer.active) return;
     if (!initialized)
     {
         initialized = MonsterInitializer.Initialize(gameObject, new AttackAbility {
             name        = "Attack",
             description = "Basic attack.",
             damage      = 1.5f,
             element     = Element.piercing,
             baseStat    = BaseStat.strength,
             hitEffect   = 2
         },
                                                     new AttackAbility {
             name        = "Spider Poisoning",
             description = "Spider poisoning.",
             damage      = 0f,
             element     = Element.acid,
             baseStat    = BaseStat.strength,
             dotDamage   = 3.9375f,
             dotTime     = 6f,
             cooldown    = 6f,
             hitEffect   = 2
         });
         GetComponent <Monster>().elementalAffinities.Add(new ElementalAffinity(Element.slashing, -50));
     }
 }
示例#7
0
 // Update is called once per frame
 void Update()
 {
     //if (!NetworkServer.active) return;
     if (!initialized)
     {
         initialized = MonsterInitializer.Initialize(gameObject, new AttackAbility {
             name        = "Basic Attack",
             description = "Basic attack.",
             damage      = 1.5f,
             element     = Element.slashing,
             hitEffect   = 0
         },
                                                     new UtilityAbility {
             name        = "Cure All",
             description = "Heals all allies",
             baseStat    = BaseStat.wisdom,
             cooldown    = 5,
             attributes  = new List <AbilityAttribute> {
                 new AbilityAttribute {
                     type       = "healAll",
                     parameters = new List <AbilityAttributeParameter> {
                         new AbilityAttributeParameter {
                             name  = "degree",
                             value = 3.5f
                         }
                     }
                 }
             }
         });
         GetComponent <Monster>().elementalAffinities.Add(new ElementalAffinity(Element.dark, -50));
         GetComponent <Monster>().elementalAffinities.Add(new ElementalAffinity(Element.light, 100));
     }
 }
示例#8
0
 // Update is called once per frame
 void Update()
 {
     //if (!NetworkServer.active) return;
     if (!initialized)
     {
         initialized = MonsterInitializer.Initialize(gameObject, new AttackAbility {
             name             = "Fire",
             description      = "Fire.",
             damage           = 1.6f,
             element          = Element.fire,
             baseStat         = BaseStat.strength,
             cooldown         = 30,
             radius           = 4,
             aoe              = 3,
             hitEffect        = 3,
             rangedProjectile = 0,
             isRanged         = true
         },
                                                     new AttackAbility {
             name        = "Basic Attack",
             description = "Basic attack.",
             damage      = 1.5f,
             element     = Element.fire,
             baseStat    = BaseStat.strength,
             hitEffect   = 3
         });
         GetComponent <Monster>().elementalAffinities.Add(new ElementalAffinity(Element.ice, -50));
         GetComponent <Monster>().elementalAffinities.Add(new ElementalAffinity(Element.fire, 100));
     }
 }
示例#9
0
 // Update is called once per frame
 void Update()
 {
     //if (!NetworkServer.active) return;
     if (!initialized)
     {
         initialized = MonsterInitializer.Initialize(gameObject, new AttackAbility {
             name             = "Attack",
             description      = "Spell attack.",
             damage           = 1f,
             element          = Element.fire,
             baseStat         = BaseStat.intelligence,
             hitEffect        = 3,
             rangedProjectile = 1,
             isRanged         = true
         },
                                                     new UtilityAbility {
             name        = "Mirror Image",
             description = "Creates mirror images.",
             cooldown    = 300f,
             attributes  = new List <AbilityAttribute> {
                 new AbilityAttribute {
                     type = "mirrorImage"
                 }
             }
         });
     }
 }
示例#10
0
 // Update is called once per frame
 void Update()
 {
     //if (!NetworkServer.active) return;
     if (!initialized)
     {
         initialized = MonsterInitializer.Initialize(gameObject, new AttackAbility {
             name        = "Attack",
             description = "Basic attack.",
             damage      = 1f,
             element     = Element.piercing,
             baseStat    = BaseStat.dexterity,
             isRanged    = true
         });
     }
 }
示例#11
0
 // Update is called once per frame
 void Update()
 {
     //if (!NetworkServer.active) return;
     if (!initialized)
     {
         initialized = MonsterInitializer.Initialize(gameObject, new AttackAbility {
             name        = "Attack",
             description = "Basic attack.",
             damage      = 1.5f,
             element     = Element.bashing,
             baseStat    = BaseStat.strength,
             hitEffect   = 1
         });
     }
 }
示例#12
0
 // Update is called once per frame
 void Update()
 {
     //if (!NetworkServer.active) return;
     if (!initialized)
     {
         initialized = MonsterInitializer.Initialize(gameObject, new AttackAbility {
             name             = "Spitting Attack",
             description      = "Spitting attack.",
             damage           = 0f,
             element          = Element.acid,
             baseStat         = BaseStat.strength,
             hitEffect        = 5,
             dotDamage        = 0.75f,
             dotTime          = 8f,
             rangedProjectile = 2,
             isRanged         = true,
             attributes       = new List <AbilityAttribute> {
                 new AbilityAttribute {
                     type       = "speed-",
                     parameters = new List <AbilityAttributeParameter> {
                         new AbilityAttributeParameter {
                             name  = "degree",
                             value = 0.75f
                         },
                         new AbilityAttributeParameter {
                             name  = "duration",
                             value = 8f
                         }
                     }
                 }
             }
         });
         GetComponent <Monster>().elementalAffinities.Add(new ElementalAffinity(Element.piercing, -50));
         GetComponent <Monster>().elementalAffinities.Add(new ElementalAffinity(Element.acid, 100));
     }
     if (character == null)
     {
         character = GetComponent <Character>();
     }
     if (character != null)
     {
         character.GetComponent <Health>().hp = Mathf.Min(character.GetComponent <Health>().maxHP, character.GetComponent <Health>().hp + (Time.deltaTime * character.GetComponent <Health>().maxHP / 5));
     }
 }
示例#13
0
 // Update is called once per frame
 void Update()
 {
     //if (!NetworkServer.active) return;
     if (!initialized)
     {
         initialized = MonsterInitializer.Initialize(gameObject);
         var monster = GetComponent <Monster>();
         monster.elementalAffinities.Add(new ElementalAffinity(Element.piercing, 75));
         monster.elementalAffinities.Add(new ElementalAffinity(Element.bashing, 75));
         monster.elementalAffinities.Add(new ElementalAffinity(Element.slashing, 75));
         monster.elementalAffinities.Add(new ElementalAffinity(Element.fire, 75));
         monster.elementalAffinities.Add(new ElementalAffinity(Element.ice, 75));
         monster.elementalAffinities.Add(new ElementalAffinity(Element.light, 75));
         monster.elementalAffinities.Add(new ElementalAffinity(Element.dark, 75));
         monster.elementalAffinities.Add(new ElementalAffinity(Element.acid, 75));
         var i = Random.Range(0, monster.elementalAffinities.Count);
         monster.elementalAffinities[i].amount = -50;
     }
 }
示例#14
0
 // Update is called once per frame
 void Update()
 {
     //if (!NetworkServer.active) return;
     if (!initialized)
     {
         initialized = MonsterInitializer.Initialize(gameObject, new AttackAbility {
             name        = "Attack",
             description = "Basic attack.",
             damage      = 1.5f,
             element     = Element.slashing,
             baseStat    = BaseStat.strength,
             hitEffect   = 1
         });
         GetComponent <Monster>().elementalAffinities.Add(new ElementalAffinity(Element.ice, -50));
         GetComponent <Monster>().elementalAffinities.Add(new ElementalAffinity(Element.piercing, 50));
         GetComponent <Monster>().elementalAffinities.Add(new ElementalAffinity(Element.slashing, 50));
         GetComponent <Monster>().elementalAffinities.Add(new ElementalAffinity(Element.bashing, 50));
     }
 }
示例#15
0
 // Update is called once per frame
 void Update()
 {
     //if (!NetworkServer.active) return;
     if (!initialized)
     {
         initialized = MonsterInitializer.Initialize(gameObject, new AttackAbility {
             name        = "Attack",
             description = "Basic attack.",
             damage      = 1.5f,
             element     = Element.slashing,
             baseStat    = BaseStat.strength,
             hitEffect   = 0
         });
     }
     //if (GetComponent<MonsterCombatant>().InCombat()) hidden = false;
     else
     {
         hidden = true;
     }
 }
示例#16
0
 // Update is called once per frame
 void Update()
 {
     //if (!NetworkServer.active) return;
     if (!initialized)
     {
         initialized = MonsterInitializer.Initialize(gameObject, new AttackAbility {
             name             = "Attack",
             description      = "Basic attack.",
             damage           = 1f,
             element          = Element.light,
             baseStat         = BaseStat.intelligence,
             rangedProjectile = 6,
             hitEffect        = 6,
             isRanged         = true
         });
         GetComponent <Monster>().elementalAffinities.Add(new ElementalAffinity(Element.piercing, -50));
         GetComponent <Monster>().elementalAffinities.Add(new ElementalAffinity(Element.dark, -50));
         GetComponent <Monster>().elementalAffinities.Add(new ElementalAffinity(Element.acid, 50));
         GetComponent <Monster>().elementalAffinities.Add(new ElementalAffinity(Element.light, 50));
     }
 }
示例#17
0
 // Update is called once per frame
 void Update()
 {
     //if (!NetworkServer.active) return;
     if (!initialized)
     {
         initialized = MonsterInitializer.Initialize(gameObject, new AttackAbility {
             name             = "Pulling Attack",
             description      = "Pulling attack.",
             damage           = 1.4f,
             element          = Element.dark,
             baseStat         = BaseStat.strength,
             cooldown         = 3,
             hitEffect        = 7,
             rangedProjectile = 7,
             isRanged         = true,
             attributes       = new List <AbilityAttribute> {
                 new AbilityAttribute {
                     type       = "pullTowards",
                     parameters = new List <AbilityAttributeParameter> {
                         new AbilityAttributeParameter {
                             name  = "degree",
                             value = 5f
                         }
                     }
                 }
             }
         },
                                                     new AttackAbility {
             name        = "Basic Attack",
             description = "Basic attack.",
             damage      = 1.5f,
             element     = Element.slashing,
             baseStat    = BaseStat.strength,
             hitEffect   = 0
         });
         GetComponent <Monster>().elementalAffinities.Add(new ElementalAffinity(Element.slashing, 50));
         GetComponent <Monster>().elementalAffinities.Add(new ElementalAffinity(Element.bashing, 50));
     }
 }
示例#18
0
 // Update is called once per frame
 void Update()
 {
     //if (!NetworkServer.active) return;
     if (!initialized)
     {
         initialized = MonsterInitializer.Initialize(gameObject, new AttackAbility {
             name        = "Attack",
             description = "Basic attack.",
             damage      = 1.5f,
             element     = Element.bashing,
             baseStat    = BaseStat.strength,
             hitEffect   = 1
         },
                                                     new AttackAbility {
             name             = "Squid Ink",
             description      = "Squid ink.",
             damage           = 1.75f,
             element          = Element.bashing,
             baseStat         = BaseStat.strength,
             rangedProjectile = 7,
             cooldown         = 30f,
             hitEffect        = 1,
             isRanged         = true,
             attributes       = new List <AbilityAttribute> {
                 new AbilityAttribute {
                     type       = "blind",
                     parameters = new List <AbilityAttributeParameter> {
                         new AbilityAttributeParameter {
                             name  = "duration",
                             value = 6f
                         }
                     }
                 }
             }
         });
         GetComponent <Monster>().elementalAffinities.Add(new ElementalAffinity(Element.fire, -50));
         GetComponent <Monster>().elementalAffinities.Add(new ElementalAffinity(Element.ice, 50));
     }
 }
示例#19
0
 // Update is called once per frame
 void Update()
 {
     //if (!NetworkServer.active) return;
     if (!initialized)
     {
         initialized = MonsterInitializer.Initialize(gameObject, new AttackAbility {
             name        = "Explode",
             description = "Explode.",
             damage      = 15f,
             element     = Element.fire,
             baseStat    = BaseStat.strength,
             hitEffect   = 3,
             aoe         = 3,
             attributes  = new List <AbilityAttribute> {
                 new AbilityAttribute {
                     type = "selfDestruct"
                 }
             }
         });
         GetComponent <Monster>().elementalAffinities.Add(new ElementalAffinity(Element.piercing, -50));
     }
 }
示例#20
0
 // Update is called once per frame
 void Update()
 {
     //if (!NetworkServer.active) return;
     if (!initialized)
     {
         initialized = MonsterInitializer.Initialize(gameObject, new AttackAbility {
             name        = "Mug",
             description = "Does damage and steals an item.",
             damage      = 1.5f,
             element     = Element.slashing,
             baseStat    = BaseStat.strength,
             hitEffect   = 1,
             attributes  = new List <AbilityAttribute> {
                 new AbilityAttribute {
                     type = "steal"
                 }
             }
         });
         GetComponent <Monster>().elementalAffinities.Add(new ElementalAffinity(Element.light, -50));
         GetComponent <Monster>().elementalAffinities.Add(new ElementalAffinity(Element.bashing, -50));
         GetComponent <Monster>().elementalAffinities.Add(new ElementalAffinity(Element.dark, 50));
     }
 }
示例#21
0
 // Update is called once per frame
 void Update()
 {
     //if (!NetworkServer.active) return;
     if (!initialized)
     {
         initialized = MonsterInitializer.Initialize(gameObject, new AttackAbility {
             name             = "Attack",
             description      = "Spell attack.",
             damage           = 0.01f,
             element          = Element.fire,
             baseStat         = BaseStat.intelligence,
             hitEffect        = 3,
             rangedProjectile = 1,
             isRanged         = true
         });
         health = GetComponent <Health>();
     }
     if (creator == null)
     {
         GetComponent <MonsterMortal>().diedToPlayer = false;
         GetComponent <MonsterMortal>().OnDeath();
     }
 }
示例#22
0
 // Update is called once per frame
 void Update()
 {
     //if (!NetworkServer.active) return;
     if (!initialized)
     {
         initialized = MonsterInitializer.Initialize(gameObject, new AttackAbility {
             name             = "Fireball",
             description      = "Fireball.",
             damage           = 1.0f,
             element          = Element.fire,
             baseStat         = BaseStat.intelligence,
             isRanged         = true,
             rangedProjectile = 1
         });
         GetComponent <Monster>().elementalAffinities.Add(new ElementalAffinity(Element.light, -50));
         GetComponent <Monster>().elementalAffinities.Add(new ElementalAffinity(Element.dark, 50));
     }
     if (!hasSummoned)
     {
         var mob = GetComponent <Monster>();
         //if (GetComponent<Monster>()!=null && mob.GetComponent<MonsterCombatant>().InCombat()) Summon();
     }
 }
示例#23
0
 // Update is called once per frame
 void Update()
 {
     //if (!NetworkServer.active) return;
     if (!initialized)
     {
         initialized = MonsterInitializer.Initialize(gameObject, new AttackAbility {
             name        = "Attack",
             description = "Basic attack.",
             damage      = 1.5f,
             element     = Element.piercing,
             baseStat    = BaseStat.strength,
             hitEffect   = 0
         },
                                                     new AttackAbility {
             name        = "Ghoul Paralysis",
             description = "Ghoul paralysis.",
             damage      = 3f,
             element     = Element.dark,
             baseStat    = BaseStat.strength,
             cooldown    = 10f,
             hitEffect   = 1,
             attributes  = new List <AbilityAttribute> {
                 new AbilityAttribute {
                     type       = "paralyze",
                     parameters = new List <AbilityAttributeParameter> {
                         new AbilityAttributeParameter {
                             name  = "duration",
                             value = 1f
                         }
                     }
                 }
             }
         });
         GetComponent <Monster>().elementalAffinities.Add(new ElementalAffinity(Element.light, -50));
         GetComponent <Monster>().elementalAffinities.Add(new ElementalAffinity(Element.dark, 50));
     }
 }
 // Update is called once per frame
 void Update()
 {
     //if (!NetworkServer.active) return;
     if (!initialized)
     {
         initialized = MonsterInitializer.Initialize(gameObject, new AttackAbility {
             name             = "Attack",
             description      = "Spell attack.",
             damage           = 0.3f,
             element          = Element.fire,
             baseStat         = BaseStat.intelligence,
             hitEffect        = 3,
             rangedProjectile = 1,
             isRanged         = true,
             attributes       = new List <AbilityAttribute> {
                 new AbilityAttribute {
                     type = "projectileSpread"
                 }
             }
         });
         GetComponent <Monster>().elementalAffinities.Add(new ElementalAffinity(Element.light, -50));
         GetComponent <Monster>().elementalAffinities.Add(new ElementalAffinity(Element.dark, 100));
     }
 }