summaryrefslogtreecommitdiff
path: root/src/being.h
AgeCommit message (Collapse)AuthorFilesLines
2010-06-09Fix dead Beings not being removed using tmwAthenaJared Adams1-12/+5
Rename mWalkTime to mActionTime in Being and have Being manage death. Reviewed-by: 4144
2010-06-09Remove hard-coded frame counts from Being classJared Adams1-14/+0
Also removes the Monster/Player difference in tmwAthena's Being::logic and moves the particle code from Being::setAttack to Being::Logic for tmwAthena. Reviewed-by: Chuck Miller
2010-05-17Remove Monster, Player, and NPC classesJared Adams1-23/+142
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-165/+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-23Add an Actor class to replace the Sprite classJared Adams1-42/+3
The Actor class manages the Map reference, position vector, and alpha float. These are the common parts from it's children.
2010-04-16Add race support for eAthenaJared Adams1-7/+7
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-04-12Added the player collision rectangle and tweaked colorsBertram1-0/+5
2010-04-12Forgot to remove Being::checkNodeOffset() function.Bertram1-8/+0
2010-02-28Removed a few pointless const qualifiersThorbjørn Lindeijer1-1/+1
Reviewed-by: Jared Adams
2010-02-24Some code cleanupsThorbjørn Lindeijer1-5/+4
Reviewed-by: Jared Adams
2010-02-23Sanitized ManaServ movement protocol, by mainly moving code from LocalPlayer ↵Bertram1-0/+9
to Being. This fixes some movement glitches under ManaServ and make the code much cleaner even if it's not perfect enough yet. First of all, many checks have been gathered in the Being::setDestination() calls. Also, now all path nodes including destination are checked against surrounding tiles to correct the path when necessary. The LocalPlayer::nextTile() still needs to be reviewed and some checks are missing but it's almost done :)
2010-02-23Got rid of superfluous Destination coordinates in LocalPlayer.Bertram1-3/+4
This will help simplifying setDestination() calls. No regression seen in both client.
2010-02-21Handle packet 0x0195, and shows player's party name in a popupChuck Miller1-0/+12
2010-02-22Modify copyright headersFreeyorp1-1/+2
2010-02-20License header update for The Mana ClientThorbjørn Lindeijer1-4/+3
2010-02-10Adds missile-particle attribute to items and monster attacksChuck Miller1-0/+5
To use simply add something like: missile-particle="graphics/particles/arrow.particle.xml" to the item's or monster's xml entry This will only work on equipped weapons, and on specified monster attacks. This patch also fixes a memory leak with target particles
2010-02-09Made the Beings' logic be able to handle any tile height/width.Bertram1-4/+4
This is the First step to get rid of most hardcoded 32 values.
2010-02-07Nicer way of indicating that we're waiting on the serverThorbjørn Lindeijer1-2/+2
No longer a dialog with an annoying progress bar (due to going back and forth), but rather a progress indicator that integrates better with the background.
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-07Renamed TakedDamage to DamageTakenThorbjørn Lindeijer1-3/+3
Sounds a bit better.
2010-02-01Small cleanups.Bertram1-2/+2
2010-02-01Reduced CPU consumption by setting speed per ticks value only once.Bertram1-1/+2
2010-01-31Unify eAthena and manaserv support in to one build.Daniel Bradshaw1-12/+11
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-2/+2
Many warnings removed. Reviewed-by: Thorbjørn Lindeijer <thorbjorn@lindeijer.nl>
2010-01-27Added mutators/accessors to being.h and smal cleanups.Bertram1-39/+93
2010-01-25Simplify Being position a bitJared Adams1-5/+7
2010-01-24Remove some more _SUPPORT ifdefsJared Adams1-1/+1
2010-01-21No point in differentiating between int and Uint16Thorbjørn Lindeijer1-1/+1
2010-01-15Fixes drawing sprite in the playerbox widget.Chuck Miller1-0/+8
2010-01-12Standardize header orderJared Adams1-8/+8
Also remove some extra new lines and fix eAthena's PartyTab define guards.
2010-01-10Show monster inflicted damage.Andrei Karas1-0/+7
Disabled by default.
2009-12-16Stored the cached config value which says if non-crucial particle effects ↵Philipp Sehmisch1-1/+0
are enabled or not in a static member of class Particle instead of an instanced member of Being.
2009-10-24REplace instances of TMW with ManaJared Adams1-3/+3
2009-10-15Speed code unification part 3: Made the client handle the speed in tiles per ↵Bertram1-4/+16
second in TMWserv. While I was on it, I tweaked the default speed value to its final 6 tiles per second value, which seems to be nice to me. Another notice, the server does already send speed value to the player. The keyboard movement protocol is one step ahead Release Candidate, enjoy ;)
2009-10-04Do some refactoring of Being codeJared Adams1-15/+1
2009-09-17Partially (but mainly) resolved Mantis #753 by making monsters, NPC, and ↵Bertram1-4/+41
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-13Clean up Being and it's derivativesJared Adams1-78/+26
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-27Makes mX and mY in the being class privateChuck Miller1-1/+16
2009-07-01Remove complex path finding for players. Add a simple path finding algorithm ↵Roderic Morris1-2/+6
to map.
2009-06-23Made so monster particle effects show up on eAChuck Miller1-4/+0
I also removed Being::handleAttack() and Monster::handleAttack() for TMWserv since they are not used
2009-06-08Merge being direction handling codeJared Adams1-6/+0
2009-06-08Remove some unused variablesJared Adams1-2/+0
2009-06-08Remove duplicate code from BeingJared Adams1-4/+0
2009-05-29Some movement fixes for TMWServ build.Chuck Miller1-5/+8
Looked pretty good so I removed annoying debug information. Also should note that movement between two players is still off.
2009-05-11Unduplicated the mapping to string representationBjørn Lindeijer1-2/+1
Based on a similar change Tametomo made in Aethyra.
2009-05-10Color player names more appropriatelyJared Adams1-1/+1
Party memebrs use the party color. Text color for local player uses the local player color.
2009-05-05Moved code for hiding / showing player names from Player::logic() to a the ↵Chuck Miller1-1/+4
configure listener system
2009-05-03Moved mIsGM from Being to Player and made isGM() constBjørn Lindeijer1-6/+0
2009-03-27Fixed some positioning issuesBjørn Lindeijer1-31/+16
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.