summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-08-05Fixed wrong error raising in lua.cppErik Schilling1-2/+2
Reviewed-by: bjorn.
2012-08-05Removed old warnings and documentation from chr_inv_change.Erik Schilling1-7/+3
This was forgotten to do when dropping the money checks and introducing the checkItem function. Reviewed-by: bjorn.
2012-08-05Fixed the atinit functionErik Schilling3-4/+11
Previously each map had its own scope. They got merged now but the atinit function was forgotten to adapt. Reviewed-by: bjorn.
2012-08-05Fixed recalculation of base attributesErik Schilling1-7/+7
We do not need to calculate derived attributes of the derived attributes but the base of the derived attribute. Reviewed-by: bjorn.
2012-08-05Remove resetEffects; move it to destructor in ItemClass.Stefan Beller2-18/+20
Reviewed-by: bjorn
2012-08-05Cleaned up some world state variable testing codeThorbjørn Lindeijer1-10/+2
Kept the accountserver_startup time for now, since it could be useful. Reviewed-by: Stefan Beller
2012-08-05Fixup segfault at shutdown of gameserver.Stefan Beller1-5/+1
The objects of ItemEffectInfo class, which are hold in mDispells are definitly in mEffects as well, because they are added in in addEffect as the same pointer. Reviewed-by: Erik Schilling
2012-08-05Correct updating the old position of beings.Stefan Beller1-4/+4
Reviewed-by: bjorn acked-by: Ablu
2012-08-04Prevent characters from using specials after deathErik Schilling1-0/+6
Reviewed-by: Stefan Beller.
2012-08-03Fixed dead characters being able to use items.Erik Schilling1-0/+4
Change is tested. Mantis: #492. Reviewed-by: Stefan Beller.
2012-08-03Made the character not colliding with monsters.Erik Schilling1-1/+1
Prevents clientside desyncs. Reviewed-by: Stefan Beller.
2012-08-02Correct further int lengthes.Stefan Beller1-2/+2
Reviewed-by: Ablu.
2012-07-31Gameserver raise attribute: correct integer size.Stefan Beller1-1/+1
Acked-by: bjorn
2012-07-31Make Attributes modifiable by client again.Stefan Beller1-1/+2
Reviewed-by: bjorn
2012-07-31Fixed SQL syntax error when updating character pointsThorbjørn Lindeijer1-2/+1
Had a comma too much. Reviewed-by: Stefan Beller Reviewed-by: Erik Schilling
2012-07-31Fix Inventory::getNewEquipItemInstance to yield really unique ids.Stefan Beller1-9/+8
Signed-off-by: Stefan Beller <stefanbeller@googlemail.com> Reviewed-by: Erik Schilling
2012-07-21Fixed an error message and inlined some one-linersThorbjørn Lindeijer2-30/+29
2012-07-21Removed raiseScriptErrorThorbjørn Lindeijer3-37/+24
It wasn't really adding anything since errors raised using luaL_error are already logged anyway. Reviewed-by: Erik Schilling
2012-07-21Added zlib to the dependencies documented in the READMEThorbjørn Lindeijer1-0/+1
2012-07-17Added lua binds for issuing request of quest variable + bind for trying to ↵Erik Schilling4-13/+134
read them The difference to the old chr_get_quest bind is that this allows querying quest vars from non npc functions as well. Change is tested. Reviewed-by: bjorn.
2012-07-17Added script binds to get full monster anger list + drop anger of monstersErik Schilling2-0/+20
Reviewed-by: bjorn.
2012-07-17Added lua bind to send text effect particle to clientsErik Schilling2-0/+14
Change is tested. Reviewed-by: bjorn.
2012-07-17Made chr_get_level capable of retrieving skill levelsErik Schilling1-3/+12
Reviewed-by: bjorn.
2012-07-14Fixed the get_beings_in_rectangle function.Erik Schilling1-1/+2
Previously it only used the rectangle iterator which in fact iterated over the beings in the map zones and returned often way higher number of beings compared to the actual rectangle. Change is tested. Reviewed-by: Bjorn.
2012-07-11Made sure the map is set for trigger scriptsErik Schilling2-0/+2
Also unsetted maps after execution of scripts to make finding this mistakes easier. Reviewed-by: bjorn.
2012-07-10Made kill count script bind capable of taking the monster name as argumentErik Schilling1-2/+2
Reviewed-by: bjorn.
2012-07-08Added bind for setting login callbackErik Schilling4-0/+22
Reviewed-by: bjorn.
2012-07-07Added script bind for getting specy id of a monster handleErik Schilling1-0/+12
Reviewed-by: bjorn.
2012-06-22Collisiondetection: Removing commented code.Stefan Beller1-118/+0
Reviewed-by: Ablu
2012-05-25Fixed handling of skillsErik Schilling4-18/+10
- Removed possibility of skills getting mixed with attributes - Made the server sending the level of the current skill on exp change (currently the client could calculate it itself, but it allows more flexibillity in future this way) - Fixed reading of skills out of the database (for some reason the status effects were added as skills) ** Needs clientside patch as well (coming soon) ** Reviewed-by: Bertram.
2012-05-20Removed no longer needed codeErik Schilling2-24/+0
I forgot to remove this during my special cleanup Reviewed-by: bjorn.
2012-05-06Don't send NPC text as fixed-length stringThorbjørn Lindeijer1-3/+2
This is intended to be used only when the string length is known. The client was deriving the length from the remaining amount of data in the message, but that doesn't work in the new 'debug mode' of the protocol. Reviewed-by: Ben Longbons
2012-05-06Some small optimizations in Lua helper functionsThorbjørn Lindeijer1-6/+3
Reviewed-by: Ben Longbons
2012-05-06Fixed type of returned value from MapReader::readMapThorbjørn Lindeijer1-1/+1
GCC 4.7 warns about this, yay.
2012-05-05Small GCC 4.7 compile fixThorbjørn Lindeijer1-0/+1
Not entirely according to the standards since this is a C99 header, but that's better than not having it compile at all, or switching it entirely over to C++11 mode just now.
2012-05-05Added debugging mode to the protocolThorbjørn Lindeijer12-99/+286
Allows inspection of message data. It is off by default since it consumes additional bandwidth, but it can be turned on using the net_debugMode option in manaserv.xml. Currently the option only affects outgoing data for each host individually. In particular, enabling this debug mode for the server does not automatically make the client annotate its messages. Reviewed-by: Erik Schilling
2012-05-01Fix compiler error in g++ (GCC) 4.7.0jurkan1-2/+2
Compiler error was due to variable redeclaration (variable inside of for loop had the same name as the loop iterator variabele) - fixed through renaming of the inner variable. Reviewed-by: bjorn
2012-04-19Fixed guild supportErik Schilling12-167/+251
List of things fixed: - fixed having multiple guild support everywhere - implemented kick code (untested due to missing kick possiblity in client) - fixed giving owner rights to next member when owner leaves guild - fixed potentional segmention fault when trying to access deleted guild after all members left - fixed saving right changes to database - made searching for guilds faster a bit (at least when having many guilds) TODO: + Fix conflict between guild and normal channels + Fix being able to leave guild channel without leaving guild itself + Add kick possiblity to client Reviewed-by: bjorn.
2012-04-18Removed not needed trigger for specialupdate when INT attribute changed.Erik Schilling1-4/+0
I removed this dependency a while ago. But forgot to remove this code. Reviewed-by: bjorn.
2012-04-14Fixed compiler warning about non-virtual destructorThorbjørn Lindeijer1-0/+2
None of the subclasses actually define a destructor that does anything, but this may change in the future. In any case it's good to get rid of the warning. Reviewed-by: Erik Schilling
2012-04-14Introduced a Timeout class for counting down without countingThorbjørn Lindeijer12-142/+223
The timeout remembers a reference point of time against which it can check how much time is remaining. Reviewed-by: Erik Schilling Reviewed-by: Yohann Ferreira
2012-04-12Fixed issues with server behind routerErik Schilling3-3/+11
Tested-by: jurkan. Reviewed-by: Bertram.
2012-04-12Fixed Configuration::initialize() to return false when failing loadingErik Schilling1-2/+2
Reviewed-by: Bertram.
2012-04-04Adding monster::on_damage callbackStefan Beller3-0/+33
Reviewed-by: bjorn
2012-04-04Added mysql update script for the special commitErik Schilling1-0/+11
Forgot to add this to git when doing the commit. Sorry. Reviewed-by: bjorn.
2012-04-04Renamed Thing to EntityThorbjørn Lindeijer29-123/+121
In preparation for using an entity/component system for the entities in the game world, this name will be more recognizable and easier to talk about. Reviewed-by: Yohann Ferreira
2012-04-04CodeBlocks gameserver projectfile updatedPostremus1-14/+36
Added scriptmanager.h, scriptmanager.cpp, specialmanager.h, specialmanager.cpp Reviewed-by: Ablu.
2012-04-04Enhanced special supportErik Schilling26-199/+988
- 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.
2012-03-30Fixed Lua error reporting for NPC scriptsThorbjørn Lindeijer1-3/+4
This was due to a naming conflict between the 'debug' function I had recently introduced and the 'debug' library provided by Lua. This caused problems when trying to use debug.traceback for printing a backtrace of the error. There's multiple ways to avoid the naming conflict. I opted for writing the related helper functions in all-caps. Also added an ERROR log function now. As Erik pointed out, there is no conflict anymore with Lua's 'error' function with the new naming style. Reviewed-by: Erik Schilling
2012-03-26Some general cleanups and merged Being::perform() into update()Thorbjørn Lindeijer9-129/+117
The main change here is to remove the separate calling of 'perform' on all beings, and rather rely on the beings to do whatever they were doing in that function when the virtual 'update' function is called. Reviewed-by: Yohann Ferreira