[MECH/FUN] AngryWolves v1.9 - Randomly spawn aggressive wolves, Hellhounds! [1.7.2-R0.2+]

Discussion in 'Archived: Plugin Releases' started by Mike Primm, Apr 4, 2011.

  1. Offline

    Mike Primm

    AngryWolves - Randomly spawn aggressive wolves, now with Hellhounds!
    Version: v1.9
    Verified on 1.7.2-R0.2

    This plugin offers the option to have some (or even all) wolves that spawn be already angry. In addition, angry wolves can be substituted for a portion of the normal monster spawns, but (optionally) only in appropriate biomes and on appropriate terrain. Both of these options can be enabled at the same time (or individually, as before), and individually configured. Wolves can also be configured to have loot drops.

    A portion of angry wolf spawns can, optionally, be made to be Hellhounds! Hellhounds are flaming, fire-proof angry wolves - which mostly makes them look a whole lot cooler :). Unlike regular angry wolves, though, they can spawn in The Nether.

    Settings are controlled at three tiers - global, world-specific and polygon-defined areas within specific worlds. In all cases, the settings of the more specific tier, if defined, override those of the higher tiers (area supersedes world, which supersedes global settings).

    The settings file includes the following attributes:
    • spawn-anger-rate - Percentage of normal wolf spawns that appear as angry wolves. Disabled if zero.
    • mob-to-wolf-rate - Ten times the percentage of monster spawns (zombie,creeper,skeleton,spider) are replaced by angry wolves (e.g. 50 = 5%, 1000=100%). Disabled if zero.
    • spawnmsg - optional message to broadcast to all players in world where an angry wolf has spawned, due to either method (limited to once per 60 seconds per world). Color codes can be included using &0-&F format (similar to Essentials).
    • spawnmsgradius - optional parameter that, if set above zero, limits the sending of the 'spawnmsg' to players within the provided number of blocks of the spawn event
    • creeper-to-wolf-rate, skeleton-to-wolf-rate, zombie-to-wolf-rate, spider-to-wolf-rate - when defined, these values override the mob-to-wolf-rate for the corresponding mob type (e.g. creeper-to-wolf-rate, if set, will define the rate (in tenths of a percent) of creeper spawns that are replaced with angry wolves)
    • mobtowolf-ignore-terrain - when defined and set to 'true', this option removes the biome and terrain restriction on mob-to-wolf spawn replacements - angry wolves can replace spawns in any biome or terrain when this is set.
    • wolf-loot-rate - when defined, this integer is the percentage chance that a dying wolf drops loot (default is 0)
    • wolf-loot - when defined, this integer list is the set of one or more item IDs to be picked from randomly when determining a wolf's loot drop. Duplicate IDs are allowed, and makes the given item more likely to drop (default is [ 344 ], leather).
    • pigzombie-to-wolf-rate - when defined, this value overrides the mob-to-wolf-rate for the pig-zombie spawns, and sets the rate (in tenths of a percent) that pig-zombies will spawn as angry wolves instead. Angry wolf spawns in The Nether are always Hellhounds.
    • hellhound-rate - when defined, this value indicates the percentage of angry wolves that are Hellhounds (flaming, fire-proof angry wolves).
    • wolf-xp - when defined, the number of experience orbs dropped for kills of normal wolves
    • angry-wolf-xp - when defined, the number of experience orbs dropped for kills of angry wolves
    • hellhound-xp - when defined, the number of experience orbs dropped for kills of hellhounds
    • hellhound-fireball-rate - when defined and above 0, this is the number of seconds between fireballs hurled by hellhounds (default= 0, no fireballs)
    • hellhound-fireball-range - when defined, range of hellhound fireballs
    • hellhound-fireball-incendiary - when defined and set to true, hellhound fireballs can cause fires
    • mob-to-wild-wolf-rate - when defined, rate at which monster mobs are replaced by normal (wild) wolves, in tenths of a percent (e.g. 100 = 10%).
    • pup-on-sheep-kill-rate - when defined, rate at which wolf pups are spawned when a wolf eats a sheep (in percent)
    • villager-werewolf-rate - decimal percentage of villagers that become Angry Wolves during the full moon (they return to normal at the end of the night) (new to 1.2)
    • angrywolf-hunts-villagers - boolean that, if true, causes Angry Wolves to hunt villagers (like Zombies do) (new to 1.2)
    In addition, you can configure a "full moon" night - one night out of every N (where N is the setting for the days-between-fullmoons attribute), 'anger-rate-fullmoon' percent of the untamed wolves will become angry. At the end of that night, all angry wolves (even ones angry before the night started) will revert to normal. The attribute for this include:
    • days-between-fullmoons - if non-zero, the number of daytime periods between 'full moon' nights (e.g. 1 = every night, default is 8, setting to zero disables the feature). Note: unlike other attributes, this attribute can only be defined at the world and global level - no area-specific full moon cycles! Setting this to 8 will result in the lunar cycle matching the MC 1.0.0 lunar cycle.
    • 'anger-rate-fullmoon' - the percentage of already-spawned wild wolves that turn angry at the start of the 'full moon' night (if zero, feature is disabled). Note: tamed wolves are unaffected.
    • 'fullmoonmsg' - optional broadcast message sent at the start of each 'full moon' night. Color codes can be included using &0-&F format (similar to Essentials).
    • 'fullmoon-mob-to-wolf-rate' - if set, this is the 'mob-to-wolf-rate' used during 'full moon' nights - choose to spawn more angry wolves during the full moon!
    • 'fullmoon-stay-angry-rate' - if set, this is the percentage of angry wolves that stay angry at the end of a full moon night (default is 0%)
    The "wolves in sheep's clothing" option is also available. Disabled by default, the option allows for a probability that a sheep, when damaged by a player, turns out to be an angry wolf in disguise. This feature is controlled with the following attributes:
    • wolf-in-sheep-rate: chance that a sheep is an angry wolf in disguise (in tenths of a percent). Default is zero (disabled).
    • wolf-in-sheep-msg: message sent to player that damaged the wolf-in-sheep's-clothing. Color codes can be included using &0-&F format (similar to Essentials).
    The "wolf-friends" feature is also available. This is a Permissions based privilege that, when granted to a user, makes them not be attacked or targeted by angry wolves. This feature is controlled (globally, per-world, or per-area) with the following attribute:
    • wolf-friends: if set to true, the 'angrywolves.wolf-friend' permission is enabled, and players with that permission will not be attacked or targetted by angry wolves. Note: if enabled on a per-area level, the location of the PLAYER determines if the friend permission will prevent attack.
    Permissions 2.7.x or later has been tested. Without Permissions, Bukkit Permissions ('Superperms') will be used instead.

    To install, simply copy the AngryWolves.jar to your plugin directory and start CraftBukkit normally. A sample configuration file, config.yml, will be created in the AngryWolves subdirectory.

    Features:
    • Multi-world support
    • Global settings, per-world settings, and per-area settings
    • Set percentage of wolves that spawn already angry (spawn-anger-rate > 0)
    • Set percentage (x10) of monster spawns to replace with angry wolves (mob-to-wolf-rate > 0)
    • When replacing monster spawns, will only do so in forest and tiaga biomes, and only when spawn is over grass terrain. mobtospawn-ignore-terrain can be used to disable this restriction.
    • Optional world-level broadcast messages when an angry wolf is spawned
    • Optional "full moon" nights - one night out of every N days-between-fullmoons, a settable fraction of all wild wolves go angry for the night, but return to normal in the morning.
    • Optional "wolf-in-sheep's-clothing" - settable probability that a sheep damaged by a player turns out to be an angry wolf in disguise!
    • Optional "wolf-friends" privilege - if enabled, players with the 'angrywolves.wolf-friend' privilege, via Permissions or GroupManager, will not be attacked or targetted by angry wolves.
    • Optional spawn message radius, to limit which players are warned if an angry wolf spawns and a 'spawnmsg' has been defined.
    • Option polygon-defined areas within each world that can have their own settings (defined as list of 2-D coordinates - 2 for rectangle, 3+ for polygon).
    • Optional mob-type-specific mob-to-wolf rates, allowing the rate of mobs being replaced by angry wolves to be set for each mob type (spiders, skeletons, zombies, creepers - and pig-zombies)
    • Optional loot drops from wolves - controlled rate (using wolf-loot-rate), and list of item IDs to be randomly picked from (using wolf-loot). Option for angry wolf specific loot and loot drops (using angry-wolf-loot-rate and angry-wolf-loot, respectively). Option for Hellhound specific loot and loot drops (using hellhound-loot-rate and hellhound-loot, respectively).
    • Option for a settable percentage of angry wolves to be flaming Hellhounds (using hellhound-rate)
    • Option to set different mob-to-wolf rate during full moons, using fullmoon-mob-to-wolf-rate setting (percentage x10, like mob-to-wolf-rate). Also, optional settable rate that angry wolves stay angry at end of full moon (in percent - default 0).
    • angrywolf-health and hellhound-health settings, which control the initial health of these spawns - used to make them less wimpy than normal wild wolves!
    • hellhound-damagescale - allows damage received by Hellhounds to be reduced (it is multiplied by this settings, so making it below 1.0 reduces damage).
    • angrywolf-pop-limit - allows limit on total population of Angry Wolves and Hellhounds on your server (mob-to-spawn sidesteps the normal spawn population limits).
    • Enable hellhounds to attack with fireballs (at settable range and rate) that do (or don't) cause fires
    • Configure normal wolves, angry wolves, and hellhounds to drop experience orbs
    • Add options to make normal wolves more common - mob-to-wild-wolf-rate (like mob-to-wolf-rate, but it causes normal 'wild' wolves), and pup-on-sheep-kill-rate (percent chance of getting a wolf puppy when a wolf eats a sheep)
    • Color codes can be included using &0-&F format (similar to Essentials) in any custom message.
    • (new to 1.2) Optional rate for villagers to become werewolves (Angry Wolves) on full moons - which revert back to villagers in the morning
    • (new to 1.2) Option for Angry Wolves to hunt villagers (like Zombies do)
    Download AngryWolves ZIP from HERE. Unzip in plugins directory to install.

    Source Code on GIT is https://github.com/mikeprimm/AngryWolves

    Change Log:

    Version 1.9:
    • Update to work on v1.7.2 (Will no longer work on v1.6.2 or earlier)
    Version 1.7:
    • Update to work on v1.6.2 (Will no longer work on v1.6.1 or earlier)
    Version 1.6:
    • Update to work on v1.6.1 (Will no longer work on v1.5.2 or earlier)
    Version 1.5:
    • Update to work on v1.5.2 (Will no longer work on v1.5.1 or earlier)
    Version 1.4:
    • Updated to work on v1.5.1 (Note: will no longer work on v1.4.7 or earler)
    • Fix error with setting wolf health
    Version 1.3:
    • Updated to work with v1.4.7 (Bukkit package breaks...)
    • Added wolf howl when wolf spawns angry
    Version 1.2:
    • Add 'villager-werewolf-rate' setting - allows settable rate for villagers to become Angry Wolves during full moon
    • Add 'angrywolf-hunts-villagers' setting - if true, Angry Wolves will hunt villagers like Zombies do
    • Add mcstats.org usage tracking
    Version 1.1:
    • Fix problem caused by arbitrary, unnecessary CB 1.3.1 Biome change....
    Version 1.0.3:
    • Make wolves angry again - workaround lame CB/Vanilla v1.2 wolf behavior - Angry Wolves are back to attacking anyone they find, versus just folks that attack them!
    Version 1.0.2:
    • Updated to 1.2.4-R1.0
    Version 1.0.1:
    • More 1.1-R5 prep (more 1.1-R5 READY)
    Version 1.0.0:
    • Update to 1.1 event model (1.1-R5 READY)
    Version 0.9.5:
    • Update for new 1.1 biomes - support wolf-friendly biomes, FOREST_HILLS and TAIGA_HILLS
    Show Spoiler

    Version 0.9.4:
    • Add color code support for custom messages (using &0 to &F format codes)
    • Prevent spawning of non-hellhounds in nether
    • Migrate configuration file to config.yml
    Version 0.9.3:
    • Make default month length 8 days (matches Bukkit/Minecraft lunar cycle)
    • Adjust day-of-month calculation so that 8 day month results in full moon matching Mineacraft moon
    Version 0.9.2:
    • Fix inaccurate version number reported by 0.9 and 0.9.1 (was still 0.8.7)
    • Defend against bogus/broken Permissions plugin causing exception
    Version 0.9.1:
    • Fix typo in default angrywolf-pop-limit attribute
    Version 0.9:
    • Add Hellhounds-With-Frickin-Fireballs options!
    • Add Experience Orb options for all wolf types
    • Add normal wolf population aides - mob-to-wild-wolf-rate
    • Add optional chance of wolf pup when a wolf eats a sheep
    Version 0.8.7:
    • Prevent exceptions in 1.0.0 CB builds (null creature type in spawn events, health limit exceptions on wolves)
    Version 0.8.6:
    • angrywolf-health and hellhound-health settings, which control the initial health of these spawns - used to make them less wimpy than normal wild wolves!
    • hellhound-damagescale - allows damage received by Hellhounds to be reduced (it is multiplied by this settings, so making it below 1.0 reduces damage).
    • angrywolf-pop-limit - allows limit on total population of Angry Wolves and Hellhounds on your server (mob-to-spawn sidesteps the normal spawn population limits).
    Version 0.8.5
    • Add angry wolf and hellhound specific loot and loot rates (angry-wolf-loot, angry-wolf-loot-rate; hellhound-loot, hellhound-loot-rate)
    • Add full-moon specific mob-to-wolf-rate (fullmoon-mob-to-wolf-rate), to alter mob-to-wolf replacements during full moon nights
    • Add optional rate for angry wolves to stay angry at end of full moon (fullmoon-stay-angry-rate).
    • Fix Hellhounds becoming not angry at end of full moon.
    Version 0.8
    • Add support for Hellhounds (flaming, fireproof angry wolves)
    • Add support for pig-zombie-to-wolf-rate (substituting pig-zombies with Hellhounds)
    Version 0.7
    • Add support for wolf loot drops
    Version 0.6
    • Add support for mob-type-specific mob-to-wolf replacement rates
    • Add option to not restrict mob-to-wolf replacements to wolf-appropriate biomes and terrain
    • Fix problem with blank chat messages being send when corresponding optional messages were not set
    Version 0.5.1
    • Preliminary support for v1.5 (CB709) along with v1.4 (CB684)
    Version 0.5
    • Added rectangular or polygon defined areas, allowing angry wolf settings to be defined distinctively on different parts of a given world
    • Added optional spawn message radius, to limit spawn notifications to players within a provided distance of an angry wolf spawn event, if a spawn message has been defined.
    Version 0.4
    • Added "angrywolves.wolf-friend" privilege, via Permissions 2.5.4+ or GroupManager 1.0-alpha-3+, to prevent angry wolves from attacking players with the privilege.
    Version 0.3.1
    • Minor fix for problem with wolves reverting to normal at end of full moon on CB670
    Version 0.3
    • Add "wolf-in-sheep's clothing" option
    Version 0.2.1
    • Fixed problem with 'full moons' making tamed wolves go angry
    Version 0.2
    • Reformat configuration file
    • Allow both spawn-angry and replace-mobs-with-angry-wolf options to be used at the same time
    • Add 'full moon' nights, where even more wolves can become angry, but then to return to normal in the morning.
    Version 0.1
    • Initial release

    Known Issues:
    • None
    Planned Features:
    • Weapon immunity for Hellhounds: Configurable to be damaged only by certain materials.
    • Configurable spawning biomes and rates per biome
    • Configure spawn drop per biome
    • Angry wolves only spawn in Tiaga and Swampland, Normal Wolves spawn in Forest
    • AngrySquids?
    • Add some wolf management commands, including in-game creation of areas
    • Other spawn population controls
    Other Wolf Plugins:
     
  2. Offline

    Mike Primm

    Sounds good - added to my to-do list.
     
  3. Offline

    KimKandor

    Also, could you allow hooks for ecoCreature to handle rewards, or even other plugins like mobbounty? Would be pretty cool to have these working together. Fun plugin, thanks for releasing it, love the messages it gives lol .
     
  4. Offline

    Mike Primm

    I'll look into those - thanks for the suggestion!
     
  5. Offline

    Sphax

    Would it be possible to extand this mod so that we would be able to replace Creeper or anything else by Angry-PigZombie for example ? :)

    Or another mod maybe ? :p

    (replace any mob by any mob AND set the newly spawned mob as angry or peace)
     
  6. Offline

    Mike Primm

    Think it sounds like fun - I'll probably do it in this mod, since it'll make it easier to coordinate the substitution (don't want one replace one thing with another, and then the other second guessing it :) ).
     
  7. Offline

    Sphax

    I don't understand your parenthesis but if you make it possible to replace a mob by a another defined peacefull/angry mob, you'll make my day. :p

    For example, I would like :
    nether : make all pig-zombie angry
    1st world : replace 50% creepers by angry wolves and make all the wolves angry at fullmoon
    2nd world : replace creepers and spiders by angry-pig-zombie

    Currently, I have the 1st world as I want but I can't have my nether and my 2nd world as I would. :)
     
  8. Offline

    Mike Primm

    Just released v0.7 - this added support for configurable loot drops for wolves. The wolf-loot-rate variable controls the percentage chance that a dying wolf drops loot, and the wolf-loot variable provides a list of item IDs that will be randomly picked from to determine the item dropped.
     
  9. Offline

    Zothen

    Our players hate this plugin - especially the wolves in sheep's disguise! And I had so much laughs from their replies (favorite: "omg, not again...") that I will NEVER remove that mod! Its just awesome!
    Keep up the good work and thank you very, very much! =)
     
    Mike Primm likes this.
  10. Offline

    Mike Primm

    Just released v0.8 - sorry for the long delay, but I've been REALLY busy working on Dynmap the last month or so.

    In any case, this new release adds something fun - what I'm calling Hellhounds. Basically, Hellhounds are angry wolves that are continuously on fire, but are fire and lava-proof - they look pretty cool, IMHO. The percentage of angry wolves that are made Hellhounds is controlled using the new hellhound-rate attribute.

    Along with this, there is now a pigzombie-to-wolf-rate control, allowing pig-zombie spawns in The Nether to be replaced with Hellhounds (only Hellhounds will spawn in the Nether, independent of the hellhound-rate setting).

    Hope you guys enjoy the update!
     
  11. Offline

    Alakutevainen

    It seems that Hellhounds are so angry they are consumed by their anger, fire & lava protections aren't working and they just burn up. This may be a plugin conflict but I have not installed (to my knowledge) anything related to fire-proofing etc. and there are no error codes. It also happens both in multiverse-nether and 1.6-nether.

    I'll check further and post my findings within this weekend.

    EDIT: It was a plugin conflict, apparently old version of DiscoSheep did not want wolves to exist :D

    Great plugin!
     
  12. Offline

    Zothen

    Works with CB 953!

    Congrats to the hellhounds! Our players still hate the angry wolves with passion ("Oh not again, a wolf in sheepclothes..."), but nobody requested to remove the plugin! Isnt that fantastic? Still my favorite fun-plugin around!
    Keep up the good work!

    PS: A few days ago I started a new singleplayer game and Ive avoided to punsh sheeps... it lasted a while till I noticed that Im so used to Wolf-in-sheep-disguise=20 that I coundnt distinct between SP and MP, hehe!
     
  13. Offline

    Mike Primm

    Thanks! If you have any ideas or suggestions on the plugin, please let me know!
     
  14. Offline

    Zothen

    Well, if you ask about suggestions - how about the dark brother to your fantastic plugin: AngrySquids! The native ones are nearly as boring as the wolves and could really need a spice up! =)
     
  15. Offline

    Mike Primm

    I LIKE IT!!! BWHAHAHA!
     
  16. Suggestions:
    1. Weapon immunity for Netherhounds (Hellhounds): Configurable to be damaged only by certain materials.
    2. Separate loot drops for Wolves, Angry Wolves, and Netherhounds.
    3. Configurable spawning biomes and rates per biome:
    3a. Configure spawn drop per biome
    Angry wolves only spawn in Tiaga and Swampland, Normal Wolves spawn in Forest

    Code:
    worlds:
      - name: world
        - Taiga Spawn
           spawn-anger-rate: 100
           hellhound-rate: 10
           angry-wolf-loot: [ 334, 352, 319 ]
           hellhound-loot:
           wolf-loot:
        - Forest Spawn
           spawn-anger-rate: 0
           hellhound-rate: 0
           angry-wolf-loot: [ 334, 352, 319 ]
           hellhound-loot:
           wolf-loot:
    
     
  17. Offline

    Mike Primm

    All good stuff - added to the list!
     
  18. Offline

    compgurusteve

    I'm a bit confused at the .yml are the rate on a tenths of a percentage rate or a regular rate or a mixture of both?
     
  19. Offline

    Mike Primm

    If you look at the original post (at the top of the thread), it details when it is one versus the other. The best pattern I can say is that tenths of a percent are used for the rates of one type of spawn becoming an angry wolf (mob X becoming a wolf, sheep becoming wolves), which most folks want to be small, and others are percent (anger rates, drop rates). If I did it all again, I'd just use floating point values for everything.
     
  20. Offline

    compgurusteve

    So which is more accurate to follow? The post on the forum or the notes in the .yml? Both say something's different.
     
  21. Offline

    Mike Primm

    Really? OK - lemme get them cleaned up to be proper - the post will be the thing updated first. Sorry about that!

    EDIIT: Post updated - didn't see any overt inconsistencies, but I added some clarification. Which attributes did you see inconsistent definitions between the OP and the default configuration file comments?
     
  22. For some reason my world 'world' occasionally spawns Hellhounds. Any idea what's up with that?

    My Config (open)

    worlds:
    - name: world
    spawn-anger-rate: 50
    - name: world_nether
    spawn-anger-rate: 1000
    mob-to-wolf-rate: 300
    mobtowolf-ignore-terrain: true
    - name: Nightworld
    spawn-anger-rate: 750
    mob-to-wolf-rate: 10
    hellhound-rate: 500


    Neeeeeevermind... >.> Forgot to set the hellhound-rate in world.
     
  23. Offline

    Zothen

    Hello, is there anything in the plugin that spams "**GORE**" in green into the chat? I have that since a while and cant find out from which plugin.
    thx
     
  24. Offline

    Mike Primm

    Interesting question, but no, my code doesn't contain any use of the word GORE :)
     
  25. Offline

    Zothen

    Must be mcmmo then. thx. contiueing on the hunt for "gore" =)
    Btw, where are the AngrySquids, eh?
     
  26. Offline

    Mike Primm

    I need to do some experimentation - I've got some ideas on how to make it work :) Dynmap has been consuming me for the last couple of weeks (I mean working until 2am every night on it) - but, I'm just about through with the high definition renderer and texture pack support over there, so I'm hoping to take a breather there for at least a few days to work on some other projects I've been neglecting :) .
     
  27. Offline

    Semirotta

    photo or video of the nether wolves? :O
     
  28. Offline

    msw1

    Can you please make it configurable what hellhounds drop.
     
  29. Offline

    raught19

    No matter what I set my variables to, Wolves just don't really spawn. They do, but its extremely, extremely rare. and I have my mob-rate-spawn at 100k... I've tried a huge variety of numbers. always very uncommon.
     
  30. Offline

    Mike Primm

    Please post your configuration file - I'll take a look.
     
  31. Offline

    raught19

    I just got it fixed. It seems, I had a tab somewhere hidden in there. when I found the little sucker it fixed it. Sorry haha.

    Its all good! :D Great plugin, it works fantastic with the werewolves in Supernaturals! :D
     

Share This Page