Skip to content

feat: Summer Update 2026 - #805

Open
jprzimba wants to merge 48 commits into
mainfrom
summer-update
Open

jprzimba wants to merge 48 commits into
mainfrom
summer-update

Conversation

@jprzimba

@jprzimba jprzimba commented Jun 26, 2026

Copy link
Copy Markdown
Collaborator

This is a pre-made of Summer Update 15.25
This PR is under construction
Very thanks to @htc16, @Mckay666 and @Jattartajjar

  • Echo Warden
  • Shape Weapon Proficiency
  • New Weapons Stellar
  • New Perks Ranks
  • New Maps
  • Monsters
  • NPC's

NOTE: for now game client uploaded to media fire until release
https://www.mediafire.com/file/d5bq6c3iuv3cc3l/15.30_localhost.rar/file

jprzimba and others added 27 commits June 22, 2026 16:19
Co-Authored-By: Jattartajjar <207260357+Jattartajjar@users.noreply.github.com>
Adds the spell-unlock banner the 15.x client shows when a player unlocks
a new spell ("New Spell Unlocked: <name>").
Adds the banners the 15.x client shows when a player finishes a Bounty task
or a Weekly specific-creature kill task ("Completed task: <creature>").
Co-Authored-By: Lacory <168381961+Mckay666@users.noreply.github.com>
My testes using logger
[2026-27-06 08:30:00.481] [warning] [Battle Healing] Player: Rullys, Factor: 1.3, Primary: 1025 -> 1333, Secondary: 0 -> 0
[2026-27-06 08:30:24.279] [warning] [Battle Healing] Player: Rullys, Factor: 1.3, Primary: 993 -> 1291, Secondary: 0 -> 0
Base automatically changed from game1525 to main July 5, 2026 12:03
jprzimba and others added 2 commits July 5, 2026 14:04
Thanks to @Jattartajjar

Co-Authored-By: Jattartajjar <207260357+Jattartajjar@users.noreply.github.com>
iloveShaders referenced this pull request in iloveShaders/bettercrystalserver Aug 13, 2026
@Paco161315

Copy link
Copy Markdown
Contributor

Sent some updates to Jattar!

@iloveShaders

iloveShaders commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

new perk ranks doesn't work, for example when reshaping Bonus Damage it says "+0 Damage" it seems it has missing opcodes ?
image

@iloveShaders

Copy link
Copy Markdown
Contributor

another issue is with the badges present on bestiary page for killing an Echo Warden on every monster... even on a character pre 15.30 update who didnt participate in Echo Raid yet.
image

@jeswilldbm

Copy link
Copy Markdown

There is an issue with the character’s Dust capacity and the /setdusts GOD command.

When executing a command such as:

/setdusts GOD, 1000

The command only assigns 325 Dusts and displays a message indicating that this is the character’s maximum capacity.

This appears to be related to how Dust limit upgrades are calculated internally. Previously, each upgrade increased the Dust limit by 1. The system has now been changed so that each upgrade should increase the limit by 20, but this change is only reflected visually.

For example:

Create a new character with a maximum Dust capacity of 100.
Upgrade the character’s Dust limit three times.
The client correctly displays a maximum capacity of 160 Dusts: 100 + (3 × 20) = 160.
Execute the following command:

/setdusts CHARACTER_NAME, 160

The character only receives 103 Dusts, and the command reports that this is the maximum allowed amount.

This indicates that the client calculates each upgrade as +20, while the server or /setdusts command still calculates each upgrade as only +1.

The internal Dust limit calculation and the /setdusts command should use the updated value of 20 Dusts per upgrade, matching the capacity displayed in the client.
image

image image

@jprzimba

Copy link
Copy Markdown
Collaborator Author

new perk ranks doesn't work, for example when reshaping Bonus Damage it says "+0 Damage" it seems it has missing opcodes ? image

Sorry for delay, how to reproduce?

@jprzimba

Copy link
Copy Markdown
Collaborator Author

There is an issue with the character’s Dust capacity and the /setdusts GOD command.

When executing a command such as:

/setdusts GOD, 1000

The command only assigns 325 Dusts and displays a message indicating that this is the character’s maximum capacity.

This appears to be related to how Dust limit upgrades are calculated internally. Previously, each upgrade increased the Dust limit by 1. The system has now been changed so that each upgrade should increase the limit by 20, but this change is only reflected visually.

For example:

Create a new character with a maximum Dust capacity of 100. Upgrade the character’s Dust limit three times. The client correctly displays a maximum capacity of 160 Dusts: 100 + (3 × 20) = 160. Execute the following command:

/setdusts CHARACTER_NAME, 160

The character only receives 103 Dusts, and the command reports that this is the maximum allowed amount.

This indicates that the client calculates each upgrade as +20, while the server or /setdusts command still calculates each upgrade as only +1.

The internal Dust limit calculation and the /setdusts command should use the updated value of 20 Dusts per upgrade, matching the capacity displayed in the client. image

image image

will check soon as possible

The forge dust system was using inconsistent step sizes between the server logic and the client-facing dust values. This patch aligns the dust limit increases and displayed values to the 20-unit scaling used by forging, and updates the forge history text and dust byte conversions to match the actual encoding.
@jprzimba

Copy link
Copy Markdown
Collaborator Author

/setdusts CHARACTER_NAME, 160

I think its fixes

There is an issue with the character’s Dust capacity and the /setdusts GOD command.

When executing a command such as:

/setdusts GOD, 1000

The command only assigns 325 Dusts and displays a message indicating that this is the character’s maximum capacity.

This appears to be related to how Dust limit upgrades are calculated internally. Previously, each upgrade increased the Dust limit by 1. The system has now been changed so that each upgrade should increase the limit by 20, but this change is only reflected visually.

For example:

Create a new character with a maximum Dust capacity of 100. Upgrade the character’s Dust limit three times. The client correctly displays a maximum capacity of 160 Dusts: 100 + (3 × 20) = 160. Execute the following command:

/setdusts CHARACTER_NAME, 160

The character only receives 103 Dusts, and the command reports that this is the maximum allowed amount.

This indicates that the client calculates each upgrade as +20, while the server or /setdusts command still calculates each upgrade as only +1.

The internal Dust limit calculation and the /setdusts command should use the updated value of 20 Dusts per upgrade, matching the capacity displayed in the client. image

image image

I think its fixed, check latest charges

@iloveShaders

iloveShaders commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

new perk ranks doesn't work, for example when reshaping Bonus Damage it says "+0 Damage"

Sorry for delay, how to reproduce?

To reproduce just try to Reshape any perk on any weapon it should randomly roll the bugged perk that says exactly +0 Attack.
And it seems there shouldn't be a perk like this, maybe script rolls wrong spell id not from the list ? Im not sure.

Also If you could please check what's wrong with Echo Warden and the Charm Points badge in Cyclopedia Bestiary?

@jprzimba

Copy link
Copy Markdown
Collaborator Author

Added shape proficiency
thanks @Jattartajjar

@jeswilldbm

Copy link
Copy Markdown

/setdusts CHARACTER_NAME, 160

I think its fixes

There is an issue with the character’s Dust capacity and the /setdusts GOD command.
When executing a command such as:
/setdusts GOD, 1000
The command only assigns 325 Dusts and displays a message indicating that this is the character’s maximum capacity.
This appears to be related to how Dust limit upgrades are calculated internally. Previously, each upgrade increased the Dust limit by 1. The system has now been changed so that each upgrade should increase the limit by 20, but this change is only reflected visually.
For example:
Create a new character with a maximum Dust capacity of 100. Upgrade the character’s Dust limit three times. The client correctly displays a maximum capacity of 160 Dusts: 100 + (3 × 20) = 160. Execute the following command:
/setdusts CHARACTER_NAME, 160
The character only receives 103 Dusts, and the command reports that this is the maximum allowed amount.
This indicates that the client calculates each upgrade as +20, while the server or /setdusts command still calculates each upgrade as only +1.
The internal Dust limit calculation and the /setdusts command should use the updated value of 20 Dusts per upgrade, matching the capacity displayed in the client. image
image image

I think its fixed, check latest charges

It is still malfunctioning:
First, the dust limit shows 460; the cost to upgrade to 480 is 43, yet the displayed limit is 465/460.
If I assign 1,000 dust using the command, it sets the value 5 dust higher than intended.
Then, if I choose to pay the 43 dust:
It charges me 390 dust—leaving the character with 75/480—when it should have only charged 43.
Immediately after, the cost for the next upgrade (from 480 to 500) increases to 44 dust; however, even though I have 75/480 available, attempting to pay the 44 dust triggers a console error:
[error] [Player::forgeResourceConversion] Not enough dust
dust

@jprzimba

jprzimba commented Sep 18, 2026

Copy link
Copy Markdown
Collaborator Author

/setdusts CHARACTER_NAME, 160

It is still malfunctioning: First, the dust limit shows 460; the cost to upgrade to 480 is 43, yet the displayed limit is 465/460. If I assign 1,000 dust using the command, it sets the value 5 dust higher than intended. Then, if I choose to pay the 43 dust: It charges me 390 dust—leaving the character with 75/480—when it should have only charged 43. Immediately after, the cost for the next upgrade (from 480 to 500) increases to 44 dust; however, even though I have 75/480 available, attempting to pay the 44 dust triggers a console error: [error] [Player::forgeResourceConversion] Not enough dust dust dust

Are you testing with Tibia client?

@jeswilldbm

Copy link
Copy Markdown

/setdusts CHARACTER_NAME, 160

It is still malfunctioning: First, the dust limit shows 460; the cost to upgrade to 480 is 43, yet the displayed limit is 465/460. If I assign 1,000 dust using the command, it sets the value 5 dust higher than intended. Then, if I choose to pay the 43 dust: It charges me 390 dust—leaving the character with 75/480—when it should have only charged 43. Immediately after, the cost for the next upgrade (from 480 to 500) increases to 44 dust; however, even though I have 75/480 available, attempting to pay the 44 dust triggers a console error: [error] [Player::forgeResourceConversion] Not enough dust dust

    [
      
        <img alt="dust" height="526" src="https://private-user-images.githubusercontent.com/76903590/652575678-5d76e605-bc62-4c9a-b9d1-56535e9d998c.gif?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODk3MzY0MzgsIm5iZiI6MTc4OTczNjEzOCwicGF0aCI6Ii83NjkwMzU5MC82NTI1NzU2NzgtNWQ3NmU2MDUtYmM2Mi00YzlhLWI5ZDEtNTY1MzVlOWQ5OThjLmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA5MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwOTE4VDEyNTUzOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTdmYjE1OTBmNWIyOWE1NzI4M2RlNzZlODgxNDU0M2U3YzRlOWMzYjYzNjA2YmNiYzUxOTkxYTQzZTJhZGE3OTkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRmdpZiJ9.T1DCFBvQLAVdRBUAL8EFZpETz0sobUYlZH6LhUdJmIk">
      
    ](https://private-user-images.githubusercontent.com/76903590/652575678-5d76e605-bc62-4c9a-b9d1-56535e9d998c.gif?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODk3MzY0MzgsIm5iZiI6MTc4OTczNjEzOCwicGF0aCI6Ii83NjkwMzU5MC82NTI1NzU2NzgtNWQ3NmU2MDUtYmM2Mi00YzlhLWI5ZDEtNTY1MzVlOWQ5OThjLmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA5MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwOTE4VDEyNTUzOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTdmYjE1OTBmNWIyOWE1NzI4M2RlNzZlODgxNDU0M2U3YzRlOWMzYjYzNjA2YmNiYzUxOTkxYTQzZTJhZGE3OTkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRmdpZiJ9.T1DCFBvQLAVdRBUAL8EFZpETz0sobUYlZH6LhUdJmIk)
    
    
      
        
          
        
        
          
          
        
      
      [
        
          
        
      ](https://private-user-images.githubusercontent.com/76903590/652575678-5d76e605-bc62-4c9a-b9d1-56535e9d998c.gif?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODk3MzY0MzgsIm5iZiI6MTc4OTczNjEzOCwicGF0aCI6Ii83NjkwMzU5MC82NTI1NzU2NzgtNWQ3NmU2MDUtYmM2Mi00YzlhLWI5ZDEtNTY1MzVlOWQ5OThjLmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA5MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwOTE4VDEyNTUzOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTdmYjE1OTBmNWIyOWE1NzI4M2RlNzZlODgxNDU0M2U3YzRlOWMzYjYzNjA2YmNiYzUxOTkxYTQzZTJhZGE3OTkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRmdpZiJ9.T1DCFBvQLAVdRBUAL8EFZpETz0sobUYlZH6LhUdJmIk)
    
   [ <img alt="dust" height="526" src="https://private-user-images.githubusercontent.com/76903590/652575678-5d76e605-bc62-4c9a-b9d1-56535e9d998c.gif?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODk3MzY0MzgsIm5iZiI6MTc4OTczNjEzOCwicGF0aCI6Ii83NjkwMzU5MC82NTI1NzU2NzgtNWQ3NmU2MDUtYmM2Mi00YzlhLWI5ZDEtNTY1MzVlOWQ5OThjLmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA5MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwOTE4VDEyNTUzOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTdmYjE1OTBmNWIyOWE1NzI4M2RlNzZlODgxNDU0M2U3YzRlOWMzYjYzNjA2YmNiYzUxOTkxYTQzZTJhZGE3OTkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRmdpZiJ9.T1DCFBvQLAVdRBUAL8EFZpETz0sobUYlZH6LhUdJmIk"> ](https://private-user-images.githubusercontent.com/76903590/652575678-5d76e605-bc62-4c9a-b9d1-56535e9d998c.gif?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODk3MzY0MzgsIm5iZiI6MTc4OTczNjEzOCwicGF0aCI6Ii83NjkwMzU5MC82NTI1NzU2NzgtNWQ3NmU2MDUtYmM2Mi00YzlhLWI5ZDEtNTY1MzVlOWQ5OThjLmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA5MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwOTE4VDEyNTUzOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTdmYjE1OTBmNWIyOWE1NzI4M2RlNzZlODgxNDU0M2U3YzRlOWMzYjYzNjA2YmNiYzUxOTkxYTQzZTJhZGE3OTkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRmdpZiJ9.T1DCFBvQLAVdRBUAL8EFZpETz0sobUYlZH6LhUdJmIk)
  
    [
      
        <img alt="dust" height="526" src="https://private-user-images.githubusercontent.com/76903590/652575678-5d76e605-bc62-4c9a-b9d1-56535e9d998c.gif?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODk3MzY0MzgsIm5iZiI6MTc4OTczNjEzOCwicGF0aCI6Ii83NjkwMzU5MC82NTI1NzU2NzgtNWQ3NmU2MDUtYmM2Mi00YzlhLWI5ZDEtNTY1MzVlOWQ5OThjLmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA5MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwOTE4VDEyNTUzOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTdmYjE1OTBmNWIyOWE1NzI4M2RlNzZlODgxNDU0M2U3YzRlOWMzYjYzNjA2YmNiYzUxOTkxYTQzZTJhZGE3OTkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRmdpZiJ9.T1DCFBvQLAVdRBUAL8EFZpETz0sobUYlZH6LhUdJmIk">
      
    ](https://private-user-images.githubusercontent.com/76903590/652575678-5d76e605-bc62-4c9a-b9d1-56535e9d998c.gif?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODk3MzY0MzgsIm5iZiI6MTc4OTczNjEzOCwicGF0aCI6Ii83NjkwMzU5MC82NTI1NzU2NzgtNWQ3NmU2MDUtYmM2Mi00YzlhLWI5ZDEtNTY1MzVlOWQ5OThjLmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA5MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwOTE4VDEyNTUzOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTdmYjE1OTBmNWIyOWE1NzI4M2RlNzZlODgxNDU0M2U3YzRlOWMzYjYzNjA2YmNiYzUxOTkxYTQzZTJhZGE3OTkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRmdpZiJ9.T1DCFBvQLAVdRBUAL8EFZpETz0sobUYlZH6LhUdJmIk)
    
    
      
        
          
        
        
          
          
        
      
      [
        
          
        
      ](https://private-user-images.githubusercontent.com/76903590/652575678-5d76e605-bc62-4c9a-b9d1-56535e9d998c.gif?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODk3MzY0MzgsIm5iZiI6MTc4OTczNjEzOCwicGF0aCI6Ii83NjkwMzU5MC82NTI1NzU2NzgtNWQ3NmU2MDUtYmM2Mi00YzlhLWI5ZDEtNTY1MzVlOWQ5OThjLmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA5MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwOTE4VDEyNTUzOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTdmYjE1OTBmNWIyOWE1NzI4M2RlNzZlODgxNDU0M2U3YzRlOWMzYjYzNjA2YmNiYzUxOTkxYTQzZTJhZGE3OTkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRmdpZiJ9.T1DCFBvQLAVdRBUAL8EFZpETz0sobUYlZH6LhUdJmIk)
    
   [ ](https://private-user-images.githubusercontent.com/76903590/652575678-5d76e605-bc62-4c9a-b9d1-56535e9d998c.gif?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODk3MzY0MzgsIm5iZiI6MTc4OTczNjEzOCwicGF0aCI6Ii83NjkwMzU5MC82NTI1NzU2NzgtNWQ3NmU2MDUtYmM2Mi00YzlhLWI5ZDEtNTY1MzVlOWQ5OThjLmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA5MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwOTE4VDEyNTUzOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTdmYjE1OTBmNWIyOWE1NzI4M2RlNzZlODgxNDU0M2U3YzRlOWMzYjYzNjA2YmNiYzUxOTkxYTQzZTJhZGE3OTkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRmdpZiJ9.T1DCFBvQLAVdRBUAL8EFZpETz0sobUYlZH6LhUdJmIk)

Are you testing with Tibia client?

Yes, I’ve tested it with the latest version available in this thread—both the Summer Update and the client—without any additional modifications. Just download, compile, and test.

@jeswilldbm

Copy link
Copy Markdown

It is still malfunctioning: First, the dust limit shows 460; the cost to upgrade to 480 is 43, yet the displayed limit is 465/460. If I assign 1,000 dust using the command, it sets the value 5 dust higher than intended. Then, if I choose to pay the 43 dust: It charges me 390 dust—leaving the character with 75/480—when it should have only charged 43. Immediately after, the cost for the next upgrade (from 480 to 500) increases to 44 dust; however, even though I have 75/480 available, attempting to pay the 44 dust triggers a console error: [error] [Player::forgeResourceConversion] Not enough dust dust

I've managed to fix the issue where you're charged more dust than the client indicates.
You simply need to replace this line in the void Player::forgeResourceConversion function:

const uint64_t upgradeCost = dustLevel > 100 ? dustLevel - 75 : 25;

with this:

const uint64_t upgradeCost = dustLevel > 100 ? 25 + (dustLevel - 100) / 20 : 25;

This results in the following, for example:
Cost: 25 + (580 - 100) / 20 = 49 Dust
Balance: 580 - 49 = 531 Dust
New limit: 580 + 20 = 600
Result: 531/600

Adjust the forge upgrade cost formula for dust levels above 100. The previous calculation grew too quickly, while the new logic keeps the base cost at 25 and increases it gradually as dust level rises, preventing excessive late-game upgrade costs.
Update world data: add numerous Raubritter monster spawn groups across multiple Z-levels and add related NPCs (guards, captains, Eldoran, etc.) in world-npc.xml. Rework many Radiant spawn entries (adjust positions/types/spawntimes), add/adjust Moonstone/Deepling/Earworm/Hyaena/Dragon/other spawns and fix small monster attributes. world.otbm (map) updated accordingly. Changes centralize spawn tuning and populate the Raubritter area.
@jeswilldbm

Copy link
Copy Markdown

another issue is with the badges present on bestiary page for killing an Echo Warden on every monster... even on a character pre 15.30 update who didnt participate in Echo Raid yet. image

I just noticed that this issue is still ongoing: I created a new character, and upon killing a standard creature—which unlocks its bestiary entry—it immediately shows the mark indicating the "Echo Warden" has been defeated. That is incorrect; the mark in the top-right corner of the creature's entry should only unlock when you kill that specific creature's Echo Warden.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants