# Airbender feedback

**URL:** <https://discourse.codecombat.com/t/airbender-feedback/29519>\
**Category:** Adventurer\
**Created:** [July 3, 2021, 11:46am UTC](https://discourse.codecombat.com/t/airbender-feedback/29519 "2021-07-03T11:46:17Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Deadpool198](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.codecombat.com/deadpool198/32/16753_2.png) [@Deadpool198](https://discourse.codecombat.com/u/Deadpool198)\
**Post date:** [July 3, 2021, 11:46am UTC](https://discourse.codecombat.com/t/airbender-feedback/29519/1 "2021-07-03T11:46:17Z")

</div>

This is a very cool level, but again I did find the example code for forcePush, as with reflect, didn’t work.  
The example code uses a dictionary to make a vector for the dir element of hero.forcePush(target, dir, ratio), but when that’s put into practice it throws the error: “direction.copy is not a function”.

```python
while True:
    skel = hero.findNearest(hero.findByType('skeleton'))
    if skel and hero.isReady('force-push'):
        hero.forcePush(skel, {'x': 1, 'y': 0.5, 'z': 1}, 0.4)

```

When I change the dictionary to a Vector, then it works fine. So I think, in the same way as in reflective shield, the only confusing element is the example code for the ability which the level focuses on.  
Danny

---

<div class="post-metadata">

**Author:** ![Chaboi\_3000](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.codecombat.com/chaboi_3000/32/48486_2.png) [@Chaboi\_3000](https://discourse.codecombat.com/u/Chaboi_3000)\
**Post date:** [July 3, 2021, 12:53pm UTC](https://discourse.codecombat.com/t/airbender-feedback/29519/2 "2021-07-03T12:53:45Z")

</div>

I mentioned before, but you need a z direction, otherwise it’s an incomplete vector. I just confirmed now that the levels are solvable.

---

<div class="post-metadata">

**Author:** ![Deadpool198](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.codecombat.com/deadpool198/32/16753_2.png) [@Deadpool198](https://discourse.codecombat.com/u/Deadpool198)\
**Post date:** [July 3, 2021, 2:58pm UTC](https://discourse.codecombat.com/t/airbender-feedback/29519/3 "2021-07-03T14:58:03Z")

</div>

I know, I solved the levels myself. I’m just saying that the example code for the forcePush ability in the equipment bar does not work, same for the reflect ability. The levels are great. It’s the sample code, which is pretty much the only way to find out how to do an ability, which (I think from trying it) is wrong.

---

<div class="post-metadata">

**Author:** ![Chaboi\_3000](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.codecombat.com/chaboi_3000/32/48486_2.png) [@Chaboi\_3000](https://discourse.codecombat.com/u/Chaboi_3000)\
**Post date:** [July 3, 2021, 10:27pm UTC](https://discourse.codecombat.com/t/airbender-feedback/29519/4 "2021-07-03T22:27:28Z")

</div>

I’ll modify it. I’m not sure why someone made that example code. 😕

---

<div class="post-metadata">

**Author:** ![Chaboi\_3000](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.codecombat.com/chaboi_3000/32/48486_2.png) [@Chaboi\_3000](https://discourse.codecombat.com/u/Chaboi_3000)\
**Post date:** [July 3, 2021, 11:56pm UTC](https://discourse.codecombat.com/t/airbender-feedback/29519/5 "2021-07-03T23:56:21Z")

</div>

Modified the example code. Hopefully it’s more clear.

---

<div class="post-metadata">

**Author:** ![Deadpool198](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.codecombat.com/deadpool198/32/16753_2.png) [@Deadpool198](https://discourse.codecombat.com/u/Deadpool198)\
**Post date:** [July 4, 2021, 10:14am UTC](https://discourse.codecombat.com/t/airbender-feedback/29519/6 "2021-07-04T10:14:28Z")

</div>

Thanks, that code’s much better.  
Danny
