Commit graph

1736 commits

Author SHA1 Message Date
Carbogen
08165edeb1 Fixed bug with MetalClips and misc errors. (#869)
## Errors and bugs corrected
* A `ClassCastException` in `PKListener.java:onEntityDamageEvent()` would occur when a non-Living Entity took damage.
* Ingots on the ground would disappear when their `ItemStack` merged with MetalClips', and the latter is removed upon colliding with an Entity.

## Improvements made
* A small vertical push was given to items affected by the *magnetize* functionality of MetalClips, so that they no longer get stuck when being pulled upwards.

## Other changes
* Added a `gitignore` entry to omit IntelliJ's out/ directory, which contains compiled code.
2017-12-19 16:08:31 -08:00
Christopher Martin
102112ffdd 1.8.6 (#825)
## Fixes
* Fixed Combos and possibly Passives appearing in `/pk b <Ability>` auto-tabbing.
* Fixed Combos not loading properly on certain servers.
* Fixed issue with `PreciousStones` by updating to the latest version to resolve API change issues.
* Fixed `RapidPunch` damage.
* Fixed incorrect summation of chiblocking chance.
* Fixed possible issue in PKListener#onPlayerInteraction()
* Fixed `Earth.LavaSound`.
* Fixed Chi attempting to chiblock targets with any move.
* Fixed hitting an entity with `TempArmor` not ignoring armor.
* Fixed `Immobilize` config path.

## Additions
* Added "Contributing" section to the `README` to help guide active community members.
* Added more detail to the `PULL_REQUEST_TEMPLATE` to allow for more uniform pull requests. 
* Added many new blocks to our ability block interaction.
* Added check to combo collisions to discard dead entities.
* Added functionality to allow chiblocking abilities to affect all entities.
* Added exception handling to the configurable `Sound` options to prevent `IllegalArgumentExcpetions`.
* Added sounds and `ActionBar` messages to being Bloodbent, Electrocuted, Immobilized, MetalClipped, and Paralyzed. (Abilities: `Bloodbending`, `Lightning`, `Immobilize`, `MetalClips`, and `Paralyze`)
* Added sound and `ActionBar` message for being Chiblocked.
* Added interval config option to `RapidPunch`. (time between each punch)

## API Changes
* Updated to `Spigot 1.12.1`.
    * Confirmed to be backward compatible with `Spigot 1.12` and `Spigot 1.11.2`.
* Renamed `ElementalAbility#getTransparentMaterial()` to `ElementalAbility#getTransparentMaterials()`.
* Converted most `byte`/`int` dependent `Material` logic to use `Material` instead. 
    * `ElementalAbility#getTransparentMaterialSet()` now returns a `HashSet<Material>` instead of a `HashSet<Byte>`.
    * `ElementalAbility#getTransparentMaterials()` and `GeneralMethods.NON_OPAQUE` now return `Material[]` instead of `Integer[]`.
    * `GeneralMethods#getTargetedLocation()` now takes a `varargs Material[]` instead of a `varargs Integer[]`.
* Removed `ElementalAbility.TRANSPARENT_MATERIAL`. It was outdated and became irrelevent after `GeneralMethods.NON_OPAQUE` was updated.
* Removed `Java 7` Travi-CI  JDK check.
* Updated `pom.xml` to build in `Java 8`.
* Added new `MovementHandler` utility class to control entity movement. (currently only capable of stopping movement.
2017-08-06 00:18:12 -07:00
Christopher Martin
0ab240cd93 1.8.5 (#813)
## Fixes

* Fixed odd interactions between `Bloodbending` and `AvatarState`.
  * You can no longer be bloodbent while in `AvatarState` and going into the `AvatarState` while being bloodbent will break you free.
* Fixed various errors in `Bloodbending`.
* Fixed `SubElements` being saved incorrectly in the database.
* Fixed a few cases where `Surge` would cause flooding.
* Fixed various NoCheatPlus exemptions in our `DamageHandler`. (Thanks, RoboMWM)
* Fixed ProjectKorra fire tick damage overriding other plugins fire tick damage.
* Fixed `FireSpin` working underwater.
* Fixed `EarthArmor` not properly obeying its cooldown.
* Fixed `Combo Abilities` being displayed in `/pk display <Element>`.
* Fixed `Extraction` cooldown being applied when the ability couldn't start.
* Fixed `EarthTunnel` cooldown being applied when the ability couldn't start.
* Fixed `IceSpike` field functionality not activating on `PhaseChange` blocks.
* Fixed `FireWheel` hit location if used while looking down.
* Fixed `Lightning` paralyze functionality.
* Fixed `DensityShift` causing fall damage if used on other `DensityShift` blocks.
* Fixed `Flight` cooldown being applied when the ability couldn't start.
* Fixed `Flight` deactivating if used while on the ground.
* Fixed `RapidPunch` cooldown being applied when the ability couldn't start.
* Fixed `WaterArms` not returning water sources to bottles.
* Fixed `WaterArms` not grabbing sources correctly.
* Fixed `CollisionManager` attempting to detect collisions between abilities in different worlds. (Thanks, plushmonkey)
* Fixed `CollisionManager` not resetting when a new manager is created.
* Fixed `JetBlaze` and `JetBlast` not overriding `FireJet` duration.
* Fixed `PhaseChange` not being able to melt snow blocks.
* Fixed `FastSwim` being able to be used on a `Catapult` slot.
* Fixed `FireManipulation` cooldown.
* Fixed `Collapse` and `RaiseEarth`not working in `AvatarState`.
* Fixed Waterbending causing concrete powder to harden.
* Fixed `MetalClips` magnetize not pulling iron ingots if players had them in their hand.
* Fixed `MetalClips` not disabling passives such as `FastSwim` on its targets.
* Fixed `MetalClips` armor absorbing damage.
* Fixed `MetalClips` magnetize not pulling if the launching portion of the move is on cooldown.
* Fixed `MetalClips` not dropping iron ingots once a held target is killed.
* Fixed `MetalClips` duplicating iron ingots by repeatedly hitting and pulling entities.
* Fixed `MetalClips` duplicating iron ingots by hitting blocks. 
* Fixed addon Passive abilities not registering.
* Fixed `/pk help <Element>` displaying incorrect/old links.
* Fixed `/pk help <Element/Combo>` being case sensitive.
* Fixed `/pk help` not allowing players to auto tab all non-hidden abilities.
* Fixed `IllegalArgumentException` being thrown if server owners put an incorrect `ChatColor` for the `Chat.Branding.Color` value in `language.yml`.
* Fixed `EarthArmor` allowing players to use `FastSwim` while the armor is activated.
* Fixed incorrect cancellation of `BlockBreakEvent` when players bending is toggled off.
* Fixed multiple instances of the same `CoreAbility` being present in auto tabbing due to certain move functionalities being split up between files.
* Fixed Passive abilities and Combo abilities showing up in `/pk bind <Ability>` auto tabbing.
* Fixed `WaterWave` and `WaterSpout` cohesive movement.
* Fixed `DamageHandler` applying `DamageModifier.ARMOR` where it is not applicable.
* Fixed `/pk check` command URL.
* Fixed Passive abilities breaking when choosing an element while bending is toggled.
* Fixed `WaterBubble` removing blocks placed by players while the ability is active.
* Fixed potential infinite loop in `EarthGrab`.
* Fixed `AirScooter` not disabling when a player would sneak.

## Additions

* Added cooldown capability to `AirShield`, `AirSpout`, `Tornado`, `FastSwim`, `WaterBubble`, `EarthTunnel`, `AcrobaticStance`, and `WarriorStance`.
* Added the clickable ProjectKorra branding message to the `/pk help` and `/pk who` commands.
* Added `radius` config option to `EarthGrab`.
* Added AvatarState configuration options for `IceSpike`, `IceBlast`, `Torrent`, `OctopusForm`, `WallOfFire`, `WaterSpout`, and all stock Combos.
* Added aesthetic donation perk servers can give to their players in the `/pk who <Player>` command via the `bending.donor` permission.
* Added config option for the lightning bending sound and lava bending sound.
* Added `Pitch` and `Volume` config options for all configurable sounds.
* Added identifiers on Addon Abilities in `/pk help <Ability>` and `/pk display`.

## General Changes

* Reduced default config values of `AvatarState` ability modifiers.
* Changed the way abilities display in `/pk help <Ability>`
     * Abilities now display whether they are Addons or not.
     * Abilities now display whether they are Combos or Passives.
     * Addon Abilities display their author and version.
* Improved `AirScooter` behavior. It isn't perfect yet, but it is better.
* Changed `EarthArmor` so it now breaks when a player teleports.
* Changed cobblestone and obsidian created by `AirBlast` to `TempBlocks`.
* Changed `/pk add Avatar` to add all four main elements.

## API Changes

* Added `RevertTask` which runs whenever `TempBlock#revertBlock()` is called.
* Moved `BendingPlayer` creation to a separate thread.
* Changed initial `BendingPlayer` database storage to insert default values.
* Improved `CollisionManager` performance by removing unnecessary detections.
* Put logic in place to remove ability instances causing exceptions without breaking all other running abilities. (Thanks, PhanaticD)
* Changed `PassiveManager` storage so Passive abilities are be stored by name/class instead of by `Element`.
* Removed `PassiveManager#getPassivesByElement()`.
* Added `CoreAbility#unloadAbility(Class clazz)` to unload an ability from a server.
* Added `CoreAbility#getAddonPlugins()` to get the names and paths of all currently loaded addon plugins. Returned format: `<plugin name>::<abilities path>`
* Changed `/pk reload` to add support for addon plugin reloading.

## Removals

* Removed the Minecraft version from the `/pk version` command.
* Removed `SandSpout`.
* Removed `SandRun` remnant from `EarthPassive`.
* Removed `AirBlast` collisions with other basic moves.
2017-08-03 21:54:22 -07:00
Christopher Martin
0b1bd99bbf 1.8.4 (#769)
* Fix OctopusForm (#734)

* Reload changes

* Catapult Fixes

* Catapult Adjustment

* Changes

* OctopusForm fix

* Attribute System + FireBlast example (#735)

* Attribute System + FireBlast example

* Removed PK jar 😃 💃

* Fixes Chi Descriptions/Instructions, Removes Fire Passive (#737)

* Fixes missing Chi ability descriptions and instructions

https://trello.com/c/3vto7SEn/734-re-add-paralyze-and-rapidpunch-descrip
tions-and-instructions

* Removes FirePassive

Was discussed in CD chat
https://trello.com/c/skKfHiwR/733-convert-firebending-passive-to-the-new
-passive-system

* Change Octoform freezing (#741)

* Reload changes

* Catapult Fixes

* Catapult Adjustment

* Changes

* OctopusForm fix

* Change Octoform Freezing

* Revert "Change Octoform Freezing"

This reverts commit d5745fe3171b0e24682631889322d81f153d73bd.

* Revert "Revert "Change Octoform Freezing""

This reverts commit 9a91730e0fec7c428f619ffca14e4ea467298b37.

* Changed attributes to use plain reflection rather than annotations (#743)

* should fix some issues with octopusform (#742)

when this .remove() is called nothing has happened with this instance, so the old tempblocks/phasechange never actually get removed, and we get nullpointers trying to remove the ones for this instance since they were never even created

* Fixed external elements, subelements and abilities not loading (#745)

Due to plugins that depend on ProjectKorra loading in AFTER pk, when a
BendingPlayer object is created, all the external elements, subelements
or abilities they may have are lost because they are caught in the null
checks.
To work around this, we will continuously loop every second for 30
seconds until the request times out. If any elements/abilities the user
has haven't loaded in, in that time (the side plugin has taken longer
than 30 seconds to load), then it will time out and report it in the
console.

* New Attribute System (#746)

• New Attribute System (WIP)
• Fields should now be marked with @Attribute(Attribute.DAMAGE) or
whatever the relevant attribute is.
• If the Attribute you want is not there, you can provide a string
instead
• At runtime, these Attributes can be changed with
Attributes.modify(ability/element, attribute, modifier)
• Air and Chi have all been marked with @Attribute annotations
• Updated Particlelib - Fixed bug with dragonbreath and endRod particles
being wrong. AND added new 1.11 particles.

* Adding blocks to the world async is not allowed (#744)

* Wip (#748)

* Fixed *abilitis* typo in Shockwave description

* fixed: WaterSpout not working on PACKED_ICE - cause was looking for nonexistent config boolean, instead of at Properties.Water.IceBlocks list

* Plant block removal and /b add all feature (#749)

* Fixed *abilitis* typo in Shockwave description

* fixed: WaterSpout not working on PACKED_ICE - cause was looking for nonexistent config boolean, instead of at Properties.Water.IceBlocks list

* Fixed: Surge and WaterArms not removing plant block

* New Feature: /bend add all [player]

* fixed passives not enabling on /bend toggle all (#751)

* fixed passives not enabling on /bend toggle all

* Correct/Update comment to act as a TODO note.

* Fix spectator target (#753)

* Don't target spectators

* Remove debug code

- Remove stick debug code that was causing a NullPointerException.

* Change block set order when moving earth (#754)

- Set the source block to air after setting the target block to the new
  type. This will eliminate temporary holes, which minimizes major lighting
  updates.

* Fix exceptions (#752)

* Fix world check when sending particles

- Check by World reference rather than string name comparison. The following
  Location distanceSquared call will throw an exception if the World names
  are the same but references aren't.

* Fix several exceptions

- Destroy LavaFlow instance when the Player leaves the World.
- Destroy Torrent instance when the Player leaves the World.
- Fix cooldown exception when Player is null.

* PhaseChange Speed option added (#756)

• Delay option changed to speed
• Fixed EarthArmor breaking when a player is paralyzed.

* FireManip, WaterBubble & 1.12 (#757)

• Added basic FireManipulation. Still needs lots of improving, but
that's for another commit.
• Redone WaterBubble. Now has a click version and an expand/shrink
animation.
• Removed AirBubble
• Updated Spigot to 1.12
• Fixed Octopus NPE
• Fixed EarthArmor remaining after TPs to other worlds

* EarthTunnel - DropLootIfNotRevert (#759)

* .gitignore - Added ignores for IntelliJ

* EarthTunnel: DropLootIfNotRevert - config & functionality

* .gitignore - Added ignores for IntelliJ

* EarthTunnel: DropLootIfNotRevert - config & functionality

* Bug Fixes (Catapult, Illumination, Config) (#760)

* Bug Fixes (Catapult, Illumination, Config)

* Finish Fixing Illumination

* Fix Catapult angle

* Fix Catapult bug

* Angle cancel option Catapult

* Fix Illumination on leaves, Fix water flooding

* Config stuff for Toby

* Fix LavaFlow (#755)

Fixed "AllowNaturalFlow"

* Updated to 1.12 with for days (#761)

• Redone the (core) ability load system - The old one broke with the
Guava update in 1.12
• Fixed some WaterBubble floods
• Fixed PhaseChange melting snow super duper fast
• Fixed some other misc bugs
• Added 1.12 Spigot to classpath

* 1.12 Bug Fixes (#762)

* Bug Fixes (Catapult, Illumination, Config)

* Finish Fixing Illumination

* Fix Catapult angle

* Fix Catapult bug

* Angle cancel option Catapult

* Fix Illumination on leaves, Fix water flooding

* Config stuff for Toby

* 1.12 fixes

* More 1.12 fixes (#763)

* Bug Fixes (Catapult, Illumination, Config)

* Finish Fixing Illumination

* Fix Catapult angle

* Fix Catapult bug

* Angle cancel option Catapult

* Fix Illumination on leaves, Fix water flooding

* Config stuff for Toby

* 1.12 fixes

* More 1.12 Fixes

* Collision fixes, Air sound change,

* Tried Fixing Collisions

Currently the loops in
CollisionInitializer#initializeDefaultCollisions() don't work

* 1.8.4 Fixes (#764)

* Small 1.8.4 fixes

• Fixed selecting snow blocks as a water source not working when they
are more than 3 blocks away
• Fixed DensityShift turning lava into sand when you land softly
• Fixed IceBlast not working on TempBlocks

* Added FireManip particle options to config

Also removed a sneaky debug message

* 1.8.4 Fixes (#765)

* Redone Fire Combos (#766)

* Finalize Fire Combo split (#767)

* 1.8.4 Fixes

* Correct Fire Combos

* Remove unused imports
2017-06-13 00:54:30 -07:00
Simplicitee
ca6ca2b08a Catapult Fix (#732)
* Reload changes

* Catapult Fixes

* Catapult Adjustment

* Changes
2017-02-16 22:13:38 -08:00
Simplicitee
f2889b7fd4 Reload changes (#731) 2017-02-16 19:10:03 -08:00
Alexander Meech
2cb73c71ec Alex's Awesome Update (#729)
* Fix chi abilities appearing to strike twice, implement catapult 2.0, and fix water sources being removed by breaking them

* Small changes for loony (visual and time)

* Completely rewrite catapult functions and repair water abilities allowing plant sources to be broken upon selection

* Increase length of moveEarth call in Catapult and add more configuration options

* Fix my dumb mistake of using a bitwise operator

* Allow tempblock usage for iceblast
2017-02-16 18:10:08 -08:00
Sobki
2fa49c945c Fixed memory issues with LavaFlow (#730) 2017-02-12 13:27:03 -08:00
Sobki
da2b04a01c Fixed issue with text formatting being removed on new lines (#728) 2017-02-11 13:06:32 -08:00
Sobki
34be68bb40 Fixed memory issues with PhaseChange and Torrent. (#727)
Thanks to PhanaticD for reporting these issues.
2017-02-10 23:26:33 -08:00
Sobki
29a6cb8d05 New branding stuff (#726) 2017-02-10 21:02:40 -08:00
Simplicitee
b2fcfc493a Remove Attribute system (#725)
* AirJump, Attribute continuation

* Remove AirJump

* Revert "Remove AirJump"

This reverts commit e6cf056bb746d70643931f523f163aea1738b482.

* Revert "AirJump, Attribute continuation"

This reverts commit b8198d7eaff34b089fb0ec1003e4b766503cb0ae.

* Remove Attribute to redesign
2017-02-10 19:53:47 -08:00
StrangeOne101
477d02c673 Few fixes here, here and maybe there (#724)
• Fixed CoreAbility.getAbilities() not returning addon abilities
• Fixed errors spammed from /b w when the server can't fetch the staff
list
• Fixed /b d passives - now displays all possible passives
• Fixed /b t <sub> causing an internal error
• Fixed a lot of NPEs
2017-02-06 15:09:02 -08:00
Sobki
e8df4895b9 Changes to branding (#721)
* Changes to branding

* Fixed java 8 crap

* whoops missed some cause im an idiot
2017-02-04 20:57:52 -08:00
Simplicitee
697db0236d Attributes, AirScooter fixes, Config fixes (#720)
* Attributes, AirScooter fixes, Config fixes

* AirScooter fixes

* AirScooter fixes part two
2017-02-03 19:21:20 -08:00
Sobki
3539389e1a Fixed TEMP_LAVA_BLOCKS not removing key from Map (#714) 2017-01-30 09:56:35 -08:00
Sobki
f10abf5020 Fixed memory leak with IceSpike (#713) 2017-01-29 23:18:20 -08:00
Sobki
4743fdc829 EarthGrab fixes (#712) 2017-01-27 15:03:13 -08:00
Sobki
047224a4cb Fixed passives being enabled/disabled at wrong times (#711) 2017-01-25 18:47:20 -08:00
Sobki
2de9ce3281 Fixed bending breaking when a user toggles their bending (#710) 2017-01-25 18:14:12 -08:00
Loony
3b597cc933 Fixes EarthGrab errors which causes bending to break (#706) 2017-01-25 17:32:26 -08:00
Sobki
c068463232 Added null checks to hasPassive(...) (#709) 2017-01-25 17:10:31 -08:00
Sobki
011a047559 Passive fixes (#708)
* Passive fixes

* Fixed Air & Chi Saturation not being toggled with /b t

* Renamed Hodor to FerroControl
2017-01-23 23:11:01 -08:00
Sobki
14bdf056e4 Remove Warnings (#707) 2017-01-22 00:48:20 -08:00
Christopher Martin
d254e9d491 Fix NPE in IceSpikePillar 2017-01-21 23:14:33 -08:00
Christopher Martin
885c59ef17 Various Fixes part two (#705)
* Various Fixes

* Various Fixes
2017-01-20 21:03:36 -08:00
Christopher Martin
102ea0c3c0 Various Fixes (#704)
* Various Fixes

* Merge cooldown change
2017-01-19 23:44:13 -08:00
Sobki
0684c7b469 Add cooldown to Bloodbending when hit max holdTime (#703) 2017-01-19 20:46:45 -08:00
Sobki
eca81a576b Fixed Passives being disabled after user is bloodbent (#702) 2017-01-19 19:55:27 -08:00
StrangeOne101
0b2833d9b6 IceSpike + Water Fixes (#701)
* IceSpike + Water Fixes

• Fixed IceSpike not using TempBlocks
• Fixed IceWave not automatically thawing the ice that freezes people
• Fixed EarthPassive (Soft landing) dropping sand blocks when the sand
is broken
• Made HeatControl a harmless ability if it's the Cook ability

* Change isHarmless to use equals() rather than ==
2017-01-18 14:42:08 -08:00
Christopher Martin
8884f01e1a Fix PhaseChange region stuff and blank usage (#700) 2017-01-17 00:23:14 -08:00
Sobki
36c4094ed6 Fixed dodgy HeatControl melt on non-TempBlocks (#699) 2017-01-16 20:58:13 -08:00
Sobki
7e4ef6d5a2 Hot fix (#698) 2017-01-16 19:56:21 -08:00
Christopher Martin
1c282ca550 Remove debug message left in WaterSpoutWave 2017-01-16 13:33:10 -08:00
Sobki
9fa1810e71 1.8.2 (#697) 2017-01-15 22:48:20 -08:00
Sobki
8f205eccbf Fixed Subelement death messages (#696) 2017-01-15 19:37:21 -08:00
Simplicitee
4b8d9783d2 PhaseChange changes (#695) 2017-01-15 19:11:42 -08:00
Sobki
fca130a839 Add duration variable to EarthArmor (#694) 2017-01-14 13:52:24 -08:00
Sobki
134def0f1d Fixed issue with /b choose caused by my passives rework (#693) 2017-01-10 14:35:14 -08:00
Loony
3aa804d44f Bug fixes, AvatarState config options (#689)
* Fixes EarthSmash and LavaFlow not working

EarthSmash and LavaFlow wasn’t being activated when the player sneaked,
it’s now fixed.

* Fix WaterArms not working

Cod wasn’t being called because of a misplaced bracket

* Adds some more AvatarState config options
2017-01-07 16:48:11 -08:00
Loony
6885e0b4ba Re-organises packages (#685)
* Re-organises packages

* Re-adds instructions display in the help command
2017-01-06 22:28:21 -08:00
Alexander Meech
bba1973d31 Delay sent join decision (#688) 2017-01-06 17:48:41 -08:00
Alexander Meech
fd03d8d863 Small Update (#687)
* Adds GlowAPI as a maven resource

* Implement credit on player join
2017-01-06 17:33:16 -08:00
Loony
bdaa68ede1 AvatarState config options (#676)
* Adds config options for abilities in avatar state

* Adds AvatarState config option for each ability
2017-01-06 16:21:25 -08:00
Sobki
fb70ed6f59 Added Cooldown & MaxDuration to Flight (#683)
* Added Cooldown & MaxDuration to Flight

* Added Cooldown & MaxDuration to Flight
2017-01-06 16:20:30 -08:00
Sobki
2bac32236a Passives rework (#680)
* Passives rework

* Re-add canCurrentlyBendWithWeapons()

* Re-add changes from my previous PR
2017-01-05 20:02:32 -08:00
Christopher Martin
7a67becb58 Fixes bending with weapons (#678) 2017-01-05 17:57:39 -08:00
Simplicitee
4ac9b8fb6e Spelling and Grammar check (#675)
* Formating / Spelling and Grammar check

* Left out change

* Revert "Formating / Spelling and Grammar check"

This reverts commit 73b10ccca224e1c7af758e4587227f5612ef8364.
2017-01-04 23:06:34 -08:00
Loony
f47d94da61 Rewrites ability descriptions, adds ability instructions, adds getInstructions() method for abilities. (#673)
* Adds getInstructions() method

- Addons will now have to add the getInstrucionts() method in their
abilities, otherwise their abilities will display:
“Usage: null”

* Removes getInstructions() method from ComboAbility

* Adds getInstructions() method for subelement abilities

* Adds instructions to help command

* Rewrites ability descriptions, adds instructions path

Ability descriptions will now contain a brief description of abilities
and the instructions path will explain how to individually do each
feature of an ability.

* Adds back languageConfig.save();

* Fix Ability#getInstructions() documentation
2017-01-04 20:47:26 -08:00
Christopher Martin
0c090f4486 Various Fixes (#671)
* Fixes WaterManip Selection, HeatControl Perm Blocks, And PhaseChange NPE

* Fix test value for variable in `HeatControl`
2017-01-02 21:49:10 -08:00