summaryrefslogtreecommitdiff
path: root/src/map/pc.c
AgeCommit message (Collapse)AuthorFilesLines
2007-05-21- Removed the TURBO socket mechanism - it was in fact just using a variable ↵ultramage1-1/+0
to cache a few arithmetic operations (premature optimization) - Since the fifohead mess is gone, fixed leftover bad code structuring git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10599 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-19Reformatting @_@ultramage1-237/+176
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10581 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-05- imported the latest working grfio code from stableultramage1-1/+1
- re-added usage of managed allocation routines in grfio - eol-styled some new files - some cosmetic fixes here and there git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10468 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-05Fixed Red Pouch overriding nobranch mapflagPlaytester1-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10464 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-23- Updated the skill_db, some mob skills seem to be better to a range of -9 ↵skotlex1-3/+11
than 9. - Corrected the pet_db information for Xmas Goblin and Rice Cake. - Replaced all struct map_session_data to TBL_PC in script.c - Pressure no longer vaporizes plants. - Corrected pc_setregstr to handle a null str argument. - Corrected @reloadbattleconf causing a add_timer_func "already existing function" error. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10326 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-21- Updated the autospell bonus scripts so you don't have to specify all the ↵skotlex1-4/+11
attack type criteria. If neither of BF_LONG/BF_SHORT is specified, the spell will trigger on both. If neither of BF_WEAPON/BF_MAGIC/BF_MISC is specified, the spell will trigger on BF_WEAPON, if neither of BF_NORMAL/BF_SKILL is specified, BF_SKILL is used if the trigger is BF_MAGIC/BF_MISC and BF_NORMAL is used if the attack is BF_WEAPON. This way the default when nothing is specified is BF_NORMAL|BF_WEAPON|BF_SHORT|BF_LONG. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10300 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-21- Removed the +25% mdef, -50% def effect from Freeze statusultramage1-4/+4
- Changed autocast skills, they now only work with normal attacks - Fixed a few spots where the attack_type flag was getting truncated - Hopefully fixed the cygwin + size_t problem (using stddef.h as source) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10298 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-18- Some more cleanups that should prevent the double-login issue even further.skotlex1-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10286 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-17- Expanded the autospell structure to hold a flag, which contains the ↵skotlex1-5/+29
required Battle Flag conditions required for a skill to trigger. - Added the required constants to const.txt to specify the autospell trigger properties. - Added bonus5 bAutoSpell/bAutoSpellWhenHit. The new parameter is used to specify when the spell should trigger (melee/range + weapon/magic/misc attack), see item_bonus for details. - Applied use of packet 0x28a (clif_changeoption2) to transmit opt3 changes. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10278 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-14- Corrected land protector's duration according to the descriptionsskotlex1-2/+2
- Fixed "pc drop item" doing the incorrect check to see if the player was trading. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10252 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-12- Added debug command @displayskill. Should be used only by people searching ↵skotlex1-1/+14
for new skill IDs. - Now the bonus bAtkEle will be transferred directly to the weapon when the script is in the ammunition, and you are wielding a weapon that consumes ammo per atttack. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10232 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-09* Played around with MinGW a bit today...ultramage1-1/+0
- adjusted code so that it handles mingw-specific compatibility problems - adjusted the makefile, mingw is not a subset of cygwin * As an experiment Corrected many /W4 warnings on the txt login server git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10192 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-08- Now when saving a character, only the cart/peco/falcon 'option' states are ↵skotlex1-1/+3
saved, the rest should be handled by the status change load/save functions. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10188 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-05* Made a crazy attempt to at least partially synchronize login&char codeultramage1-7/+8
* Major edit to the way the servers handle ip addresses, making them obey the "host byte order inside, network byte order outside" rule - hopefully covered all entry- and exit-points for IP address data - discovered several places where Gravity's client breaks the convention, will need to come up with a suitable countermeasure for that - other than that, the code should be portable, except for printing and ipban mask testing (those still assume a specific byte order) - tested both txt and sql in all usual situations; tested single- and multi-server setups, all seems to work (but watch out for hidden bugs!) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10162 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-01- Missing files X_X (followup to r10122)ultramage1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10113 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-01- Removed bonus 'bAspdAddRate'. bAspdRate now behaves on a stackable matter, ↵skotlex1-13/+5
so it's no longer needed. - Reimplemented the bonus 'bAspd' - Renamed variable aspd_add_rate to aspd_add, since bAspdAddRate was removed, this variable now holds the absolute aspd bonuses. - Added define status_base_amotion_pc to get the base amotion value. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10107 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-28- Corrected statp array not being long enough to actually hold the status ↵skotlex1-4/+12
points of ALL levels up to and including MAX_LEVEL. Fixes reaching final level and resetting giving you an unpredictable amount of status points. - pc_resetstate will now fail if you use the stat point table and your char has a level above MAX_LEVEL. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10084 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-27- Moved coma to skill_additional_effect, added special_state.bonus_coma to ↵skotlex1-7/+13
prevent doing comma calculations for every player attack. - Added config "vending_tax" to apply a tax to all vending requests, as it was in kRO Sakray some time ago (requested by Playtester) (items.conf). - Some cleaning of skill_additional_effect - Moved the starting of SC_DANCING from skill_initunitgroup to skill_unitsetting - Moved the checks for player_skill_partner_check and (gm_skilluncond for it) to skill_check_pc_partner - Negative aspd rate bonuses will be handled as aspd add rate since the default non-stackable bonus is useless on penalty bonuses. - Added check to prevent the client from using passive skills. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10082 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-22- Removed unused bIgnoreDefMob skotlex1-11/+7
- Removed unneeded sd variables cart_max_weight and cart_max_num - Made ignore_mdef_ele/ignore_mdef_race/ignore_def_ele/ignore_def_race unsigned chars rather than ints. - Made pc_dropitem check for inventory_data, to guarantee that the item will be deleted from the inventory after dropping it. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10051 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-21- Cleaned up some the code of pc_equipitem and clif_parse_EquipItemskotlex1-26/+17
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10045 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-19- Removed the last argument from skillitem, the skill name passed to the ↵skotlex1-0/+4
client should always be of the type "AL_HEAL" anyway. - Added skill ITEM_ENCHANTARMS, this is what weapon enchanting items should use. - Corrected itemskill calls in the item_db, also made the weapon enchanting items invoke the ITEM_ENCHANTARMS skill. Corrected Holy Egg not being type 11 (delay consume) - Updated item_db.sql with item_db information. - Added support for specifying different elements per skill level in the skill_db - Added bonus bNoKnockback - Corrected typo in bonus bSubRace2 (it was called bSPSubRace2 for some reason) - Corrected login sql server not resetting your account state to 0 when the banuntil duration expires. - Corrected use of UINT_MAX instead of INT_MAX in some jailing check. - Made the skillatk bonus it's own function, it can now be used to boost Heal/Sanctuary/Potion Pitcher and Slim Pitcher as well. - Cleaned up TK_WARMWIND to use the element acquired from the skill_db rather than hardcoded values. - Corrected Teleport's save map entry being sent without the .gat extension. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10031 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-19- Rewrote the jail logic to always use a status change. This means that the ↵skotlex1-4/+19
character's save point is not changed when jailed, and the char is always warped back to the point where it was before being jailed on unjail. - Made pc_setpos fail if you are jailed, effectively blocking you from being moved out of the jail map for the duration of jail. - Modified @adjcmdlvl so you can't set a command to require higher level than yourself, and so you can't edit the level of a command which is higher than your own. - Corrected attack_attr_none setting disabling elemental resist cards. - Added missing cap check of 100% to drop rate configs for heal/use/adddrop (cards)/treasures. - Corrected Autoblitz yelling the skill name if the attack splashed. - Corrected Dispell removing Jailed status. - Corrected being able to revive with 0 hp. - Modified the "Restart" code so that it makes you stand on spot when pc_setpos fails to move you back to your originating location. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10028 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-13- @pvpoff and @gvgoff will make everyone in the map stop auto-attacking now.skotlex1-0/+2
- when @killer is deactivated the issuer will stop attacking. - when @killable is deactivated, everyone around the user who is attacking the issuer will stop. - Cleaned up some the code for dispell. It no longer removes food boosts. - Players will stop attacking when they change their look. - Applied Alydis's fix to the mvp item logs logging mvp items even if the player couldn't get the item. - Changed the default of debuff_on_logout to 1 since food items shouldn't dispell on logout. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9997 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-07- Corrected the pet/homunc data not being free'd if the player logs out ↵skotlex1-1/+2
before being authed. - Initialized player's speed on pc_setnewpc to prevent homunculus copying a speed of 0. - Added comment to reloadbattleconf specifying that some settings do not take effect inmediately. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9975 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-04- Added the +20hit that were missing the NPC elemental attack skills.skotlex1-2/+2
- Added support for autospells using "a random skill level". The last value of bonus4 bAutoSpell is used for determining this as well as the target. &1 is to cast on target (otherwise cast on self), and &2 is to use a random level UP to the level specified in the script (otherwise always cast the specified level) - Updated item_bonus.txt with the documentation for the bAutoSpell/bAutoSpellWhenHit changes. - Corrected @refresh not reupdating the basic stat bonuses. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9952 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-02- Modified set_reg so that it returns whether it succeeded or not in setting ↵skotlex1-15/+15
the requested variable. - Externalized battle skill range and blewcount bonus into their own static functions (battle_range_type & battle_blewcount_bonus). - Sped up the skill range flag setting code. - Added automatic support of damagesplit. This means that if a skill's nk value includes damage split among targets, it will do a divide by the number of targets (whereas before the list of skills where this worked was hardcoded) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9950 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-27- Now when a player logs out while it's running an attached npctimer, ↵skotlex1-10/+2
OnTimerQuit of that npc will be invoked. - Updated scripts_command to add info on OnTimerQuit - Corrected the double login check in pc_authok git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9926 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-25- You are allowed to expel guild mates that are not online now.skotlex1-0/+12
- Corrected damage of BloodDrain - Moved the "already connected" checks to pc_authok, since a dual login doesn't needs to be checked until the new connection is accepted. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9916 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-23- Minor cleanupsskotlex1-3/+11
- Adjusted menu-based skills so you can't reuse the same skill until you've dealt with the menu. - Adjust autospells so that removing an autospell works when the script of the card that removes the autospell is triggered before the script that adds the spell. - The "requested name of gm-hidden char" warning will not be displayed when the object in question is an NPC (since you can use Intravision to do this). - Corrected the header format for invisible npcs. - Venom Knife no longer takes into accounts cards or EDP. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9905 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-23- Updated Box of thunder to use "agi up" effect for 30 secs instead of NPC ↵skotlex1-10/+28
Agi Up for 20. - Guild expulsion now will fail when the character to be kicked is in a guild castle (rather than checking for the character doing the expulsion) - pk damage reduction settings now will take effect only on Player VS player damage. - Fixed produce_db2.txt entries overwriting produce_db.txt ones. - Fixed item-granted/plagiarized skills unlocking skill trees when only your real learned level should. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9899 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-13- A bit more work on Ticket #41.FlavioJS1-19/+17
- Added 'r' (variable reference) to the script argument definitions. - Added a simple define for suspitious actions. (empty at the moment) - Added clif_clearcart and moved sending cart packets to pc_setoption. - clif_parse_ChangeCart checking the player level. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9857 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-12- Corrected range of self destruction / bio explosion to be equal to their ↵skotlex1-1/+1
splash range. - Corrected Spider Web casting around caster instead of target's position - Corrected a possible crash during login due to checking for the incorrect variable (lets pc_calc_status be invoked when it shouldn't) - Reenabled the base status aspd calculation for homunc (status_calc_bl calculates battle_status, status_calc_homunculus calculates base_status, they are not the same!) - Corrected the meaning of "skill_display_fail&2", made 2 the default setting. - Added bounds checking to map_foreachincell - Opt2 values (poison, blind, and so on) are now resent on warp/map-change - Corrected description of isloggedin script command. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9853 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-12- Fixed the inverted behavior of display_skill_fail, caused by r9823ultramage1-1/+1
- Commented out some duplicit homunculus speed calc code git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9852 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-08- Fixed a bunch of probably incorrect logical comparisons. skotlex1-1/+1
- Some small updates on the skill_db file (some max levels of npc skills, some elements for skills that didn't really need them) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9823 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-07- Updated the range of BioExplosion and Self Destruction so they count as ↵skotlex1-24/+3
ranged skills. - Removed old script bonuses bMatk, bMatk1, bMatk2 - Fixed char-server not sending online notification when a party member logs in. - When skill range by distance is set, the distance checked for is now 5 cells rather than 3. - Fixed bMatkRate bonuses not applying to status earned modifications to int/matk. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9816 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-07- Removed deprecated console code.FlavioJS1-5/+0
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9815 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-05- Updated the code so that now a range of a skill is determined by the ↵skotlex1-7/+10
skill's range in the db. Now only skills with less than 5 cells of range are melee. - The inf2 parameter of the skill_db is now red as an hexadecimal. - Updated comments and inf2 values of the skill_db to use the new format. - Soul Change now can't be casted on self. - Updated range of Grandcross, Granddarkness and Gospel to 5 so when they attack their attack type is counted as ranged. - Splitted the super novice flag in two, to keep seperate counters for the chant and for the self-revival. The self-revive will now trigger only once per level per session, if you relog you can have it trigger again. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9794 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-05- Fixed a duplicate warp name in Rachelskotlex1-0/+3
- Fixed Venom Splasher not being Poison elemental - Cleaned up #blv - Fixed the skill tree not always updating when using @allskill - Probably fixed the target-change on melee attack setting not working. - Moved the deletion of the invincible timer when using skills so that it is not deleted for skills such as Ashura (when just selecting a target) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9791 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-02- Resetting skills will now automatically remove peco, falcon, cart and ↵skotlex1-2/+18
homunculus (vaporize). - Fixed random mob picking choosing clones. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9780 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-02- The define MESSAGE_SIZE was wrong! It is only used for input boxes. ↵skotlex1-1/+0
Therefore now it is only used for Vending, Talkie box and Graffiti - Added new define CHAT_SIZE which holds the max length that a client can send from the chat buffer. This value is NAME_LENGTH + 3 (the ' : ') + 70 (the actual text). - Added define msg_len_check which crops incoming client text if it's longer than CHAT_SIZE. Added cropping to all incoming messages except normal chatting which is already accounted for. - Removed variable talkie_mes, this is now handled by sd->message - Cleaned up parser functions for /b /lb, gm kick, /shift, /recall - Added crash protection to the logging functions when they receive a too long string. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9778 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-02Minor details (pdb file location, improved debug, npc typo)ultramage1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9771 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-01- Corrected homunculus's aspd being halved after using some aspd adjusting ↵skotlex1-29/+33
skill. - Cleaned up the resetskill function (even though the functionality is the same as before) - Corrected item 1459 (unused Partizan with no slots) being wlv3 instead of 2 (as the other two partizans) - Changed the name of the four second versions of homunculi to not have a 2. (so you get a 'lif' and not a 'lif2' - Removed flag graffiti from abracadabra - Updated the stun times of Bash, Npc-StunAttack and meteor Assault to 5 secs as reported by Ultra Mage (still pending more data to see if all others need updating as well) - Removed the log info message 'created homunc...', and the 'loaded homunc' message will only show if the save_log is enabled. - Some cleanups git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9760 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-01- When when a party-member levels up, the level change is sent to the ↵skotlex1-0/+3
char-server to update the even-share range values. - When joining a gvg_dungeon, the pvp packet will be sent to signal versus. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9759 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-29- Corrected the homunculus deletion functions so that the homunculus is ↵skotlex1-0/+6
deleted together with the character. - Added npc_check_areanpc so that Wand of Hermod will correctly check for nearby warps. - Emergency avoid now stacks with other speed boost statuses - Item skills and skills that bring up a menu now are cleared on death. - Minor cleanings git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9742 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-28Some misc cleanups (typos, formatting, forgotten changelog entry etc)ultramage1-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9733 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-26- Fixed the normalizing function not sending first classes back to novice if ↵skotlex1-4/+7
they do not have basic skill maxed. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9719 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-24- Made the pc_deleteinvincibletimer function a define so it auto-checks for ↵skotlex1-14/+6
the timer value. - Fixed a missing tab in the skill require info of TWILIGHT3 git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9709 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-21Typo huntultramage1-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9684 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-17- Corrected atcommand @homstats so it shows the correct minimum/maximum ↵skotlex1-19/+20
possible values. - Simplified the hom level up function, now decimal stats are no longer stored. This should correct eA's homunculus on average being much stronger than Aegis's. - Modified the homun db read code so it forces the "max" value to be higher than the "min". - Cleaned up pc_allskillup, @allskills should work correctly now. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9664 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-16- Implemented Intravision as it should be. Thanks to HelloKitty2 for the ↵skotlex1-1/+3
captured packets. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9659 54d463be-8e91-2dee-dedb-b68131a5f0ec