• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Black Tek Server Pre-Release

Status
Not open for further replies.
I didn't think that is how it worked, but I guess I haven't actually played on OT in a very long time. I could have sworn there was already a config option for using charges or not. I don't know why this would be something very difficult to achieve. I can definitely add it to my list of things to look into.
Config right now has
LUA:
removeChargesFromRunes = true
which just makes runes infinite.

The difference between the new and old system is that "charges" in the old system were per rune item so a single rune item would hold the charges and runes would not stack. On tfs and real tibia "charges" are just the item count of the rune which is stackable but they are still called charges.
 
Config right now has
LUA:
removeChargesFromRunes = true
which just makes runes infinite.

The difference between the new and old system is that "charges" in the old system were per rune item so a single rune item would hold the charges and runes would not stack. On tfs and real tibia "charges" are just the item count of the rune which is stackable but they are still called charges.
So what I understand is that you don't want them stackable if they have charges?
 
I didn't test it again after the bug
still without reflecting the damage
1717553323584.png
Post automatically merged:

this is my custom system, work fine 🥰 🥰
1717553634057.png
 
Last edited:
Ok thanks for letting me know. I very much appreciate it! I will be taking a hard look at reflect soon. I think I will rework the logic for reflect a bit, and same with the imbuements, move them out of the blockhit call and over to the part of logic that is after blocks/defends are calculated, once the damage has been calculated and is ready to be applied, then call absorb, reflect, ect for both the normal item "abilities" and also for the imbuements. It will be a lot of work, but I think it will be better in the end. I can go ahead and add in the blocktype for dodge/miss as well, and that whole bit of logic that needs written.
Post automatically merged:

@_M4G0_

To use the reflect system that is in place currently two things are needed!

1. The item must be registered in movements.xml
2. A chance is also needed along with a value.

Seems the in place system allows for changing the chance that reflect occurs, therefore you must make sure to apply a chance and a value like so :

LUA:
<attribute key="reflectpercentphysical" value="99" />
<attribute key="reflectchancephysical" value="99" />

Then it should work fine!
I will need to alter the description to get it working right, taking into consideration how reflect works ☺️

1717566160947.png

One other caveat of this system, reflected damage only gives to the enemy, it doesn't reduce what you take. This seems intentional. Epuncker had brought it up that there should be two versions then, deflect, and reflect. One reduces the damage done to the player by the amount sent to the enemy, the other doesn't...

I'm not sure if both systems are needed or even desirable... I am personally for a "reflected" damage to be exactly that, reflected! It should definitely reduce the amount the player takes, but that is my opinion, what do you guys think?

Anyways, the reflect definitely works, you just have to make sure to set a chance, and register the items in movements.

I never liked having to register an item in movements for it to work, that will probably be something I change real soon, as well as some of the internals on how reflect works and such.
Post automatically merged:

PS. I will fix the description soon. Expect most these things worked out by Monday.
 
Last edited:
So what I understand is that you don't want them stackable if they have charges?
Yeah that's how the pre 8.6 system works
Post automatically merged:

One other caveat of this system, reflected damage only gives to the enemy, it doesn't reduce what you take. This seems intentional. Epuncker had brought it up that there should be two versions then, deflect, and reflect. One reduces the damage done to the player by the amount sent to the enemy, the other doesn't...

I'm not sure if both systems are needed or even desirable... I am personally for a "reflected" damage to be exactly that, reflected! It should definitely reduce the amount the player takes, but that is my opinion, what do you guys think?

Anyways, the reflect definitely works, you just have to make sure to set a chance, and register the items in movements.

I never liked having to register an item in movements for it to work, that will probably be something I change real soon, as well as some of the internals on how reflect works and such.
Reflect not reducing incoming damage is the stupidest thing I have ever seen, where does the damage come from then? thin air? a 240p youtube video on perpetual energy?
That's more like a 'thorns' ability where attackers are always damaged because you are spiky and should not be called reflect.

Reflect and deflect are pretty well defined and simple

Reflect must return damage to the attacker
Deflect must not return damage to the attacker
In both cases damage mitigation should occur

It would be nice to have both, deflect as a defensive ability and reflect as an offensive ability.
However reflect alone is fine and should definitely reduce incoming damage.
 
Last edited:
Yeah that's how the pre 8.6 system works
Post automatically merged:


Reflect not reducing incoming damage is the stupidest thing I have ever seen, where does the damage come from then? thin air? a 240p youtube video on perpetual energy?
That's more like a 'thorns' ability where attackers are always damaged because you are spiky and should not be called reflect.

Reflect and deflect are pretty well defined and simple

Reflect must return damage to the attacker
Deflect must not return damage to the attacker
In both cases damage mitigation should occur

It would be nice to have both, deflect as a defensive ability and reflect as an offensive ability.
However reflect alone is fine and should definitely reduce incoming damage.
I really like this, but I was thinking, reflect returns damage to the attacker, and deflect sends damage to all nearby enemies (or even possibly allies too :D)
 
I really like this, but I was thinking, reflect returns damage to the attacker, and deflect sends damage to all nearby enemies (or even possibly allies too :D)
For sure deflect could be some chaotic aoe 'reflect' that hurts everything. Kind of a cool concept, the more powerful the incoming damage then the more chaotic the deflect.
It would really sell you on the idea that the damage was deflected rather than boringly absorbed or dissipated.
 
Dockerfile to run server inside Docker container and ARM64 configuration to run it on Ampere (ex. Oracle Cloud, some Hetzner.com cloud servers) processors:

How to compile on Ubuntu 22.04 (requires fixed vcpkg.json and premake5.lua from my pull request):
Code:
# prepare system
apt update && apt -y upgrade
mkdir /bts

# install premake5
apt install -y unzip make g++ uuid-dev
cd /bts/ && wget https://github.com/premake/premake-core/archive/refs/heads/master.zip
cd /bts/ && unzip master.zip && rm master.zip
cd /bts/premake-core-master && make -f Bootstrap.mak linux
mv /bts/premake-core-master/bin/release/premake5 /bin/premake5
rm -rf /bts/premake-core-master/bin/release/premake5


# install vcpkg
apt install -y curl zip unzip tar
cd /bts && git clone https://github.com/microsoft/vcpkg.git
/bts/vcpkg/bootstrap-vcpkg.sh

# install BlackTek vcpkg.json requirements
apt install -y pkg-config
cd /bts && wget https://github.com/Black-Tek/BlackTek-Server/archive/refs/heads/master.zip
cd /bts && unzip master.zip && rm master.zip && mv /bts/BlackTek-Server-master /bts/server
cd /bts/server && /bts/vcpkg/vcpkg install

# compile BlackTek
cd /bts/server && premake5 gmake2 && make -j $(nproc) config=debug_64
 
Dockerfile to run server inside Docker container and ARM64 configuration to run it on Ampere (ex. Oracle Cloud, some Hetzner.com cloud servers) processors:

How to compile on Ubuntu 22.04 (requires fixed vcpkg.json and premake5.lua from my pull request):
Code:
# prepare system
apt update && apt -y upgrade
mkdir /bts

# install premake5
apt install -y unzip make g++ uuid-dev
cd /bts/ && wget https://github.com/premake/premake-core/archive/refs/heads/master.zip
cd /bts/ && unzip master.zip && rm master.zip
cd /bts/premake-core-master && make -f Bootstrap.mak linux
mv /bts/premake-core-master/bin/release/premake5 /bin/premake5
rm -rf /bts/premake-core-master/bin/release/premake5


# install vcpkg
apt install -y curl zip unzip tar
cd /bts && git clone https://github.com/microsoft/vcpkg.git
/bts/vcpkg/bootstrap-vcpkg.sh

# install BlackTek vcpkg.json requirements
apt install -y pkg-config
cd /bts && wget https://github.com/Black-Tek/BlackTek-Server/archive/refs/heads/master.zip
cd /bts && unzip master.zip && rm master.zip && mv /bts/BlackTek-Server-master /bts/server
cd /bts/server && /bts/vcpkg/vcpkg install

# compile BlackTek
cd /bts/server && premake5 gmake2 && make -j $(nproc) config=debug_64
Awesome work! I very much appreciate all the hard work and time put into figuring this out and making it happen! Thank you so much!

Black tek has dockerfile and builds are ARM64 now guys :D
Time to bust out the raspberry pi's!
 
Ok guys, I didn't want to keep trying to bump to threads for updates to black tek, and also, pretty sure it was not following rules anyways... but regardless... If you want to keep yourself apprised of all things Black Tek, come join me on the newly created "Development Thread" here

@Roddet , not trying to double or triple ping you, just figured I would make it easier to find the threads that need closed. This is the other 1. Thanks again, I really do appreciate it!
 
Status
Not open for further replies.
Back
Top