Age | Commit message (Collapse) | Author | Files | Lines |
|
Reviewed-by: bjorn.
|
|
It's easier to just talk about world data and to modify it as a whole.
If there is really a need to separate it, a project can still choose to do
that (and in whatever suitable way). There is no need to enforce this
separation or to do it in our example.
Reviewed-by: Erik Schilling
|
|
Based on a native Lua table with weak values, so that the user data objects
that are created can be garbage collected when no longer referenced.
Reviewed-by: Yohann Ferreira
|
|
Also read the gids as unsigned integers since that's how Tiled writes them
to prevent the number going negative when the highest flag is used.
Reviewed-by: Yohann Ferreira
|
|
This can now be done in attributes.xml through the
minimum and maximum attribute parameters.
I also changed the AttributeInfo struct as requested by bjorn.
Reviewed-by: Erik Schilling, Thorbjørn Lindeijer
|
|
Based on a templated helper class, MapObject references in Lua scripts are now
full user data objects. Using the '__index' member of their metatable, a
library is associated with it so that member functions can be called directly
on the object.
Reviewed-by: Yohann Ferreira
Reviewed-by: Erik Schilling
|
|
When creating a Lua table, it is possible to specify in advance how many
array elements and how many non-array elements this table will contain,
to avoid dynamic reallocations while filling the table. This wasn't used
optimally by the pushSTLContainer helper methods and some other cases.
Reviewed-by: Erik Schilling
Reviewed-by: Yohann Ferreira
|
|
Reviewed-by: Erik Schilling
|
|
luaL_checkstring might not return so the destructor of string will not be called.
Reviewed-by: Bjorn.
|
|
The function will cause a global announcement.
If no sender ist set "Server" will be used.
Reviewed-by: Bjorn.
|
|
Reviewed-by: Bertram
|
|
- Added announcements having senders now.
- Removed /announcement support.
Reviewed-by: Bjorn.
|
|
Those will make the scripters able to get a full view
of the current player's possessions. Use with care.
+ Fixes following Ablu's review.
Resolves: Mana-Mantis #207.
Reviewed-by: Ablu
|
|
the function can now count in the inventory
and/or the player's equipment.
I also fixed the script function and added a use case
in the example map.
+ Fixes after Ablu's review.
+ 2nd fix after Ablu's review: Fix the inventory remove behaviour.
Resolves: Mana-Mantis #288
Reviewed-by: Ablu
|
|
Part of Mana-Mantis #339.
Reviewed-by: Ablu
|
|
As requested by Ablu.
Reviewed-by: Ablu.
|
|
in case of disconnection.
I made the Character::disconnected() function handle that case,
permitting also to centralize GameState::remove() calls there.
I also made the GameState::enqueueWarp() function test whether
the Character pointer is about to be deleted, so that the warp
can be handled directly to avoid a crash.
Last but not least, I also made the Character::update() function
not update the Character specials and hp to avoid discrepancies
seen in the client.
Resolves: Mana-Mantis #309.
Reviewed-by: Ablu.
|
|
Reviewed-by: Ablu
|
|
You can unequip using the slot or an item id.
+ Fixes from Ablu's review.
Resolves: Mana-Mantis #350.
Reviewed-by: Ablu.
|
|
One per inventory slot, one per item id or name.
+ Fixes from 2 Ablu's reviews.
Reviewed-by: Ablu.
1st part of Mana-Mantis #339, 350.
|
|
Reviewed-by: o11c.
|
|
Reviewed-by: o11c, bjorn, Bertram.
|
|
Reviewed-by: o11c.
|
|
Changed range of amount to unsigned int(10).
Sqlite update scripts is empty since no change was required here.
Reviewed-by: Bertram.
|
|
You can now use <include file="myconfig.xml" /> to include a configuration file
into the main configuration.
Reviewed-by: Bjorn.
|
|
Reviewed-by: Thorbjorn Lindeijer.
|
|
Reviewed-by: Erik Schilling
|
|
Looks unlikely that we'll be using this. Anyway, it can be found in the
git history if so.
Reviewed-by: Yohann Ferreira
|
|
These scripts could trivially share one script state, since the methods
called on them from the server are not overlapping. This does leave them
open to access each other's global variables, but that's the problem
with global variables.
The one remaining global script file name is now configurable, so that
it may also be set to a script in a different scripting language. The
two related script options are:
script_mainFile (default: scripts/main.lua)
script_defaultEngine (default: lua) - renamed from defaultScriptEngine
Reviewed-by: jurkan
Reviewed-by: Yohann Ferreira
|
|
* Not nice to pass boolean parameter to constructor for preventing the
timer from running on creation. Just call 'start' on it explicitly.
* getTimeInMillisec could be made static.
Reviewed-by: Yohann Ferreira
|
|
Added @permissions <character> which lists the permissions of a player.
Made @givepermission giving feedback on success.
Reviewed-by: Thorbjørn Lindeijer.
|
|
The level, character points and correction points are already
initialized by the Character constructor.
The ATTR_GP attribute is either not present, or obtained default value
from mDefaultAttributes. In both cases it makes no sense to set it to 0.
Reviewed-by: Yohann Ferreira
|
|
We can't arbitrarily remove inventory items on initialization, and
shouldn't have to, because what's in the DB was correct when it was
stored.
Also, there should be no need to check the inventory after inserting
items, since the insert method should already make sure not to insert
items when there is no space.
Reviewed-by: Yohann Ferreira
|
|
Also, removed the fallback to the standard config file path when a
config file path is specified on the command line. Surely that's not
what you would want to happen.
Reviewed-by: Yohann Ferreira
|
|
|
|
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
|
|
Reviewed-by: Thorbjørn Lindeijer.
|
|
Reviewed-by: Bjorn, Bertram.
|
|
I also added a link to the skillmanager object in its header
file. This will later be used to get info from elsewhere than
the server main loop.
Reviewed-by: Bjorn.
|
|
Thanks to Ablu.
|
|
Reviewed-by: o11c.
|
|
Reviewed-by: Ablu.
|
|
Reviewed-by: Ablu.
|
|
|
|
|
|
When I introduced NameMap it was only used with pointers, but now it is
also used with std::string so it probably makes sense to keep a default-
constructed value around so that a reference can be returned rather than
a copy.
NameMap::find was renamed to NameMap::value to make it more clear that
it doesn't return an iterator, like std::map::find.
Reviewed-by: Yohann Ferreira
Reviewed-by: Ben Longbons
|
|
Conflicts:
src/game-server/accountconnection.cpp
|
|
log_accountToStandardOutput and log_gameToStandardOutput have been
merged together as log_toStandardOutput.
Reviewed-by: Yohann Ferreira
|