Commit Graph

153 Commits

Author SHA1 Message Date
BeniS a1a8d28f5c Auto walker update must be done from C++ not lua due to bot protection.
* Moved the auto walk checker to the source.
* Implemented a temporary fix for findPath method (will now choose other tiles over null tiles).
2013-01-09 04:32:37 +13:00
BeniS bb139955dc More fixes and edits!
* Fixed a bug with client_exit module button appearing on full reload.
* Fixed the battle window to work properly now (left click: attack, right click: menu).
* Added auto walk checker for more accurate aut walking:
  - It will always find the path now, except in rare occasions gets stuck running back and forward
  - Re-calculates path every 10 steps and also when you hit an object that cancels your step.
  - Right now this is just a temporary method.
  - Cancels the checker when you move or press escape (has to be done client-side).
* Added a new setting to UIComboBox class 'mouse-scroll' to enable/disable mouse wheel scrolling.
* Added support for no ping in cooldowns.
* Added missing PlayerStates (hungry and bleeding).
2013-01-08 06:17:01 +13:00
BeniS abf0ee4303 More walk control optimization and fixes:
* Finished off the walking control optimization! (Should be smooth controlling now).
* Fixed issue #151
* Fixed an issue with the character list.
* Fixed a bug in the g_keyboard.isKeySetPressed function.
2012-12-30 19:14:49 +13:00
BeniS 1782de7336 Game control precision edits and many other fixes:
* Updated the walking(mouse/keys) control to be a lot more responsive/smooth!
* Updated creature diagonal steps to animate faster (due to demand).
* Added a warning popup for boost walker option in cipsoft servers.
* Added KeyUp event controls in the g_keyboard class.
* Fixed an issue with the minimap not reconfiguring.
* Fixed a bug with creature lights drawing properly.
* Fixed refreshContainer method.
* Some layout edits.
* Some minor typo fixes.

TODO:
* Add walk event stack.
* Test new walking edits extensively.
* Finish pending state feature.
2012-12-30 06:41:14 +13:00
BeniS 44e428bccb Progress updating to cv981/pv973:
* Implemented the new client AND protocol version methods.
* Implemented the new speed laws added in cv980 (http://www.tibia.com/news/?subtopic=newsarchive&id=2251).
* Added more missing bytea to login packets (client version/type and some unknown bytes).
* Fixed the InputMessage::getDouble method.
* Cleaned up some of the const values.
* Started on the pending state features.

TODO:
* Pending game state feature.
* Ensure version compatibility hasn't been compromised.
2012-12-29 00:05:45 +13:00
Eduardo Bart 5fed08b17e Bind functions for minimum ambient light 2012-11-30 14:31:19 -02:00
Eduardo Bart 81068f820d Implement lights, thanks @Tarjei400
Now otclient have lights! This code was originally made
by @Tarjei400, I have improved it and merged into otclient
master. Many thanks for tarjei for the contribution.

Warning, this still experimental, fixes may come in the next days.
2012-11-28 23:47:36 -02:00
Samuel eb979ef7cd Modal Dialogs / Support for 9.70
OTC now supports showing and answering modal dialogs.

addDialog(modaldialog, dialogId, cid, callback)

TODO:
-find out what the "popup" value does.. (Maybe someone knows)
2012-11-27 14:48:48 +01:00
Eduardo Bart fa8b77f0c8 Fix issue #109 2012-10-05 16:14:05 -03:00
otfallen 3902490d6b Minor changes 2012-09-24 13:59:23 +00:00
otfallen 4d6057ffbe Yet another set of fixes 2012-09-24 12:11:01 +00:00
otfallen fe3a751ffa Fixes to creatures 2012-09-20 23:23:10 +00:00
otfallen eb7a11158a XML saving and minor fixes + code refactoring.
Signed-off-by: otfallen <f.fallen45@gmail.com>
2012-09-14 21:39:10 +00:00
otfallen d429e385bb Remove old useless functions. 2012-09-02 19:31:50 +00:00
Henrique Santiago 18a0d7ab94 Fixes to horizontal scrollarea, improve charlist flexibility 2012-08-31 01:56:10 -03:00
niczkx e5df872600 Move load creatures functions from map and bind them to singleton class g_creatures 2012-08-26 18:44:46 +00:00
Eduardo Bart 4bac36d3bc Implement new cool features
* Implement walk booster (dash) as an option in settings menu
* Dash is smarter (can pre-animate)
* Implement smart walking (walk in diagonal when holding two arrow keys)
* Implement ping meter for all protocols
* Ping meter uses uses real ping packet for 9.6 and walk for others
2012-08-25 16:11:54 -03:00
Henrique Santiago b39623d437 UIGameMap allow clicking in black 2012-08-20 22:03:30 -03:00
BeniS 1d20cc9e4b Finalized the mount system and the recently new skills/stats.
* Added mount options to the thing menu.
* Reworked the mounting/dismounting.
* Fixed up some skill module bugs.
* Added alerts to stats like health, mana, capacity, and regeneration time (need to revise this one as it currently has no maximum).
2012-08-21 00:28:19 +12:00
niczkx 1ed95b6120 More work on OTBM/OTB/XML 2012-08-19 15:41:03 +00:00
BeniS d237087718 Added new stats to the skills module, fixed minor market error.
* Added Offline Training information.
* Added Regeneration Time information.
* Added Speed information.
* Added base stats/skills information (will show the players increase in a skill e.g. magic level 43 = 40 + 3 bonus from an item).
* Fixed the game feature constants in const.lua.
* Fixed a market error when logging out.
* Added removeTooltip function.
2012-08-19 13:19:43 +12:00
Eduardo Bart 73acc68e50 Fix compilation for ubuntu 2012-08-18 15:53:04 -03:00
Eduardo Bart 356368ddae Restore minimap saving 2012-08-18 07:34:15 -03:00
Henrique Santiago e244e1975d Format name as a feature, do not connect if dont have dat/spr 2012-08-14 20:58:48 -03:00
Henrique Santiago 4e8afab335 Fix rsa change, messagebox and remove lua variable from c++ 2012-08-14 17:37:28 -03:00
Henrique Santiago 0e67bd97a5 Moved some talk code to lua 2012-08-07 13:33:17 -03:00
niczkx 6feaeff8cc Fix NPC/Monster rendering for OTBM 2012-08-07 03:12:44 -06:00
Eduardo Bart f397e6319c Reimplement battle using new events, no more scheduleEvents 2012-08-03 02:05:09 -03:00
Eduardo Bart 03b8241bbc Rename stdext::shared_object_ptr to compile in gcc 4.6 2012-07-30 12:08:21 -03:00
Eduardo Bart 52f81c53f9 More fixes for 9.6
And add ping bindings :D
2012-07-30 07:59:08 -03:00
Eduardo Bart e0431021b5 Huge engine change, replace all std::shared_ptrs
Create a new shared pointer type stdext::shared_object_ptr and stdext::shared_obj
using boost::intrusive_ptr

Advantages:
 * half memory usage
 * faster and lightweight

Disadvantages:
 * using weak_ptr is not supported anymore
 * compiling seems slower
2012-07-29 00:34:40 -03:00
niczkx 26e20da938 Fixes to creatures 2012-07-28 02:06:16 -06:00
Eduardo Bart 5f1e58c138 Fix sending os type, bind some functions 2012-07-26 13:41:13 -03:00
Eduardo Bart c795eb91ab More multiprotocol support 2012-07-26 03:10:28 -03:00
BeniS 19dd96fd02 Market item filtering improvements and other some minor improvements
* Can now filter market items by vocation, level, slot type, and depot items.
* Added new bitwise lib for handling flag operations.
* Can now get/set local player vocation/premium (TODO: spell list).
2012-07-24 03:11:53 +12:00
Eduardo Bart 253a22db3d Bind Creature::getDirection 2012-07-22 19:29:21 -03:00
niczkx 8a49d09b75 stop using pairs instead of index loops, please, it's so much slower 2012-07-20 20:56:08 +02:00
BeniS 483487ab09 More work on Market functionality and UI
* Now loads all market items.
* Can filter market items.
* Will load market offers on items.
* Edited some UI images.
2012-07-21 06:20:06 +12:00
Eduardo Bart a11d6e501e More refactoring and some changes
* Move protocol safeSend() to send()
* Bind some new functions
* Refactor lots of enums
2012-07-20 02:52:57 -03:00
BeniS 6293a49f8f More on Market (far from done), Minor Fixes, Edited Outfits Module, Some Cosmetics.
* Started building the market UI.
* More work on the market functionality.
* Fixes to the market protocol. (Known issue: if I use safeSend method from Market (like so: MarketProtocol.send~) is thinks it is a bot).
* Fixes to the market offer class.
* Outfit window will no longer display the mount box if you are using protocol < 870.
* Added getFeature to playermount module.
* Added isMarketable and getMarketData to the lua binding.
* Added lua casts for MarketData.
* Fixed typo in the module manager.
* Added new 'light flat panel' for more variation (can change later) will require some graphics for market.
* Added new functions to table lib.
* Fixed some styling issues from previous commits.
2012-07-20 06:54:24 +12:00
niczkx f74b013da2 ignore this 2012-07-19 15:55:10 +02:00
niczkx aef3a5b8db more work on xml stuff (prolly done for today) 2012-07-18 16:36:46 +02:00
niczkx c8d1d5ecf2 rewrite xml stuff #2 - will be testing the monsters xml code soon 2012-07-18 02:58:28 -03:00
Eduardo Bart eb24d6776e Multi-protocol
Lots of chagnes to add multi protocol flexibility, not really
completed yet, still have to rework text messages opcodes and other stuff,
so this still a working in progress feature

* Rework dat reader, the dat reader can now
* dinamically detect dat version
* Split game into gamelib and game_interface
* Lots of other minor changes
2012-07-17 20:53:19 -03:00
niczkx 12d30f7355 monsters 2012-07-17 12:00:22 +03:00
BeniS 92e3c2cbd6 Fixes to mounting, outfit randomizing, and added creature getSpeed to the lua binding. 2012-07-16 11:08:27 +12:00
BeniS 81e6cf210e Merge remote-tracking branch 'origin/master' 2012-07-15 23:50:36 +12:00
BeniS 5520501673 Implemented the mount interface, Fixed some interface stuff, Some cosmetics, and Updated the outfits window
* Added new arrow buttons.
* Fixed the vertical separator.
* Added new game_playermount module to handle player mounting.
* Moved the battle icons to /images.
* Outfit window accommodates for mounts, loads addons more efficiently and keeps addons set on update, added new Outfit.randomize function that allows you to randomize your outfit colors, and set up a new layout.
2012-07-15 23:49:28 +12:00
Eduardo Bart 98c4240446 Changes for the mapeditor 2012-07-15 03:17:31 -03:00
Eduardo Bart 70115e391d Merge fallen changes 2012-07-14 14:22:18 -03:00