Inactive [MECH/ADMN] ModDamage - Change damage mechanics on the fly!

Discussion in 'Inactive/Unsupported Plugins' started by KoryuObihiro, May 20, 2011.

  1. Offline

    KoryuObihiro

    ModDamage
    We've moved to BukkitDev!
     
  2. Offline

    KoryuObihiro

    Ohcrap. You're right. ;_; Added to known bugs.
     
  3. Offline

    Haliotro

    I thought you should know that anything related to Mob damage sent or received does not seem to work with Bukkit 935. Here's one of the tests that I did with the goal of getting a Zombie to only hit 5% of the time if you're wearing full gold armor:


    Code:
    Offensive:
        global:
            generic:
                nature:
                mob:
                    - 'if.targetis.wearing.GOLD_HELMET*GOLD_CHESTPLATE*GOLD_LEGGINGS*GOLD_BOOTS':
                        - 'binom.95'
            mob:
                Zombie:
                    - 'if.targetis.wearing.GOLD_HELMET*GOLD_CHESTPLATE*GOLD_LEGGINGS*GOLD_BOOTS':
                        - 'binom.95'
    Scan:
        global:
        worlds:
            Pandemonium:
                groups:
    Defensive:
        global:
            generic:
                armor:
                    - 'if.targetis.wearing.GOLD_HELMET*GOLD_CHESTPLATE*GOLD_LEGGINGS*GOLD_BOOTS':
                        - 'binom.95'
                humans:
                    - 'if.targetis.wearing.GOLD_HELMET*GOLD_CHESTPLATE*GOLD_LEGGINGS*GOLD_BOOTS':
                        - 'binom.95'
            mob:
                Zombie:
                    - 'if.targetis.wearing.GOLD_HELMET*GOLD_CHESTPLATE*GOLD_LEGGINGS*GOLD_BOOTS':
                        - 'binom.95'
            armor:
               'GOLD_HELMET*GOLD_CHESTPLATE*GOLD_LEGGINGS*GOLD_BOOTS':
                    - 'binom.95'
    
    debugging: normal
    Here you can see that I tried every possible relationship that I thought might create the desired effect. All of these relationships registered correctly with the server upon loading.

    I did other tests to set damage relationships to Mobs but those did not work either. On the other hand, all tests that I have done with humans have worked. For example, the following is sufficient to block 95% of hits from a human.


    Code:
    Defensive:
        global:
            armor:
              'GOLD_HELMET*GOLD_CHESTPLATE*GOLD_LEGGINGS*GOLD_BOOTS':
                    - 'binom.95' 

    Now it could possibly be a conflict with another mod since I have several installed including CrowdControl. I suspect this is not the case. If you have any solutions, please let me know. By the way, I absolutely love your mod (at least its potential if I can get it working fully on my server).

    I eagerly await your thoughts in case there is something I can do on my end to make this work.
     
  4. Offline

    KoryuObihiro

    Whoa. Dude. First off, you realize that these relationships you're defining all execute if they apply to the situation, right? If a player wearing that gold armor set hit a Zombie, then all six nodes you have in place would apply the binom routine. The chance to actually hit something would be 0.05^6 or, according to my little TI here, about 0.000000015625. Holy freaking crap. XD

    Anyway, you've yet to really describe "does not seem to work". Are you not hitting anything? Is it just applying default damage? What's going on? I might also point out that I don't support build 935, as the Bukkit team doesn't either.

    As always, thanks for your feedback! I'm glad to see another use for this to enhance MC gameplay. :)
     
  5. Offline

    Haliotro


    Thanks for the quick reply.

    I know that each of those relationships should execute. I just wanted to point out that none of them are executing. I am still receiving 100% hit rate from Zombies with all of these relationships active. I just labeled as "does not seem to work" because from this, it seems to me that CB is not interacting at all with any of the Mob entities using your mod.

    It's too bad that you aren't going to support 935. It was the only good CB release until the 1000 build to avoid the huge duplication loopholes with pistons.

    Let me know if you have any thoughts for me on interacting with Mobs or if I should just wait it out until everything transitions to the new build for MC beta 1.8.

    I had one more discovery today. Have you tried any damage relationships that utilize leather armor yet? ModDamage labels everything as LEATHER_HELMET, LEATHER_CHESTPLATE etc. where as the customary names are LEATHER_CAP, LEATHER_TUNIC, and LEATHER_PANTS. My CraftBukkit would not register any damage relationships that utilized anything related to leather and so I am wondering if it is related to these system labels or not.

    Thanks!
     
  6. Offline

    TheSquishyDitto

    So I got around to actually making defensive groups, but this one isn't working properly:
    Code:
    Defensive:
        worlds:
            Pyramid:
                global:
                    groups:
                        Demolitionist:
                            nature:
                                blockexplosion:
                                    - 'set.0'
                                explosion:
                                    - 'set.0'
                            mob:
                                creeper:
                                    - 'set.0'
    It blocks explosions from TNT, but explosions generated by the plugin itself and from creepers (which are no longer double-explodey) are still damaging. :(
     
  7. Offline

    KoryuObihiro

    Defensive elements are the TARGETS - therefore, defining nature nodes under it is silly. With this config, the only result is that Creepers don't take any damage. :p

    Err...I can't make any guarantees with 935, because no formal testing has been done on it.

    Then again, 0.9.4.x as a whole is severely lacking in that department...mayhaps you might be interested in helping to test 0.9.5 when the time comes?

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

    TheSquishyDitto

    Then how would I go about making a group that prevents explosive damage then if I can't do that? :eek:

    Also...
    Code:
    Defensive:
        worlds:
            nether:
                groups:
                    FireBreathers:
                        nature:
                            burn:
                                - 'set.0'
                            fire:
                                - '2'
                            lava:
                                - '4'
    I don't see much difference between my config and this, besides the global node I had that didn't change anything whether I had it in or not. :confused:
     
  9. Offline

    Haliotro

    I have some testing updates for you!

    1. CrowdControl releases prior to 0.27.04 conflicted with the mob entity calculations of ModDamage.
    2. CrowdControl 0.27.04 (the most recent update) no longer conflicts!
    2. ModDamage does in fact work smoothly on CB 935 server (without conflicting plugins)
    3. ModDamage also seems to be working flawlessly in CB 1000 (just tested) - nice!
    4. You should still look into the Leather gear as this does not seem to register as valid armor.


    Anyway, I do love your mod.
    Have a good evening.
     
    KoryuObihiro likes this.
  10. Offline

    KoryuObihiro

    Good to know that EvilSeph's summary of the API changes was accurate in MD's case. Although...you'd think that as a familiar of the elBukkit team, I would have been aware of a break with one of WinSock's plugins...hmm...oh well. Good to hear that it seems resolved, though I might want to make absolute sure for 0.9.5.

    What I love are awesome users like yourself. Thanks for the feedback, as always! :)

    Another update on the progress of 0.9.5: I have just started testing switch statements, and they just about went off flawlessly the first time around! Just need to do some test cases for these, and run the same rigors on some majorly rehashed conditionals - after that, the 0.9.5 beta will be ready for those interested. I hope that testing will go smoothly and that I can be done with that by tonight, but I estimate that it could potentially take a couple of days to finish ironing those out.

    Switch statements have changed a bit since I last posted them, and I'm sure that anybody already familiar with MD configuration should find it a snap. Here's a sample configuration:

    Code:
    Damage:
        - 'switch.targettype':
            Zombie:
                - 'if.target.exposedtosky': '3'  #Single-line configuration. :D
            AngryWolf: 'roll.4'
            Wolf: '3' # There are technically two other types of wolves,
                      # "WildWolf" and "TamedWolf" - this catches those two by default.
            Human:
                - 'switch.targetgroup':  #This will allow for better control with multiple groups in Perms 3.0+
                                #   because this is checked sequentially.
                    Ninjas:
                        - '2'         # Take more damage, because they don't wear much usually.
                        - 'binom.40' # Nice high chance of dodging. 'Cause they're ninjas.
                    Meatheads:
                        - '-2'
                        - 'binom.10':
                            - 'attackereffect.explode': '2' # Effects have changed to use only nested configuration, for consistency.
    
    Defining nature nodes in Defensive global doesn't do anything. The reason the tut example works is because it's applied to a group - when Firebreathers take fire-related damage, it's not nearly so bad as for other players. For something like a group not taking damage:
    Code:
    Defensive:
        global:
            groups:
                someGroup:
                    nature:
                        blockexplosion:
                            - 'set.0'
                        explosion:
                            - 'set.0'
                    mob:
                        Creeper:
                            - 'set.0'
    
    Yuck. Can't wait to deprecate O/D for 0.9.5's Damage node. :p It'll look like this after that:
    Code:
    Damage:
        - 'switch.targetgroup':
            someGroup:
                - 'switch.attackertype':
                    explosion: 'set.0'
                    blockexplosion: 'set.0'
                    Creeper: 'set.0'
    
    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 15, 2016
  11. Offline

    TheSquishyDitto

    I'm glad to hear about the progress! :D

    As for my dilemma, the config I originally posted was applied to a group: Demolitionists. lol
     
  12. Offline

    KoryuObihiro

    Well...wanna post it here?
     
  13. Offline

    TheSquishyDitto

    I did, on the last page, but here it is again for convenience...
    Code:
    Defensive:
        worlds:
            Pyramid:
                global:
                    groups: #<-- Been here, lol
                        Demolitionist:
                            nature:
                                blockexplosion:
                                    - 'set.0'
                                explosion:
                                    - 'set.0'
                            mob:
                                creeper:
                                    - 'set.0'
     
  14. Offline

    KoryuObihiro

    Problem, officer. Your groups should be on the same level as global - semantically speaking they are apart. :) Try this:
    Code:
                global:
                groups: # Now here.
    
    Sorry for missing it the first time. :p No idea how that happened. When in doubt, use verbose to see if it even finds the node!

    News for today: completed most of the first part of the rewritten tutorial for 0.9.5:
    https://gist.github.com/1095903

    Also started with the second part...but all I've done is convert the MD configuration from the Firebreathers example so far.

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

    DevRW

    I am eagerly awaiting 9.5 release (or beta). I've been writing up and configuring so many things lately in preparation for this - however, because I only recently found the plugin, I decided to wait for your new Damage vs O/D system. It seems a lot cleaner and the entire 'switch' system looks like it will make everything a hell of a lot easier to set up. Especially when you're designing a complex overhaul of combat! Right now I am having much difficulty setting up miss rates and critical hits - but I won't even bother you with config file help until I've tested the new system as it seems to support it much better. Or at least, I understand what I'll need to do already.

    Watching this thread for sure - hands down one of the best plugins around, albeit complex to start with. The possibilities are endless!
     
    KoryuObihiro likes this.
  16. Offline

    KoryuObihiro

    Ohmahgawl, yes. I mean, it only took me fifteen minutes to convert everything from O/D to the Damage paradigm, but really configuring for O/D was atrocious to begin with. MD was definitely a proof-of-concept then, and now that I'm getting more awesome users I've more than enough motivation to make this plugin "nice". If you're interested, I could always let you in on the "beta" JAR, and perhaps help with ironing out the issues that will inevitable be there.

    Current list (IIRC):
    lucent
    TheSquishyDitto
    tassox33
    EDIT: DevRW

    Speaking of @lucent, where'd you go, dude? :<
     
  17. Offline

    DevRW

    I'd be extremely interested in testing it out; I've got a bunch of users who are always willing to try out my new 'features', and I've already been messing with the current version every day. I'll certainly report back detailed reports with any bugs I can come across!
     
    KoryuObihiro likes this.
  18. Offline

    MJE

    Love the mod, I do have an issue with getting specific worlds to work. If I put stuff in global it works fine but when I modify the world setting it ignores it and said no configuration found (something of the sort).

    Any ideas?
     
  19. Offline

    KoryuObihiro

    Try putting a dummy node like '0' in server global, and see if worlds load then. I thought I fixed that stupid bug, but I'm thinking that's the case here.

    :D

    LOL, you'll find bugs. Trust me. But hopefully I can say the opposite once I release 0.9.5.
    Adding you to the list. :)
     
  20. Offline

    MJE

    That did the trick, thanks!

    The offense works great now but mob health is not. Tried it with and without the dummy node, tried the folllowing definitions:

    - '150'
    - 'set.150'
    '150'

    Sorry for being a pain, did not see anything about this and the damn search function is not working on the forum...... :)

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 15, 2016
    KoryuObihiro likes this.
  21. Offline

    KoryuObihiro

    Let's see the config. I'm betting it's a "global" thing - don't forget to remove "global" nodes under MobHealth, as it's an error in the automagic config-generation.
     
  22. Offline

    MJE

    Code:
    MobHealth:
        worlds:
            world_nether:
                global:
                    Creeper:
                    Chicken:
                    Sheep:
                    Giant:
                    Slime:
                    ZombiePigman:
                    Spider:
                    Pig:
                    Squid:
                    Wolf:
                    Zombie:
                    Cow:
                    Ghast:
                    Skeleton:
            world:
                global:
                    Creeper:
                    Chicken:
                        - '34'
                    Sheep:
                        - '200'
                    Giant:
                        - '200'
                    Slime:
                        - '45'
                    ZombiePigman: '200'
                    Spider:
                        - '40'
                    Pig:
                        - '34'
                    Squid:
                        - '34'
                    Wolf:
                        - '34'
                    Zombie:
                        - 'set.200'
                    Cow:
                        - '34'
                    Ghast:
                        - '20'
                    Skeleton: 'range.180.200'
    
    I had different things in there to test.... if it takes the config for the health will it output to the console like Offensive does?
     
  23. Offline

    KoryuObihiro

    Enclose your stuff in code blocks.
    [ code]
    [/ code]
    Except without the strange spaces.

    Also, yes. You have a global node under your world name. Delete it, and change indentation accordingly.
     
  24. Offline

    MJE

    Fixed it shortly after I sent it.

    The global was it, thanks again!

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

    KoryuObihiro

    No problem. :)
     
  26. Offline

    lucent

    I'm still here! Just lurking, a little. RL stuff has gotten somewhat busy, and in my free time I've started to try and learn java/minecraft modding. I recompiled MobArena a little while ago with a little change so that it dynamically reassigns users to groups as they leave/join the arena (specifically for Permissions). Combined with MD and MagicSpells, it's been a ton of fun for adding temporary user functionality.
     
    DevRW and KoryuObihiro like this.
  27. Offline

    KoryuObihiro

    I wonder if there aren't a lot of suggestions that the MobArena author doesn't have time to implement... :p Just sayin'.
     
  28. Offline

    DevRW

    That's an amazing addition I've considered asking as a feature request. Do you plan on keeping that private, or will you consider making a pull request on the original?
     
  29. Offline

    KoryuObihiro

    Update for 0.9.5 release:

    Not until next week. I've been chock busy all weekend, with no sign of letting up. I probably won't have much chance to touch the lappy for awhile, and so I won't be able to do much preliminary testing.

    As soon as I feel that my current indev build is stable enough, I'll release a 0.9.5 experimental JAR that anybody can ask for - provided they understand that I make no guarantees as to the safety or stability of the plugin.

    In the meantime, enjoy your weekend! @lucent if you ever need any advice with Java/Bukkit, I might be able to answer your questions. :)
     
  30. Offline

    lucent

    Truth is, I hadn't any intention of doing anything with it but keep it private. I had asked garbagemule about the permissions addition (a couple times), but I think the conclusion was that adding the functionality while keeping the plugin flexible was cumbersome, and in the end he didn't want to make his mod dependent on a single permissions plugin. This was why I had just added it for myself.

    I will probably take you up on that. Looking forward to tinkering with 0.9.5! :D
     
    KoryuObihiro likes this.
  31. id like this for my mobworld but im bad at english i dont kingd understand ur saying.

    Could u make this my creeper,zombie,spider,slime and skeleton would make 2x dmg than normal, has 2x more hp than normal. all has chance to do 2x dmg + 1x normal dmg as roll change 20%. do i make any sense here? im really sry bad english sometimes makes this so hard :(
    Code:
    Offensive:
        global:
            generic:
                nature:
                mob:
                armor:
                ranged:
                humans:
                melee:
                animal:
            nature:
                blockexplosion:
                lightning:
                lava:
                explosion:
                fall:
                void:
                suffocation:
                burn:
                fire:
                drowning:
                cactus:
            mob:
                ZombiePigman:
                Creeper:
                Spider:
                Giant:
                Zombie:
                Slime:
                Skeleton:
                Ghast:
            ranged:
                snowball:
                bow:
                egg:
                fireball:
            armor:
            groups:
            melee:
                other:
                pickaxe:
                fist:
                spade:
                hoe:
                axe:
                sword:
            animal:
                Chicken:
                Sheep:
                Pig:
                Squid:
                Wolf:
                Cow:
        worlds:
            hell:
                global:
                    generic:
                        nature:
                        mob:
                        armor:
                        ranged:
                        humans:
                        melee:
                        animal:
                    nature:
                        blockexplosion:
                        lightning:
                        lava:
                        explosion:
                        fall:
                        void:
                        suffocation:
                        burn:
                        fire:
                        drowning:
                        cactus:
                    mob:
                        ZombiePigman:
                        Creeper:
                        Spider:
                        Giant:
                        Zombie:
                        Slime:
                        Skeleton:
                        Ghast:
                    ranged:
                        snowball:
                        bow:
                        egg:
                        fireball:
                    armor:
                    groups:
                    melee:
                        other:
                        pickaxe:
                        fist:
                        spade:
                        hoe:
                        axe:
                        sword:
                    animal:
                        Chicken:
                        Sheep:
                        Pig:
                        Squid:
                        Wolf:
                        Cow:
            mobworld:
                global:
                    generic:
                        nature:
                        mob:
                        armor:
                        ranged:
                        humans:
                        melee:
                        animal:
                    nature:
                        blockexplosion:
                        lightning:
                        lava:
                        explosion:
                        fall:
                        void:
                        suffocation:
                        burn:
                        fire:
                        drowning:
                        cactus:
                    mob:
                        ZombiePigman:
                        Creeper:
                            - 'set.1'
                            - 'roll.2'
                        Spider:
                            - 'set.1'
                            - 'roll.2'
                        Giant:
                        Zombie:
                            - 'set.1'
                            - 'roll.2'
                        Slime:
                            - 'set.1'
                            - 'roll.2'
                        Skeleton:
                            - 'set.1'
                            - 'roll.2'
                        Ghast:
                    ranged:
                        snowball:
                        bow:
                        egg:
                        fireball:
                    armor:
                    groups:
                    melee:
                        other:
                        pickaxe:
                        fist:
                        spade:
                        hoe:
                        axe:
                        sword:
                    animal:
                        Chicken:
                        Sheep:
                        Pig:
                        Squid:
                        Wolf:
                        Cow:
            world:
                global:
                    generic:
                        nature:
                        mob:
                        armor:
                        ranged:
                        humans:
                        melee:
                        animal:
                    nature:
                        blockexplosion:
                        lightning:
                        lava:
                        explosion:
                        fall:
                        void:
                        suffocation:
                        burn:
                        fire:
                        drowning:
                        cactus:
                    mob:
                        ZombiePigman:
                        Creeper:
                        Spider:
                        Giant:
                        Zombie:
                        Slime:
                        Skeleton:
                        Ghast:
                    ranged:
                        snowball:
                        bow:
                        egg:
                        fireball:
                    armor:
                    groups:
                    melee:
                        other:
                        pickaxe:
                        fist:
                        spade:
                        hoe:
                        axe:
                        sword:
                    animal:
                        Chicken:
                        Sheep:
                        Pig:
                        Squid:
                        Wolf:
                        Cow:
    Scan:
        global:
        worlds:
            hell:
                groups:
            mobworld:
                groups:
            world:
                groups:
    Defensive:
        global:
            generic:
                mob:
                armor:
                ranged:
                humans:
                melee:
                animal:
            mob:
                ZombiePigman:
                Creeper:
                Spider:
                Giant:
                Zombie:
                Slime:
                Skeleton:
                Ghast:
            ranged:
                snowball:
                bow:
                egg:
                fireball:
            armor:
            groups:
            melee:
                other:
                pickaxe:
                fist:
                spade:
                hoe:
                axe:
                sword:
            animal:
                Chicken:
                Sheep:
                Pig:
                Squid:
                Wolf:
                Cow:
        worlds:
            hell:
                global:
                    generic:
                        mob:
                        armor:
                        ranged:
                        humans:
                        melee:
                        animal:
                    mob:
                        ZombiePigman:
                        Creeper:
                        Spider:
                        Giant:
                        Zombie:
                        Slime:
                        Skeleton:
                        Ghast:
                    ranged:
                        snowball:
                        bow:
                        egg:
                        fireball:
                    armor:
                    groups:
                    melee:
                        other:
                        pickaxe:
                        fist:
                        spade:
                        hoe:
                        axe:
                        sword:
                    animal:
                        Chicken:
                        Sheep:
                        Pig:
                        Squid:
                        Wolf:
                        Cow:
            mobworld:
                global:
                    generic:
                        mob:
                        armor:
                        ranged:
                        humans:
                        melee:
                        animal:
                    mob:
                        ZombiePigman:
                        Creeper:
                        Spider:
                        Giant:
                        Zombie:
                        Slime:
                        Skeleton:
                        Ghast:
                    ranged:
                        snowball:
                        bow:
                        egg:
                        fireball:
                    armor:
                    groups:
                    melee:
                        other:
                        pickaxe:
                        fist:
                        spade:
                        hoe:
                        axe:
                        sword:
                    animal:
                        Chicken:
                        Sheep:
                        Pig:
                        Squid:
                        Wolf:
                        Cow:
            world:
                global:
                    generic:
                        mob:
                        armor:
                        ranged:
                        humans:
                        melee:
                        animal:
                    mob:
                        ZombiePigman:
                        Creeper:
                        Spider:
                        Giant:
                        Zombie:
                        Slime:
                        Skeleton:
                        Ghast:
                    ranged:
                        snowball:
                        bow:
                        egg:
                        fireball:
                    armor:
                    groups:
                    melee:
                        other:
                        pickaxe:
                        fist:
                        spade:
                        hoe:
                        axe:
                        sword:
                    animal:
                        Chicken:
                        Sheep:
                        Pig:
                        Squid:
                        Wolf:
                        Cow:
    debugging: normal
    MobHealth:
        global:
            Creeper:
            Chicken:
            Sheep:
            Giant:
            Slime:
            ZombiePigman:
            Spider:
            Pig:
            Squid:
            Wolf:
            Zombie:
            Cow:
            Ghast:
            Skeleton:
        worlds:
            hell:
                global:
                    Creeper:
                    Chicken:
                    Sheep:
                    Giant:
                    Slime:
                    ZombiePigman:
                    Spider:
                    Pig:
                    Squid:
                    Wolf:
                    Zombie:
                    Cow:
                    Ghast:
                    Skeleton:
            mobworld:
                global:
                    Creeper:
                    Chicken:
                    Sheep:
                    Giant:
                    Slime:
                    ZombiePigman:
                    Spider:
                    Pig:
                    Squid:
                    Wolf:
                    Zombie:
                    Cow:
                    Ghast:
                    Skeleton:
            world:
                global:
                    Creeper:
                    Chicken:
                    Sheep:
                    Giant:
                    Slime:
                    ZombiePigman:
                    Spider:
                    Pig:
                    Squid:
                    Wolf:
                    Zombie:
                    Cow:
                    Ghast:
                    Skeleton:
    
     

Share This Page