Jump to content
Eternal Lands Official Forums
Sign in to follow this  
saxum

Disable punishment to harvesters on new hour/day

Recommended Posts

I have no problem with being capped at 120/140 (or 240/280 with cloak or perk) harvests per hour.

I have a problem with not getting any credit during an hour if I am not logged in at start of hour.

 

I have grued out sitting at computer at end of game hour and before I have a chance to reconnect new day occurs and I get no experience this hour.

It is even worse if it is a special day like Day of Aleksei Stakhanov.

 

Just limit characters per hour not based on if they happen to be logged in on hour/day change.

Share this post


Link to post
Share on other sites

+1

 

possible implementation:

Maybe the server code can check if the character did not get harv xp on the server based time hour and grant it. that should be implementable. Gives a bonus for anyone who just logs on to start to harvest. Which is a more fair approach as the current system to loose harvest hour because of grue /disconnect / network issues from my network node to the game server.

 

why it is important:

Anything which improves equality and removes "unfair" felt penalty should be implemented. This will give definitely more positive view of this game.

 

 

2nd thing:

why is a character on active cooldown when you log on? impossible to diss when you log on when you are instantly attacked.

Share this post


Link to post
Share on other sites

Maybe this a non-issue. What the hell does 5k harvest experience lost really cost you ?

 

*time spent writing the code vs 12k (dung) possible harv exp.....* :whistle:

Edited by Aquila
different thought

Share this post


Link to post
Share on other sites

Maybe this a non-issue. What the hell does 5k harvest experience lost really cost you ?

More than it cost you than to write this post.

Share this post


Link to post
Share on other sites

Current system of resetting the harvest counters of all logged-in characters on the hour is easy and cheap to implement (I'd expect a simple loop over a list or array), and simple to understand for the players. It also allows you to get up to twice your normal limit of harvests in one block if you time it right.
Resetting this counter also for characters that are not logged in would be much slower (as in disk I/O vs RAM slower) and have to treat many more characters (note that you have to look at all the existing characters, perhaps including locked ones, in this case). IMO, not worth the hassle to avoid the occasional loss of harvest hour due to grueing. And either that grue came by just before the hour, or you were AFK; if the latter, why be treated different from a 'normal' logged-out character?

@roman_gruber: I don't see why this system is "unfair", as it treats everyone in the exact same way. And if you grue often enough for this particular point to be a serious issue, you should perhaps take a good look at your internet connection and ISP?
As for the active cooldown on log-in: simplest way to discourage disconnect/reconnect to get around normal cooldown?

Share this post


Link to post
Share on other sites

Each char already has a field indicating the number of harvs done for this hour. (And this is stored in the DB, because if you sign off and sign back in, you have left only the number of harvs you had before.)

 

So just add a new DB field for each character indicating the last time (in EL seconds) that he/she harvested.

 

[EDIT: replaced earlier moronic algorithm with a far more sensible one.]

 

In the harvesting code, somewhere there is something like the following:

++player->harvests_this_hour;
if (player->harvests_this_hour <= player->xp_harvests_per_hour)
    GiveHarvestingXP(player);
else if (player->harvests_this_hour == player->xp_harvests_per_hour + 1)
    PrintMessageIndicatingHarvestXPExpired(player);
Simply add
player->last_harvest = game->current_time;
to the end of that code sequence. Then, somewhere in the login code, have:
if (player->last_harvest % 3600 != game->current_time % 3600)
    player->harvests_this_hour = 0;
Edited by sgik

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×