Is it a bug? I can't assign a value (Match Cord)

fieldMap = hero.findFriends()[0].getMap()
hero.say(fieldMap[0])

mine = "x"
empty = "."
mineDistance = 5
firstXPos = 15
firstYPos = 40

hero.say(fieldMap[15])
# says .............x............. (which is the last mine near the boss)
hero.say(fieldMap[15][13])
# says x

newMap = fieldMap
newMap[15][13] = 'o'
hero.say(newMap[15])
# says .............x............., why not .............o.............?
hero.say(newMap[15][13])
# says x, again, why didn't my hero say o instead of x?

Please look at my #s above.

I’ve been assigned values as same way as written above in other missions so far, but suddenly it was blocked. I’m not sure, but if it was intended just for this level only, then I could say the level is somewhat too hard. Without this way, I couldn’t come up with any good enough plan for this. I even saw the solution for this level that some other person had uploaded in a different website, but it was something way harder than things that newbies like me could guess. I sometimes feel like there are only nightmare and too easy difficulties for levels in Code Combat.