saxum Report post Posted March 7, 2015 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
roman_gruber Report post Posted March 7, 2015 +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
jim55 Report post Posted March 8, 2015 Maybe this a non-issue. What the hell does 5k harvest experience lost really cost you ? Share this post Link to post Share on other sites
RipTide Report post Posted March 8, 2015 (edited) 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.....* Edited March 8, 2015 by Aquila different thought Share this post Link to post Share on other sites
saxum Report post Posted March 8, 2015 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
revi Report post Posted March 8, 2015 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
sgik Report post Posted March 8, 2015 (edited) 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 addplayer->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 March 9, 2015 by sgik Share this post Link to post Share on other sites