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

    Dothackking

    It's not that there is "no config" It's that the config was just the blank, standard one. Disabling your plugin fixed it immediately. Does it possibly conflict with another plugin? We have lots.
     
  3. Offline

    KoryuObihiro

    Technically there shouldn't be ANY interference.

    Information that might be pertinent:
    1) Bukkit build
    2) OS
    3) Plugins (including MD and its version)
    4) Ingame config validation (/md check)
     
  4. Offline

    Aurum Crescent

    I had the same problem, when I used set.0 for falldamage, but they took 50% damage. I changed it to set.-200 to remove the damage of it. You might change the damage a bit it a bit to make it work.
     
  5. Offline

    KoryuObihiro

    Interesting.

    I'll investigate. That's so...weird, though. :p
     
  6. Offline

    Ranzear

    Probably setting the initial damage (after falling 3 blocks) to zero, and then the damage is getting re-incremented up as they fall further (probably after another three blocks, so test with a fall of at least six blocks).
     
  7. Offline

    KoryuObihiro

    Errr...what? o_o

    @Dothackking @Aurum Crescent I still don't know what version of MD this has been reproduced with. Is it 0.9.4.x, or a 0.9.5 RC, or...?
     
  8. Offline

    Aurum Crescent

    0.9.4.x

    I am often not giving a report as I need to test it further, to make sure any possible errors are taken out and that the report is accurate.

    An important thing is that I had this problem with every kind of nature damage.

    Moddamage output in the console from my last restart (30 min back)
    Code:
    2011-08-14 01:22:56 [INFO] [ModDamage] 0.9.4.3 enabled [Permissions v2.7.4 active]
    2011-08-14 01:22:56 [INFO] [ModDamage] Debugging active.
    2011-08-14 01:22:56 [SEVERE] Invalid command string "[ set.8]" in "Giant definition
    2011-08-14 01:22:56 [INFO] -Offensive:server:groups:Humans:melee:sword[{binom.5=[4]}]
    2011-08-14 01:22:56 [INFO] -Offensive:server:groups:Humans:ranged:bow[2]
    2011-08-14 01:22:56 [INFO] -Offensive:server:groups:Elves:ranged:bow[4, {binom.10=[3]}]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:Elves:Generic:ranged[div.2]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:Elves:nature:fall[div.2]
    2011-08-14 01:22:56 [INFO] -Offensive:server:groups:Angels:ranged:bow[3, {binom.5=[3]}]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:Angels:nature:fall[set.-200]
    2011-08-14 01:22:56 [INFO] -Offensive:server:groups:Demons:Generic:melee[1]
    2011-08-14 01:22:56 [INFO] -Offensive:server:groups:Demons:melee:sword[{binom.10=[4]}]
    2011-08-14 01:22:56 [INFO] -Offensive:server:groups:Demons:ranged:fireball[1]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:Demons:ranged:fireball[div.2]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:Demons:ranged:snowball[mult.4]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:Demons:nature:drowning[-2]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:Demons:nature:fire[set.-200]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:Demons:nature:burn[set.-200]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:Demons:nature:lava[set.-200]
    2011-08-14 01:22:56 [INFO] -Offensive:server:groups:Hydr:Generic:melee[2]
    2011-08-14 01:22:56 [INFO] -Offensive:server:groups:Hydr:melee:sword[{binom.10=[4]}]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:Hydr:nature:drowning[set.-200]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:Hydr:nature:fall[-2]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:Hydr:nature:lava[-2]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:Hydr:nature:lightning[2]
    2011-08-14 01:22:56 [INFO] -Offensive:server:groups:Immortals:melee:fist[set.12, {binom.10=[5]}]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:Immortals:Generic:animal[1]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:Immortals:Generic:melee[div.5]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:Immortals:Generic:ranged[div.4]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:Immortals:Generic:mob[div.4]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:Immortals:Generic:nature[div.2]
    2011-08-14 01:22:56 [INFO] -Offensive:server:groups:GameMaster:melee:fist[set.12]
    2011-08-14 01:22:56 [INFO] -Offensive:server:groups:GameMaster:ranged:bow[4]
    2011-08-14 01:22:56 [INFO] -Offensive:server:groups:GameMaster:ranged:fireball[1]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:GameMaster:Generic:animal[div.2]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:GameMaster:ranged:bow[div.4]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:GameMaster:ranged:fireball[div.4]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:GameMaster:Generic:mob[div.4]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:GameMaster:nature:fall[set.-200]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:GameMaster:nature:fire[set.-200]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:GameMaster:nature:burn[set.-200]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:GameMaster:nature:lava[set.-200]
    2011-08-14 01:22:56 [INFO] -Offensive:server:groups:Moderator:melee:fist[set.12]
    2011-08-14 01:22:56 [INFO] -Offensive:server:groups:Moderator:ranged:bow[4]
    2011-08-14 01:22:56 [INFO] -Offensive:server:groups:Moderator:ranged:fireball[1]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:Moderator:Generic:animal[1]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:Moderator:melee:fist[set.12]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:Moderator:ranged:bow[4]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:Moderator:ranged:fireball[1]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:Moderator:Generic:mob[div.4]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:Moderator:nature:fall[set.-200]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:Moderator:nature:fire[set.-200]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:Moderator:nature:burn[set.-200]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:Moderator:nature:lava[set.-200]
    2011-08-14 01:22:56 [INFO] -Offensive:server:groups:Admins:Generic:melee[set.100]
    2011-08-14 01:22:56 [INFO] -Offensive:server:groups:Admins:Generic:ranged[set.100]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:Admins:Generic:melee[10]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:Admins:Generic:ranged[10]
    2011-08-14 01:22:56 [INFO] -Defensive:server:groups:Admins:Generic:nature[set.-200]
    2011-08-14 01:22:56 [WARNING] Repetitive group definition found for group "Elves" found - ignoring.
    2011-08-14 01:22:56 [WARNING] Repetitive group definition found for group "Angels" found - ignoring.
    2011-08-14 01:22:56 [WARNING] Repetitive group definition found for group "Demons" found - ignoring.
    2011-08-14 01:22:56 [WARNING] Repetitive group definition found for group "Hydr" found - ignoring.
    2011-08-14 01:22:56 [WARNING] Repetitive group definition found for group "Immortals" found - ignoring.
    2011-08-14 01:22:56 [WARNING] Repetitive group definition found for group "GameMaster" found - ignoring.
    2011-08-14 01:22:56 [WARNING] Repetitive group definition found for group "Moderator" found - ignoring.
    2011-08-14 01:22:56 [WARNING] Repetitive group definition found for group "Admins" found - ignoring.
    2011-08-14 01:22:56 [WARNING] Repetitive group definition found for group "Humans" found - ignoring.
    2011-08-14 01:22:56 [WARNING] Repetitive group definition found for group "Elves" found - ignoring.
    2011-08-14 01:22:56 [WARNING] Repetitive group definition found for group "Angels" found - ignoring.
    2011-08-14 01:22:56 [WARNING] Repetitive group definition found for group "Demons" found - ignoring.
    2011-08-14 01:22:56 [WARNING] Repetitive group definition found for group "Hydr" found - ignoring.
    2011-08-14 01:22:56 [WARNING] Repetitive group definition found for group "Immortals" found - ignoring.
    2011-08-14 01:22:56 [WARNING] Repetitive group definition found for group "GameMaster" found - ignoring.
    2011-08-14 01:22:56 [WARNING] Repetitive group definition found for group "Moderator" found - ignoring.
    2011-08-14 01:22:56 [WARNING] Repetitive group definition found for group "Admins" found - ignoring.
    2011-08-14 01:22:56 [WARNING] Repetitive group definition found for group "Elves" found - ignoring.
    2011-08-14 01:22:56 [WARNING] Repetitive group definition found for group "Angels" found - ignoring.
    2011-08-14 01:22:56 [WARNING] Repetitive group definition found for group "Demons" found - ignoring.
    2011-08-14 01:22:56 [WARNING] Repetitive group definition found for group "Hydr" found - ignoring.
    2011-08-14 01:22:56 [WARNING] Repetitive group definition found for group "Immortals" found - ignoring.
    2011-08-14 01:22:56 [WARNING] Repetitive group definition found for group "GameMaster" found - ignoring.
    2011-08-14 01:22:56 [WARNING] Repetitive group definition found for group "Moderator" found - ignoring.
    2011-08-14 01:22:56 [WARNING] Repetitive group definition found for group "Admins" found - ignoring.
    2011-08-14 01:22:56 [INFO] -MobHealth:server:Chicken[1]
    2011-08-14 01:22:56 [INFO] -MobHealth:server:Cow[10]
    2011-08-14 01:22:56 [INFO] -MobHealth:server:Pig[10]
    2011-08-14 01:22:56 [INFO] -MobHealth:server:Sheep[10]
    2011-08-14 01:22:56 [INFO] -MobHealth:server:Squid[10]
    2011-08-14 01:22:56 [INFO] -MobHealth:server:Wolf[16]
    2011-08-14 01:22:56 [INFO] -MobHealth:server:Creeper[35]
    2011-08-14 01:22:56 [INFO] -MobHealth:server:Ghast[20]
    2011-08-14 01:22:56 [INFO] -MobHealth:server:Giant[150]
    2011-08-14 01:22:56 [INFO] -MobHealth:server:ZombiePigman[32]
    2011-08-14 01:22:56 [INFO] -MobHealth:server:Skeleton[30]
    2011-08-14 01:22:56 [INFO] -MobHealth:server:Slime[16]
    2011-08-14 01:22:56 [INFO] -MobHealth:server:Spider[40]
    2011-08-14 01:22:56 [INFO] -MobHealth:server:Zombie[20]
    Plugins I use beside moddamage:
    Basebukkit.jar
    CommandBook
    DroponDeath
    EnergySword
    Factions
    FlowerPower
    HeroicDeath
    HookShot
    iConomy
    iConomyChestShop
    LWC
    MagicSpells
    Mailbox
    MobArena
    Multiverse
    NightLand
    Permissions
    PortalStick
    RocketBoots
    SimpleWeaponPermissions
    Vanish
    WorldEdit
    WorldGuard

    And a special plugin that forces people to register on the forums first, and request an activation on the forums to enter ingame by going to a special page on the forums. It also can make the server accessible for admins only (bugtesting), which is what I used to find the right values to fix this problem (not really a fix but it works) without my members complaining about losing items due this.

    It only seems to affect nature damage, but more testing needs to be done and I can't bug my members with it.
     
    KoryuObihiro likes this.
  9. Offline

    Ranzear

    He says he's taking half damage. What I meant is if he's falling six blocks the 'counter' is being reset to 0 after 3 and after 3 more blocks he takes 'half' damage. It sounds like the damage is being set to zero just once while still falling instead of when the damage is actually applied when they hit the ground, which is why -200 works because it's adding to a negative number and not reaching past zero again.

    I'd have to look at your ModDamage config, but it sounds and seems like you have it set up as:


    Code:
    Thing
        Group1
            Item1
        Group1
            Item2
        Group1
            Item3
        Group2

    etc.

    This is what's causing the 'repetitive group' error because every time you're calling 'Group1' for a new Item, you're redefining that group entirely and it's ignoring it.

    Your config probably needs to be changed to:

    Code:
    Thing
        Group1
            Item1
            Item2
            Item3
        Group2
    etc.

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

    KoryuObihiro

    I'm still struggling to understand what you're saying. The only time an entity should take damage in Bukkit is when an event is thrown, and when falling that only happens when the player "lands" ingame. I don't know if you're speaking from a programming perspective, or merely offering your abstract perception of what may be happening, but it sounds like the latter.

    What I would LIKE to do is to get on the server with the problem in question, and see if I can't reproduce it myself. I don't know how feasible that is, but I'm more than happy to spend that time to figure out what exactly the bug is.

    EDIT:
    Oooh, good thought. Yeah. ModDamage config kthx.
     
  11. Offline

    Ranzear

    It's an abstraction indeed, but does point out where 'half' fall damage could come from.
     
  12. Offline

    Aurum Crescent

    Actually, the fall distance did not matter. Also I only defined the groups in offensive and defensive, which is defined twice in total in the config file (one in offensive and one in defensive). This however does not case any errors with the damage handling.

    And like I said, this does apply to all tested nature damage, so it is possible that the nature damage itself is has the errors. However I did not test it with monsterdamage, melee damage and range damage.

    Fall
    Fire
    Burn
    Lava
    Drowning
    Lightning

    Somehow I didn't notice the error in the damage code of the giants until now. This was added after testing the plugin, so that giants can actually hurt people.
     
  13. Offline

    Dothackking

    I figured my problem out.

    The /heal command on my server doesn't actually heal you, it's a false heal. The fall damage is proper :) Tested with Golden Apples instead, works fine.
     
  14. Offline

    KoryuObihiro

    I'll be quick to point out here that a Nature Defensive node is silly. :p Just in case you didn't realize.

    Anyway. So, to restate the problem, you're using 'set.0' for something in the Nature Offensive category...and it's not setting it to 0. Correct?

    EDIT: Or...did you not find a problem? :p
     
  15. Offline

    Aurum Crescent

    I did config it like this first:


    Code:
    Defensive:
        global:
        groups:
                Angels:
                    nature:
                        fall:
                            - 'set.0'
                Demons:
                    nature:
                        burn:
                            - 'set.0'
                        fire:
                            - 'set.0'
                        lava:
                            - 'set.0'
                Hydr:
                    nature:
                        drowning:
                            - 'set.0'
                Admins:
                    generic:
                        nature:
                           - 'set.0'
    Which always dealt 5 hearts of damage when they get hit by the damage source responding to it.

    Right now I changed that to
    Code:
    Defensive:
         global:
         groups:
                 Angels:
                     nature:
                         fall:
                             - 'set.-200'
                 Demons:
                     nature:
                         burn:
                             - 'set.-200'
                          fire:
                             - 'set.-200'
                         lava:
                             - 'set.-200'
                 Hydr:
                     nature:
                          drowning:
                             - 'set.-200'
                  Admins:
                     generic:
                         nature:
                             - 'set.-200'
    Which make the group immune for the damage.

    I use this to replace other plugins which makes that group immune for the damage type.
    It is a small bug and this config works for me. For me it is not a big problem, but it is something you might look at with the latest version you are working on, if it exists there.

    I did set it in the defense node, as every group has different parts of nature damage they should not get, and some other damage from other sources are calculated differently. I did not test it in the offensive category.
     
  16. Offline

    Ranzear

    Alright, found my own issues.

    I really want this to work:
    Code:
                GOLD_SWORD:
                    - 'binom.50':
                        - 'targeteffect.setfireticks.3'
    Unfortunately it just errors every time, invalid command string. I can replace 'setfireticks' with 'explode' and it works just fine (and to hilarious effect), so I know I have it in the right place and the syntax is correct.

    BUT then I found https://github.com/KoryuObihiro/ModDamage/wiki/Routine:-Set-Fire-Ticks
    So the entry in the configuration reference is what was incorrect.
     
  17. Offline

    KoryuObihiro

    That individual routine entry is meant for 0.9.5 - off the top of my head, I couldn't tell you if it would work or not, and I don't have time to review my source right now. Probably will make an EDIT here later today.
    Ah, there we go. Now I just get to WTF and think about the problem all morning while I'm busy with other things... :p
     
  18. Offline

    Ranzear

    A bit more info.

    targeteffect.explode.# does control the size of the explosion, targeteffect.explode: '#' does not.

    Meanwhile fire ticks is the opposite, targeteffect.setfireticks.# doesn't work but targeteffect.setfireticks: '#' does.

    Anyway, inconsequential since I got both working.

    Have you worked on getting per-piece cumulative armor effects working yet? I have helmets that reduce explosion damage, boots that reduce direct lava/fire exposure, leggings that reduce fire tick damage, and chestplates that apply special effects (diamond reflects, gold sets the attacker on fire, leather gives a dodge-anything chance, and iron applies damage reduction to any source), and I'd like to see them all working in concert and some viability in mix-and-match.
     
  19. Offline

    KoryuObihiro

    This has been fixed in 0.9.5 - non-inclusive armor comparisons are done with "wearingonly".

    I appreciate the testing. :) Sorry I've been so slow to get 0.9.5 released, but life is crazy. :<
     
  20. Offline

    Ranzear

    Well don't get DNF Syndrome on us. Incremental updates are supposed to be incremental and I appreciate how much work you've put in so far, just be careful the wiki doesn't outpace your actual posted version..

    Anyway. Once I have that version and blow through some testing of my code I'll post it here as an example and good starting point. You could maybe even include it as a 'default' for your mod if it doesn't seem too extreme.

    Edit and Suggestion: Add lightning strikes as an on-hit effect. It'd be simple enough to add that someone wielding the weapon that does it is also invulnerable to lightning, and the 'exposed to sky' seems almost tailored to it.
     
  21. Offline

    KoryuObihiro

    Doubt you not I intend on finishing. :) If you have any doubts as to progress I'm making (albeit slowly), just watch the commits on Github or the issues getting wrangled on the tracker.

    As for "default" configuration, currently I think it should be similar to the old MD 0.9.4.x paradigm with world/server-type globals.

    Code:
    #Place one of these trees under an event node:
        - 'switch.attacker.type':
            Creeper:
            Giant:
         [ . . . ]
        - 'switch.world':
            world:
                - 'switch.attacker.type':
                    Creeper:
                    Giant:
                 [ . . . ]
            world_nether:
                - 'switch.attacker.type':
                    Creeper:
                    Giant:
                 [ . . . ]
          [ . . . ]
    Aliases:
        item:
            axe:
                - 'WOOD_AXE'
                - 'STONE_AXE'
                - 'IRON_AXE'
                - 'GOLD_AXE'
                - 'DIAMOND_AXE'
            hoe:
                - 'WOOD_HOE'
                - 'STONE_HOE'
                - 'IRON_HOE'
                - 'GOLD_HOE'
                - 'DIAMOND_HOE'
            pickaxe:
                - 'WOOD_PICKAXE'
                - 'STONE_PICKAXE'
                - 'IRON_PICKAXE'
                - 'GOLD_PICKAXE'
                - 'DIAMOND_PICKAXE'
            spade:
                - 'WOOD_SPADE'
                - 'STONE_SPADE'
                - 'IRON_SPADE'
                - 'GOLD_SPADE'
                - 'DIAMOND_SPADE'
            sword:
                - 'WOOD_SWORD'
                - 'STONE_SWORD'
                - 'IRON_SWORD'
                - 'GOLD_SWORD'
                - 'DIAMOND_SWORD'
    
    Currently 0.9.5 automagically generates the Item aliases for you...now that I think about it, I wonder if I shouldn't just let users automagically create stuff with a command. So...what did you have in mind?
     
  22. Offline

    Ranzear

    The extra Lightning effects from your God of Thunder mod would be cool too and probably easy to port over.

    Hehehe, that's gonna be fun with my 'Straightrazor' shears texture.
     
  23. Offline

    KoryuObihiro

    :D You have overjoyed me. I hadn't even thought of that. Added to the tracker for the appropriate time.

    As for your second sentence....eeeerrrrr....what? :p

    EDIT: I think what I'm going to do there is simply let GoT serve as an example for what I hope will be a good Routine API - I'll add the routines to the GoT plugin itself.
     
  24. Offline

    Dothackking

    http://pastebin.com/TzA5LecL

    It broke sometime between one and three successful edits (I think it was after the third one), HEEELP :(

    I'm scheduled to launch my server in a bit over 12 hours :(

    No armor sets are working atm.

    EDIT: It seems that the ranged armorset is killing the melee ones....So I can't have both, aparently.
    Re-Edit:
    This seems very random. I got it to work right after taking out the armor set in ranged, but as soon as I edited something in humans it just..died again.
    I don't understand.
     
  25. Offline

    Ranzear

    Need your log output to really take a look.

    Edit: Threw a suggestion on the Git: Routine for on-hit commands (as if entered by the attacker or target) and a routine for text display for target/attacker/both/all.
     
    KoryuObihiro likes this.
  26. Offline

    KoryuObihiro

    Are you verifying that these things are getting loaded with /md check? Do so. Also, your debugging output in the console would be immensely helpful (preferably with debugging set to "verbose"), as @Ranzear has pointed out.

    EDIT: If things are getting desperate, I'll likely just get a custom 0.9.5 RC2 setup for you, and make sure that things will work out. Today's the first day I've felt like I've had energy in awhile, so it's time for some serious dev work.
     
  27. Offline

    Dothackking

    I would really appreciate the custom build. We're going without your plugin for launch since none of our classes at launch can wear armor.
     
  28. Offline

    KoryuObihiro

    I'm almost done with Conditionals and Switches, so when those are done I'll release RC2.
     
  29. Offline

    Dothackking

    Sounds awesome.
     
  30. Offline

    teknogeek1300

    I'm assuming this doesn't work with 1.7.3. I've changed everything dramatically to no avail, Bukkit server says it's enable, and shows the attributes changed, and nothing changes.
     
  31. Offline

    KoryuObihiro

    Errr....1.7.3?

    And yes, there has been a break from 1000 to 1060. I will attend to it tomorrow morning.
     

Share This Page