Post80% Thessal's Code

Posts 1–14 of 14 · Page 1 of 1
80% Thessal's Code
How the title say's i will release the 80% complete thessal code ( Why 80%? Because the "It lives and reings and conquers the world" isn't complete and because she's aiming you.
Code:
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using wServer.realm;
using wServer.logic.attack;
using wServer.logic.movement;
using wServer.logic.loot;
using wServer.logic.taunt;
using wServer.logic.cond;

namespace wServer.logic
{
    partial class BehaviorDb
    {
        static _ Trench = Behav()
            .Init(0x1706, Behaves("Thessal the Mermaid Goddess",
            new RunBehaviors(
                Cooldown.Instance(2500, RingAttack.Instance(8,45,45,0)),
                Cooldown.Instance(5000, TossEnemy.Instance(90,5,0x1702)),
                Cooldown.Instance(6000, TossEnemy.Instance(270,5,0x1702))
                ),
                  SmoothWandering.Instance(.1f, .1f),
                         If.Instance(HpGreaterEqual.Instance(40000, NullBehavior.Instance),
                            new QueuedBehavior(
                                Cooldown.Instance(500),
                                         MultiAttack.Instance(15, 10 * (float)Math.PI / 180, 2, 90 * (float)Math.PI / 180, projectileIndex: 2),
                                         MultiAttack.Instance(15, 10 * (float)Math.PI / 180, 2, 180 * (float)Math.PI / 180, projectileIndex: 2),      
                                         MultiAttack.Instance(15, 10 * (float)Math.PI / 180, 2, 360 * (float)Math.PI / 180, projectileIndex: 2),          
                                         MultiAttack.Instance(15, 10 * (float)Math.PI / 180, 2, 270 * (float)Math.PI / 180, projectileIndex: 2)
                                   ),

                         If.Instance(HpLesser.Instance(40000, NullBehavior.Instance),
                         And.Instance(
                             new QueuedBehavior(
                        SetConditionEffect.Instance(ConditionEffectIndex.Invulnerable),
                        Timed.Instance(2500, False.Instance(Flashing.Instance(200, 0xff00ff00))),
                        UnsetConditionEffect.Instance(ConditionEffectIndex.Invulnerable),
                                         MultiAttack.Instance(15, 10 * (float)Math.PI / 180, 2, 90 * (float)Math.PI / 180, projectileIndex: 2),
                                         MultiAttack.Instance(15, 10 * (float)Math.PI / 180, 2, 180 * (float)Math.PI / 180, projectileIndex: 2),      
                                         MultiAttack.Instance(15, 10 * (float)Math.PI / 180, 2, 360 * (float)Math.PI / 180, projectileIndex: 2),          
                                         MultiAttack.Instance(15, 10 * (float)Math.PI / 180, 2, 270 * (float)Math.PI / 180, projectileIndex: 2),
                                         CooldownExact.Instance(1000),
                                         MultiAttack.Instance(15, 10 * (float)Math.PI / 180, 2, 90 * (float)Math.PI / 180, projectileIndex: 2),
                                         MultiAttack.Instance(15, 10 * (float)Math.PI / 180, 2, 180 * (float)Math.PI / 180, projectileIndex: 2),      
                                         MultiAttack.Instance(15, 10 * (float)Math.PI / 180, 2, 360 * (float)Math.PI / 180, projectileIndex: 2),          
                                         MultiAttack.Instance(15, 10 * (float)Math.PI / 180, 2, 270 * (float)Math.PI / 180, projectileIndex: 2),
                                         CooldownExact.Instance(1000),
                                         MultiAttack.Instance(15, 10 * (float)Math.PI / 180, 2, 90 * (float)Math.PI / 180, projectileIndex: 2),
                                         MultiAttack.Instance(15, 10 * (float)Math.PI / 180, 2, 180 * (float)Math.PI / 180, projectileIndex: 2),      
                                         MultiAttack.Instance(15, 10 * (float)Math.PI / 180, 2, 360 * (float)Math.PI / 180, projectileIndex: 2),          
                                         MultiAttack.Instance(15, 10 * (float)Math.PI / 180, 2, 270 * (float)Math.PI / 180, projectileIndex: 2),
                                         CooldownExact.Instance(1000),
                                         MultiAttack.Instance(15, 10 * (float)Math.PI / 180, 2, 90 * (float)Math.PI / 180, projectileIndex: 2),
                                         MultiAttack.Instance(15, 10 * (float)Math.PI / 180, 2, 180 * (float)Math.PI / 180, projectileIndex: 2),      
                                         MultiAttack.Instance(15, 10 * (float)Math.PI / 180, 2, 360 * (float)Math.PI / 180, projectileIndex: 2),          
                                         MultiAttack.Instance(15, 10 * (float)Math.PI / 180, 2, 270 * (float)Math.PI / 180, projectileIndex: 2),
                                         CooldownExact.Instance(1000),
                                         MultiAttack.Instance(15, 10 * (float)Math.PI / 180, 2, 90 * (float)Math.PI / 180, projectileIndex: 2),
                                         MultiAttack.Instance(15, 10 * (float)Math.PI / 180, 2, 180 * (float)Math.PI / 180, projectileIndex: 2),      
                                         MultiAttack.Instance(15, 10 * (float)Math.PI / 180, 2, 360 * (float)Math.PI / 180, projectileIndex: 2),          
                                         MultiAttack.Instance(15, 10 * (float)Math.PI / 180, 2, 270 * (float)Math.PI / 180, projectileIndex: 2),
                                         CooldownExact.Instance(1000),

                        SetConditionEffect.Instance(ConditionEffectIndex.Invulnerable),
                        Timed.Instance(2500, False.Instance(Flashing.Instance(200, 0xff00ff00))),
                        UnsetConditionEffect.Instance(ConditionEffectIndex.Invulnerable),
                          RingAttack.Instance(30, 75, 75, projectileIndex: 3),
                          CooldownExact.Instance(500),
                          RingAttack.Instance(30, 75, 75, projectileIndex: 3),
                          CooldownExact.Instance(500),
                          RingAttack.Instance(30, 75, 75, projectileIndex: 3),
                          CooldownExact.Instance(500)
                     ),            
                        new RunBehaviors(
                Cooldown.Instance(2500, RingAttack.Instance(8,45,45,0)),
                Cooldown.Instance(5000, TossEnemy.Instance(90,5,0x1702)),
                Cooldown.Instance(4600, TossEnemy.Instance(270,5,0x1702))
                

                             )))),
                          
                          
                         




                    loot: new LootBehavior(LootDef.Empty,
                        Tuple.Create(360, new LootDef(0, 2, 0, 2,
                            Tuple.Create(0.05, (ILoot)new ItemLoot("Coral Bow")),
                            Tuple.Create(0.08, (ILoot)new ItemLoot("Coral Silk Armor")),
                            Tuple.Create(0.08, (ILoot)new ItemLoot("Coral Venom Trap")),
                            Tuple.Create(0.08, (ILoot)new ItemLoot("Coral Ring")),

                            Tuple.Create(0.5, (ILoot)new ItemLoot("Potion of Mana")),

                            Tuple.Create(0.05, (ILoot)new ItemLoot("Wine Cellar Incantation")),
                     )))
            ))
            .Init(0x1708, Behaves("Fishman",
                IfNot.Instance(
                  Chasing.Instance(12, 9, 6, 0x1700),
                    IfNot.Instance(
                      Circling.Instance(3, 10, 6, null),
                      SimpleWandering.Instance(4)
                      )
                  ),
                  Cooldown.Instance(800, MultiAttack.Instance(10, 1 * (float)Math.PI / 30, 3, 0, projectileIndex: 0)),
                  Cooldown.Instance(1000, SimpleAttack.Instance(10, projectileIndex: 1))
            ))
            .Init(0x1700, Behaves("Fishman Warrior",
                IfNot.Instance(
                  Chasing.Instance(5, 9, 3, null),
                  IfNot.Instance(
                    Circling.Instance(3, 10, 6, null),
                    SimpleWandering.Instance(4)
                    )
                ),
                new RunBehaviors(
                  Cooldown.Instance(800, MultiAttack.Instance(10, 1 * (float)Math.PI / 30, 3, 0, projectileIndex: 0)),
                  Cooldown.Instance(1000, SimpleAttack.Instance(3, projectileIndex: 1)),
                  Cooldown.Instance(2000, RingAttack.Instance(5, 10, 0, projectileIndex: 2))
                  )
             ))
            .Init(0x170a, Behaves("Sea Mare",
                IfNot.Instance(
                  Charge.Instance(5, 5, null),
                  SimpleWandering.Instance(4)
                  ),
                  Cooldown.Instance(500, MultiAttack.Instance(10, 10 * (float)Math.PI / 180, 5, 0, projectileIndex: 0)),
                  Cooldown.Instance(1500, SimpleAttack.Instance(3, projectileIndex: 1))
            ))
            .Init(0x170c, Behaves("Giant Squid",
                IfNot.Instance(
                  Chasing.Instance(4, 5, 6, null),
                  IfNot.Instance(
                    Cooldown.Instance(500, TossEnemy.Instance(0, 0, 0x170b)),
                    SimpleWandering.Instance(4)

                    )
                  ),
                  Cooldown.Instance(100, SimpleAttack.Instance(10, projectileIndex: 0)),
                  Cooldown.Instance(500, MultiAttack.Instance(25, 10 * (float)Math.PI / 180, 5, 0, projectileIndex: 1))
            ))
            .Init(0x170b, Behaves("Ink Bubble",
                    new QueuedBehavior(
                RingAttack.Instance(1, 1, 0, projectileIndex: 0)),
                CooldownExact.Instance(500),
                Despawn.Instance
            ))
            .Init(0x1707, Behaves("Deep Sea Beast",
                  new QueuedBehavior(
                    Cooldown.Instance(50, SimpleAttack.Instance(3, projectileIndex: 0)),
                    Cooldown.Instance(100, SimpleAttack.Instance(3, projectileIndex: 1)),
                    Cooldown.Instance(150, SimpleAttack.Instance(3, projectileIndex: 2)),
                    Cooldown.Instance(200, SimpleAttack.Instance(3, projectileIndex: 3)),
                    CooldownExact.Instance(300)
                    )
            ))
            .Init(0x1709, Behaves("Sea Horse",
                IfNot.Instance(
                  Chasing.Instance(5, 5, 1, 0x170a),
                  SimpleWandering.Instance(4)
                  ),
                  Cooldown.Instance(1400, MultiAttack.Instance(10, 10 * (float)Math.PI / 180, 5, 0, projectileIndex: 0))
            ))
            .Init(0x170e, Behaves("Grey Sea Slurp",
                IfNot.Instance(
                  Chasing.Instance(5, 5, 2, 0x170d),
                  SimpleWandering.Instance(4)
                  ),
                  Cooldown.Instance(500, SimpleAttack.Instance(8, projectileIndex: 0)),
                  Cooldown.Instance(500, RingAttack.Instance(8, 4, 0, projectileIndex: 1))
            ))
            .Init(0x170d, Behaves("Sea Slurp Home",
                new QueuedBehavior(
                    Cooldown.Instance(500, RingAttack.Instance(8, 4, 0, projectileIndex: 0)),
                    Cooldown.Instance(500, RingAttack.Instance(8, 2, 0, projectileIndex: 1))
                    )))
                    .Init(0x1702, Behaves("Coral Bomb Big",
                      new QueuedBehavior(
                          RingAttack.Instance(10, 50, 50, 0),
                          CooldownExact.Instance(100),
                      TossEnemy.Instance(0 * (float)Math.PI / 180, 2, 0x1703),
                      CooldownExact.Instance(100),
                      TossEnemy.Instance(45 * (float)Math.PI / 180, 2, 0x1703),
                      CooldownExact.Instance(100),
                      TossEnemy.Instance(90 * (float)Math.PI / 180, 2, 0x1703),
                      CooldownExact.Instance(100),
                      TossEnemy.Instance(135 * (float)Math.PI / 180, 2, 0x1703),
                      CooldownExact.Instance(100),
                      TossEnemy.Instance(180 * (float)Math.PI / 180, 2, 0x1703),
                      CooldownExact.Instance(100),
                      TossEnemy.Instance(225 * (float)Math.PI / 180, 2, 0x1703),
                      CooldownExact.Instance(100),
                      TossEnemy.Instance(270 * (float)Math.PI / 180, 2, 0x1703),
                      CooldownExact.Instance(100),
                      TossEnemy.Instance(315 * (float)Math.PI / 180, 2, 0x1703),
                      CooldownExact.Instance(100),
                          RingAttack.Instance(10, 50, 50, 0),
                          CooldownExact.Instance(500),
                          Despawn.Instance
                          )))
                       .Init(0x1703, Behaves("Coral Bomb Small",
                             new QueuedBehavior(
                                     RingAttack.Instance(8, 50, 50, 0),
                                     CooldownExact.Instance(500),
                                     RingAttack.Instance(8, 50, 50, 0),
                                     CooldownExact.Instance(1500),
                                     Despawn.Instance
                     )));
    }
}
Credits: just me , not anybody else involved in this code
Maybe just the minnions @ossimc82 ( not Coral Bombs )
Woo TY It works great.
how to use the code?
Quote Originally Posted by xalivien View Post
how to use the code?
He put a noobsafe on it.
Hmm, I think the "He lives and reigns and rules the world might be easy enough, just set a chance Behavior to SetAltTexture, Taunt, and null all previous behaviors. I'm not sure how you can make the enemy check for chat text.
Quote Originally Posted by Stellar Spark View Post
Hmm, I think the "He lives and reigns and rules the world might be easy enough, just set a chance Behavior to SetAltTexture, Taunt, and null all previous behaviors. I'm not sure how you can make the enemy check for chat text.
you have to make a extra behavior, so that the enemy read the special text that you defined
Quote Originally Posted by Stellar Spark View Post
Hmm, I think the "He lives and reigns and rules the world might be easy enough, just set a chance Behavior to SetAltTexture, Taunt, and null all previous behaviors. I'm not sure how you can make the enemy check for chat text.
Nahh the Wounded Thessal is another entity no set alt texture needed... but ossi's right you have to make a new "Script" like HpLesser has or SimpleAttack etc.... It may sound hard .. i think we can make it

---------- Post added at 03:06 AM ---------- Previous post was at 03:05 AM ----------

Quote Originally Posted by xXEnd3rGamerXx View Post
When you put the code into the server, what would the name go by? As in Behavior.Db._______.cs
Anything you wanna
@pLolz I tried saving it as Behavior.Db.Thessal.cs and it didn't work for me. Suggestions?
Quote Originally Posted by xXEnd3rGamerXx View Post
@pLolz I tried saving it as Behavior.Db.Thessal.cs and it didn't work for me. Suggestions?
Try "Ocean", "Trench", or "OceanTrench".
Quote Originally Posted by xXEnd3rGamerXx View Post
@pLolz I tried saving it as Behavior.Db.Thessal.cs and it didn't work for me. Suggestions?
Pro Tip: see this line?
Code:
static _ Trench = Behav()
See the Trench? that's the name you shall put
The real pro tip: Look at static it's name and use it as the name -.-
Quote Originally Posted by pLolz View Post
Pro Tip: see this line?
Code:
static _ Trench = Behav()
See the Trench? that's the name you shall put
The real pro tip: Look at static it's name and use it as the name -.-
Just figured that out. Sorry about being an idiot.
When you put the code into the server, what would the name go by? As in Behavior.Db._______.cs
Is the Behavior different from the one from prod on purpose?
At this line:
Tuple.Create(0.05, (ILoot)new ItemLoot("Wine Cellar Incantation")),
you have to delete the ","

Thanks to @ossimc82
Posts 1–14 of 14 · Page 1 of 1
This thread is closed for replies.

Similar Threads

Tags for this Thread

Need help?