{"id":42,"date":"2018-06-02T22:41:55","date_gmt":"2018-06-02T22:41:55","guid":{"rendered":""},"modified":"2023-11-27T07:12:28","modified_gmt":"2023-11-27T07:12:28","slug":"update-status","status":"publish","type":"post","link":"https:\/\/landbeyond.net\/wordpress\/2018\/06\/02\/update-status\/","title":{"rendered":"Update Status"},"content":{"rendered":"<p>I&#8217;ve been working hard on Alternate Reality Remake.\u00a0 I&#8217;m so close to having the city complete,\u00a0 I think I&#8217;m really about 95% code complete on The City.\u00a0\u00a0 Tons of testing is required at this point.\u00a0\u00a0 This will allow the dungeon to move quickly since the CORE of the game is now complete.\u00a0\u00a0 I took assembly 30+ years ago and have not touched it since.\u00a0 Digging through all the assembly code to try and get it pretty close the original game is time consuming.\u00a0 I never learn 6502 assembly,\u00a0 I started on PC based on Intel chips.\u00a0\u00a0 So now, I&#8217;m comfortable with 6502 assembly.\u00a0 Having the Atari800 Win Plus emulation helped so much, having to go through all those 0x6300 and figuring out what all those memory locations mean.\u00a0 Many where located over the internet and was a good starting point. Figuring out the Special Effect was the biggest help.\u00a0 Seeing what effects altered what memory locations and looking up those guidebooks that tell you what each item kind of does.\u00a0 That would allow me to figure out what that memory location meant.\u00a0 Also,\u00a0 many of the variables in monster data was not defined.\u00a0 There are many of them that are bit options and not.\u00a0\u00a0 Digging through the code,\u00a0 I&#8217;ve figured out many of the things.\u00a0 Like one bit means\u00a0 whena creature leaves,\u00a0 instead of saying &#8220;The Bat leaves&#8221;\u00a0 if the bit is on it means they &#8220;Fly&#8221;\u00a0 so the wording would change to &#8220;The Bat Flies away&#8221;.\u00a0<\/p>\n<p>I think I have all the special code for each of the Monsters complete.\u00a0 Devourer, Thief, Acolyte, Basilik, Champion, Flame Demon &#8230;..\u00a0 There are onLoad, onSurprise, onPreAttack,onDeath special code for many of those creatures.\u00a0 They appears all to be working nicely now,\u00a0 of course debugging is required.\u00a0 So watch out for the Devourer, it will know suck up inventory items.\u00a0\u00a0 Also, Thieves will attempt to steal and item from you, so watch out.\u00a0\u00a0 Spells casters have a special greetings if you are from an enemy guild or a friendly guild.\u00a0 Example, the Ghould has a special onDeath code, where it has a chance to cast a curse on you.\u00a0 Added special code for the Slime creature.<\/p>\n<p>Also, too the time to complet the Dungeons Fixed Treasure items.\u00a0 They are all inside the game and complete.\u00a0 I&#8217;ve not tested it to make sure the original ArX map files have the correct fix treasure in the correct spot.\u00a0 But code wise, they are in there and complete.<\/p>\n<p>The Dungeon altered the monsters stats on loading the encounter.\u00a0 These\u00a0 changes are based on the players level and other status.\u00a0 So the game gets harder as you get stronger and go up in levels.\u00a0\u00a0 So you should never become to strong and the game becomes to easy.\u00a0\u00a0 I&#8217;ve completed this code.<\/p>\n<p>\u00a0The &#8220;Transaction&#8221; option in combat is not just based on attacking, but also is affected by default monster data.<\/p>\n<p>\u00a0Weapons found after a battle can be cursed,\u00a0 there is a small chance to have a curse.\u00a0 The curse will be added if this happens.<\/p>\n<p>\u00a0During battle the code is complete of being knocked down, staggered or dropping your weapon based on your strength, monster strength, stamina, luck and power of the hit.\u00a0 Also, the dodge code is complete.\u00a0 Also, during an attack you have a chance of being stunned and lose your chance for that round to attack.\u00a0 During battle some creatures can cast spells,\u00a0 this is complete.\u00a0\u00a0 They will cast spells based on how injured they are.\u00a0 Also, if they get to injured that they have a chance of during an potion to heal themselfs.<\/p>\n<p>Weapon breaking is not in the code.\u00a0 so watch out, your weapons can break.<\/p>\n<p>Now, I think I have code in place to call an active special effects everytime you or monster use an item.\u00a0 Pickup, use, drop alignment check.\u00a0 Alignment check is done every time you use an item.\u00a0 So a good character using an evil weapon will get the alignment check during battle.<\/p>\n<p>Removed potions from source code and now loaded out of the dungeon item file. There are 53 total potions that include the city potions.<\/p>\n<p>&#8220;Offer&#8221; during combat, if it is not accepted then the offer will be located on the ground like the Dungeon.\u00a0 If the encounter gives you something, it will be located on the ground.<\/p>\n<p>You can cast spells during combat.\u00a0 Casting spells will cause you to lose your turn,\u00a0 so if you cast a strength spell.\u00a0 That is your move for the round.\u00a0<\/p>\n<p>I&#8217;ve converted many of the binary files into JSON files, the monster data, monster weapons,\u00a0 dungeon items are all loaded from JSON files.\u00a0 I did this because the mixing of\u00a0 the City items and Dungeon items.\u00a0 I didn&#8217;t want to work inside of a binary file.\u00a0<\/p>\n<p>\u00a0Treasures after the encounter has changed.\u00a0\u00a0 When you create a character you have 2 options,\u00a0 8-bit style or 16-bit style.\u00a0\u00a0 The 16-bit style is far more advanced in what you get from whom.\u00a0\u00a0 I like the 16-bit version,\u00a0 once a character is created, you can not switch it.\u00a0\u00a0 Your character is stuck in that style.\u00a0 You will not get a sword from a &#8220;Rat&#8221;, each encounter has a definition of the chance of each of the treasure items.\u00a0 Then it has a random chance of zero and beween a number defined of how many items of a treasure item you get.\u00a0\u00a0 If the game comes up with a weapon for a treasure item. You will get the weapon of the monster used.\u00a0 For instance, you have a chance of getting a potion and wands from Spellcasters but only them.<\/p>\n<p>\u00a0<\/p>\n<ul>\n<li><span style=\"color: #339966;\">Added<\/span> &#8211; Devourer pre-attack code,\u00a0 the sucking up your items into his mouth.<\/li>\n<li><span style=\"color: #339966;\">Added<\/span> &#8211; Thief onLoad code, this handles surprise,demand money, and stealing from player. also check if you are part of the thieves guild.<\/li>\n<li><span style=\"color: #339966;\">Added<\/span> &#8211; All Fixed Treasures are now located in the Dungeon.<\/li>\n<li><span style=\"color: #339966;\">Added<\/span> &#8211; Cost of buying a spell now matches the dungeons, of course are there city spells that are not in the dungeon.<\/li>\n<li>Fixed &#8211; Fixed starting HP to be between 7-28, to make starting hp points.<\/li>\n<li>Fixed &#8211; Transaction option.\u00a0 It was just based on alignment, but the regular code is based on a few random option plus byte 21 of the monster data,\u00a0 bit 5,6,7<br \/>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0 depending on different states.\u00a0 Just because there are uninterested one time doesn&#8217;t mean for the entire combat.<\/li>\n<li><span style=\"color: #339966;\">Added<\/span> &#8211; added greeting for spellcasters.\u00a0 The greeting depends on if you are part of the same guild, enemy of the encounter guild. or nothing to that guild.<\/li>\n<li><span style=\"color: #339966;\">Added<\/span> &#8211; random curses to weapons found.\u00a0 There is a small percentage for predefined curses.<\/li>\n<li><span style=\"color: #339966;\">Added<\/span> &#8211; onDeath code for the Ghoul<\/li>\n<li>Fixed &#8211; Slime onDeath code and OnPreAttack code is now complete.<\/li>\n<li><span style=\"color: #339966;\">Added<\/span> &#8211; Depending on the strength of encounter attack,\u00a0 you can have a better chance of being knocked down or losing your weapon<br \/>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0 part of this is option is skl, stamina and luck that allow you to take the hit.\u00a0 This now matches the Dungeon code.<\/li>\n<li><span style=\"color: #339966;\">Added<\/span> &#8211; You dodge the blow to the attack encounter.\u00a0 This is based on luck and skill values.<\/li>\n<li>Fixed &#8211; knock down during battle,\u00a0 was a complete random number.\u00a0 Now matches the assembly code.<\/li>\n<li><span style=\"color: #339966;\">Added<\/span> &#8211; put in the code to lose your weapon during combat.\u00a0 Also, added in the stunned option during combat when an encounter attacks.<\/li>\n<li>Fixed &#8211; Fixed code on attack, if it is a regular attack, staggered or knock down.\u00a0 Not all encounters can be knocked down. There is a bit<br \/>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0 that tells code not possible. There is abit for staggered also,\u00a0 if bit is on, then it becomes regular hit.\u00a0\u00a0\u00a0<\/li>\n<li><span style=\"color: #339966;\">Added<\/span> &#8211; Added code to match weapon breaking. Some weapons are unbreakable.<\/li>\n<li><span style=\"color: #339966;\">Added<\/span> &#8211; code for spell casters,\u00a0 they have a chance to cast spells.<\/li>\n<li><span style=\"color: #339966;\">Added<\/span> &#8211; some creatures will drink a potion once hp is below a certain amount, added this code to match the assembly code.<\/li>\n<li><span style=\"color: #339966;\">Added<\/span> &#8211; onSurprise code for Champion.\u00a0 It has a special surprise screen.<\/li>\n<li><span style=\"color: #339966;\">Added<\/span> &#8211; onPreAttack code for basilisk.\u00a0 It can give you a staring glance and can kill you, or you could block it with the right shield.<\/li>\n<li><span style=\"color: #339966;\">Added<\/span> &#8211; onLoad code for Ronin, it is just a saying based on status bits of the of monster and how many there are.<\/li>\n<li><span style=\"color: #339966;\">Added<\/span> &#8211; onPreAttack code for FlameDemon and Goblins,\u00a0 can summon more flame demons.<\/li>\n<li><span style=\"color: #339966;\">Added<\/span> &#8211; onLoad code for Guard changes the encounter from Palace Elite to Guard, it picks it randomly<\/li>\n<li><span style=\"color: #339966;\">Added<\/span> &#8211; onLoad code for Knight changes the alignment, Partial random + 64 for new alignment even time encountered.<\/li>\n<li><span style=\"color: #339966;\">Added<\/span> &#8211; put in a check for Special Effect Use Weapon.\u00a0\u00a0 It will now run the special effect when you use or unsuse a weapon.<\/li>\n<li><span style=\"color: #339966;\">Added<\/span> &#8211; Put in a check for special Effect Drop.\u00a0 Now when an item is dropped and has a special effect for drop, it will run it.<br \/>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0 Like,\u00a0 Sword of Light.\u00a0 You get Light when you use it,\u00a0 and goes away when dropped.\u00a0 Now this item is working.<\/li>\n<li><span style=\"color: #339966;\">Added<\/span> &#8211; Put in a check for special Effect Use.\u00a0 Now when an item is used and has a special effect, it will run.<\/li>\n<li><span style=\"color: #339966;\">Added<\/span> &#8211; Put in check for picking up an item that has a special effect that relate to pickup.\u00a0 So a curse will happen when you pickup the weapons.<\/li>\n<li><span style=\"color: #339966;\">Added<\/span> &#8211; Dungeon would increase monsters lvl,hp and stats based on the players level.\u00a0 That code in now in the system.\u00a0 Monsters<br \/>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0 will not be be the same level all the time.\u00a0 Once you get to be high, the game will adjust its difficulty level.<br \/>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0 Also, Number of monsters at one time is now reflected the of the dungeon code.\u00a0 That is based on your level and area of the dungeon<br \/>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0 you are located to reflect the number of monsters you are fighting.<\/li>\n<li>Fixed &#8211; Opening greetings for Thief,\u00a0 if you do not yield, they will steel from you.\u00a0 Arx didn&#8217;t handle time piece and compasses correctly.<br \/>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0 Also, thief doesn&#8217;t still from you if you belong to a thieves guild.\u00a0 No check for that.<\/li>\n<li>Fixed &#8211; Opening greetings for Knight reflects the dungeon code.\u00a0 It demand you to yield and now will yield to you if condition matches<\/li>\n<li>Fixed &#8211; Removed Potion from source code,\u00a0 Nothing is hard coded anymore.\u00a0 They are loaded from an external file.\u00a0 All potions use the Special Effects<br \/>\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0 as everything else to handle its ability.\u00a0\u00a0 One generic system for all things in the code.<br \/>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0 Combined the The City Potions and The Dungeon Potions together into one list of potions.\u00a0 This makes 53 different kinds of potions.<\/li>\n<li>Fixed &#8211; Figured out alignment position in monster file for encounters.\u00a0 They are part of the game.<\/li>\n<li><span style=\"color: #339966;\">Added<\/span> &#8211; Completed the surprise code,\u00a0 now when an encounter starts up.\u00a0 the surprise code will execute.<\/li>\n<li><span style=\"color: #339966;\">Added<\/span> &#8211; Added &#8216;Cast Spell&#8217; to encounter.\u00a0 Now you can cast spells during encounters.<\/li>\n<li><span style=\"color: #339966;\">Added<\/span> &#8211; Changed the way monsters data is loaded,\u00a0 instead all of them creating a generic Monster class,\u00a0 certain Monsters has their own class and it creates<br \/>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0 that class.\u00a0 Ex.\u00a0 Thief, Merchant, Devourer.\u00a0 All have their own class.\u00a0 They have methods to overload the standard &#8220;onload&#8221; encounter function.<br \/>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0 &#8220;offer&#8221; functions and etc.\u00a0\u00a0 This way the encounter routine doesn&#8217;t have to have huge if statements to do something different for this person or not.<br \/>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0 Encounter methods just calls the standard method and certain classes overload them.<\/li>\n<li><span style=\"color: #339966;\">Added<\/span> &#8211; Completed the Offer options for all the different kinds of encounters.\u00a0 If offer is not accepted then the offering will be dropped to the floor\u00a0 and you can get it after the encounter.<\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve been working hard on Alternate Reality Remake.\u00a0 I&#8217;m so close to having the city complete,\u00a0 I think I&#8217;m really about 95% code complete on The City.\u00a0\u00a0 Tons of testing is required at this point.\u00a0\u00a0 This will allow the dungeon to move quickly since the&hellip;<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-42","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/landbeyond.net\/wordpress\/wp-json\/wp\/v2\/posts\/42","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/landbeyond.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/landbeyond.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/landbeyond.net\/wordpress\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/landbeyond.net\/wordpress\/wp-json\/wp\/v2\/comments?post=42"}],"version-history":[{"count":1,"href":"https:\/\/landbeyond.net\/wordpress\/wp-json\/wp\/v2\/posts\/42\/revisions"}],"predecessor-version":[{"id":294,"href":"https:\/\/landbeyond.net\/wordpress\/wp-json\/wp\/v2\/posts\/42\/revisions\/294"}],"wp:attachment":[{"href":"https:\/\/landbeyond.net\/wordpress\/wp-json\/wp\/v2\/media?parent=42"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/landbeyond.net\/wordpress\/wp-json\/wp\/v2\/categories?post=42"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/landbeyond.net\/wordpress\/wp-json\/wp\/v2\/tags?post=42"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}