summaryrefslogtreecommitdiff
path: root/src/player.cpp
AgeCommit message (Collapse)AuthorFilesLines
2010-05-17Remove Monster, Player, and NPC classesJared Adams1-352/+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-19/+13
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-17Changed eAthena protocol name to TmwAthena and changed the config files ↵Bertram1-1/+1
accordingly. This makes room for the actual eAthena protocol future inclusion.
2010-04-16Add race support for eAthenaJared Adams1-7/+14
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-03-21Fix crash when no old party is set for a playerChuck Miller1-1/+1
Reviewed-By: Jarad Adams
2010-03-12Split Palette into Theme and UserPaletteJared Adams1-6/+7
Themes can now control the colors they use. Colors in the Viewport (being names, particles, etc) can still be changed by the user. Also make ProgressBars more easily colored. DyePalette was made more flexible in the process. Also fixes comparing strings of different lengths insensitively. Reviewed-by: Thorbjørn Lindeijer
2010-02-24Add more to eAthena guild supportJared Adams1-0/+33
It's not complete yet, but it is closer. Also fix up handling of guild/party members. Reviewed-by: Chuck Miller
2010-02-22Only give party hilight when the other player is in your partyJared Adams1-1/+1
2010-02-21Made tick counter and framerate limiter work during login sequenceThorbjørn Lindeijer1-2/+3
Much code was moved from main() to the new Client::exec(). This new event loop now integrates with the Game class, so that the tick counter and framerate limiter apply universally. The Client class is also responsible for some things that used to be global variables. Mantis-issue: ...
2010-02-22Modify copyright headersFreeyorp1-1/+2
2010-02-20License header update for The Mana ClientThorbjørn Lindeijer1-4/+3
2010-02-19Fixed a crash when trying to switch serversThorbjørn Lindeijer1-2/+2
Ownership of the charInfo global variable wasn't well defined. It was being locked, unlocked and generally modified from a lot of places, and somewhere in this mess it ended up crashing when switching servers. Now the CharHandler instances, for eAthena and manaserv respectively, own this list of characters. A new class, Net::Character wraps up the slot index in combination with the player dummy. The list is passed on to the CharSelectDialog each time it changes. Both related and unrelated cleanups were made as well. Reviewed-by: Jared Adams
2010-02-09Made the Beings' logic be able to handle any tile height/width.Bertram1-1/+2
This is the First step to get rid of most hardcoded 32 values.
2010-02-08Fix some bugs in party handling and add HP to AvatarListBoxJared Adams1-0/+5
2010-02-08Merge PartyWindow and GuildWindow into SocialWindowJared Adams1-14/+31
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-02-01Small cleanups.Bertram1-2/+2
2010-01-31Unify eAthena and manaserv support in to one build.Daniel Bradshaw1-48/+49
Finish support for server types in the server dialog. Using the new server type function, strip out ifdefs, replacing them with if blocks for later merging in smaller atomic commits. Remove any remaining references to the support defs, including in build system.
2010-01-28Added virtual destructors, some implicit casts, and a couple of type changes.Daniel Bradshaw1-1/+1
Many warnings removed. Reviewed-by: Thorbjørn Lindeijer <thorbjorn@lindeijer.nl>
2010-01-24Remove some more _SUPPORT ifdefsJared Adams1-10/+15
2009-12-16Stored the cached config value which says if non-crucial particle effects ↵Philipp Sehmisch1-1/+1
are enabled or not in a static member of class Particle instead of an instanced member of Being.
2009-11-07More eAthena guild stuffJared Adams1-6/+2
Also some related chenges elsewhere
2009-10-24REplace instances of TMW with ManaJared Adams1-2/+2
2009-10-04Do some refactoring of Being codeJared Adams1-2/+0
2009-09-17Partially (but mainly) resolved Mantis #753 by making monsters, NPC, and ↵Bertram1-1/+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-13/+28
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-91/+36
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-01Remove some unused movement methodsChuck Miller1-15/+0
2009-07-02Fix building the ea client.Roderic Morris1-14/+14
2009-07-01Remove complex path finding for players. Add a simple path finding algorithm ↵Roderic Morris1-0/+14
to map.
2009-05-12Fix up handling of GM statusJared Adams1-31/+29
2009-05-12Add proper GM hilighting to other playersJared Adams1-0/+4
2009-05-12Some small cleanups and fixed compile with tmwserv supportBjørn Lindeijer1-3/+6
2009-05-12Handle in party status in a much saner wayJared Adams1-2/+4
2009-05-10Fix default party colorJared Adams1-4/+5
Also reset name color for speech bubbles back to where it was.
2009-05-10Color player names more appropriatelyJared Adams1-5/+18
Party memebrs use the party color. Text color for local player uses the local player color.
2009-05-09Increased the distance between head and overhead text a bitBjørn Lindeijer1-4/+4
Plus some small code cleanups.
2009-05-08Fixed so player display names to show correctly when the being is created. ↵Chuck Miller1-4/+5
Not just when the config value is changed.
2009-05-05Fix clearing of NPC spritesJared Adams1-0/+4
2009-05-05Moved code for hiding / showing player names from Player::logic() to a the ↵Chuck Miller1-12/+19
configure listener system
2009-05-05Fixed hidding showing player namesChuck Miller1-1/+14
2009-05-03Moved strprintf into stringutils.{h,cpp}Bjørn Lindeijer1-1/+1
2009-05-03Moved mIsGM from Being to Player and made isGM() constBjørn Lindeijer1-3/+5
2009-04-02Removed duplicated code in LocalPlayerBjørn Lindeijer1-8/+0
This code was present in both Player and LocalPlayer. If there's some kind of issue with executing this stuff in a different order, it should be solved differently.
2009-03-28Clean up eAthena party handling a bit moreJared Adams1-2/+2
2009-03-27Fixed some positioning issuesBjørn Lindeijer1-9/+5
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-27Fixed position of dots on minimapBjørn Lindeijer1-4/+9
Also made mPx and mPy private and synchronize with mPos on setPosition(). The side effects of setting destination and clearing the path have been removed from setPosition(). Only the tmwserv PlayerHandler seemed to rely on that feature. Mantis-issue: 672
2009-03-27Fixed include structure in resource/ directoryBjørn Lindeijer1-0/+1
There is also a new rule that trivial constructors and destructors should no longer be trivially "documented", since this just takes up space with no gain.
2009-03-25Merge branch 'eathena/master'Bjørn Lindeijer1-4/+33
Conflicts: A lot of files.
2009-03-23Merge branch 'aethyra/master'Bjørn Lindeijer1-1/+1
Conflicts: Many files.