summaryrefslogtreecommitdiff
path: root/src/being.h
AgeCommit message (Collapse)AuthorFilesLines
2010-08-05Have Being manage speech creation and add permissions to eventsJared Adams1-1/+4
The Being and Player Chat events now have the precomuted permissions for SPEECH_LOG and SPEECH_FLOAT. The Being class now acts on those events to show speech (if SPEECH_FLOAT is present). ChatWindow now checks for the SPEECH_LOG permission. Reviewed-by: Freeyorp
2010-08-01Remove isActive methods from buy/sell windowsJared Adams1-2/+0
Uses a state variable in PlayerInfo instead. Moves isTalking from Being to PlayerInfo. Also some small cleanups. Reviewed-by: Chuck Miller
2010-07-29Changed the items loading to handle a new 'attack-action' parameter.Yohann Ferreira1-1/+1
The old behaviour was to load the weapon-type value and do many unnecessary checks and transformation on it: The weapon-type was transformed using hard-coded values into an integer enum value. The exact same thing was done on the opposite side in the animation files before comparing the two. As both data were string values, I simplified all of it by using the value taken in items.xml to call the corresponding action. This now also permit to set up new attack animation in items.xml and in the playerset.xml without having the need to modify the client code. Last but not least, the weapon-type value was used by both the skills and the actions and avoided the possibility to set up a definite action for a weapon-type. Note: The weapon-type parameter will become deprecated for the server in favor of a 'skill' parameter to reflect more it's actual use. This patch is the first step to fix Manasource issue: #157.
2010-07-19Merge branch '1.0'Yohann Ferreira1-1/+7
Conflicts: src/gui/itempopup.cpp src/item.cpp src/monster.cpp src/net/manaserv/playerhandler.cpp src/net/tmwa/partyhandler.cpp src/npc.cpp src/player.cpp src/resources/itemdb.cpp src/resources/monsterdb.cpp src/resources/monsterinfo.cpp src/resources/npcdb.cpp src/resources/spritedef.cpp
2010-07-11Made the different hard-coded paths and files be now taken from theYohann Ferreira1-1/+7
data/paths.xml configuration file. Also added default gui theme path in branding and default wallpaper path and file searched respectively in the branding and paths.xml files. Hard-coded values are still used as fallbacks. Resolves: Manasource Mantis #148. Reviewed-by: jaxad0127.
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.