[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

    Yep - Wolf behavior in 1.2.x is kind of FUBAR. They use the new AI goal system, and their goals, even when angry, stay the same (and, basically, they only target folks that have attacked them - getting angry is a consequence, but once that is done, they don't attack other players). I'm looking at hacking into the AI goals - we don't have a proper Bukkit API for this yet - to give them more of a 'creeper world view' once they're angry - hopefully, I'll have something worth trying this weekend.
     
    Stuie likes this.
  3. Offline

    Stuie

    Ok - thanks for the update!! Looking forward to this.
     
  4. Offline

    Darkhand81

    I knew it! It's affecting several plugins that utilize mob targeting.
     
  5. Offline

    Mike Primm

    Yep - we're still trying to work out the best ways to deal with it, on the Bukkit side. In any case, I'll probably bang out something to make AngryWolves work properly before we get the Bukkit side all sorted out.
     
  6. Offline

    rdemanta

    For some reason, when I play on 1.2.5 wolves don't spawn in the nether. I've configured the config to spawn a quarter of the pigzombies in the nether as wolves, but none spawned.( I used 250 as the value) Then, since I saw no wolves were spawning, I used 1000 as the value so that all of the pigzombies were substituted for wolves, and still none spawned. I can't get the wolves to spawn, but there are no errors in the console. Also, when I spawn a wolf in the nether manually, the wolf isn't damaged by fire and doesn't spawn aggresive or on fire. I'm not sure whats wrong.
     
  7. Offline

    extremespancake

    Thanks! This plugin is being put to good use on my hunger games server. The angry wolves are a good substitute for 'mutts'. (mutated dogs)
     
    Mike Primm likes this.
  8. Offline

    Mike Primm

    I'll give this a look - normal angry wolves will not spawn there unless you turn off the biome checking, but hellhounds should.
     
  9. Offline

    brethrend

    Where exactly do I get the AngryWolves.jar i'm only getting the bin folder.
     
  10. Offline

    Mike Primm

    Download the ZIP in the link, unzip it.
     
  11. Offline

    Pazzo799

    This is cool!
    you should make hellhounds red and wolves turn into hellhounds when struck by lightning.
     
  12. Offline

    Archarin

    What about making some villager change into werewolfs at night?
     
  13. Offline

    Mike Primm

    I LIKE IT!
     
  14. Offline

    Mike Primm

    OK - just released 1.2. Includes both option for 'werewolves' (villagers that become angry wolves during the night of the full moon, and return to normal in the morning), and for angry wolves to hunt villagers (be careful with this one!).
     
  15. Offline

    chuck4100

    mc 1.7 update?
     
  16. Offline

    Mike Primm

Share This Page