Badassified Enderdragon

Discussion in 'Archived: Plugin Requests' started by IdealIdeas, Mar 25, 2013.

  1. Offline

    DeMaggo

    I can make the Enderdragon throw angry Endermen at players which could be funny. I won't give up the fireball idea until I tried everything out, though.
     
  2. Offline

    IdealIdeas

    That my good sir would be absolutely hilarious.
     
  3. Offline

    DeMaggo

    @IdealIdeas
    It's slowly driving me crazy. These fireballs are nothing but a pain in the bottom.


    Spawning ghasts seems a bit too far off theme and the limitation could also be a bit harder to realize, as they also fly off the islands. How about actually trying that Endermen throwing?

    What i got until now:
    You can set the Hitpoints.
    You can add him Speedpotions.
    Damage can be blocked.
    Arrows can be deflected, though they also bug around from the dragon's knockback.
    Endercrystals respawn.
    The dragon drops a defineable amount of xp and items.

    The plugin supports multiple worlds. Hitpoints are adjusted to the players that are actually in the same world as each dragon. (Still having some smaller bugs here that have trouble calculating the hp percentage of the dragon, killing him.)

    All in all, I'm feeling like Bukkit is mocking me...
     
  4. Offline

    IdealIdeas

    Try it, like I said that would be hilarious. but maybe for the sake of not being raped by them maybe make it so when the enderman is thrown they take some damage on landing? As they are basicially mini warp tanks.


    Plus cant you also suggest things you would like added to the latest builds of bukkit as far as stability and api wise? Of course they might not do it, but then again they might.
     
  5. Offline

    DeMaggo

    I will try the enderman throwing stuff then. On the other hand, you could also place water next to you so they wouldn't attack... Either way, the fireballs would be the proper solution.

    And as far as it goes for those reports for Bukkit problems: I tried such things before, but they'd rather claim its not all data in it than actually improving things. Maybe they are too few to accomplish it, but still...
     
  6. Offline

    IdealIdeas

    Just a thought, if its easier to make mobs be flung at the players, what about make it use those magma cubes as fireballs and if it hits a player it acts just like as if a fireball hit them, and if it misses it just disappears?
    You could make it shoot the small magma cubes and if the player attacks it, it simply just disappears, or goes back at dragon like a fireball would.
     
  7. Offline

    DeMaggo

    Good news: As it turns out, there is a way to throw fireballs, but it requires a lot of testing.
    Bad news: I'm having issues with Bukkits .isValid() again. As soon as the dragon flys out of sight, the objects are unloaded... It turned out that some trouble i had with dropping their hp to 0 was a result of that. There's still some other issue left, though.
     
  8. Offline

    firecopy

    I would love to work on this plugin with you DeMaggo. PM me, if you want to help speed up the development of this plugin.
     
  9. Offline

    zawmbee42

    Dear god, make this a MobArena boss.
     
  10. Offline

    DeMaggo

    Thank you for the offer, but it's mainly about debugging and the motivation right now. I'm having some nice guys from the server i play on to test things out. I'm currently hunting down the no-hitpoints-bug and afterwards the problem with the fireballs. A dead dragon does not throw fireballs, so I have to fix this in order.
    My coding time the past days was mainly used to update my plugin "MegaCreeps" to yet another level.
     
  11. Offline

    Ultimate_n00b

    I would actually use this.
    A lot is pretty easy, but this would take a while to code.
     
  12. Offline

    DeMaggo

    Looks like I got some time this weekend. I already hunted down the no-hp-bug and made the fireballs fly. At this moment I'm reworking the item drops.
     
  13. Offline

    bigteddy98

    Start coding it now, if i don't have any time for it anymore i stop, so don't expect to much. Just a little question. what do you mean with If the player is flying when attacking the dragon, instead of harming the dragon, the dragon will gain health equal to 2x the damage.?
     
  14. Offline

    DeMaggo

    IdealIdeas
    We tested stuff out and got to a playable beta. I apologize that it took so long. Missing practice, Bukkit problems and all the other things I had to code delayed the development way too much. Here goes the first beta version. It's finished to about 85% and fun already, as the testers told me.
    http://www.file-upload.net/download-7668625/BadAssDragons.jar.html

    Known bugs/missing things:

    -As it seems, the damage reduction is not read properly by now.
    -The bounty drops are not totally reliable, I'm still testing.
    -Blocking flying player's damage is not yet in.
    -The movespeed bonus seems not to work for Enderdragons at all. Guess there's not much to work on this.

    Hints:

    To set the dragon's bounty, use /bad savebounty.
    Permission: badassdragon.savebounty

    Help: /bad help or /bad
     
  15. Offline

    Skyshayde

    I am going to try and implement this in my Enderdragon plugin, it is open source if anyone wants to put in a pull request. It also has respawning stuff.
     
  16. Offline

    IdealIdeas

    Cool ill try it out this weekend when more people are on. my server tends to be pretty barren weekdays.

    DeMaggo
    Well the first thing I noticed is that the entities for the heal totems dont seem to align properly.
    Experience drop works somewhat, it only drops 1 orb and should spread them out so multiple players can reap the reward.
    Health appears to work but im not certain.
    I dont know If I specified before, but when nobody is in the end, the dragon and healing totems should fully recover which to my experience hasnt.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 31, 2016
  17. Offline

    DeMaggo

    I'm going to change some data values so the coordinates of the crystals are as exact as possible.
    (done)
    The exp drops need a workaround, cause Bukkit messed this issue.
    (not yet finished)
    Healing and reviving when nobody's left in the end won't be hard to do.
    (done)

    How's your experience with the fireballs? Did you try out some setups? In tests I figured out that the spreadfactor needs ridiculously low values, such as 0.05.
     
  18. Offline

    IdealIdeas

    Fireballs seem to spread fine on the default settings though it seems the defaults are too small for number of fire balls. I would also like to be able to set a max/min frequency of how often he fires them.
    For exp I have 2 ideas, 1 either automatically distribute the exp to each player based on some kind of scoring system (See Below), or have it just randomly drop experience orbs equal to the total in random spots around the world.

    The scoring system would be used to determined who did the most work, therefor given the bigger share of exp. Since players would be given experience automatically they would need a private message notifying them how much they got out of the max. Basically how the scoring would work is it would count how many totems have been destroyed by the player times a base number (Lets say 50 per totem), then for the dragon the damage they dealt would be the number of points they get added to their total.
    So lets say 2 players kill the dragon (John, Jim)
    John killed 5 totems and deals 120 hearts of damage, his score would be 370.
    Jim killed 3 totems and deals 80 hearts of damage, his score would be 230.
    John would get 370/600 of the experience pool, and jim would get 230/600 of the experience pool. I got the 600 from adding their total scores together.

    This is all I can think up right now. Im like half asleep right now.
     
  19. Offline

    DeMaggo

    I like the scoring system. I add it now. (€: Done.) Destroyed Endercrystals would be hard to add to the proper player in a proper amount, though.
    Next goal will be adding the frequency to the config.
     
  20. Offline

    IdealIdeas

    Well tell me when you release a new version so my peeps can try it out.
     
  21. Offline

    IdealIdeas

    DeMaggo
    For the ender crystals, can you add to config a frequency at which they respawn and how many respawn at a time?
     
  22. Offline

    DeMaggo

    As is, they actually respawn individually. Restarting respawns all at a time. Do you want to have the counter restarted for each crystal if another one is destroyed, so they all spawn at once?
    Adding the frequency to the config.
     
  23. Offline

    IdealIdeas

    That would probably annoy the heck out of my players if they all magically respawned back.
    What I was thinking is, say the players remove 5 crystals, say the variable is set to respawn 2 crystals back. after the time expires 2 of those 5 would respawn back.

    Also one of my players says none of the plugin is working which when I checked (literally like 12 hours prior with another player) it was working just fine. Not sure if its magically not working for some people or if he just doesnt see it. Or maybe the plugin stops working when the dragon has been damaged and an additional player enters the end. Does the enderdragons health adjust when an additional player enters the fray or does it break the plugin?

    Also I would really like a copy of the updated version if possible. Good work so far, the players on my server enjoy the challenge.
     
  24. Offline

    DeMaggo

    I'm glad it's useful.
    Implementing the respawning of just random crystals has quite a tail to be done and seems not to make much of a difference, so this is of lower priority for me now.

    The plugin does not care who enters or leaves a world. It simply counts the amount of players in the world like once every 5 seconds and adjusts the maximum and current hitpoints based on the relation of currenthp/maxhp.
    If the dragon stops fireing fireballs, you can consider him to be unloaded by the plugin since the problematic Bukkit code told my plugin that the dragon is dead or disappeared. You should kill him somehow and spawn a new one in this case. The //butcher method may actually cause bugs of "invisible, stationary, fireing dragons" on working dragons since the removal is not properly detected by Bukkit.

    Current state: Fighting a nullpointer exception that results from problems with reading from the config...
     
  25. Offline

    bigteddy98

    Currently working on a project like this, but what do you mean with: "If the player is flying when attacking the dragon, instead of harming the dragon, the dragon will gain health equal to 2x the damage."? I don't really get it :p.
     
  26. Offline

    IdealIdeas

    Say a player is flying, player then attacks the dragon, say the damage was going to be 5 hearts, instead the dragon would heal 10 hearts.
     
  27. Offline

    DeMaggo

  28. Offline

    IdealIdeas

    Yaaaaaaa!
    Now I wait for download link to appear from approval

    Oh another Idea to add, possibly, Is there anyway to change the Enderdragon name thats under the health bar to something else? If it is possible it needs to be "Badass Enderdragon", a nice little reference to Borderlands 2.

    DeMaggo
    So I think the post was approved but there isnt a download button for the plugin.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 31, 2016
  29. Offline

    DeMaggo

    I'm sorry, the first upload was denied for poor description, they might have also deleted the file.

    €: Nope, they just didnt approve it yet.
     
  30. Offline

    IdealIdeas

    Well I tried it out, the Exp works great and so does the health, but here are some problems I encountered.
    - Not sure if fireballs are being shot, I set them +5 for each level and I never saw the dragon shoot once.
    - Grammar error in config. Melee (meele)
    - Dragon doesnt respawn when everyone leaves the End, which I believe you said you added.

    Also may it be me being in creative mode be why the fireballs arnt working?

    Improvements/Suggestions:
    - Have bounty list more configurable. Allow us to list the items and its drop chance. Then when the enderdragon dies, players will be given the items in a similar way to exp. The more work the players have done the greater the chance the players will get the lower chance items. (see below for how to you could list the bounty in config.)
    - Just for more appeal, when the dragon dies have 5-10 random fireworks shoot off from the place it died at random timings.

    Bounty List Idea:
    Bounty:
    _____-Gold Apple
    ______Drop Chance: 5
    _____-Cake
    ______Drop Chance: 10

    As for increasing the drop chance for the players it will depend on how much work they did killing the dragon. So basically its like a dice roll, and every 10% of work they did they get an additional roll. which means they can get multiples of many items.
    I hope this isnt confusing and I hope you understand what I mean by dice roll.
     

Share This Page