Age | Commit message (Collapse) | Author | Files | Lines |
|
You now can change the anger of a monster to a being using
mana.monster_change_anger(monster, being, anger)
Resolves: Mana-Mantis #366.
|
|
You now can change the anger of a monster to a being using
mana.monster_change_anger(monster, being, anger)
Resolves: Mana-Mantis #366.
|
|
equipment-fix
|
|
It will make the client capable to tell which item
is to be unequipped when there are several item equipped
within a slot type, for instance.
The client has now yet to be upgraded to follow the new protocol.
|
|
|
|
git://gitorious.org/~bertram/mana/manaserv-equipment-fix into equipment-fix
Conflicts:
src/common/manaserv_protocol.h
|
|
I made the system handle the fact that equipment item
are completely unlinked to the inventory items.
Equip items now have a unique itemInstance number permitting
to equip the same item type multiple time when the slot capacity
is wide enough to do so.
I also prepared the functions to welcome in the near tests against
scripted equipment.
The equip process is known to be working server-side but the unequip
process has yet to be reviewed, even if implemented.
|
|
Previously it was a list of pair ofunsigned int,
used to get the equipment slot requirements.
It didn't make sense as the ItemEquipsInfo was already a list of it.
So you had to manage with a list of list and that ended up being
irrelevant to the need.
I had to disable the equip function to permit compilation.
This will be fixed in my next commit.
|
|
|
|
The account server sends out a random number, which is
additionally used for hashing the password.
Reviewed by Bertram
|
|
Resolves: Mana-Mantis #318.
Reviewed-by: Bertram.
|
|
to something more meaningful.
|
|
|
|
mana.monster_get_name(id) and mana.item_get_name(id) can be used
to get the name of an item or a monster if only an id is given.
Reviewed-by: Bertram.
|
|
You can now use either the name or the id of the item in the LUA
functions chr_inv_change, monster_create, item_drop.
Part of: Mana-Mantis #318.
Reviewed-by: Bertram.
|
|
|
|
I also changed the chatmessage function to chat_message
to follow the coding standard.
|
|
mana.is_walkable(x, y) can now be used to check wether the pixel on the
current map is walkable or not.
Reviewed-by: Bertram.
|
|
mana.monster_remove(monster) can now be used to remove a monster
from a map.
Resolves: Mana-Mantis #352.
Reviewed-by: Bertram.
|
|
mana.get_map_prpoperty(string) can now be used to read a property from a
map file. String is the property name.
Resolves: Mana-Mantis #353.
Reviewed-by: Bertram.
|
|
|
|
|
|
Moving and splitting items in the inventory window should be
much more responsive now.
|
|
The unecessary equipment check was already removed, but the now
useless force parameter is now also removed.
|
|
|
|
in oversized inventories.
|
|
The inventory part is done. The equipment one will only handle
equipment triggers for now.
|
|
|
|
This is in preparation of fixes for issues: #373, and 379.
Equip and inventory related packets are the only ones changed.
|
|
now, the equipment slots are independant from the inventory slots
according to the inventory and equipment data.
This will permit to avoid checking the equipment each time
one touches the inventory and vice versa, and make the former
delayed mode useless.
Also, note that equipped items will be removed from inventory
and readded once unequipped.
The design will permit the following, even if not implemented yet:
- To make equipment items stackable again, if wanted.
- Have more than one item with the same id equipped on different
slots using the itemInstance field.
Note: I didn't add the database structure updates yet, to see
whether other changes may later go along with those.
|
|
I said I wouldn't do it, but I change my mind. Here is why:
The delay mode is used in the trading code, and in the inventory
code for lua only.
In the lua part, the delay mode is useless as it is used only
when the script is requesting removal of more items than owned.
This is something that can't be handled well anyway,
as for the script part, even when the character was still
keeping its items.
Plus, it's not actually an error, IMHO.
In the trading code, it made sense. But the next commit
will bring design changes making the inventory items
and the equipment items not linked anymore. Hence, making
it impossible to trade equipped items, for instance,
which is a good thing IMHO. It will also remove the need
of a delayed inventory mode in that case.
The two cases where it is used will disappear, making it
useless.
Last but no least, the part watching for equipment changes
in the commit() function is not something easy to debug
without first having a proper and working base.
(checking of two multimaps changes, for instance).
We can add it back once the code has been fully debugged
for the most skilled among us.
And yes, I am sure of what I'm currently doing.
For now the whole inventory and trading code is in need of review
but it already was, anyway.
|
|
This doesn't change anything yet.
|
|
You can now call mana.get_distance(being1, being2) or
mana.get_distance(x1, y1, x2, y2) for calculating distances.
Reviewed-by: Jaxad0127, Bertram.
Resolves: Mana-Mantis #370.
|
|
Reviewed-by: Bertram.
Resolves: Mana-Mantis #369.
|
|
You can now call mana.log(loglevel, message) to log messages with scripts.
For loglevel you can use the new constants defined in
libmana-constants.lua
Resolves: Mana-Mantis #359
|
|
The server is now using the autoattacks system to perform damage
based on the attack's timer.
I also added a default bare knuckle attack when the character
is unequipped.
As a result, maggots can be killed again with bare hands now.
Known issues left:
This isn't tested against equipment changes for now, and the client
isn't in sync with the attacks speed.
Reviewed-by: Crush.
|
|
* An invite expires after 60 seconds.
* For protection of the server memory each player can invite a
maximum of 10 characters within the 60 second timeframe.
Reviewed-by: Bjorn
|
|
This is more precise than sending the attack type, that
can be guessed by the client anyway when the type parameter
will be added in the <attack> tag.
This is the server part of Mana issue: #363.
Reviewed-by: Bjorn.
|
|
Reviewed-by: Bertram
|
|
* The 'itp' parameter is no longer simply ignored (seems to be a small
optimization in Inventory::remove)
* Avoid incrementing an invalid iterator, fixing a crash (problem found
by Stefan Dombrowski)
* Use the right inventory index in the call to changeEquipment, which
previously was using "it", which would be equal to "it_end" there.
Reviewed-by: Stefan Dombrowski
|
|
The player sends party invites to the game server.
If the invitee is within the visual range of the inviter,
the game server forwards the invite to the chat server.
Reviewed-by: Bjorn, Jaxad0127
|
|
Before at most one item was droped and the sum
of all probablilites was limited to 100%.
Also in the example data drops are changed to existing items.
|
|
Reviewed-by: Jaxad0127
|
|
Listed: http://bugs.manasource.org/view.php?id=324
Reviewed-by: Yohann Ferreira
Reviewed-by: Jared Adams
|
|
Reviewed-by: Bjorn
|
|
|
|
* Include cstddef to be able to use size_t
* Replace NULL with 0 since NULL doesn't happen to be defined
in any included header file
|
|
In fact, the client never prefixed that file. Hence, the server
doesn't have to.
|
|
This, instead of the mana-skills.xml file, to follow latest
client changes.
|
|
A client can craft something using the @craft command.
The command needs a list of item names and amounts. The gameserver checks
if the character has these items in the inventory and then passes the list
together with the character handle to the lua script function on_craft in
the script file scripts/crafting.lua.
This function can then be used to evaluate if the list is a valid crafting
combination and when this is the case take or give items.
Implemented two example crafting scripts there, one which enforces exact
item order and amount and one which doesn't. Both are disabled per default
and one needs to be enabled by uncommenting a line.
Also gave the player group permission to use the @craft command in
permissions.xml and added two new items (wood and iron) required for the
example crafting combination.
Resolves: #333
Reviewed-by: bcs86, Bertram
|