- Added the dummy intravision case for the changeoption packet 0x229
- Corrected Fog of Wall so that all targetted offensive skills (not only those who do damage) will fail on cast-end 75% of the time.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7773 54d463be-8e91-2dee-dedb-b68131a5f0ec
- When the client passes account version 0, the login server will set it to 1 now.
- Corrected the HP bar scaling when HP is above Short Max. It should display fine for any HP value now.
- Added a check when the mob's adelay is shorter than the amotion, in which case the adelay will be changed to the amotion value.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7742 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Removed a bunch of homun-related variables that are not needed at all. The alive condition is removed, now the code checks for the hp value to know if the homun is alive or not.
- Cleaned up a bit the skill-id function, homun skill checks (such as delay and skill-lv learned) should be correct now.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7727 54d463be-8e91-2dee-dedb-b68131a5f0ec
- duel related messaging functions (added clif targets DUEL/DUEL_WOS).
- intif whisper to gm function
- day/night timers
- Rewrote the parse_console function to stop allocating/deallocating memory on every call.
- Modified chrif_charselectreq to receive the player's ip among the data.
- Added function clif_disp_message, which is the same as clif_disp_onlyself, except you can specify the targets (it sends a guild-chat packet)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7617 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Reenabled @changesex
- Added function pet_create_egg which handles creating pet eggs correctly (when passed item id is indeed a valid petegg). Applied this on @createitem and getitem.
- Cleaned up code of @item
- Added define UNKNOWN_ITEM_ID (512 = apple)
- Added IT_* enumation item_Types to identify said data from items.
- Cleaned up the itemdb_isequip functions. itemdb_isequip will now return if the item is equipable by players, itemdb_isstackable returns if the item can be stacked, and itemdb_isidentified returns if the item should drop identified.
- Added defines CARD0_PET/CARD0_FORGE/CARD0_CREATED to identify if a given item has "invalid" cards, added define function itemdb_isspecial to simplify this check.
- Removed itemdb.c considering item ids above 20000 as invalid.
- Cleaned up script commands getitem and card-counting related ones.
- Cleaned up a bit more pc_isequip
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7613 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Cleaned up char server "set all offline" implementation to remove only characters from the map-server from which the packet was invoked. It will also now correctly kick/set-character offline from the map-server if they are connected.
- Cleaned up the char-sql reconnect code. It no longer sets everyone to offline.
- Removed setting "kick_on_disconnect", servers will no longer kick characters out when there's a disconnection. Instead, it'll use the most logical approach: Set characters into a "lost" state when there's a disconnection, on reconnect, resent the list of online-characters, do a sync, and let the difference be characters to be removed. Also, the map-server won't release character data until it's saved and the ack returns from the char-server to prevent data loss (all this data is resent on reconnect for saving anyway).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7600 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Removed the Frost Nova entry from skill_unit_db
- Moved Gospel's code to skill_castend_pos2
- Some cleaning of skill_castend_pos2
- Fixed a unnecessary map_freeblock_unlock call in the default case of skill_castend_pos2
- Sense/Estimation will now display the mob info window to all party members in the same map.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7595 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Corrected the pet-armor field of the pet not being updated on equip/unequip of accessories, making them not show up inmediately.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7577 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Fixed pc_makesavestatus not setting your logout position.
- Fixed the UF * flags of Songs/Dances in skill_unit_db.
- Fixed two dances becoming BA_DISSONANCE instead of DC_UGLYDANCE.
- Added the missing +100% damage modifier of Enchant Deadly Poison.
- Fixed SkillStatusChangeTable not working correctly for Homun/Guild skills.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7454 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added UF_SONG (0x400) to differentiate songs from dances.
- Updated the skill_unit_db accordingly, ensembles should only have that flag, likewise for songs and dances.
- Added preliminar support for making a Song+Dance turn into BA_DISSONANCE cells. Beware of potential bugs as it's untested.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7428 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Some minor cleanup of Soul Change
- Added state rewarp to players. It gets set when a pc_setpos call is triggered while the player is changing maps so that when the player finish loading the map, it is inmediately rewarped to where it has been rewarped/recalled to.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7370 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Use charif_sendallwos rather than manually altering the buffers of each server.
- Use the id variable for identifying current char-server instead of scanning the connected servers for it (it's doing the same work twice)
- Added config setting sync_ip_interval to specify how long to go before updating ip. Defaults to 0 (disabled)
- Sending ip update packets will only be done when the ip changed now.
- Removed dns_str variables, and now char_ip_str/login_ip_str/map_ip_str will hold the unresolved dns address (as these variables have no use otherwise)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7360 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added mapflag "loadevent", now load-map script events will ONLY trigger on maps with this mapflag on, rather than every map.
- High Jump can now be used in all versus maps.
- Added Kaite's opt3 value, taken from jA
- Added state dirty == 2 to storages. Signals when a storage was sent for final saving. Said storage is removed from memory after the ack from the char-server, and they are sent to save if the map/char servers reconnect before the act arrives. In short: they are guaranteed to be saved after a char logs out.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7358 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Rough implementation of Ground Drift according to description and jA info.
- Implemented Tatami Gaeshi using skill description and jA implementation for reference.
- map_foreachinpath calls will no longer go beyond the target point, as this function is required for skills other than SharpShooting now.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7344 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Removed support of packet 0xc3 on the new packet versions. Thanks to Meruru for pointing out they aren't being used anymore.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7343 54d463be-8e91-2dee-dedb-b68131a5f0ec
- A bit of cleaning in pc_equippoint
- Corrected clif_item_sub so that pet eggs will correctly be sent as equipment (fixes them showing up "broken" and with random refine levels)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7341 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Setting of variables with defined scope in some frequently executed script events.
* [Added]:
- Missing script_require_trigger flags for some power hungry events.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7325 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Cleared up the comment on what item_check does and how it works.
- Changed the pointer dummy_item to a normal struct variable.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7316 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added support for the PACKETVER 7 packets in the "dummy" current intravision implementation.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7304 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Applied said function around most of the code where needed. Removed includes for the OS/network system pretty much from every file (our socket.c file should handle this)
- Added clif_getip_long, which returns the ip as a long. Prevents having to include the files to define the int_addr structure in all files that include clif.h
- Made the GM mute request bypass the manner_system setting.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7285 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added function char_loadName to extract the character name of a given ID.
- Fixed fame-list updating crashing char-sql server when the given char-id just got into ranking.
- Sorry I didn't check if it compiles cleanly because I don't have sql here <.< (am gonna test it in a second, though)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7248 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Large part of scripted mob control commands are removed.
- Large part of scripted player control commands are removed.
- Scripted mob slaves changing master ID.
[Added]:
- Unit control commands.
- CALLBACK_NPCCLICK for scripted mobs, added this to db/const.txt too.
- Macro RECURSIVE_MASTER_CHECK in battle.c
[Modified]:
- buildin_skilluseid and buildin_skillusepos -> buildin_unitskilluseid and buildin_unitskillusepos.
- md->callback_flag to short (double word). [Lance]
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7233 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Updated clif_refres to send inventory, cart, and weight info.
- Fixed intif_guild_memberinfoshort to not leave a dangling pointer when someone logs out <.<
- Cleaned up a bit guild_check_member
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7226 54d463be-8e91-2dee-dedb-b68131a5f0ec
- buildin_checkcell, buildin_mobwarp, buildin_pcattack.
* [Improved]:
- buildin_skilluseid and buildin_skillusepos to accept a few more arguments.
- mob_script_callback to return sucess value.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7219 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added back OPTION_XMAS, but the actual value is missing!
- Corrected chrif_save so that the player is not set offline on map-change.
- Added change-look support in pc_setoption when specifying OPTION_XMAS
- Fixed clif_parse_RemoveOption removing all options instead of just Falcon/Cart/Peco
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7183 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added support for reading correctly status change data from Guild and Homun skills.
- Added support for reading Homun skill data (which means the HM skills are now safe to add to skill_db, skill_require_db, etc)
- Moved StatusSkillChangeTable to StatusSkillChangeTableArray and made a function called StatusSkillChangeTable to do the conversions taking into account HM/GD skills.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7128 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Updated @noask to also tell the rejected what he has just rejected (added msg_athena entries for each of the different requests)
- Since noask already does a player lookup, updated the corresponding parsing functions to take the player rather than the player id (prevents double lookups)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7117 54d463be-8e91-2dee-dedb-b68131a5f0ec
- SL_STIN/SL_STUN have dex-reducable casting times now.
- Added a warning on item loading when an item is of equippable type but has no equippable position.
- Turning an alliance to an opposition won't work now during WoE
- Slaves can summon other mobs now. The only ones who can't do this are player summoned mobs.
- Merged the following functions for faster processing of items:
clif_storageitemlist + clif_storageequiplist = clif_storagelist
clif_guildstorageitemlist + clif_guildstorageequiplist = clif_guildstoragelist
clif_itemlist + clif_equiplist = clif_inventorylist
- Increased max knockback value support to 25.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7109 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Modified npc_click to receive the bl that was clicked directly. Also cleaned it up so it isn't as easy to crash the server with invalid ids <.<
- Moved npc_checknear to npc_checknear2 and added npc_checknear. The near version receives a bl, checks it's validity, and returns a TBL_NPC object, near2 does the same but doesn't checks for type NPC. The first returns a pointer, the second returns 1 on fail, 0 success.
- Also uncommented various npc_checknear calls in the code, who's idea was to comment them out so you could exploit npcs from afar with custom packets?
- Added overflow checks for bonus settings mdef_rate/def_rate.
- Added missing update of INT after a buf.
- Small cleanup of how SC_BLEEDING works.
- Fixed party_foreach_samemap invoking the function on the CASTER instead of on the party members.
- Added clif_parse_ActionRequest_sub to handle player commands, is used from npc_click or any other function that needs to "re-route" a player's request.
- Modified clif_parse_NpcClicked to handle the different situations with different bl-objects (attack on players/mobs, click on npcs or mobs with npc attached)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7103 54d463be-8e91-2dee-dedb-b68131a5f0ec
- party Hp updates are no longer done each time the Hp is modified, but together with the party xy timer.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7083 54d463be-8e91-2dee-dedb-b68131a5f0ec