I don't get this part of it:
boss_roll = random(1, 100)
if boss_roll > 1 and boss_roll <= 100
First create a random value between 1 and 100, and then if it is between 1 and 100 do stuff?! The likelyhood of that happening is exactly 1:1, so might as well drop the if statement. though of course, you could be using the boss_roll result at some other part of your code we're not seeing.
Also, I am assuming at some time you reach an end-state in your program, where you'd like it to exit to some welcome screen or menu screen. The Do-Loop is not entirely suited for this, you'd be better off with a While - endWhile construct. For instance, let's say you exit upon player health being 0, it would look something like this:
player_health = 100
boss_health = 100
dmg = 10
while player_health > 0
player_choice = 0
boss_choice = 0
if getPointerReleased() = 1
player_choice = 1
boss_roll = random(1, 100)
if boss_roll > 1 and boss_roll <= 100
boss_choice = 1
endif
endif
if player_choice = 1 and boss_choice = 1
player_health = player_health - dmg
boss_health = boss_health - dmg
endif
print(player_health)
Print(boss_health)
sync()
endWhile