summaryrefslogtreecommitdiff
path: root/src/npc.h
AgeCommit message (Collapse)AuthorFilesLines
2010-05-17Remove Monster, Player, and NPC classesJared Adams1-67/+0
Instead of having these three subclasses with minor differences, this commit merges them back into Being. In the future, we can make Beings that are talkable to some, attackable by others, etc. This also puts back support for monster equipment. Also changes remaining references to Being::Type and the constants to refer to ActorSprite::Type. Reviewed-by: Freeyorp
2010-05-06Add support for floor item spritesJared Adams1-8/+2
This commit adds a sprite hierarchy (Sprite->ImageSprite,AnimatedSprite,CompundSprite; CompoundSprite,Actor->ActorSprite;ActorSprite->Being,FloorItem) to collect common functionailty into new base classes which will make other Mantis tickets easier to do. Also allows monsters to use particle effects. Reviewed-by: Bertram
2010-04-16Add race support for eAthenaJared Adams1-1/+3
The job/class field is used to select the race. If the given race isn't defined, it falls back on the first race (so servers can use jobs/classes without races). Also rename job to subtype for Being and subclasses, and begin support for changing monster and NPC subtypes on the fly (particle effects still need to be reset when they change). Reviewed-by: Bertram
2010-02-28Removed a few pointless const qualifiersThorbjørn Lindeijer1-1/+1
Reviewed-by: Jared Adams
2010-02-22Modify copyright headersFreeyorp1-1/+2
2010-02-20License header update for The Mana ClientThorbjørn Lindeijer1-4/+3
2010-02-13Make NPC dialogs instance instead of globalJared Adams1-2/+0
This change allows players to talk to multiple NPCs at a time (if the server agrees). Manaserv's netcode allows multiple commerce instances too. eAthena's is limited to one commerce instance, due to protocol limitations.
2010-02-07Updated Copyright year to 2010!Bertram1-1/+1
Also added the update copyright tool from the Wormux Team. ( And not forgetting credit's due. :P )
2010-01-19Fix problems when dying with an NPC dialog openJared Adams1-1/+1
2010-01-10Fix handling of NPC talking statusJared Adams1-2/+2
2009-09-17Partially (but mainly) resolved Mantis #753 by making monsters, NPC, and ↵Bertram1-0/+4
Floor Items visible even covered. Next Step would be to add a caching system for multi-layered sprites + copy functions for SDL and OpenGL. Then, I'll be able to finish this, by making also players visible when covered... But Kage asked me (each and every hour) to do something else first ;)
2009-08-14Add functions to more easily work with equipmentJared Adams1-1/+7
Move hair changes back over to them; related server change was reverted. Also move NPCs back over to extending Player. NPCs will have equipment in the future too, but for now, disable that part while we finish the system.
2009-08-13Clean up Being and it's derivativesJared Adams1-8/+1
Move stuff only needed for Players into Player (like slots and sprite limits). Move name handling into Being (no need for three copies of this code). Clean up terminology (including Map terminology). Remove hair-related variables.
2009-08-13Make NPC inherit from Being instead of PlayerJared Adams1-3/+1
No need for NPCs to inherit from Player. Player has functions NPC doesn't need and overrides that NPC doesn't need. This change reduces the number of functions needed to be overrided by NPC.
2009-06-08Attempt to clear some of the block/walkmask confusionBjørn Lindeijer1-1/+5
2009-05-05Remove debug code that was accidentally committedJared Adams1-2/+0
2009-05-05Remove extra check on player targetJared Adams1-0/+2
~Being does this too, so let's leave it there.
2009-03-27Clean up of most of the Network pointersBjørn Lindeijer1-11/+3
Now that messages can be sent without requiring a pointer to the Network instance, a lot of cleanup was possible.
2009-03-27Fixed some positioning issuesBjørn Lindeijer1-2/+2
Started with not being able to click NPCs properly, and I ended up correcting the draw positions of overhead text, targets and sprite ordering. It's now a bit more straight-forward. The position of a being is simply in the middle of the sprite at the bottom. When drawing the sprite, an offset remains because all the sprites are compensating for getting drawn half a tile to the left and one tile up.
2009-03-25Merge branch 'eathena/master'Bjørn Lindeijer1-15/+3
Conflicts: A lot of files.
2009-03-22Merged the tmwserv client with the eAthena clientBjørn Lindeijer1-0/+21
This merge involved major changes on both sides, and as such took several weeks. Lots of things are expected to be broken now, however, we now have a single code base to improve and extend, which can be compiled to support either eAthena or tmwserv. In the coming months, the plan is to work towards a client that supports both eAthena and tmwserv, without needing to be recompiled. Conflicts: Everywhere!
2009-03-06Merge branch 'aethyra/master'Bjørn Lindeijer1-2/+0
Conflicts: src/being.cpp src/being.h src/floor_item.cpp src/floor_item.h src/flooritemmanager.cpp src/gui/inventorywindow.cpp src/gui/inventorywindow.h src/gui/itemcontainer.cpp src/gui/popupmenu.cpp src/net/beinghandler.cpp src/npc.cpp
2009-03-05Got rid of Sint{8,16,32} and Uint32 for being IDBjørn Lindeijer1-4/+2
Using unsigned rarely makes sense, especially when the server doesn't use it either. Other uses of unsigned should be reviewed. In all other cases, int is the fastest integer type on any architecture. Using 8 or 16 bits can basically only be a memory optimization.
2009-03-06Got rid of Sint{8,16,32} and Uint32 for being IDBjørn Lindeijer1-1/+1
Using unsigned rarely makes sense, especially when the server doesn't use it either. Other uses of unsigned should be reviewed. In all other cases, int is the fastest integer type on any architecture. Using 8 or 16 bits can basically only be a memory optimization.
2009-02-26Merge branch 'aethyra/master'Bjørn Lindeijer1-0/+2
Conflicts: data/graphics/images/login_wallpaper.png src/being.cpp src/beingmanager.cpp src/engine.cpp src/game.cpp src/gui/buysell.cpp src/gui/buysell.h src/gui/gui.h src/gui/npc_text.cpp src/gui/npc_text.h src/gui/npcintegerdialog.cpp src/gui/npclistdialog.cpp src/gui/npclistdialog.h src/gui/npcstringdialog.cpp src/gui/sell.cpp src/gui/shop.cpp src/gui/table.cpp src/net/beinghandler.cpp src/net/npchandler.cpp src/net/playerhandler.cpp src/npc.cpp src/npc.h src/shopitem.cpp src/shopitem.h src/utils/stringutils.cpp src/utils/stringutils.h src/utils/trim.h
2009-02-25Fix NPC handling to not need a handle on the NPCIra Rice1-9/+4
Loosely based on TMW commit f04a8713ffc83db8b3dc4a472b28aad25a2b2bd1 Signed-off-by: Ira Rice <irarice@gmail.com>
2009-02-25Prevent duplicate NPC talking when using keyboardJared Adams1-0/+2
Based on commit a1e483913672e55704e8fbafeff5ea0ccc0c9b07 from Aethyra.
2009-02-25Fix NPC handling to not need a handle on the NPCJared Adams1-14/+1
The Being ID is used instead, as that is all that was ever really needed.
2009-02-24Cleaned up some code, as well as removed redundant talk client requestingIra Rice1-0/+2
(which would happen from using the keyboard instead of the mouse). Signed-off-by: Ira Rice <irarice@gmail.com>
2009-02-18Centralize current_npc cleanupJared Adams1-0/+5
2009-02-10Fixed header files, as well as removed the unused buddy list class (notIra Rice1-2/+3
useful since buddy lists are tracked through the player relation interface instead) Signed-off-by: Ira Rice <irarice@gmail.com>
2009-01-25Removed the TMW branding from header guardsBjørn Lindeijer1-2/+2
2009-01-23Removed unnecessary references to The Mana World in code headersBjørn Lindeijer1-4/+4
This dates back to the old days of TMW, but the usage instructions of GPLv2 don't mention this being necessary. Since it doesn't add anything, avoid the branding in these sections.
2009-01-18Add dialogs to input text and numbers for scriptsJared Adams1-0/+2
2009-01-15Added emote database, which is loosely based off of the NPC database.Ira Rice1-2/+1
Also changed all emotes to be animated sprites now, and to load from emotes.xml. This gives us a bit more flexibility to not only add more emotes in the future, but allowing them to be animated as well. NOTE: This commit, unlike the previous emote commits, breaks emotes if you don't have the xml file. This will be available on Aethyra soon, but is not rolled into an update at the moment. Signed-off-by: Ira Rice <irarice@gmail.com>
2009-01-05Handling gender with an enum everywhere.Philipp Sehmisch1-1/+1
(cherry picked from mainline commit d3adc61aa4b4924f82d8cbc23bea26da7257da97) Conflicts: src/net/beinghandler.cpp src/net/charserverhandler.cpp src/player.cpp src/player.h
2008-11-18Pedantic fixes to the client, where I alphabetized all of the include Ira Rice1-2/+0
statements, as well as removing the new skill dialog, which we do not, nor will we use (if we do, it'd be a new one that we'd make). WARNING!!! This, and all other previous builds have a linker error for the Gnome libraries version 4.3.2 on my setup. It's assumed that this is also the case for other users of this library as well. I'm currently assuming that there's a bug in the compiler itself, and will look into reporting this, but in the mean time, it doesn't build for these users, unfortunately. Sorry about this.
2008-11-16Got rid of CVS/Subversion $Id$ markersBjørn Lindeijer1-2/+0
I don't know why we dealt with these things for so long. Did we ever get anything out of it?
2008-10-25Fixed NPC's so that clothes would draw again. However, if in the future Ira Rice1-0/+1
this isn't sufficient for attacking, movement, or other code, this will be changed to mimic the style used by the base class player.
2008-10-25Changed NPC's to inherit from the player class. This should be helpful Ira Rice1-2/+3
later, since they essentially are a beefed up player.
2008-07-18Import of client treeLloyd Bryant1-4/+9
2008-03-31Implemented NPC XML database which maps NPC IDs to one or more animation ↵Philipp Sehmisch1-1/+1
files and thus enables animated NPCs.
2008-03-15AAdded pathblocking rules to NPCs.Philipp Sehmisch1-0/+13
2007-07-23Converted NPC code to new server.Guillaume Melquiond1-1/+1
2006-12-11Merged 0.0 changes from revision 2825 to 2898 to trunk.Bjørn Lindeijer1-1/+7
2006-12-03Made NPC names visible. Windows are now invisible by default.Bjørn Lindeijer1-1/+6
2006-09-02Switched to short IDs for beings.Guillaume Melquiond1-1/+1
2006-08-26Made the Network class a purely static interface, as there is only one instance.Guillaume Melquiond1-6/+1
2006-07-19Merged new_animation branch until r2415 into trunk. Eugenio Favalli1-2/+0
2006-01-22Merged NETWORK branch (includes BEING_OVERHAUL).Björn Steinbrink1-0/+53