[INACTIVE][MECH] DropBonus v2.5 - Loot table configuration tool - [740]

Discussion in 'Inactive/Unsupported Plugins' started by Nohup, Feb 25, 2011.

  1. Offline

    Nohup

    DropBonus
    Version 2.5

    Tags - Loot, Drops, Permissions, iConomy, Multi-world

    The DropBonus plugin will allow you to configure the loot tables on your server in such a way that you can a) set the probability that breaking a block or killing an entity will generate a bonus, b) set the probability of EACH TYPE of bonus that can be generated, c) set a range for the number of items dropped and MORE. Even better still, the plugin was coded in a completely generic fashion so you aren't limited to the combinations that I thought were correct or needed. You can configure this plugin so that ANY block that is broken has the chance (.1% - 100%) of generating ANY other material (Material.X). The same goes for any creature that is killed.

    This tool can be used to override the default game drops as well. If you wanted to turn all drops from blocks off and control all the materials on your server, this tool makes it possible. It provides total control over what drops when blocks break and when creatures are killed!

    Features:
    • Allows for bonus blocks to be dropped when a configured block is broken OR when a configured mob is killed.
    • Bonus chances are cumulative, so you could receive multiple bonuses for one block/mob based on the laws of probability.
    • Single "roll" performed to determine if bonuses should be granted on this event or not. Once you have qualified for a bonus, all bonuses defined for that block will be attempted.
    • Individual "rolls" performed for each bonus type, ensuring that qualifying for one bonus at a given level doesn't automatically qualify you for all bonuses at that level.
    • Configurability is the key. You can configure any block type and under that block type you can configure the chance of a bonus entity being dropped when the given block type is broken. The same goes for mob type.
    • Along those lines, you can also set individual blocks OR bonuses to be turned off. You don't have to have a specific set of entries or drops. Only set up what you want to occur.
    • Percentage configuration is now from 0-100 and anywhere in between in double format (so 0.000001 will now be accepted)
    • Ability to override standard drops from entities and blocks, assumed to be false if not specified
    • Ability to set drops based on tool used when breaking the block/killing the mob
    • Ability to specify 0-n bonus items of a type to be delivered in one "bonus"
    • Ability to specify 0-n bonus evaluations for a given bonus (i.e. you have 100% of one bonus stone, and then 20% chance of a second bonus stone)
    • Ability to specify the maximum number of dropped items per bonus per material
    • Configurable permissions supported by the Permissions plugin
    • Ability to specify the amount of damage done to a tool when breaking a block of a given type or killing a given mob
    • Newly added - MULTI-WORLD support, configurability for each world or all worlds at once.
    • iConomy support for specifying currency to drop from mobs and blocks
    Usage: Install the plugin and configure the config.yml for it (after it is generated). No commands currently specified. Bonus node permissions can be setup in the Permissions config.yml as exemplified below.




    Configuration Examples: Wiki

    Permissions Example: Wiki

    Multi-world Support: Wiki

    iConomy Support: Wiki

    Download DropBonus: DropBonus v 2.5
    Download Source: GitHub
    Wiki Site: Wiki


    Latest CraftBukkit version tested against: 733


    Changelog:

    v 2.5
    • Updated to work with Bukkit 733.


    v 2.4
    • Updated to work with new version of Bukkit. NOT backward compatible.
    v2.3
    • Added list support for coins entries
    • Added permissions check before applying override
    v 2.2
    • Bug fixes for Permissions plugin name and 0 data field entry.
    v 2.1
    • Changed cooldown to only affect configured blocks
    • Added override support at tool level
    v 2.0.1
    • Bug fix for creature coin drop issue for iConomy integration.
    v 2.0
    • Added permissions configurability at the Material level (items dropped)
    • Major code refactor, thus new major version
    • Adjusted priority to Monitor where dealing with cancellable events, this will prevent conflicts with WorldGuard and iZone
    • Tested against new Recommended Build, w00t!
    v 1.10

    • Added support for boats and carts
    v 1.9

    • Added configuration to specify whether a killed entity only drops bonuses when killed by a player or not. This has a top-level default AND creature-specific configurations.
    • Added configuration to specify a placed-block cooldown timer (in ticks).
    • Added clean up routine to tracking to make sure entries aren't orphaned.
    • Adjusted block listener priority for onBlockBreak event and accounted for if the event is cancelled.
    v 1.8


    • iConomy beta successfully complete
    • Refactored some of my packages for those that look at my code
    • Created wiki for documentation so this post wasn't so large!
    v 1.7


    • Multi-world support added
    v 1.6


    • Added additional data specification within drop entries (used for color, texture, etc)
    • Added ability to specify how much damage a tool takes when breaking a block or killing a creature
    • Added BETA release of iConomy support (thanks to @Coelho for his help!)
    • Limited error spam to the console when configuration files are not correct
    v 1.5


    • Added Permission support
    v 1.4


    • Added tool-specific drop specification
    • Added support for 0-n bonus items to be dropped from a single configuration
    • Added support for o-n bonuses per material type per bonus
    • Added specification for maximum number of bonuses dropped per event
    v 1.3


    • Added override support to disable standard drops from blocks and entities.
    • Override flag assumed to be false if not specified
    v 1.2


    • added check to only drop bonus when death is caused by entity attack, not by external triggers such as skeletons burning to death or entities drowning
    v 1.1


    • Overhaul to percentage definitions
    • Added support for mob deaths
    • Changed name to DropBonus to span new functionality
    v 1.0


    • Initial release.
     
    Noppoly, Stormbow, Phaedrus and 2 others like this.
  2. Offline

    Nohup

    without killing it would have to be a new piece of code, will have to look at it. With killing it you can do right now:


    Code:
        craftsheep:
            maxcount: 3
            chances:
                wool: 80 1 3
            override: false
            probability: 100
    
    That will drop white wool. This would drop blue:

    Code:
        craftsheep:
            maxcount: 3
            chances:
                wool: 80 1 3 11
            override: false
            probability: 100
    
    The last part of that line being the value for the data (see here). Now, if you wanted it to be REALLY cool you could do something like this:

    Code:
        craftsheep:
            maxcount: 3
            chances:
                wool:
                - 20 1 3 1
                - 20 1 3 2
                - 20 1 3 3
            override: false
            probability: 100
    
    So that gives it a 20% chance of dropping 1-3 orange wool, another 20% chance of dropping 1-3 magenta wool, and then a final 20% chance of dropping 1-3 light blue wool, up to the maximum of a total drop of 3 wool. Cool, right?
     
    TatteredKing likes this.
  3. Offline

    mudzereli

    I haven't installed this yet, but can you configure the SAME block differently for different permission groups?

    Can you configure the drop based on what TOOL you're using like you can with blockdrops?

    For example, I use blockdrops right now, and I have it set up like so (Percent chance isn't included below because it's irrelevant.):

    Code:
                    WoodPick    StonePick   IronPick    GoldPick    DiamondPick
    StoneOre        Coal        Coal        Coal        Stone       Iron
    CoalOre         Iron        Iron        Iron        IronBlock   IronBlock
    IronOre         NA          IronBlock   IronBlock   Gold        Gold
    RedstoneOre     NA          NA          Gold        Diamond     Diamond
    GoldOre         NA          NA          Diamond     Lapis       Lapis
    LapisOre        NA          NA          Lapis       GoldBlock   GoldBlock
    DiamondOre      NA          NA          GoldBlock   DiamndBlock DiamndBlock
    But I'd also like to restrict it based on permissions as well, so if someone doesn't have, for example the permission level of MINER, they would get NOTHING, or a reduced drop from any of these blocks.

    Can this plugin do what I'm looking for? Please tell me yes!! :)

    I took a crack at converting just the stone block to this format:

    Code:
        stone:
            chances:
                cobblestone: 25.0
            override: true
            tool:
                wood_pickaxe:
                    chances:
                        cobblestone: 75
                        coal: 0.02
                iron_pickaxe:
                    chances:
                        cobblestone: 75
                        coal: 0.03
                gold_pickaxe:
                    chances:
                        cobblestone: 75
                        stone: 100
                diamond_pickaxe:
                    chances:
                        cobblestone: 75
                        iron_ingot: 0.03
            probability: 100
    So if I give everyone:
    - bonuses.stone
    and... They only get cobble 25% of the time.
    Then would I give the MINER group:
    - bonuses.stone.probability
    - bonuses.stone.wood_pickaxe
    - bonuses.stone.iron_pickaxe
    - bonuses.stone.gold_pickaxe
    - bonuses.stone.diamond_pickaxe
    Does this look right? If so - I wish I could jump over the internet and kiss you right now.
     
    TatteredKing likes this.
  4. Offline

    Nohup

    That is correct and correct how you have listed it. You had me worried for a second there, I thought you wanted to where miner would get one set of all of the above and non-miner would get a different set of all of the above. THAT I don't have, but who knows it may be something to think about, just makes the config file even larger.

    From what I have read on some of the posts that have roles such as MINER they were set up like everyone can use a wooden pickaxe to the same effectiveness but only a miner of X level could use a diamond pickaxe, so something like that fits in perfectly with how this works right now.
     
  5. Offline

    mudzereli

    Yeah, sorry, my first paragraph is a bit misleading. This is excellent. Thanks!!
     
  6. Offline

    britefire

    I'm getting a strange error when i try to load the plugin after making changes to the configuration file, this is from the log.
    Code:
    Could not load plugins\DropBonus.jar in plugins: null
    org.bukkit.plugin.InvalidPluginException
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:80)
        at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:129)
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:94)
        at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:59)
        at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:204)
        at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:191)
        at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:131)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:246)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    Caused by: mapping values are not allowed here
     in "<reader>", line 1, column 25:
        bonuses:    craftchicken:        chances:            egg ...
                                ^
    
        at org.yaml.snakeyaml.scanner.ScannerImpl.fetchValue(ScannerImpl.java:745)
        at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:307)
        at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:183)
        at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(ParserImpl.java:564)
        at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:163)
        at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:148)
        at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:228)
        at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
        at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:122)
        at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:105)
        at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:124)
        at org.yaml.snakeyaml.Yaml.load(Yaml.java:264)
        at org.bukkit.util.config.Configuration.load(Configuration.java:73)
        at org.bukkit.plugin.java.JavaPlugin.initialize(JavaPlugin.java:155)
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:78)
        ... 8 more
    heres my file also, any major issues?

    Code:
    bonuses:
        craftchicken:
            chances:
                egg: 99.9
             probability: 99.9
        stone:
            chances:
                diamond_ore: .01
                lapis_ore: .01
                mossy_cobblestone: .01
                obsidian: .01
                iron_ore: .01
                gravel: .01
                dirt: .01
                coal_ore: .01
                gold_ore: .01
                redstone_ore: .01
                cobblestone: 99.9
            override: false
            tool:
                 gold_pickaxe:
                        maxcount: 5
                        chances:
                              mob_spawner: 0.4
                              diamond block: 0.3
                              gold_block: 0.5
                              fire: 0.5 1 5
                              tnt 0.6 1 3
                              sponge: 1 3 10
                              mossy_cobblestone: 3 1 5
                              iron_block: 4
                              lapis_block: 5 1 4
                              diamond_ore: 5 1 2
                              obsidian: 10 1 3
                              clay: 20 1 3
                              leaves: 20 1 10
                              glass: 25 5 10
                              glowstone: 30
                              netherrack: 30
                              soul_sand: 30
             probability: 99.9
     
  7. Offline

    Nohup

    You had a few stray spaces and were missing a colon on tnt. Here it is corrected:

    Code:
    bonuses:
        craftchicken:
            chances:
                egg: 99.9
            probability: 99.9
        stone:
            chances:
                diamond_ore: .01
                lapis_ore: .01
                mossy_cobblestone: .01
                obsidian: .01
                iron_ore: .01
                gravel: .01
                dirt: .01
                coal_ore: .01
                gold_ore: .01
                redstone_ore: .01
                cobblestone: 99.9
            override: false
            tool:
                 gold_pickaxe:
                        maxcount: 5
                        chances:
                              mob_spawner: 0.4
                              diamond block: 0.3
                              gold_block: 0.5
                              fire: 0.5 1 5
                              tnt: 0.6 1 3
                              sponge: 1 3 10
                              mossy_cobblestone: 3 1 5
                              iron_block: 4
                              lapis_block: 5 1 4
                              diamond_ore: 5 1 2
                              obsidian: 10 1 3
                              clay: 20 1 3
                              leaves: 20 1 10
                              glass: 25 5 10
                              glowstone: 30
                              netherrack: 30
                              soul_sand: 30
            probability: 99.9
    
    I know, YAML is picky :(
     
  8. Offline

    Shadow771

    Do you think you could add support for the giant mob?
     
  9. Offline

    Nohup

    craftgiant should do it already.
    --- merged: Mar 5, 2011 6:06 AM ---
    FYI - I have created a Wiki site for my plugins and updated the original post so it isn't so long!
     
  10. Offline

    mudzereli

    Okay, I started switching over. I'm having an issue. Can you take a look and tell me what I'm doing wrong?

    Code:
    bonuses:
        log:
            chances:
                log: 10
            override: true
            tool:
                wood_axe:
                    chances:
                        log: 20
                stone_axe:
                    chances:
                        log: 30
                iron_axe:
                    chances:
                        log: 40
                        apple: 1.5
                gold_axe:
                    chances:
                        log: 50
                        coal: 50
                diamond_axe:
                    chances:
                        log: 60
                        golden_apple: 0.5
            probability: 100
    Code:
    Ranger Permissions -- Inherits classless: (these work fine)
            - bonuses.log.tool.wood_axe
            - bonuses.log.tool.stone_axe
            - bonuses.log.tool.iron_axe
            - bonuses.log.tool.gold_axe
            - bonuses.log.tool.diamond_axe
    
    Classless Permission (Nothing at all drops)
            - bonuses.log.probability
    I want the "classless" permission group to have a 10% chance to get logs from logs.

    I want the "ranger" permission group to have the 10% chance + 20-60% chance to get logs from logs.

    The "classless" permission group doesn't ever get any logs from logs.

    I've tried the following:

    - bonuses.log
    - bonuses.log.* (this works but gives them EVERYTHING including tool drops)
    - bonuses.log.probability (tried this alone, doesnt seem to do anything, tried it with bonuses.log, still nothing)

    I can't tell what I'm doing wrong. Please help!

    EDIT: I was able to workaround it by using groupmanager and setting up permissions as follows:

    Code:
    Ranger Permissions -- Inherits classless:
            - bonuses.log.tool.wood_axe
            - bonuses.log.tool.stone_axe
            - bonuses.log.tool.iron_axe
            - bonuses.log.tool.gold_axe
            - bonuses.log.tool.diamond_axe
    
    Classless Permissions:
        - bonuses.log.*
        - -bonuses.log.tool.* (giving the negative tool node restricted the tool bonuses from dropping)
    I'd still appreciate if you'd let me know if there's another way to do this though.

    Thanks!
     
  11. Offline

    Malicious

    Just got it, really cool plugin. Thanks!
     
  12. Offline

    Nohup

    @mudzereli - specificity is the key I think, but I technically like the way you got it working better... If you wanted to be very specific you would have to give them the exact node, so bonuses.log.probability and bonuses.log.override and bonuses.log.chances.* for your classless and then your ranger is fine.

    Also, in my tired state last night I forgot to thank @QQCucumber and @XxZeroxX for beta-testing the iConomy pieces. THANK YOU!!!!
     
  13. Nohup: Thanks for the example regarding sheep dropping colored wool. Much appreciated !

    Keep up the good work: It looks like Your also already replacing the functionality of OtherBlocks (http://forums.bukkit.org/threads/me...at-broken-blocks-and-dead-mobs-drop-477.4072/) You are on Your way to the ultimate drop manager addon ;)

    Regarding MobControl... Yes it looks like the outhor of the plugin is busy otherwise and it's been abandoned for a week now. I'd really like to have the functionality of that addon for my family MC server...
     
  14. Offline

    TatteredKing

    Agree. This plugin really is beautifully done; the more I fiddle with it, the more impressed I get.
     
    Nohup likes this.
  15. Offline

    TheMap

    Ok im having issues with it, the monster drops don't seem to be working can you tell me what im doing wrong?
    Im using the latest recommended 493. And my permissions is all for admin and groupmanager is this.
    Code:
    Survivor:
        default: true
        permissions:
        - bonuses.*
        - essential.mail
        - essentials.compass
        - essentials.help
        - essentials.list
        - essentials.motd
        - essentials.msg
        - essentials.rules
        - essentials.spawn
        - gastronomic.player.*
        - herochat.create
    
    Code:
    craftskeleton:
            maxcount: -1
            chances:
                cake: .1 1 1
                bone: 10 1 3
                arrow: 100 1 3
                leather_leggings: 20 1 1
                leather_helmet: 20 1 1
            override: true
            probability: 100
    craftgiant:
            maxcount: -1
            chances:
                cake: .1 1 1
                diamond: 10 3 15
                arrow: 100 1 3
                diamond_leggings: 20 1 1
                diamond_helmet: 20 1 1
                diamond_chestplate: 20 1 1
                saddle: .1 1 1
            override: true
            probability: 100
    craftghast:
           maxcount: -1
           chances:
               diamond: 25 1 25
               diamond_chestplate: 25 1 1
               redstone: 25 10 25
               arrow: 100 25 50
               gold_record: 30 1 1
               sulphur: 50 2 5
           override: true
           probability: 100
     
  16. Offline

    Shadow771

    I've tried it and it doesn't seem to work. Could it be my config file? Mind checking to see if it has any errors?

    Config file:

    Code:
    bonuses:
        craftchicken:
            chances:
                egg: 100
        craftcreeper:
            chances:
                tnt: 20
        craftskeleton:
            chances:
                bone: 100
                bow: 25
                arrow: 25
        craftgiant:
            chances:
                iron: 100 1 15
                diamond_sword: 40
                diamond_pickaxe: 40
                diamond_axe: 40
                diamond_chestplate: 25
            probability: 100
        diamond_ore:
            chances:
                diamond: 25
            probability: 100
     
  17. Offline

    Nohup

    How is your bonuses node configured? You have to have consistent spacing for YAML. Here is overall how I would see it:

    Code:
    bonuses:
        craftskeleton:
            maxcount: -1
            chances:
                cake: .1 1 1
                bone: 10 1 3
                arrow: 100 1 3
                leather_leggings: 20 1 1
                leather_helmet: 20 1 1
            override: true
            probability: 100
        craftgiant:
            maxcount: -1
            chances:
                cake: .1 1 1
                diamond: 10 3 15
                arrow: 100 1 3
                diamond_leggings: 20 1 1
                diamond_helmet: 20 1 1
                diamond_chestplate: 20 1 1
                saddle: .1 1 1
            override: true
            probability: 100
        craftghast:
            maxcount: -1
            chances:
                diamond: 25 1 25
                diamond_chestplate: 25 1 1
                redstone: 25 10 25
                arrow: 100 25 50
                gold_record: 30 1 1
                sulphur: 50 2 5
            override: true
            probability: 100
     
  18. Offline

    KingofTown

    I've always wanted a pig that died in fire to drop grilled ham!!!!

    I can't seem to get this to work though :(

    here is my craftpig entry
    Code:
        craftpig:
            probability: 100
            tool:
                flint_and_steel:
                    override: true
                    chances:
                        grilled_pork: 100 1 1
    Doesn't seem to work too well. It works if I change the 'tool' to something like an iron_sword. (Though, just tested...it works if I beat a pig with a flint_and_steel)

    Is there any way in the current state to enable girlled_pork to drop on pig death by fire?!?

    Very nice work on this though. Does most things I want...and probably some things I have not thought of yet :p
     
  19. Offline

    Nohup

    eh, it is a catch-22, there was a request to only do things on player kills only. I guess I will have to add a new level of configuration for it.

    So, feedback... Should it be player only or not at each creature OR just an overall setting?
     
  20. Offline

    NEO

    Lets say i make gold ore drop a gold ore block everytime than a 20% cahnce of droping a second gold ore block.

    Whats to stop people from placing the gold ore block and repeatedly mining it getting free blocks?
     
  21. Offline

    QQCucumber

    @Nohup Are you going to be supporting damage variables sometime soon, for dropping certain colors of dyes?
     
  22. Offline

    TheMap

    That would be nice, so when daytime comes the sun burns them and they don't drop anything. In order to get a drop the players would have to physically kill them. This would be amazing if you could do it. It would stop people from being able to gather items after night when everything burns up. Im trying your suggestion now , lets see if this works.

    EDIT: It works! Thanks Nohup
     
  23. Offline

    KingofTown

    Yeah, I understand. I know your original design did not have the player kill in it. And, a new level of configuration just makes the config file that much more 'complicated'. If you were going to add it again, the default would be to only drop on player kill. I think it was correct to make it this way for things like mob grinders, daytime burnination, etc, but perhaps some servers would want this bonus regardless of who killed a mob. The coolest feature would be to add it at node level 2 so we could configure it per mob/block :)

    I'm thinking the API should register a mob dieing of fire placed by the player as a player kill...but that is something you can't change. I personally don't mind more control when it comes to a more complicated config file, but there are others that might.
     
  24. Offline

    Em0srawk

    For some reason, there hasn't been a config file generated for me :( Any chance I could have a download of one?
     
  25. Offline

    KingofTown

    It sounds like the plugin isn't actually loading. There will be a new folder in /plugins/DropBonus with a file called config.yml. You could create this empty file and copy any one of his example files from his wiki into that file. The default config does not do a whole lot (makes stone drop stone when used with diamond with a chance at dropping obsidian and make chickens drop an egg 99.9% of the time) so you are fine starting with one of the examples. If you want a lot of examples, http://www.nohupgaming.com/mcpluginwiki/pmwiki.php/Plugins/DropBonusExampleF is a good starting place.

    However, I would find out why the plugin isn't loading as this config file won't actually do anything for you :p
     
  26. Offline

    Nohup

    It's been there for a few days man, sorry I know things are getting lost in this big thread, but there is a fourth modifier on the material drop configuration to specify the data value. I have examples a bit up in this thread, but here is one I added to the wiki for it. I think that is what you are looking for :)

    @Em0srawk - Did the folder get created or did you create it manually? It is predicated on the folder NOT being there before it generates one. Any of the examples on the Wiki would get you started, but here is a nice long one.

    @TheMap - Yah, that is the way it is currently, but what is being asked for is a way to specify so I will have to see what I can come up with to be creative :) Glad the config worked for you!

    @NEO - No, this does not limit the reward based on the block being placed by a player. I don't think it would be practical to do that overall, but I could put a "cooldown" on player placed blocks if you guys thought it was needed. Say something like "if the player just placed me, I will not drop a bonus if I am broken within n seconds" and have n be an overall configuration setting.
     
  27. Offline

    QQCucumber

    @Nohup Thanks, I looked at the wiki this morning trying to see if you already added it and I couldn't find it. Don't know how I missed that.
     
  28. Offline

    Nohup

    I just added that example now, I knew I forgot an example that night but it was REALLY late when I finished. You aren't losing your mind, I am just playing Jedi mind tricks on you.
     
  29. Offline

    mudzereli

  30. Offline

    NEO

    Yes the option for cool down would be very appreciated. I have caught a good few people exploiting this on my server.
     
    mudzereli likes this.
  31. Offline

    Nohup

    will do, probably be later tonight, taking my kids to see Rango!
     

Share This Page