Curse of the Azure Bonds Code Wheel Copy Protection

This is Javascript version of the Code Wheel copy protection used in Curse of the Azure Bonds

Select one of each the Espruar and Dethek runes to see the resulting codes.

CotAB code wheel runes
CotAB code wheel runes

Path123456

-..-..-..

- - - - -

………

  // <![CDATA\[ <br>var espruar = -1; var dethek = -1; function SetRune(runeSet, runeId) { if( runeSet == 0 ) { espruar = runeId; } else { dethek = runeId; } if( espruar >= 0 ) if( dethek >= 0 ) { for(var i = 0; i < 6; i++) { CalcResult( "dashdot"+(5-i), espruar, dethek, 0, i ); CalcResult( "dash"+(5-i), espruar, dethek, 1, i ); CalcResult( "dot"+(5-i), espruar, dethek, 2, i ); } } } var codeWheel = "CWLNRTESSCEDCSHSISERRRNSHSSTSSNNHSHN" + "LAASRDAIILIDSUGADAEEOEGRLSELIITESOIO"+ "LRUNIMMORIIGRRIUPTIIUELIMLHMIXACGRIL"+ "Z0LIOHEUVNODSGEOGXYWISIOCRARLRARRHOI"+ "AMTELRLUIYNAEOOITOUELRREREUIMADPPFAB"+ "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; function CalcResult(id, espruar, dethek, code\_path, code\_row) { var code\_index = espruar + 0x22 - dethek + (code\_path * 12) + ((5 - code\_row) << 1); while( code\_index > 35 ) code\_index -= 36; while( code\_index < 0 ) code\_index += 36; var index = (code\_row*36) + code_index; document.getElementById(id).innerHTML = codeWheel.substring(index,index+1); } <br>// ]]>

Comments:

Larris 2007-11-12 15:46:59

Thank you.

I take this as a sign that your conversion of COAB is plodding along?


Simeon 2007-11-12 16:01:49

It’s mainly because one of the main source of Google traffic is related to the code wheel. As I have the art work, and the code, I thought I might as well put them together. For ages I have wanted to-do a cool Flash or Sliverlight wheel. But in the end I thought something was better than nothing.

Progress is slow and steady. At this point I’m struggling with getting more code working, and changing the UI from a separate thread using Win32 to draw, to a more integrated Managed DirectX approach.


Simeon 2008-03-28 11:34:39

Thanks Kevin,

You are right, it was a transposed issue. My original code had those bytes turn into a word, and I put the D before the R, but the D was the high word, and thus should be second. Thanks again for spotting it.


Kevin 2008-03-28 08:11:12

I think there are a couple bugs in your calculator, I think it’s mostly from typos in your codewheel variable. 7AZUDE should be 7AZURE. And the one right after it is not 8BONRE but 8BONDS. the R and the D in the 5th spot is transposed.


John 2009-07-13 23:01:34

This is great thanks.


Jason 2011-10-28 05:07:56

Thanks for the codes!

You wouldn’t have any idea why I cannot save chars using DosBox, would you?
Makes playing impossible.
error reads “unexpected error saving: 3”

Thanks


Simeon 2011-10-28 09:05:40

Hi Jason,

I assume it’s a path thing, just like for this Buck Rogers issue, as it’s the same game engine.

So double check the save path in the config file is correct for the paths your are using inside DOSBox.


Jason 2012-02-05 05:26:26

I think your missing some runes on both rings, they should be 36 runes each.


Simeon 2012-02-05 08:17:06

While I agree with you in principle, I’m sure I didn’t post all codes, as the game only uses these ones.

If you get it asking you a combo I don’t have I’d be very interested to know..