Commit Graph

380 Commits

Author SHA1 Message Date
Cydh Ramdh
5ed75dc877 * Merge pull request #294 and its clean up
* Moved Bank Vault from `login` table (login-server level) to `global_reg_value` as #BANKVAULT (char-server level)
  * IMPORTANT: Read & import upgrade_20150408.sql
* Follow up cbdc0127, another fix for Point Shop NPC.
* Follow up 022d7289, corrected picklog initial for bound items that removed when member of guild/party or guild/party is broken. Please import upgrade_20150408_log.sql

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-04-09 01:26:17 +07:00
Cydh Ramdh
f05119b36c Packet Obfuscation support
* Enable it by uncomment `#define PACKET_OBFUSCATION` in mmo.h
* Obfuscation keys are defined in db/packet_db.txt, each packet_ver has their own default keys (for temperory lookup) in `packet_keys:` right after `packet_ver:`
* Keys can be refined (user-defined keys) by defining the keys in `packet_keys_use:` in file db/[import/]packet_db.txt
* This feature only for client 20110817 or newer
* `@reloadpacketdb` won't changes the keys, so make sure define everything before run the map-server.

Thank to @icxbb-xx, @aleos, 5a942993dd

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-03-01 15:16:56 +07:00
aleos89
d3625e5c10 Cleaned up merge issues. 2015-02-21 15:43:58 -05:00
Cydh Ramdh
d5b271b926 Merge pull request #289 from rathena/feature/bonus_HPSP_VanishRace
Bonus HP/SP Vanish updates:
* Added 'bonus3 bHPVanishRaceRate,r,n,x' (2074) and 'bonus3 bSPVanishRaceRate,r,n,x' (2075)
* Corrected documentation about 'bHPVanishRate' and 'bSPVanishRate', rate should be n/100%, 10000 for 100%
* 'bHPVanishRate' and 'bSPVanishRate' applied regardless the target's Race and map (before, if target is player bHPVanishRate only works in PVP/GVG maps)
* Changed Velum item scripts:
  * (1294) Velum_Scare to 'bonus3 bSPVanishRaceRate,RC_Player,10000,10;'
  * (1395) Velum_Buster to 'bonus3 bSPVanishRaceRate,RC_Player,10000,10;'
  * (18113) Velum_Arbalest to 'bonus3 bSPVanishRaceRate,RC_Player,10000,4;'
  * (21002) Velum_Katzbalger to 'bonus3 bHPVanishRaceRate,RC_Player,10000,8;'
2015-02-13 16:45:23 +07:00
Cydh Ramdh
bf6d2f0197 Merge pull request #263 from rathena/cleanup/bonus_script
Bonus Script clean up
* Removed fixed array size (MAX_PC_BONUS_SCRIPT) of bonus_script on players, changed to link list.
* Changed fixed script string on player's bonus_script to StringBuf, reduce memory usage for each connected player.
* Added new flags to expand duplicated script and flag to allow duplicate script.
* Reduced buf length from 1024 to 512 on bonus_script_data (used for saving/loading bonus_script from char-server). Still, MAX_PC_BONUS_SCRIPT is used to gives limit data can be loaded.
* Merged 'pc_bonus_script_clear_all' to 'pc_bonus_script_clear'
* Now bonus script will be saved on auto-save timer or other save request, prevent losing the bonus when "something" happen. But, saving when player is quitting will removes the bonus that won't be saved on logout.
* Fixed Superstar_Snack (22843) and Sealed_Dracula_Card (22846) fields

NOTE:
Please import 'upgrade_20150131.sql' for `bonus_script` table changes

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-02-13 16:37:28 +07:00
Cydh Ramdh
2ef7a7daa8 Bonus HP/SP Vanish updates:
* Added 'bonus3 bHPVanishRaceRate,r,n,x' (2074) and 'bonus3 bSPVanishRaceRate,r,n,x' (2075)
* Corrected documentation about 'bHPVanishRate' and 'bSPVanishRate', rate should be n/100%, 10000 for 100%
* 'bHPVanishRate' and 'bSPVanishRate' applied regardless the target's Race and map (before, if target is player bHPVanishRate only works in PVP/GVG maps)
* Changed Velum item scripts:
  * (1294) Velum_Scare to 'bonus3 bSPVanishRaceRate,RC_Player,10000,10;'
  * (1395) Velum_Buster to 'bonus3 bSPVanishRaceRate,RC_Player,10000,10;'
  * (18113) Velum_Arbalest to 'bonus3 bSPVanishRaceRate,RC_Player,10000,4;'
  * (21002) Velum_Katzbalger to 'bonus3 bHPVanishRaceRate,RC_Player,10000,8;'

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-02-13 01:39:17 +07:00
Cydh Ramdh
9d3d34205f Skill DB clean ups
* Changed skill_db array to better memory allocation.
* Reduced MAX_SKILL_LEVEL from 100 to 10 (part of Hercules 0f4a50d135), also has changes on skill_get checks for skill level that more than 10.
* Reduced MAX_SKILL from 5020 to 1200 (actually only 1109 skills are used).
* Added macros for checking Homunculus, Guild, Mercenary, & Elemental skill ranges.
* Added skill check & index validation when player logged in and when @reloadskilldb.
* Corrected `enum e_skill_flag` order for SKILL_FLAG_REPLACED_LV_0's sake.
* Merged 'addtoskill' script command just as alias of 'skill' script command.
* Fixed #277
* Changed 'skill' script command flag to constant value

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>

NOTE:
* Decreased memory usage by map-server reduced up to 50 MB.
* Decreased memory for each player because of mmo_charstatus::skill[] only has 1200 array, before is 5020.
* Please use skill_get_index() for accessing sd->status.skill[] or skill_db[], don't reckless use skill_id as array index.
* Please import upgrade_20150211_skillset.sql

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-02-12 15:50:50 +07:00
Cydh Ramdh
892e961823 * Fixed Superstar_Snack (22843) and Sealed_Dracula_Card (22846) fields
* Removed debug leftover

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-02-12 14:57:59 +07:00
aleos89
083cf5d962 Bug Fixes
* Fixed Severe Rainstorm not being able to be copied by Reproduce. (bugreport:9361)
* Fixed #137 - Updated Homunculus S Race and Element values to official.
* Fixed #163 - Proper renewal calculations for Homunculus. Merge from HerculesWS/Hercules@8faef4f
* Fixed #254 - Corrected King's Grace cooldown to be 60 seconds.
* +20 Foods cannot be dispelled or removed by death.
2015-02-10 12:13:08 -05:00
Aleos
0e533fa7ab Revert "Skill DB clean ups" 2015-02-10 09:33:00 -05:00
Cydh Ramdh
7357f9c384 Another follow up
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-02-05 12:11:13 +07:00
Cydh Ramdh
148353eed9 Follow up 95705d41be
* Changed bonus script list to link list
* Merged 'pc_bonus_script_clear_all' to 'pc_bonus_script_clear'
* Now bonus script will be saved on auto-save timer or other save request, prevent losing the bonus when "something" happen. But, saving when player is quiting, will removes the bonus that won't be saved on logout.

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-02-03 11:56:09 +07:00
Cydh Ramdh
72617ac98b Skill DB clean ups
* Changed skill_db array to better memory allocation.
* Reduced MAX_SKILL_LEVEL from 100 to 10 (part of Hercules 0f4a50d135), also has changes on skill_get checks for skill level that more than 10.
* Reduced MAX_SKILL from 5020 to 1200 (actually only 1109 skills are used).
* Added macros for checking Homunculus, Guild, Mercenary, & Elemental skill ranges.
* Added skill check & index validation when player logged in and when @reloadskilldb.
* Corrected `enum e_skill_flag` order for SKILL_FLAG_REPLACED_LV_0's sake.
* Merged 'addtoskill' script command just as alias of 'skill' script command.

Summary:
* Decreased memory usage by map-server reduced up to 50 MB.
* Decreased memory for each player because of mmo_charstatus::skill[] only has 1200 array, before is 5020.
* Please use skill_get_index() for accessing sd->status.skill[] or skill_db[], don't reckless use skill_id as array index.

NOTE:
* Please import upgrade_20150131_skillset.sql

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-01-31 19:45:52 +07:00
Cydh Ramdh
95705d41be Bonus Script clean up
* Removed fixed array size (MAX_PC_BONUS_SCRIPT) of bonus_script on players.
* Changed fixed script string on player's bonus_script to StringBuf, reduce memory usage for each connected player.
* Added new flags to expand duplicated script and flag to allow duplicate script.
* Reduced buf lenght from 1024 to 512 on bonus_script_data (used for saving/loading bonus_script from char-server). Still, MAX_PC_BONUS_SCRIPT is used to gives limit data can be loaded.

NOTE:
Please import 'upgrade_20150131.sql' for `bonus_script` table changes

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-01-31 15:07:13 +07:00
aleos89
48020c4d5c Merge branch 'master' of https://github.com/rathena/rathena 2015-01-21 12:20:00 -05:00
Cydh Ramdh
fa75733cc1 Item Max Level clif_equipitemack messages
* Max level to equip item now works for Pre-Renewal too, since the field is optional. 0 means no max level limit.
* Fixed fail message on clif_equipitemack when item cannot be equipped because level limitation

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-01-15 01:17:54 +07:00
aleos89
6ae8404e4e Merge branch 'cleanup/autotrade_persistance' of https://github.com/rathena/rathena 2015-01-13 13:11:52 -05:00
Cydh Ramdh
7fcacb64c4 Autotrade persistance cleanup
* Moved redundant structs for vending & buyingstore, move it to vending.h
* Removed redundant query to update autotrade info (autotrade state, head, body direction, & sit state) that previously executed in vending_reopen & vending_openvending, buyingstore_reopen & buyingstore_create.
* Removed lines to execute queries each iteration to insert vending/buyingstore list, now using StringBuf and just being executed once after the item listing. (in vending_openvending & buyingstore_create)
* Revert the ways initializing autotrader list by using DBMap (vending_autotrader_db & buyingstore_autotrader_db)

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-01-07 15:08:14 +07:00
Cydh Ramdh
022d72891e Changed Guild/Party Bound Item Retrieval Methods:
* Bug Fixes bug:9338
* Now resend the list to map-server from char/inter-server to avoid "weird" item allocation on guild storage. Example, previously you will meet stacked item like GUID does, but it shouldn't!
* Also will check the maximum amount that can be store in guild store. If guild storage is full (the slots or item stack limit is reach) the rest value/item will be dropped.
* Account of kicked guild member won't be kicked from server anymore if the player idle on character select window (just prevents player to login when retriving items are in progress)
* Delete guild bound items from guild master when guild is disbanded! Previously, the bound type just changed to NONE. Also for party bound item.
* If kicked guild/party member is trading bound item when be kicked, the trade will be canceled!
* If the guild member is being kicked when open guild storage, storage will be closed first waiting for next item retrieval.
* Now when guild storage is opened, storage_status (changed the var to 'opened') will be used to hold char_id who opens it.
Misc:
* Cleanup guild storage prefix functions, changed them to "gstorage_*"
* Added `picklog` type 'B' for logging deleted bound item because of kicked from guild/party.
* Updated documentation for new used packet 0x3857

NOTE: Please import upgrade-20150103_log.sql
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-01-03 20:37:38 +07:00
lighta
8066bdef46 Data alignement
Align account_id and char_id to uint32 as this is the value they can be
in DB.
Remove src/test folder, unused
Remove useless #include to speedup compilation.
2014-12-19 21:31:04 -05:00
Cydh Ramdh
5c6afd7ea3 Clean up something RENEWAL_CAST
* Moved additive bonuses (reducing/increasing) to first calculation before the rate adjustment
* Corrected bFixedCastrate, shouldn't be stacked. Example between Puente_Robe (15012) is -3% and +10 Rafini_Staff (1649) is -10%, only -10% will be used not -13%.
* Reversed some value assignment, `-=` to `+=` and other part that affected by this changes.
* Also as follow up c3e488e & 4f4d8fe, fixed `bonus2 bFixedCastrate,"sk",rate;`
* Corrected `bFixedCastrate` for Krieger_Knuckle2 (1827) only for skill MO_EXTREMITYFIST
* Moved default the 20% of fixed cast rate to conf/battle/skill.conf `default_fixed_castrate`

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2014-11-29 01:54:56 +07:00
Playtester
b6b6b1366a Autobonus in combos and monster target drop
- Fixed Autobonus not working in combos (bugreport:8300)
  * Combos will now have a "pos" variable that saves the combination of equipment slots used
  * Autobonus now works with combined positions rather than just a single position
  * Autobonus should now also work with all equipment slots instead of just the first 15
  * This does NOT fix problems with multiple auto-bonuses activating at the same time
- Monsters will now stop instantly if their target is completely non-existent
  * This is mainly for looters that had their loot taken
  * Hide and most other situations still use the configuration setting monster_chase_refresh
2014-11-01 12:16:41 +01:00
Cydh Ramdh
03dc02d4d6 * Fixed bonus_script doesn't remove Status Icon when timer is over (bugreport:9341)
* Some little code stylization

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2014-10-19 20:59:44 +07:00
Cydh Ramdh
ce090ce916 Skill Changes:
* Wizard/Warlock Skill
  * Moved Sightrasher (WZ_SIGHTRASHER) requirement to check Sight (SC_SIGHT) is active or not to skill_check_condition_castend section.
  * Fixed Sightrasher (WZ_SIGHTRASHER) splash area to 3x3. (bugreport:9298)
  * Now Comet (WL_COMET) cannot hits Hiding target (The mistake is not at flag 0x10000 in skill_db.txt, the flash should be added by SD_ANIMATION). (bugreport:8909).
  * Now Reading Spell Book (WL_READING_SB) checking the number of available spell books in Spell Book DB first to prevent infinite loop.
* Sage Skill
  * Now Abracadabra (SA_ABRACADABRA) checking the number of available skills in Abra DB first to prevent infinite loop.
  * Reduced MAX_SKILL_ABRA_DB from 350 to 160.
* Shadow Chaser Skill
  * Fixed Chaos Panic (SC_CHAOSPANIC) effect. (bugreport:9321).
* Genetic Skill
  * Now Wall of Thorn (GN_WALLOFTHORN) can be knocked back but not a whole skill group and durability (HP & max hit) for each skill unit.
* Guillotine Cross Skill
  * Now Magic Mushroom (SC_MAGICMUSHROOM) effect checks the number of available skills in Magic Mushroom DB first to prevent infinite loop.
  * Changed 'RemoveFlag' in db/magicmushroom_db.txt value to 1 to remove skill by importing. (bugreport:9322).
* Wanderer/Minstrel Skill
  * Now Randomize Spell (WM_RANDOMIZESPELL) checks the number of available skills in Improvise DB first to prevent infinite loop.
  * Reduced MAX_SKILL_IMPROVISE_DB from 50 to 30.
* Rebellion Skill
  * Cleaned up, added, corrected some (missing) sequences & DB values.
  * Fixed Hammer of God (RL_HAMMER_OF_GOD) splash damage.
  * Fixed Shaterred Strom (RL_S_STORM) push back & force to sit effect (for player, or stun for monsters) (first implementation leftover).
  * Fixed Slug Shot (RL_SLUGSHOT) hitrate-distance penalty (first implementation leftover).
  * Fixed Howling Mine (RL_H_MINE) damage ratios (first implementation leftover).
  * Now Bind Trap (RL_B_TRAP) only can be placed 1 at same time.
  * Fixed Bind Trap (RL_B_TRAP) damage calculation by using Caster's DEX, Target's Current HP, & Skill Level. FIXME: Exact formula still unknown (refers to idAthena formula).
  * Now Dragon Tail (RL_D_TAIL) doesn't split damage among targets anymore.
  * Now Crimson Marker (RL_C_MARKER) will fails to cast if no slot available.
  * Implemented official packet `ZC_C_MARKERINFO` of Crimson Marker (RL_C_MARKER) mini-map marker (first implementation leftover). !TODO: Confirm the packet for older or newer clients (idAthena partial merge r1497)
  * References: http://forums.irowiki.org/showpost.php?p=1387992&postcount=968, follow up 507f047, dd67f9d

Misc:
* Fixed some skills that should work only in shoot range (map_foreachinshootange, by default), and added check for respecting *skill_wall_check* (map_foreachinrange).
* Fixed item stackable check for `/item` command, follow up 9b4d922.
* Fixed npc source file isn't removed properly by @unloadnpcfile. (bugreport:9311).
* Added constantan for status_change_start() and sc_start() scripts as well
  * SCSTART_NONE = 0x0
  * SCSTART_NOAVOID = 0x1
  * SCSTART_NOTICKDEF = 0x2
  * SCSTART_LOADED = 0x4
  * SCSTART_NORATEDEF = 0x8
  * SCSTART_NOICON = 0x10
* Moved and changed itemdb_unique_id() to pc_generate_unique_id().
* Seperated check for skill SC requirement to skill_check_condition_sc_required().
* Added skill unit flag `UF_KNOCKBACK_GROUP`, just an option to make skill unit can be knocked back a whole group.
* Typos and other minor changes!

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2014-10-01 17:42:30 +07:00
aleos89
a080117a74 Bug Fixes
* Switching arrows no longer stops attacks. (bugreport:9270)
* Looter monsters will now randomly pick items rather than going for the closest one. (bugreport:9268)
* Follow up to 0fed97c. Moved pc_setsit before skill_sit to not break skills that count players who are sitting. (bugreport:8966)
* Follow up to 2d2991a. Cleaned up some compile warnings.
* Updated the inf3 descriptions in the skill_db.
2014-09-20 11:44:44 -04:00
Cydh Ramdh
9b4d922ef4 Bug Fixes:
* Follow up 2d2991a, remove trailing spaces in inter_athena.conf
* Added `bound` field on `picklog` table (bugreport:9240) Thank @icxbb-xx (Napster)
* Fixed Randomize Spell infinite loop. Failure of skill improvise db reading. (bugreport:9288)
* Added **max_extended_aspd** for caping max ASPD for KO/Rebellion, default is 193. Pointed by @raynra & Ziu
* Mail attachment
  * Added `bound` field on `mail` table, since group with PC_PERM_TRADE_BOUNDED can put bound item into attachment
  * Fixed wrong data type causing wrong zeny amount (bugreport:9291)
* Fixed item color issue for bound item (bugreport:9238)
  * Stackable item shouldn't be displayed as yellow color
  * Equip doesn't shown as yellow after relog or item is moved
* Silence status immunity for Renewal (bugreport:9227)
  * Bleeding (SC_BLEEDING): Vit -> Agi
  * Silence (SC_SILENCE): Vit -> Int
  * Sleep (SC_SLEEP): Int -> Agi
  * Thank @Playtester, @Lilith-, partial merge of Hercules:6f26451
* Fixed status check when cast a skill to hidden target
  * Stone Curse shouldn't be casted to hidden enemy when the caster has intravision (bugreport:9266)
  * Added **INF3_HIT_HIDING** for skills that *maybe* have effect to/can hit the hidden target. Previously, every Earth Element skills *always* had it, doesn't matter ground skill or single-target skill
  * **!TODO: Confirm other skills that have ability for this!**
  * **!FIXME: For now, I rely as the previous check did, I put some Earth Element skills (and) with area/ground effect**
* Correcting Devotion behavior (Hercules:e7be725, 41f28c0)
  * Failing to cast Devotion to the 6th player
  * Only player who devotes other that 'shout' Auto Guard when it active also with the walk delay
  * Status icon that inherited from devoter won't be displayed at devoted player
  * Reflect Damage on devoted player won't reflect normal attack, only melee skill attack
  * Added config **devotion_rdamage_skill_only** for backward compability, ignore the behavior above

**IMPORTANT**
  * Please import sql-files/upgrades/upgrade_20140915_log.sql
  * Please import sql-files/upgrades/upgrade_20140915.sql

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2014-09-15 18:02:49 +07:00
lighta
ea8ccfc82e Add rewarp_count counter to prevent infinite warp loop.
bugreport:9130 (cpu-usage-goes-to-100)
2014-08-29 16:05:41 -04:00
Cydh Ramdh
8a819403c1 Bug fixes & misc:
- Follow up 7fd6776, correcting how to make player sit by autotrade persistance.
- Follow up 7fd6776, pc_setstand() does a check if player can stand or not.
- bugreport:9174, buyingstore_close() doesn't clear buyingstores data on table.
- Fixed "missing" buyingstore search (purchase type search) in searchstore, by adding DBMap *buyingstore_db.
- Added nullpo checks on some buyingstore.c functions.
- Added do_init_buyingstore() and do_final_buyingstore().
- Failing autotrader from pc_setpos(). (Since autotrade doesn't have 'fd'? FIXME later)

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2014-08-02 11:07:26 +07:00
aleos89
4eeb10042c Added some options for idletime. (Herules e08c05a) 2014-07-31 09:54:22 -04:00
Cydh Ramdh
171e2f2be9 Bug Fixes:
- Failure when initializing autotrade persitance for PACKETVER < 20120201 or NEW_CARTS, ENABLE_SC_SAVING aren't defined
- Added 'feature.autotrade_open_delay' config at conf/battle/feature.conf to give delay to open vending/buyingstore by autotrade persistency (bugreport:9077)
- Add immediate save after vending/buyingstore opened to avoid missing sc_data (for SC_PUSH_CART) when server terminated before saving routine (bugreport:9077)
- Disable to trigger NPCE_LOGIN (and NPCE_LOADMAP?) for autotraders, avoid vending_reopen & buyingstore_reopen failure (bugreport:9077)
- Set player's state, 'monster_ignore' when autotrade
- EXP calculation overload (bugreport:9127)
- Added macro apply_rate(val,rate) & apply_rate2(val,rate,per)

Thank you all for reports & helps

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2014-07-16 17:21:58 +07:00
aleos89
237579c957 Bug Fixes
* Corrected some battle calculations for status changes to be applied during skill calculations. (bugreport:9109)
* Fixed Fire Expansion hitting players in all maps. (bugreport:9056)
* Fixed skill duration for Elemental Shield. (bugreport:9078)
* Fixed bSetDefRace and bSetMDefRace not zeroing out values. (bugreport:9108)
* Corrected Inspiration checking for the wrong damage formula. (bugreport:9098)
* Fixed combo type skills causing issues with usable items. (bugreport:9090) (Hercules 0100bae)
* Updated usable skills while riding a Warg. (Hercules cc4c87c)
* Updated the display message for using items that have a delay. (bugreport:9107)
* Fixed an issue when players couldn't attack they also couldn't talk to NPC with mob view IDs. (Hercules 9dd6ee6)
* Reverted 7a9aa7f so that the prompt script command will return 255 on cancel. (bugreport:9104)
2014-07-15 13:47:43 -04:00
Cydh Ramdh
cd41c6d028 Macro clean up for Element, Race, Race2, Class, & Size validation check
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2014-07-04 19:53:30 +07:00
Cydh Ramdh
e7b654aaab - Follow up a8a4425 (bugreport:9062)
- Added check for item group ID usage on item bonus
- Moved this '(sd->class_&MAPID_UPPERMASK) == MAPID_TAEKWON && sd->status.base_level >= battle_config.taekwon_ranker_min_lv && pc_famerank(sd->status.char_id, MAPID_TAEKWON)' to a macro 'pc_is_taekwon_ranker(sd)'

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2014-06-26 22:12:19 +07:00
Cydh Ramdh
0fca530278 * Fixed bugreport:9034 (Hercules aff9c14)
* 'bonus_script' improvement:
-- Added flag values (partial merge from sc_config branch):
-- * 16  : Removeable by Banishing Buster.
-- * 32  : Removable by Refresh.
-- * 128 : Removable by Luxanima.
-- * 256 : Remove when Madogear is activated or deactivated.
-- * 512 : Remove when receive damage.
-- * 1024: Script is permanent, cannot be cleared by bonus_script_clear
-- Added 'bonus_script_clear' command to remove active bonus_script from player (works like sc_end) Thank Napster to mention this. (bugreport:9042)

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2014-06-20 15:12:42 +07:00
Cydh Ramdh
267d521c00 Bug fixes:
-- Pin code issue after char_refac (bugreport:9027)
-- Delete date issue after char_refac (bugreport:9029)
-- Stuck when drag item from/to inventory/cart/storage if the item cannot be moved. (bugreport:8935)
Command:
-- Added @cloneequip to clone other's equipments.
-- Added @clonestat to clone other's statuses.
-- Thank Antares for the suggestion, http://rathena.org/board/topic/95076-new-atcommands-suggestion/
Permission:
-- Added 'bypass_stat_onclone' to make user who use @clonestat can bypass stat limit.
-- Change 'atcommand_enable_npc' to 'command_enable' permission to enable use command while talking with NPC. Suggested by @aleos long time ago.
Misc:
-- Correcting some checks for bAddEff bonuses.
-- Moved status point calculaiton formula to PC_STATUS_POINT_COST, removing redundancy in pc_need_status_point and pc_maxparameterincrease.
-- Added pc_is_same_equip_index function to move all item index checks, removing redundancy in some cases.
-- Some random in-source documentations.
-- Updated map_msg_idn.conf.

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2014-06-15 18:50:21 +07:00
aleos89
7cd82d00db Increased item ID array size.
- Increased limit from 32,767 to 65,535.
- Still uses same amount of memory with doubled usable size.
- Adjusted CARD0_PET from -256 to 256.
- Please run both SQL files after applying this update to avoid values becoming corrupt.
- Tested and works on clients 2012-04-10 and up thanks to Cydh.
- Removed an unused SQL file.
2014-06-12 11:29:10 -04:00
Cydh Ramdh
a8a44254e1 * Bug Fixes & Misc
-- Compiling errors when VIP_ENABLE (bugreport:9013)
-- Taekwon skills leftover when player was in Taekwon Ranker then changes to other job (bugreport:8973)
-- Follow up f511107.Fixed parentheses statement.
-- Follow up 6afcdeb. Updated check for char table.
-- Follow up 794c1a8. Wrong SC constanta order.
* Battle Config Updates
-- 'transcendent_status_points', stat point bonus for trans classes.
-- 'revive_onwarp', disable/enable to revive a dead player when set new position (warping).
-- 'taekwon_ranker_min_lv', minimum level bonus of Taekwon Ranker.
-- 'fame_taekwon_mission', fame point gained when complete Taekwon Mission.
-- 'fame_refine_lv1', fame point when success to refine to +10 forged weapon level 1.
-- 'fame_refine_lv2', fame point when success to refine to +10 forged weapon level 2.
-- 'fame_refine_lv3', fame point when success to refine to +10 forged weapon level 3.
-- 'fame_forge', fame point when success to forge level 3 weapon with 3 additional ingredients.
-- 'fame_pharmacy_3', fame point when success do pharmacy 3 times in a row.
-- 'fame_pharmacy_5', fame point when success do pharmacy 5 times in a row.
-- 'fame_pharmacy_7', fame point when success do pharmacy 7 times in a row.
-- 'fame_pharmacy_10', fame point when success do pharmacy 8 times in a row.

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2014-06-08 17:04:37 +07:00
Cydh Ramdh
794c1a8247 Bug fixes & Misc:
-- Map crashed because empty item_combo script (bugreport:8959)
-- Wrong MATK calculation of Distort Crescent/Zangetsu effect (SC_ZANGETSU) (bugreport:8998)
-- Wrong damage reduction of Sera's Pain Killer effect (SC_PAIN_KILLER) (bugreport:8994)
-- Fixed Shape Shift (NC_SHAPESHIFT) wrong requirement (bugreport:9002)
-- @itembound, getitembound usage. Not, now allowed for unspecified bound_type (thank Ceejay Abne! http://rathena.org/board/index.php?showtopic=94726)
-- Change check behavior for skill requirement level-dependent check.
-- Removed NC_REPAIR hardcoded requirement.
-- Moved the required equipped item to 'RequiredEquipment' on skill_require_db.txt.
-- Missing "Option_Ruwach" as contantan.
-- Corrected Chasewalk STR bonus, it's SC_CHASEWALK2, different with SC_INCSTR.
-- Corrected some Rebellion skill's effects.
-- USESKILL_FAIL_MADOGEAR message for failed skill that needs player has Madogear.
-- Changed skill name and description length to 31 chars.
-- Some documentation updates.
-- Follow up 0f2dd7f. (Well, using empty password in import file, won't works, if you want, empty the original conf file. Fix this later, related on 'sscanf' for those files)
-- Follow up 28c90bb, thank @julia40124009
-- Misc. :P

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2014-05-31 21:42:44 +07:00
aleos89
6afcdeb613 Cleaned up the Font System to properly save to the character.
Also expanded @itemlist to support costume item types.
2014-05-23 11:48:28 -04:00
Cydh Ramdh
7f4a7ba26f * Changed itemgroup from array to DBMap
* Removed MAX_ITEMGROUP limit
* Changed player bonus fixed array
* Minor changes

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2014-05-23 01:49:49 +07:00
aleos89
2732176786 Modified status_calc_* to support multiple options. (Hercules 6f77d07) 2014-05-20 10:41:15 -04:00
aleos89
1d1a58cdcb Bug Fixes
* Removed unused guild aura leftovers and fixed some other issues with setting the guild aura. (bugreport:8892)
* Fixed Fire Expansion Acid to be a magic type attack. Thanks to exneval.
* Cleaned up some remaining issues with Issen. (bugreport:8905)
* 16th Night (Izayoi) should remove fixed cast time from all skills.
* Circle of Nature is now part of Group B songs.
* Updated Reading Spell Book spell memorization to official.
* Updated homunculus skill cooldowns.
* Added missing Holy element bonus for Hesperus Lit.
* Fixed Coluseo Heal and Praefatio not giving a party bonus. (bugreport:8904)
* Fixed the status icon for ALL_RIDING not being displayed at login.
* Adjusted the notice display order when players login. (Hercules df1952d)
* Self skills can now be used while storage is open. (Hercules 6f6a6b3)
* Cleaned up SC_NOCHAT/Manner system. (Hercules 94ef1ee)
2014-04-16 11:06:09 -04:00
Cydh Ramdh
e54a1d47df * Follow up e2d2494
- Removed hardcodes SI_ for SC_ITEMSCRIPT
- Changed some item scripts that use SC_ITEMSCRIPT to sc_start2, added val2 as SI_
- Revert some hardcodes ITEMID_
* Changed spiritball limit to MAX_SPIRITBALL (Hercules partial merge)
* Updated .sql item_db files

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2014-04-05 17:19:44 +07:00
aleos89
2fe8140f96 Quest Log system improvement. (Hercules 6f55c00)
- Improved memory usage of the quest log system. (saves up to 75kB per online character).
- Fixed various issues with quest entries disappearing from characters without an apparent reason, or monster kill counters getting stuck - the issues were caused by a de-synchronization between the two parallel questlog arrays in map_session_data.
- Added some code documentation.
- Thanks to @shennetsind and @MishimaHaruna.
2014-04-03 09:39:34 -04:00
aleos89
cc59315323 Fixed some 3rd class skill effects not displaying properly. (bugreport:8144, 8804) (Hercules 8cc9012) 2014-04-03 08:48:49 -04:00
aleos89
26afd769ce Bug Fixes
* Fixed Chorus songs causing the map server to crash. (bugreport:8817, bugreport:8819)
* Updated renewal Arrow Shower area to be 5x5 for levels 6-10.
* Neutral Barrier should effect all targets and only block Earth Quake splash damage.
* Only party and guild members should be affected by Stealth Field.
* Fixed Cloud Kill layout to be 7x7.
* Feint Bomb should explode after half a second.
* Fixed Fire Rain unit ID causing Fire Wall, Ice Wall, and other unit skills to display improperly. (bugreport:8775)
* Updated the effects of Banana Bomb, Concentrated White Potion Z, and Vitata 500.
* Fixed Gentle Touch - Revitalize HP regeneration calculation.
* Fixed Gentle Touch - Change making MDEF go below 0 and doing too much damage. (bugreport:8690)
* Fixed Gentle Touch - Energy Gain not adding spirit balls when doing damage.
* Fixed Gentle Touch - Cure to heal players who are wearing a shield with the Golden Thief Bug card. (bugreport:8815)
* Fixed Tear Gas /sob emoticon not stopping when the skill ended.
* Fixed Kagerou/Oboro charms not applying to specific skills. (bugreport:8823)
* Updated some other Kagerou/Oboro skills. Thanks to idAthena.
* Players will stop attacking when forced to sit through skill_sit. (bugreport:8796)
* Fixed Extremity Fist not removing natural SP regen flag and adjusted the icon to show for the 5 minute duration. (bugreport:8811)
* Implemented the official effect for Chaos Panic. (bugreport:8520)
* Fixed a small typo for the knockback of Crescent Elbow.
* Fixed Cross Slash not checking for players wearing Shields + Dagger/Sword. (bugreport:8797)
* Synced up the 3rd class pre-renewal skill database files with the renewal skill database files.
2014-03-28 15:12:23 -04:00
aleos89
6e795af5c1 Added the remaining part to the official expiration timer. (Hercules 7120b55) 2014-03-26 09:27:03 -04:00
lighta
51f26d43d2 Follow up e0c8e01
Move skill_get_cooldown_ into pc_get_skillcooldown
and add a short src_doc description to promote his usage
(and avoid duplicate code)
Fix few cppcheck issues (variable scope optimisation mostly)
2014-03-18 17:36:23 -04:00
Cydh Ramdh
dd67f9de96 Bug Fixes:
- 'hp_rate' and 'sp_rate' config aren't working. http://rathena.org/board/tracker/issue-8742-max-hpsp-battleconf-not-working/
- Mercenary DB that aren't being read properly whic also happens for Homunculus DB. http://rathena.org/board/tracker/issue-8761-mercenary-db-import-folder-issue/
- Fixed Elemental DBs that aren't being imported yet. (also changed to sv_readdb)

Rebellion Skill Updates:
- Some updates according to kRO updates on http://forums.irowiki.org/showpost.php?p=1364894&postcount=579, http://forums.irowiki.org/showpost.php?p=1388802&postcount=981, and http://forums.irowiki.org/showpost.php?p=1389627&postcount=1008
- Partial merge from idAthena.
- Using 0x107 as temporary marker on mini-map for Crimson Marker target.
- Some stuffs maybe still wrong, feel free to report/fix it.
- Thank people on those links, Ziu, and idAthena.

Misc changes:
- Changed some function names for homunculus.c/h with prefix hom_* and mercenary.c/h with prefix mercenary_*
- Change unnecessary 'int' return value tos 'void'

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2014-03-13 23:59:29 +07:00
aleos89
df1b99212b Bug Fixes
* Updated /stats+ to support 2013-12 and newer clients. (bugreport:8726) (Hercules 42b5c04)
* Guild auras will no longer be removed on Land Protector. (Hercules 186fbc5)
* Fixed the animation for logout. (Hercules 3f473c2)
2014-03-06 15:14:26 -05:00