Age | Commit message (Collapse) | Author | Files | Lines |
|
When using login with Stellar, the email address remains empty. This was
causing issues since the email is also required to be unique, in effect
only a single Stellar account could exist.
Resolved this by allowing the email column to be null, since the unique
requirement does not cover null values. An empty email will now be
stored as null value.
For non-Stellar logins, an email address is still required.
|
|
|
|
Things done:
- Removed the equips table and added another column which keeps track about
whether the item is equipped or not
- Added a message to notify the client about failing equips instead of
hardcoding to chat notification
- Removed the move possibillity. It was a quite long function and our future
idea of the inventory does not need any moves
- Removed the inInventory and inEquipment parameters from chr_inv_count,
but added a equipped key to the table that chr_get_inventory returns
This change makes equipped items still being in the inventory. This means
in-inventory triggers are still active! However it makes no sense to disable
this triggers during equipping since it will appear as still in the inventory
to the client.
|
|
- Removed hardcoded using of attributes
- Simply introduced lua functions to set global and ability cooldowns
- Requires database update
- Bumps the protocol
|
|
This removes support for skills. The plan is to allow to implement the skills
as they were implemented before via attributes. This adds a lot more
flexibility to the server creators while also removing the confusion about
skills and attributes.
So this change does:
- Remove the skillmanager with all its calls, the skill xml file, etc
- Move exp giving to the script engine:
--> Allows to implement the old behaviour (and more) in the scripts
- Remove the exp tag from the monster definition:
+ Since the server itself does not require it anymore it feels wrong to
require it for EVERY monster. TODO: Add a system to add properties to the
monsters/items.xml which allow defining things like the exp and allows to
read the value from the script engine.
+ Small drawback, but it should not be hard to implement this property
system.
- Drop the level networking and calculation.
+ level calculation will happen via the attribute system later but i would
prefer to do this in a seperate patch since this patch already got longer
than expected especially since this requires to make setting correction
points and available status points scriptable.
+ The level would be simply set as a attribute, the int number of it will be
the level, the remaining digits will be the % number till the next levelup.
- NOT remove any existing skill tables in the database update scripts.
+ There is no way to move them into the attribute table in a unified way
(there are too many different way they could have been used). So server
admins have to care about moving theirs skills to attributes themselves.
+ Keeping the old tables does not hurt for existing databases. So removing
does not give any advantage/is required anyway. The now obsolote info
about the EXP transaction is not removed for updated databases either.
(The update script basically only bumps the version number without doing
anything else.
- bump the network protocol version --> old clients won't be able to connect.
- bump the database version --> serveradmins need to update their db.
|
|
|
|
- Made the current charge being saved.
- Added script binds:
- chr_set_special_recharge_speed
- chr_get_special_recharge_speed
- chr_set_special_mana
- chr_get_special_mana
- get_special_info
- Added special info lua class. Functions:
- name
- needed_mana
- rechargeable
- on_use
- on_recharged
- category
Further the engine no longer sets charge to 0 after using of specials
this allows more flexbilillity (like failing specials).
Changes on the xml database:
- recharge renamed to rechargeable (needed by client and server)
- needed - the needed mana to trigger a special (server only)
- rechargespeed - the defailt recharge speed in mana per tick (server only)
- target - the type of target (either being or point) (server and client)
I also made the lua engine pushing nil instead of a 0 light userdata when
the pointer was 0.
Database update needed.
Change is tested.
Mana-Mantis: #167, #156
Reviewed-by: bjorn.
|
|
Due to a wrong primary key, which covered only the state name, it was
impossible to use the same state name on different maps. This has now
been fixed.
Another problem was that the map variables were being included in the
global variables, because the related database query did not filter on
the map_id column properly. While fixing that, the map_id column now
allows explicitly marking a state variable as global (with the value 0)
or system variables (with the value -1).
System variables are currently not accessible from scripts, but that
could be changed later.
Reviewed-by: Yohann Ferreira
Reviewed-by: Erik Schilling
|
|
Changed range of amount to unsigned int(10).
Sqlite update scripts is empty since no change was required here.
Reviewed-by: Bertram.
|
|
|
|
Conflicts:
src/game-server/character.cpp
src/scripting/lua.cpp
|
|
Version 15 was skipped, and we'll never go back. Renamed the 15_to_16
update scripts to 14_to_16 to avoid confusing everybody who wants to
update their DBs.
Reviewed-by: Yohann Ferreira
|
|
Also made some random changes where useful, including:
- Code formatting fixes,
- Design fix about the fact that only the game config option
should be checked.
- Fixed the size of the values sent and receive to follow
the rest of the development.
- Fixed variables names to make them show what they are,
and not why they are used.
Resolves: Mana-Mantis #142.
|
|
Conflicts:
src/account-server/storage.cpp
src/game-server/mapreader.cpp
src/sql/mysql/createTables.sql
|
|
Resolves: Mana-Mantis: #388.
Reviewed-by: Bertram.
|
|
|
|
Reviewed-by: Cody.
Resolves: Mana-Mantis #284.
|
|
I turned the vector storing character data into a map,
keeping the character's slot.
Fixed a memleak along the way.
Reviewed-by: Crush.
|
|
@kick disconnects the client connection of a character. The new error-
code 11 (ERRMSG_ADMINISTRATIVE_LOGOFF) is not supported by the client
yet. It will show a generic "The connection to server was lost" message
instead.
@kill kills the character by setting its HP to 0.
Added @kick transaction code I forgot in last commit. Considering that
this was just minutes ago I think that noone updated his database yet.
So I don't think that a new database version is justified for this.
Reviewed-by: Bertram
|
|
The @mute, @goto, @attribute and @announce commands now logs transactions
to the database.
Added new transaction codes to database. I've preliminarily added a lot
of codes for not yet supported commands so that we needn't do a database
update with every single commit which implements one.
Also using the equivalent "say" helper function in place of the
"GameState::sayTo" method in the command handler.
Reviewed-by: Kage
|
|
Reviewed-by: Crush.
Resolves: Mana-mantis #251.
|
|
We can't leave the obsolete columns around since they are marked as
NOT NULL, so insertion to the table fails if no values are provided for
them.
With SQLite, our only option is to create the table and copy the data
over, which is what the update script now does.
The script was modified so that it is fine to run it again on a database
that was already updated to version 11 before.
|
|
Will not drop the attribute columns since this is not supported by
SQLite. I'm just leaving them around for now and see if it causes any
problems.
|
|
|
|
Reviewed-by: Philipp Sehmisch
|
|
character.
Added script call for getting the cost of a special (recharge only for now)
Deleting specials works server-sided but the client isn't informed about it properly. Specials without recharge cost don't appear for the player. Both of these features require an additional netcode message.
Reviewed-by: Freeyorp
|
|
|
|
Includes a database update. Use update_6_to_7.sql to update existing
sqlite databases.
|
|
|
|
Fixed database update "3 to 4".
Added database update "4 to 5".
Added indexes to table tmw_transaction for faster search when it
gets bigger.
Refactored layout of sqlite database script.
|
|
time for password recovery via tmwweb/email.
|
|
|
|
|
|
|
|
This upgrade will be the first, we provide database installation scripts
and update scripts to upgrade from the previous version. For more details
about database upgrades see
http://wiki.themanaworld.org/index.php/Upgrade_Database and feel free to
comment.
|