1. Date Added
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO
INTO TRUNK.
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2010/04/28
* Fixed OnTouch doesn't trigger on hiding character. (bugreport:4208)
[Inkfish]
2010/04/23
* Merged a few updates for supporting renewal clients (thanks to Diablo):
[Skotlex]
- Updated packets for char-select screen, trade item add, guild storage
item add, vending list.
- Allow client to change item-share party settings
2010/04/12
* Fixed SuccessRemoveCards removing Armor Enchant. (bugreport:4014)
[Inkfish]
2010/03/31
* Rev. 14277 Moved /npc/sample/ to /doc/sample. These are examples, not
actual npcs. [L0ne_W0lf]
2010/03/23
* Rev. 14270 Implemented NPC_TALK (Credit to SnakeDrak and Daegaladh)
[L0ne_W0lf]
- Also added in the ability to use '@npctalkc' as a GM command.
2010/03/21
* Added missing checks to stop an infinite free cash point exploit.
(bugreport:4139) [ultramage]
2010/03/02
* Fixed an exploit where the buyer can end the auction himself. [Inkfish]
2010/02/27
* Fixed Posion Status killing monsters with low max hp(like plants).
[Inkfish]
2010/02/19
* Fixed racial bonuses for RC_NONDEMIHUMAN applying to right cardfix value
(cardfix) instead of left cardfix value (cardfix_) in the case of melee attacks
where left_cardfix_to_right is set to 'no'. [Paradox924X]
* Fixed NPC_INVINCIBLE can be dispelled. (bugreport:4046) [Inkfish]
* Fixed a compliation warning. [Inkfish]
2010/02/09
* Expanded range for cached and stored-in-db guild member exp (devotion)
from uint32 to uint64. (bugreport:3983) [Paradox924X]
* Capped value when sending to client to INT_MAX to prevent confusion.
[Paradox924X]
2010/02/07
* Bleeding doesn't kill non-player characters. [Inkfish]
2010/02/06
* Added official packet to display received expirience. [Inkfish]
2010/01/30
* Added support for PACKETVER 20100105, which updates the vending related
packets on this and later clients. [Skotlex]
2010/01/28
* Rev. 14232 SN_SHARPSHOOTING is no longer affected by AC_VULTURE.
(Bugreport:3909) [L0ne_W0lf]
- Removed the mercenary version from there as well, as it's not needed.
* Fixed target skill doesn't autocast on hit when hit by AoE. [Inkfish]
2010/01/24
* Prevented the changing of alliances to oppositions during WoE.
(bugreport:3923) [Paradox924X]
2010/01/23
* Prevented pc_skill with a value of 2 for 'flag' from granting a skill
level that surpasses MAX_SKILL_LEVEL. (bugreport:4022) [Paradox924X]
2010/01/19
* Snatch should warp you anyway even if the target died. [Inkfish]
2. * Snatch now checks the distance between source and target in case it
kills the target and then warps the respawned one. [Inkfish]
2010/01/16
* Fixed items don't grant skill if you had this skill before and then
changed your job. [Inkfish]
2010/01/14
* Fixed change cart packet doesn't check for skill. [Inkfish]
* Added new packets for Plagiarism. [Inkfish]
2009/12/27
* Fixed Meteor Assault and Spread Attack have twice the chance to trigger
AutoSpellOnSkill. [Inkfish]
2009/12/03
* Prevented online user count from going negative. (bugreport:3913)
[Paradox924X]
2009/12/02
* Rev. 14183 Semi-revert of 14182, moved ALL_WEWISH up under SA_GRAVITY
instead, as I hadn't noticed it does exactly what the new case did. [L0ne_W0lf]
* Rev. 14182 Added skill ALL_WEWISH. This skill in older clients plays a
song, however in current clients it does not. The effect (AL_ANGELUS) still
shows. [L0ne_W0lf]
2009/11/26
* Moved log_sql_init() call up in map-server-init to after after
map_sql_init() call to prevent unnecessary processing before a potential quit.
[Paradox924X]
* NPC event code cleanups. [Inkfish]
- removed the 'OnMyMobDead' dead code. It's never supported though
documented.
- removed the 'feature' that events only trigger when the player is in the
OnTouch area IF it's specified.
It's never documented and breaks official scripts.
- some cleanups and bug fixes to OnTouch_.
* Fixed warping in OnPCDieEvent revives people with 0 hp.
2009/11/25
* Fixed strnpcinfo(1) returning blank strings when NPC names did not have
a hidden portion of the display name. (bugreport:3758) [Paradox924X]
2009/11/23
* Fixed player keeps bleeding when dead. [Inkfish]
- If battle_config.invincible_nodamage is true, reflected damage to
targets in invincible status is now 1.
2009/11/22
* Added 'ipban_cleanup_interval' option which determines how often expired
IP bans are cleaned from the database. (bugreport:3734) [Paradox924X]
* Modified ipban_check() to only include ipbans that haven't already
expired. (bugreport:3734) [Paradox924X]
2009/11/20
* Cleaned up mapreg dirty-marking code to only mark the mapreg as dirty
when it actually is. (bugreport:3735) [Paradox924X]
2009/11/19
* Applied the renewal client support patch from Diablo (eA forum topic
222623).
By default eA still supports sakexe/ragexe clients. In order to support
the
renewal clients you must:
- 1: Change the default packet version to "default" in db/packet_db.txt
- 2: Change the supported PACKETVER in src/common/mmo.h to the most recent
one
- 3: recompile. [Skotlex]
* Added support for strcharinfo(3) to retrieve the player's map, as
getmapxy
can be a bit unwieldy when you just want this information. [Skotlex]
* Added script command "searchitem" which enables scripts to do item
searches
based on name (can be useful for creating query NPCs). [Skotlex]
09/11/09
3. * Fixed mob is removed from map right after his rebirth. [Inkfish]
* Fixed dead event does not trigger when a mob has rebirth skill and dies
for the second time. [Inkfish]
09/11/08
* Added a flag to indicate if the script of an autobonus was parsed for
the sake of resourse saving. [Inkfish]
09/11/04
* All Songs/Dances now create a 3 second delay before Adaption can be
used. [Inkfish]
* Fixed unit still not being able to move when fiberlock is removed by
Magnetic Earth. [Inkfish]
09/11/02
* Rev. 14119 Added battle_config.mob_slave_keep_target config option
(monster.conf) [L0ne_W0lf]
- When yes (default) MVP slaves will always keep their prior targets.
- When no the old behavior of switching to the closest target is enabled.
* Updated MAX_MOB_DB to 4000 (Monsters are starting to appear in the 2k
ranges)
* Changed default respawn time (when 0) to 500 from 5000.
* Quick fix to char command checking gm level of the target player instead
of the command user (bugreport:3255). [Inkfish]
* Disalbed @jump/@jumpto usage when dead. [Inkfish]
09/11/01
* Rev. 14115 Implemented the fix for Slim Pitcher working on WoESE objects
(bugreport:3618). [L0ne_W0lf]
* Added SC_SPIRIT to the list of buffs that are dispelled when the player
logs out.
09/10/27
* Fixed quest will never get erased when it's the only quest you have.
[Inkfish]
* Cast time of Emergency Call is doubled if you master of High Jump.
[Inkfish]
* High Jump can't be used on PvP maps. [Inkfish]
09/10/26
* Implemented NPC_VAMPIREGIFT and NPC_WIDESOULDRAIN. [Inkfish]
09/10/25
* Rev. 14101 The status SC_INVINCIBLE now reduces all damage to 1.
[L0ne_W0lf]
- Official behavior, and allows players to cancel NPC_ALLHEAL casts.
- If battle_config.invincible_nodamage is true, reflected damage is still
0.
09/10/25
* Implemented the official version of 'OnTouch' named as 'OnTouch_' and it
can be defined in script_athena.conf. [Inkfish]
* Adapted 'map_foreachinarea' to 'map_forsomeinarea' so that it allows you
to specify the count of bl you wanna operate on. [Inkfish]
09/10/24
* Reverted the previous change to OnTouch not triggering for invisible
chars [ultramage]
* 'OnTouch' script shouldn't trigger when you are invisible.(same as
warps) [Inkfish]
* Fixed character doesn't stop walking when walking into OnTouch area of
an NPC who doesn't have an OnTouch label. [Inkfish]
09/10/18
* Removed the char_rename setting in favor of a PACKETVER define
[ultramage]
* Inverted the way renames are counted: '0' now means 'no renames left'
(the default)
* Please make sure your database matches this new behavior before starting
the server.
09/10/10
* Added character rename function. [Inkfish]
* NPCs' names should only be 24 characters long including EOS. [Inkfish]
09/10/06
4. * Fixed rental items can be moved into guild storage from cart. [Inkfish]
09/10/04
* Implemented new packets for rental items (from Jobbie and Natz and fixed
by me). [zephyrus]
* Rental items now can be moved to storage and cart. [zephyrus]
* Autotrade cannot be used when user is dead, and it's not dispelled if
user dies to prevent abuse. [zephyrus]
* Fixed pc_checkitem to do a proper item check and remove. [zephyrus]
09/10/02
* Fixed a damage underflow.(bugreport:3624) [Inkfish]
* Marionette Control now has an infinite duration.(bugreport:2542)
[Inkfish]
09/09/23
* Added supports for Soul Bound. [Inkfish]
09/09/21
* Disabled ip checking during auth, since it lead to a lot of confusion.
[ultramage]
09/09/17
* Duration of SC_STONE is not reduced by MDEF. [Inkfish]
* LexAeterna is allowed to be used on petrifying targets. [Inkfish]
* Mobs won't attack back if StoneCurse fails. [Inkfish]
09/09/13
* Progressbar aborts when player is attacked. [Inkfish]
* Do not stand if damage is from yourself or has no source.
(bugreport:3582) [Inkfish]
* Any mobs killed by party members within view range are taken into
account in questlog. [Inkfish]
* 'unit_walktobl' now uses at least 1 as the range since
'unit_can_reach_bl' always sets the target coordinates 1 cell away from the
target block. [Inkfish]
09/09/12
* Clarified the names of some questlog functions and eventually
implemented kill counts updating. [Inkfish]
09/09/04
* QuestLog Fix. [Inkfish]
- mob id no longer stores in sql.
- counts won't increase if you have killed sufficient mobs.
09/08/25
* Implemented Progress Bar.(topic:207933) [Inkfish]
09/08/21
* Fixed Teleport through Hocus-Pocus skips menu. (bugreport:3513)
[Inkfish]
09/08/20
* Added bMagicHPGainValue and bMagicSPGainValue. [Inkfish]
* Fixed the wrong packet length makes client choke when add_quest packets
are sent. [Inkfish]
09/08/18
* Some fixes for Heat [Inkfish]
- Heat and other ground skills' activation won't cancel combo wait.
(bugreport:3228)
- Heat should work with hp/sp drain bonus. (bugreport:3507)
- Heat consumes 10 sp if the attack doesn't connect. (bugreport:3038)
09/08/17
* Equipment DEF penalty shouldn't be applied to players in Mental
Strength. (bugreport:3454) [Inkfish]
09/08/14
* Fixed self skills affecting target unit when used within combo delay for
Asura and Flying Kick. (bugreport:3495) [Inkfish]
09/08/11
* Fixed changequest behavior(before: completequest+setquest, now:
erasequest+setquest) [Inkfish]
09/08/10
* Fixed autospell and autobonus will still trigger even if the chance is
0. [Inkfish]
5. * Disabled "show_party_share_picker" functioning on client older than
20071002 to prevent from disconnection. (bugreport:3457) [Inkfish]
* Fixed units other than players and mercenaries using Devotion will cause
crashes. (bugreport:3475) [Inkfish]
09/08/01
* Questlog code cleanup. [Inkfish]
* Fixed range check on autospell and autospell2. [Inkfish]
* Implemented official behavior of party_show_share_picker. [Inkfish]
* Fixed a typo on reading no_equip list. [Inkfish]
09/07/28
* Kaahi heals no matter if attack connects. (bugreport:2440) [Inkfish]
* Fixed a typo causing skillitem always resets skill delay.
(bugreport:3431) [Inkfish]
* Fixed damage_level is not calculated properly on normal attack.
[Inkfish]
* Kaahi is supposed to be canceled on logout. [Inkfish]
09/07/25
* Rewrote Quest Log system. [Inkfish]
* Fixed message display for FullStrip and SelfProvoke. (bugreport: 3011,
bugreport: 3415) [Inkfish]
09/07/21
* Added proper bounds of INT_MIN to INT_MAX for hp/sp when being sent
to/from status_damage/status_heal for negative values because of INT_MAX being
(-INT_MIN - 1). [Paradox924X]
09/07/17
* Dead branches no longer check for players' level. (bugreport:3378)
[Inkfish]
* The Lovers Card won't teleport anyone on PVP/WoE/BG maps.
(bugreport:3371) [Inkfish]
09/07/11
* Some updates for range check. (bugreport:3339) [Inkfish]
- Monsters shouldn't use skills if the target is within its attack range
but is out of the skill range.
- Monsters' skill range is no longer 9 by default.
- Range for players' attacks and skills should always have a circular
check.
09/07/07
* Skills with multiple hits should do 1 damage per hit to plants.
[Inkfish]
09/07/04
* TK_POWER shouldn't count the player him/herself for the skill. [Inkfish]
* Fixed a wrong check of Intimidate on hp. (bugreport:3305)[Inkfish]
* Extended ATF_SKILL to ATF_MAGIC and ATF_MISC. [Inkfish]
09/07/03
* Martyr's Reckoning can be perfect dodged. [Inkfish]
* Casting Flying Kick while running and in the spurt status doubles the
damage dealt without spurt status. (bugreport:1898) [Inkfish]
- TODO: bonus on running is still not correct.
09/07/02
* Updated autobonus [Inkfish]
- added documentation for autobonus.
- invoke status_calc_pc after execution so that client display gets
refreshed if neccessary.
09/06/30
* Fixed when dynamic_mobs is active, reloading script right after the last
player having left a map leads to permanet mobs not spawning on that map.
[Inkfish]
09/06/29
* Fixed attack not counted as connect when dodged and got damage from
skill bonus like Weaponry Research. [Inkfish]
09/06/28
* Implemented script command "autobonus". [Inkfish]
- "autobonus" is similar to "bonusautoscript", however it has a timer of
its own.
6. - Updated itemdb changing items bonus using "bonusautoscript + sc_start"
mode to "autobonus + bonus" mode.
- Remove bonusautoscript and status changes that was needed by
bonusautoscript and is no longer in use.
09/06/23
* Minor update to atcommand_jailfor and atcommand_char_ban's modif_p var
incrementation for minute-based bans/jails. [Paradox924X]
09/06/20
* Changed Asura Strike/Jump Kick to target skill to get rid of the "target
delay". (bugreport:2174) [Inkfish]
09/06/19
* Implemented script command "areamobuseskill" and skill NPC_INVINCIBLE
and NPC_INVINCIBLEOFF. (topic:217330) [Inkfish]
* Using items no longer cancels invincibility(but using target and ground
skills through items does). (bugreport:3259) [Inkfish]
* Fixed Butterfly Wings not working during GVG. (bugreport:3264) [Inkfish]
09/06/16
* Fixed an exploit that makes guild skill get higher level than the max
defined in guild_skill_tree. (bugreport:3241) [Inkfish]
* Turn Undead won't apply aftercast delay when casted on a "living"
entity. (bugreport:1740) [Inkfish]
* Autocasts should always fail if the target is outside the skill range or
an obstacle is in between. (bugreport:3201) [Inkfish]
* The Lovers should affect the target instead of the caster.
(bugreport:3252)[Inkfish]
09/06/15
* Skill through items will not be blocked when 90% overweight.
(bugreport:3246) [Inkfish]
* Now you can drop items when hiding. [Inkfish]
* Now you can't logout when hiding, cloaking or chase walking. [Inkfish]
09/06/14
* Fixed a crash due to group being redeleted when players are performing
an ensemble and one of the partner's sp run out. [Inkfish]
09/06/13
* If both Double Attack and critical attack have chance to trigger within
one attack, Double Attack takes priority. (bugreport:3231) [Inkfish]
* Fixed Butterfly Wings not working on maps blocking Teleport.
(bugreport:3236) [Inkfish]
09/06/12
* Fixed "arrow_atk" flag never being reset results in arrow consumption on
itemskills and autocasts. (bugreport:3233) [Inkfish]
* Fixed itemskill not bypassing Silence, SteelBody, Berserk and the like.
(bugreport:3232) [Inkfish]
* Fury and Asura no longer disable SP regen on any other classes than
Monk/Champion.(bugreport:3200) [Inkfish]
09/06/11
* Fixed TaTaMiGaEShi(Improvised Defense) not working. [Inkfish]
* Implemented new cooking success formula. Now cooking experience starts
at 0.(bugreport:2439) [Inkfish]
09/06/09
* Fixed applying autocasts with negative rate before the positive one made
it fail to remove the autocast. [Inkfish]
09/06/08
* Rev. 13869 Follow up to r13867, corrected the newly added MD_TARGETWEAK.
Monsters with this mode will now only target players five level LOWER than
itself. [L0ne_W0lf]
09/06/08
* Fixed bHPGainValue and bSPGainValue worked on all types of attacks and
was only activated on mob's death.(bugreport:3193) [Inkfish]
* Added a configuration for whether damage of EarthQuake with single
target can be reflected. [Inkfish]
* Fixed Wizard Spirit can block reflected magical damage other than
Kaite's.(bugreport:3161) [Inkfish]
* Fixed Kaite works against bosses.(follow up to r13857) [Inkfish]
7. 09/06/07
* Magical damage reflection now works against boss monsters and only on
target skill(but EarthQuake with one target is an exception). [Inkfish]
* Changed hardcoded "5" to MAX_ARROW_RESOURCE in skill_arrow_create
preventing proper usage. (bugreport:3025) [Paradox924X]
* Implemented "cooking exp" that increases the success chance of cooking
by 0.05% per try and the max bonus is 20%. [Inkfish]
09/06/05
* Job_Battle_Manual and Battle_Manual can be used simultaneously.
[Inkfish]
* Fixed "sleep" after "attachrid" (a different rid) halts the script.
[Inkfish]
09/06/04
* Fixed turning off a skill needed to meet the requirements. [Inkfish]
* Skills used through items which don't have aftercast delay or cast time
now don't overwrite the former canact_tick. [Inkfish]
* Multiple autoscripts now can trigger at once. [Inkfish]
* Applied a temp fix for autoscripts crashing server. [Inkfish]
* Implemented SC_JEXPBOOST (thanks to GMJobbie for the diff) and
SC_IGNOREDEF. [Inkfish]
* SC_DEFRATIOATK won't affect boss monsters. [Inkfish]
* Fixed skip_teleport_lv1_menu made lv2 skip menu as well. [Inkfish]
* Rev. 13843 Updates to ST_PRESERVE and a few other minor details!
[L0ne_W0lf]
- Recasting Preserve no longer toggles the skill off while active.
- Preserve is no longer saved on log-out or mapserver changes.
* Added SC_CRITICALWOUND and SC_SLOWCAST to negative statuses not saved
with battle_config.debuff_on_logout&1
* Implemented the skills NPC_HELLPOWER and NPC_WIDEHELLDIGNITY, as per my
personal experiences with the skill on iRO.
* Increased MAX_MOBSKILL to 50, as Satan Morroc has over 40 active skills
now.
09/06/03
* Some clean ups on autocast and itemskill code. (see topic:220921 for
some info) [Inkfish]
- Autocasted Teleport now skips the menu.
- Fixed nullpo info when defensive autocasts are triggered. (follow up to
r13815)
- Fixed Warp portal used in item script never worked.
- Item skills now bypass skill delay check.
- Implemented SM_SELFPROVOKE.
- Updated item db using 'itemskill' for some items.
* Basic skills will never be reset. [Inkfish]
09/06/02
* Rev. 13840 Implemented the Party Buff cash skills. [L0ne_W0lf]
* Fixed Mystical Amplification having unlimited duration [Playtester]
* Fixed skills used through items and Hocus-pocus consume requirements if
you have them. (bugreport:3164) [Inkfish]
09/06/01
* Fixed Fiberlock sometimes fails due to the long interval of
skill_unit_timer. It may never fail now, though this may not be official.
(bugreport:3136) [Inkfish]
09/05/30
* Fixed gemstones are still required when players equipped Mistress Card.
(bugreport:3147, follow up to: r13815) [Inkfish]
* Fiberlock only catches targets the moment its casted. [Inkfish]
* Multiple autocasts can go off at a time now. [Inkfish]
* Splash damage doesn't get modified by percentual modifier now. [Inkfish]
* Monster's Spiral Pierce is again...elemental. [Inkfish]
* Fixed Hocus-pocus always fails. (bugreport:3143, follow up to: r13815)
[Inkfish]
09/05/29
* Added new bonuses bHealPower and bHealPower2. [Inkfish]
* Heal skills code clean up. [Inkfish]
8. - bSkillHeal can affect offensive heal now.
- bSkillHeal2 can affect AppleIdun and SlimPitcher now.
* Added new bonuses bUnbreakableGarment and bUnbreakableShoes. [Inkfish]
* Some more fixes to skill condition issues. [Inkfish]
- Fixed skills fail when MAX_INVENTORY reached.
- Fixed spiritballs not being removed correctly in some situation.
09/05/28
* Fixed some skill condition issues. [Inkfish]
- HP is now checked at the end of cast.
- Lv 6-10 StoneCurse doesn't consume gems when it fails.
- Tarotcard's aftercast delay will still be applied if it fails.
09/05/26
* skill_check_condition clean up (bugreport:2770, bugreport:2957,
bugreport:3010) [Inkfish]
- Weapon, SP, HP and state are checked at the beginning of cast.
- Required items and ammos are checked at the end of cast.
- SP and status change required are removed at the end of cast without
checking again.
- Required items are removed only if the skill is successfully used.
- Autocasts won't check for requirements but will remove them if you have
them(except for SP/HP).
09/05/25
* Fixed losing skill list after base change. (bugreport:3106) [Inkfish]
* Now we can use 'boss_monster' to summon whatever monsters that need to
be radared by Convex Mirror. (bugreport:2653) [Inkfish]
09/05/24
* Taro Card can now break shoes and garment and won't affect dead target.
(bugreport:2513) [Inkfish]
09/05/23
* Splash attacks do cause additional effects except for autocasts.
(bugreport:2661) [Inkfish]
09/05/22
* Fixed some behaviors of additional effects
(bugreport:3100,bugreport:2661) [Inkfish]
- Coma can now be blocked by such skills as SafetyWall, Pneuma and
Basilica.
- Equipment breaking behaves exactly like coma.
- Skill's self damage may now causes coma, equipment breaking and
autospell/autoscript.
- GrandCross now allows you to drain hp/sp.
- Splash attack doesn't cause any status effects or autocasts any more.
* The delay icon doesn't appear during casting now.
* Status icon of ASPD potions doesn't overriding each other now.
* NPC_STOP now stops both sides and will be canceled if either side
teleports or dies.(bugreport:3099)
09/05/20
* Now fiberlocking a fiberlocked target doesn't renew the timer but
instead increases its fireweakness [Inkfish]
- This makes doublecasting firebolts on a double fiberlocked target having
double damage from both 2 bolts possible = =(bugreport:3061)
09/05/19
* Added missing packet 0x2c9 and fixed 0x2da's length error. [Inkfish]
* Fiberlock now can trap multiple enemies on the same cell and its
triggering area was reduced to 1x1. [Inkfish]
* Miracle should only be dispelled on map change. [Inkfish]
* Fixed the three hits of EarthQuake not being calculated seperately.
[Inkfish]
09/05/18
* Item-bonuses now use the official default durations for status changes
[Playtester]
* status calc code cleanup [ultramage]
- Inverted the status calc code order, so that status_calc_bl optionally
invokes status_calc_pc/mob/whatever instead of every status_calc_* calling
status_calc_bl.
9. - Inlined functions status_calc_bl_sub_pc, status_calc_bl_sub_hom and
status_calc_bl_sub_mer into status_calc_bl.
- Restructured status_calc_bl to require as little bl type-specific
branching as possible.
- Split status_calc_bl into two layers - the inner does the battle status
calculations, while the outer deals with running appropriate base status
calculations, remembering old values and handling client updates.
- The status_calc_bl function is now the single entry-point for all status
calculations.
- status_calc_bl will now trigger a client update only on attributes that
actually changed.
- If hp or sp changes during status_calc_bl, it will now properly refresh
on the client.
- Removed SCB_PC, now SCB_ALL should be used instead.
- Revived the unused status calc flag SCB_BASE to indicate that a base
status recalculation should be done first (that's what the status_calc_*
functions are for).
- Defined a new symbolic bitmask SCB_BATTLE (SCB_ALL - SCB_BASE) in case
someone needs to only calculate the battle status (currently unused).
09/05/17
* Monocell, Instant Death and Class Change will now fail on bosses
(bugreport:2907) [Playtester]
* Eske and Eska now affect friendly guardians and slaves. (bugreport:2131)
[Inkfish]
09/05/15
* AutoSpellWhenHit now triggers on normal+skill by default
(bugreport:1652) [Playtester]
* Removed the undocumented custom level feature from monster spawn lines
(bugreport:3076) [ultramage]
09/05/13
* Fixed combo wait was not canceled when TK's Kick skill was successfully
used. (bugreport:1345) [Inkfish]
* PNEUMA, BASILICA and SAFETYWALL no longer protect you from such negative
status changes as COMA, STUN, FREEZE and etc. (bugreport:1346) [Inkfish]
09/05/12
* Fixed Aid Potion can heal the Emperium (bugreport:164) [Inkfish]
09/05/11
* Fixed a crash when mob uses self-destruct skill (bugreport:2874)
[Inkfish]
09/05/10
* Magnetic Earth will never stack (bugreport:2568) [Inkfish]
* Fixed Joint Beat incorrect DEF reduction (bugreport:3051) [Inkfish]
09/05/09
* Fixed GX's skill level modifier is missing [Inkfish]
* Fixed some known and unknown player attached NPC timer problems
[Inkfish]
- Attached timer now can be stopped properly.
- Attached timer will now stop if the NPC is unloaded. (bugreport:2510)
09/05/07
* Fixed up the base success rate of normal strip skills [Playtester]
- normal strip skills: 5% + 5%*level
- Full Strip: 5% + 2%*level
* Fixed splash damage from Baphomet Card might miss. [Inkfish]
* Check if group unit is expired before processing it. (bugreport:3054)
[Inkfish]
* Fixed Grand Corss outdated behavior (bugreport:1590) [Inkfish]
- use new damage formula
- DEF is reduced to 2/3 during cast time
- block shields switching within attack duration
- monsters don't damage themselves any more
- intervals between hits are 300ms
* Added check on stackable items to 'checkweight' (bugreport:1569,
bugreport:2756, bugreport:2994) [Inkfish]
* Fixed flee penalty wasn't applied for battleground and wouldn't be
10. restored on map change [Inkfish]
* Fixed players can pull water from ME cell (follow up to r13730)
[Inkfish]
2009/05/04
* Added the md5() script command. [brianluau]
* Now if a dead player is moved for whatever reason, he'll be alive with 1
HP. (bugreport:70) [Inkfish]
* Players now are allowed to copy the skills the level which is beyond the
skill_db max. [Inkfish]
* Fixed some behaviors for Waterball (bugreport:3024) [Inkfish]
- High level Waterball used by players doesn't increase the number of
balls.
- Monsters can't pull water from cells with Magnetic Earth.
2009/05/03
* Updated item_db.sql and mob_db.sql from recent changes to both. Thanks
to Peter once again! [Jguy]
* Do not log damage if it's done by mob itself (bugreport:2933) [Inkfish]
* Fix 'awake' not working (bugreport:2580) [Inkfish]
* Fix several npctimer issues (bugreport:1619, bugreport:1730) [Inkfish]
* Players now cannot be revived during pvp respawn delay [Inkfish]
* Block equipments switching for some skills (bugreport:2900) [Inkfish]
- cannot change equipments during Arrow Vulcan's cast time
- cannot change equipments within Desperado's attack duration
2009/05/02
* Spirit of Bard and Dancer now only works for mastered skills
(bugreport:3037) [Playtester]
- also fixed an outdated comment in the source code
2009/04/27
* Fixed break equipment debuff working on bosses (bugreport:3023)
[Playtester]
2009/04/25
* Fixed Monster Spiral Pierce not being reduced by Ghostring Card
(bugreport:3013) [Playtester]
- it is forced neutral as its a MISC skill for monsters and doesn't take
weapon element
* First attempt to fix up the strip skills, please make sure these fixes
work (bugreport:3011) [Playtester]
- the minimum rate of strip skills is now 5% for all levels
- duration of strip skills depends on the dex difference between target
and caster and can be reduced to 0
- strip skills can now affect bosses (if duration doesn't get reduced to 0
due to their high dex)
- strip skills do a fixed -25% ATK, -15% DEF, -40% VIT or -40% INT
independant of skill level
- autocasting Full Strip has a duration now (if dex is high enough)
2009/04/20
* Fixed safestrncpy trashing the memory before dst when n == 0. (since
r10667) [FlavioJS]
2009/04/15
* Monster Spiral Pierce is now a ranged misc attack [Playtester]
- it always gets blocked by Pneuma, but never by Safety Wall
- Defender doesn't reduce its damage
- Range-Def item bonuses reduce its damage
2009/04/14
* Cooking success chance is now affected by DEX and LUK [Playtester]
- "cooking exp" still needs to be implemented
- also fixed a small issue when whispering to someone in autotrade
2009/04/01
* Removed online_check config options. (always active now) [FlavioJS]
* Clarified char_maintenance config option.
* Changed packet 0x2712. (added request_id)
* Changed packet 0x2713. (added sex, request_id, version, clienttype;
removed email, expiration time, gmlevel)
* Delayed user count check and mmo_char_send006b to when the account data
11. arrives.
* Created auxiliary function MD5_Salt.
2009/03/31
* Gunslinger Tracking can be canceled if you get hit.
* Gunslinger Disarm always shows skill animation.
* Removed custom firetrap effect from Gunslinger mines. [ultramage]
2009/03/27
* Fixed a problem that blockskill timer failed when there was more than
one on a skill [Playtester]
- please test this, now Asura should be blocked 2 seconds after EVERY Snap
2009/03/26
* Fixed Spirit of Assassin not reducing the aftercast delay of Sonic Blow
[Playtester]
* Assumptio can neither be cast nor dispelled on monsters anymore
[Playtester]
2009/03/23
* Added support for new status change packet, uses new setting
display_status_timers in client.conf. [Sara]
2009/03/18
* Updated item_db.sql with the perl script [Playtester]
2009/03/08
* Fixed a couple bugs with marionette control [Brainstorm]
- Reduces caster max hp by 1000.
- Job and Equipment bonuses counts toward the 99 limit.
- Fixed stat overflow on baby targets with stats over 80 (bugreport:2232).
- Fixed clowns being able to cast it on another bard/clown (same for
gypsy/dancer) (bugreport:166).
- Caster is no longer blocked from using items.
* Added several mail id checks to prevent a map server crash
(bugreport:2837)
2009/03/02
* Blade Stop status no longer prevents item use and equip changing.
* Against non-players, Blade Stop skill will now only activate if the
attacker is at most 2 cells away (1 if barehanded).
2009/03/01
* Fixes from 2008/10/13 bugreport:2077 (Only commiting because nobody did
until now and those bugs would get lost)
* Fixed monster's Spiral Pierce, now it is always blocked by Pneuma.
* Fixed Monk Absorb Spirits mana recovery per spirit absorbed, 7, not 10.
* Fixed Monk spirit balls not being removed on death (like happens with
gunslingers).
* Fixed Swordman Auto-Berserk sp cost, 1, not 5. Should be 0, but eA wont
allow the skill to work.
2009/03/01
* Ankle Snare cannot be knocked back anymore (bugreport:2804) [ultramage]
2009/02/25
* Wrong variable being used in StringBuf_Vprintf. (follow up to r13386,
fixes bugreport:2798) [FlavioJS]
2009/02/23
* Made mob_delayspawn check the spawn_timer in the mob. [FlavioJS]
* Added missing delete_timer's every time spawn_timer is being set.
(except when allocating)
* Made mob_timer_delete check the deletetimer in the mob.
* Added missing delete_timer's every time deletetimer is being set.
(except when allocating)
* Consolidated is_atcommand() and is_atcommand_sub() [SketchyPhoenix]
- replaced gmlvl arg with a flag arg for internal/player generated checks.
(dummy sds that used this arg are given gm levels)
- each command check runs through is_atcommand() and is checked for its
origin (internal or player generated)
- charcommands are also parsed in this function.
- script atcommand/charcommand function calls to is_atcommand() have been
updated
- also updated some clif/map functions calls to is_atcommand()
12. * charcommands should now log properly with the target of the command
included.
2009/02/20
* Increased variable size for status/skill points to remove the 65k cap
(bugreport:1579) [ultramage]
* Modified WFIFOSET to trigger a fatal error when trying to send a packet
that is too big. [FlavioJS]
2009/02/19
* Fixed improper filling of w4 in npc_parsesrcfile when there are less
than 4 fields. (bugreport:1063) [FlavioJS]
* Simplified atcommand_spiritball. (deprecated msg_txt 204 and 205)
2009/02/06
* Follow up to r13485. (bugreport:2741) [FlavioJS]
- @spiritball creates spiritballs without timer (limited to the array size
instead of 500)
2009/01/25
* Changes to the configure script: [FlavioJS]
- added option --enable-profiler (supports gprof)
- added option --enable-64bit (don't force 32bit)
2009/01/24
* Changed pc_spiritball_timer and pc_addspiritball: (bugreport:2705)
- don't make assumptions about the calling order of timers
- ensure that sd->spirit_timer is ordered by expiration time
* Changed the variables of the mapcache structs to fixed size equivalents.
* Changed all uses of struct skill_unit_group* to group_id in
status_change_entry's. [FlavioJS]
2009/01/23
* Changed npc_get_new_npc_id to ensure that it never returns invalid/used
ids. [FlavioJS]
- npc_get_new_npc_id is used to generate ids for
npcs/mobs/homunculus/mercenaries/pets.
If the server runs for long enough (years to months or less, depending
on settings),
the auxiliary variable npc_id will eventually overflow and go negative,
then go
through the range of object ids, then through the range of account ids.
This can lead to all sorts of random crashes and memory leaks.
2009/01/22
* Changed val4 of SC_BLADESTOP from a block_list pointer to an id.
[FlavioJS]
2009/01/21
* Added a limit of 1MB of pending data in the write fifo for non-server
sockets.
Connections that go over the limit are closed.
* Replaced the fake timer heap (sorted array) with a real heap. (improves
performance) [FlavioJS]
2009/01/20
* Added a generic binary heap implementation based on defines. [FlavioJS]
* Fixed pc_statusup2 to correctly update the client's stat window
[ultramage]
2009/01/15
* Updated script_commands.txt with the book reading command.
[SketchyPhoenix]
* Added/reworded/removed comments out of r13450
2009/01/14
* Added client login packets 0x01fa and 0x027c. [FlavioJS]
* Other minor cleanups.
* #commands used by nonGM players now appear in the chat like normal
rather
than being processed and ultimately failed, printing out failed command
messages
that should be visible to only GMs.
2009/01/13
* Cleaned up command @users/#users: [FlavioJS]
13. - displays everything on the target user (self for @users)
- uses a static array instead of a temporary DBMap
- displays percentages with precision of 0.01%
- uses safesnprintf instead of sprintf
2009/01/12
* Mobs with nonzero spawn time can now be cached as well (bugreport:1197)
* Fixed dynamic mobs being unloaded without stopping their respawn timer
* Added regen_db to reduce hp/sp processing delays (bugreport:2256)
[ultramage]
* #command parsing cleaned up. [SketchyPhoenix]
- Fixed charname reading problems from r13441
- Corrected agitend typo to agitend2 (bugreport:2654)
2009/01/05
* Fixed @mobsearch and @showmobs (bugreport:2481) [ultramage]
- now only search for mobs on the same map as the caller
- now properly distinguish between dead and alive mobs
* Added @charcommands to return a list of available charcommands
(bugreport:2630) [SketchyPhoenix]
2008/12/31
* Changes to the script engine: [FlavioJS]
- new stack datatype script_retinfo for C_RETINFO to hold all the return
state info
that was being stored in the stack. (the script engine in 64bit-ready
now)
- pop_stack is responsible for adjusting all the stack pointers.
- push_* returns the created script_data.
- 'return' only converts to value scope variables of the current scope.
2008/12/30
* Changes to the script engine: [FlavioJS]
- script ends when run_func can't find the buildin command. (script engine
error)
- run_script_main doesn't change RERUNLINE to RUN automatically,
the buildin command that set it is responsible for that now.
The buildin command can use this to detect a rerun.
- created functions to alloc/free a script_state.
2008/12/28
* Added missing command #delitem. [SketchyPhoenix]
* Fixed charcommand behavior where those that can accept a name with no
additional parameters
being able to execute under said player's name with the name as a
parameter. (bugreport:2601)
2008/12/25
* Extended sv_escape_c to escape 'a','b','t','v','f','?' characters
to their respective representations instead of octal. [FlavioJS]
2008/12/22
* Added a few missing atcommands. [SketchyPhoenix]
* Added more commands to configurations (bugreport:2565)
* Added a missing charcommand symbol config to atcommand configs.
* GM command configs under the old format will have a warning printed back
to the console as being deprecated.
* Other fixes/cleaning partially resolving bugreport:2549
2008/12/20
* Extended how duplicates work: (based on Orcao's work in bugreport:2361)
[FlavioJS]
- you can duplicate warps/shops/cashshops/npcs (before only npcs could be
duplicated)
- warp duplicates inherit the target location
- shop/cashshop duplicates inherit the item list
- npc duplicates inherit the script code (backward compatible behaviour)
- updated script_commands.txt with the information
2008/12/17
* Removed charcommand code and allowed atcommand code to support its
functionality. [SketchyPhoenix]
- Charcommands still retain their '#' symbol but now looks for a character
14. name as the first parameter instead of last.
- Atcommand configs now support charcommand level configurations by comma
seperation (e.g. 60,99).
- As a result of this, all atcommands that don't affect multiple users
already (@kickall, @doom, @mapexit) are capable of remote usage.
2008/12/01
* Fixed rare crash when using Flying Kick on clones (bugreport:2506)
[ultramage]
* Corrected Flying Kick's debuff rules to match official servers
- only works on players
- soul linkers and stalkers with Preserve active are immune
- only removes Berserk Potion, Kaahi, Kaite, 1HQ, AAR and Soul Links
2008/11/27
* Fixed a memory leak when returning a string variable in the script
engine. [FlavioJS]
(since r9864/r9865, fixes bugreport:2488)
2008/11/24
* Fixed a va_end using the wrong variable. (from r13383, fixes
bugreport:2483) [FlavioJS]
2008/11/22
* Readded code that was removed from atcommand_showmobs by mistake in the
previous commit. (r13383)
* Hunted down improper uses of va_list variables.
* Hunted down the simpler 64bit pointer truncations. [FlavioJS]
2008/11/18
* Rev. 13375 Autotrade characters will no longer get caught by Urgent
Recall. (bugreport:2447) [L0ne_W0lf]
2008/11/11
* Updated script_commands.txt [FlavioJS]
* Made scripts terminate with an error: (fixes bugreport:2429)
- when getitem/getitem2 tries to delete more items than the player has
- when trying to set Zeny to a negative number.
2008/11/09
* Added a check to make sure killed monster's level was greater than half
of the mercenary owner's level before incrementing mercenary's killcount.
(bugreport:2410) [Paradox924X]
2008/11/07
* Rev. 13358 Changed how mobcount works since it wasn't counting last mob
death. (bugreport:2419) [L0ne_W0lf]
2008/11/06
* Fixed 'Char creation denied' message not being sent properly. [FlavioJS]
- Number 2 didn't exist in old clients so it used the default message,
now it exists so the wrong message is displayed.
- Changed 2 to 0xFF to get the default message.
2008/11/05
* Fixed issue preventing you from changing to the original cart when using
Change Cart. (bugreport:2383) [Sara]
2008/10/29
* Novice skill, Trick Dead, will no longer be granted to classes upon
reset (save for Novice and Baby) (bugreport:2312) [SketchyPhoenix]
2008/10/28
* Made script command "unequip" call status_calc_pc. Thanks to Orcao.
(bugreport:2368). [Paradox924X]
2008/10/27
* Fixed all overflow checks and made the code a bit cleaner from r13322.
[Paradox924X]
* Removed leftovers of "bLoseSPWhenUnequip" and "bDamageWhenUnequip".
[Paradox924X]
2008/10/24
* Added protection from segfault by int overflow in charcommand heal and
fixed a typo in atcommand heal. (Follow-up to r13321) [Paradox924X]
* Added protection from segfault by int overflow in atcommand heal.
(bugreport:1886) [Paradox924X]
* Commented out unused function clif_marriage_process. [Paradox924X]
15. 2008/10/21
* Added a check to make sure a player wasn't in a guild when they accepted
a guild invitation. [Paradox924X]
2008/10/18
* Corrected a target checking problem brought about with Kaizel/Osiris
combination. [SketchyPhoenix]
2008/10/16
* Added missing char_sql/int_mercenary files to txt-converter's
Makefile.in. [FlavioJS]
2008/10/15
* Fixed ipban sql connecting to the sql server when disabled. [FlavioJS]
2008/10/11
* Using Kaizel in conjunction with Osiris Card should now work.
(bugreport:2251) [SketchyPhoenix]
* #monsterignore should turn off now. (bugreport:2306) [SketchyPhoenix]
2008/10/09
* Rev. 13272 Updated NPC_REBIRTH. Has it's own values, and no longer
leeches off SL_KAIZEL. [L0ne_W0lf]
2008/10/06
* Rev. 13264 Damage count on rebirthed mobs is now reset. (Valaris)
[L0ne_W0lf]
* Rev. 13263 voided out clif_blown as per Valaris' instruction.
[L0ne_W0lf]
* Rev. 13262 SC_WEIGHT50 and 90 are no longer removed on death.
(bugreport:2316) [L0ne_W0lf]
2008/10/04
* Delete ST_LOGIN auth in chrif_disconnectplayer (followup to r13256,
bugreport:2292) [FlavioJS]
2008/10/03
* Fix for "yet another online check bypass technique". (bugreport:2292)
[FlavioJS]
2008/10/01
* Rev. 13252 Kaupe will now trigger from mobs, homuns and mercenaries, as
well. (bugreport:2297) [L0ne_W0lf]
* Rev. 13251 Removed 'casttime' adjustment from offensive ressurection.
Follow up to r13225. [L0ne_W0lf]
* Kaahi will now override override higher existing levels previously
casted. (bugreport:2296)
2008/09/27
* Fixed clif_changelook betraying the presence of gm-hidden players
(bugreport:2283) [ultramage]
2008/09/11
* Rev. 13226 Corrected Lex Divina not showing animation on fail.
(bugreport:1740) [L0ne_W0lf]
* Rev. 13225 Corrected Offensive Res using Turn Undead cast time.
(bugreport:1704) [L0ne_W0lf]
2008/09/11
* Rev. 13204 Made the mail check on login read from msg_athena.conf.
[L0ne_W0lf]
2008/09/09
* Rev. 13202 Added commands related to WoE SE, allowing it to run
independantly of WoE. [L0ne_W0lf]
- Added: @agitstart2, @agitend2, agitstart2, agitend2, and agitcheck2.
2008/09/05
* Rev. 13192 Updated mmo.h, increased merc max count to 36. [L0ne_W0lf]
* Fixed save crash related to non-guilded mercenaries.
2008/09/01
* Removed hardcoded equip position names from getequipname
(bugreport:2156)
- now it's the npc's responsibility to store and display the names
2008/08/28
* Fixed @cash/@points not handling negative values properly
(bugreport:2132) [ultramage]
2008/08/26
16. * Fixed @agjgmlvl bug preventing its use on other players.
(bugreport:2124) [SketchyPhoenix]
* pc_isGM() checks in gm_cant_party config checks will now check against
being lower or higher than lowest_gm_level config.
2008/08/25
* Fixed homun sp regen bug introduced on r12953 bugreport:2071 [Brain]
* Fixed: several compiler warnings [akrus]
2008/08/20
* Rev. 13098 Implemented Brainstorm's and SketchyPhoenix's fixes for
Flying side kick. [L0ne_W0lf]
- Skill will now remove KA-type statuses and not remove stalker's link
while preserved.
2008/08/19
* Fixed a storage saving issue with txt charserver (bugreport:2084)
[ultramage]
- caused by incorrect idb_ensure -> idb_get change (see r12950)
- removed redundant account_id variable from storage data
- cleaned up the very messy txt storage handling code
* Added global sql settings 'sql.*' to inter_athena.conf.
* Made account, ipban and loginlog use the global sql settings when the
hostname is empty.
* Commented 'ipban.sql.*' and 'account.sql.*' so they default to the
global settings.
* Removed deprecated settings 'case_sensitive' and
'add_to_unlimited_account' from in login_athena.conf.
* Made inter_athena.conf be imported from login_athena.conf instead of
being handled separate.
* Changed ipban to get the failed login attempts of an ip from loginlog
(respects if loginlog is enabled or not). [FlavioJS]
2008/08/16
* Added a mapreg txt->sql converter script to /tools, because the sql
mapserver doesn't read the txt mapreg savefile anymore and people
will most likely want to preserve their global variables.
- script is php-based and requires the php_mysql module
- script produces a series of INSERT statements, ready to be imported
2008/08/15
* Split off mapreg code from script.c [ultramage]
- new mapserver files, mapreg.h, mapreg_txt.c, mapreg_sql.c
- removed MAPREGSQL from project files / makefiles
- mapreg storage engine is now fully dependent on the server type
- added config settings mapreg_txt and mapreg_db to inter config
- added get_str() function to complement add_str()
- fixed txt mapreg code allowing too long variable names
* Removed gm_cant_party_max_lv. It now uses gm_cant_party_min_lv as the
threshold. (bugreport:2051) [SketchyPhoenix]
2008/08/11
* Fixed right-click npc unload not unloading duplicates (bugreport:2014)
2008/08/09
* Fixed @noks leaking internal buffer contents (bugreport:1528)
* Now Novices without lvl5 basic skill can be partied (bugreport:1131)
* Fixed login printing raw passwdenc passwords to console (bugreport:826)
[ultramage]
- added strlib function bin2hex()
- cleaned up the md5calc interface a bit
2008/08/07
* Added another GM trust config for party invitations (bugreport:2004)
[SketchyPhoenix]
2008/08/04
* Added configs for quest table name adjustment (bugreport:1778)
2008/08/02
* Player shops will not close on death anymore (bugreport:1955)
2008/08/01
* Removed unused guardian hp columns from the castles table in main.sql.
* Corrected incorrect use of the datetime column in the `login` table.
17. [ultramage]
* Quagmire now will affect boss monsters, but more info is required to
code the debuff exceptions properly. [Brainstorm]
2008/07/31
* Fixed: added 'E'-type zenylogs in sql table (bugreport:1957) [akrus]
- added sql file upgrade_svn13025_log.sql
* Improved: added --enable-debug=gdb option in configure script to use gdb
optimized debug mode [akrus]
* Removed the mob controller system, now a customization (see
topic:194375) [ultramage]
* Fixed: commented out loginlog in convert engine sql tables (loginlog
table is in logs database now) [akrus]
2008/07/30
* Fixed TXT storage code handling storage incorrectly (bugreport:1928)
* AccountDB_TXT will now correctly read inconsistent EOLs (bugreport:1934)
* Removed the IRC bot system, now a customization (see topic:194306)
2008/07/29
* Renamed struct 'skill' to 's_skill' to remove naming collisions.
* Added defines for mercenary skill ranges.
* Added a mapping of mercenary skills to the skill db (700-799 atm).
* Fixed Sql object not initializing default values properly.
Fixed Sql_Free producing timer deallocation errors when called
without first establishing a database connection.
* Corrected upgrade_svn12975_view.sql not assigning default values
to the two dummy columns; please drop the view and re-run the script.
2008/07/27
* Fixed md5 passwords not working
* Possibly corrected a guild saving problem (bugreport:1908)
* Removed some leftover code that shouldn't have been merged [ultramage]
* Fixed a memory leak in mmo_auth_tosql (extra sql statement being
allocated).
* Added missing option 'log_db_db' to
loginlog_config_read(loginlog_sql.c).
* Fixed a memory leak in account_db_sql_destroy. [FlavioJS]
* Changed the way GM levels are handled
- removed conf/gm_account.txt
- added the gm level column to the txt savefile (after 'email' column)
- gm level information is now transferred along with account data
* Merged the /loginmerge branch [ultramage]
- the login server storage, ipban and logging systems have been abstracted
and now provide a common interface; the rest has been merged into a
single login server core (no more login/login_sql duplicity)
- storage systems are now added via compiler options (WITH_SQL / WITH_TXT)
- multiple storage engines can be compiled in at the same time,
and the config option account.engine defines which one will be used.
- due to MySQL autoincrement limitations, accounts with id '0' will not
be supported; account IDs from this point on should start from '1'.
- login_log() functions now again record IP addresses in dotted format,
not as 4-byte integers (undo from r6868).
- removed config options that defined column names in the login table
- removed `memo` and `error message` columns from login db/savefile
- moved `loginlog` table to the logs database
- added sql files upgrade_svn12975.sql and upgrade_svn12975_log.sql
- due to changes to the login table layout, I added an !optional! sql
file (upgrade_svn12975_view.sql) that will provide a certain degree
of backwards compatibility with existing software;
read the instructions inside carefully!
- moved third-party includes/libs to a separate directory
- updated project files / makefiles
2008/07/20
* Simplified the search in pop_timer_heap and added more debug info to
help
determine the source condition of timer errors. (bugreport:1860)
18. * Fixed crash in skill_castend_id. (bugreport:1860) [FlavioJS]
* Corrected #storagelist target typo (bugreport:1873) [SketchyPhoenix]
2008/07/16
* Added a check to make sure only released timers are acquired from the
free list.
* Changed TIMER_MAX_INTERVAL to 1 second (was set to 1 minute by mistake).
[FlavioJS]
* Fixed TK_JUMPKICK, should not jump over objects and cliffs.
- This also might fix them being able to jump barricades on WoESE.
[Brainstorm]
2008/07/15
* Updated WoE Time Explanation for Sunday. [Paradox924X]
* Corrected wrong data loading order in txt storage code [ultramage]
* Fixed pop_timer_heap using max heap comparisons instead of min heap
comparisons
and protected timer functions against improper use. (should fix
bugreport:1833 bugreport:1841) [FlavioJS]
2008/07/14
* Made homunculi have doubled regen rates (they regen twice as fast)
defined on battle configs. [Brainstorm]
* Corrected compiler warning and error made from r12952 and r12953,
respectively. [SketchyPhoenix]
2008/07/13
* Modified storage data loading (bugreport:1425) [ultramage]
- storage is now loaded/saved along with character status
- as a consequence, a lot of storage handling code was removed
- there is no more locking done within storage data
- mapservers no longer cache the data (solves muiltimapserver exploit)
- loading storage on char select may decrease charserver performance
* Added missing picklog case [Konard]
2008/07/12
* Fixed a bad check on NPC_EVILLAND, actually healing players instead of
doing damage. [Brainstorm]
2008/07/10
* Users can't click floating npcs directly. (quick fix for bugreport:1814)
[FlavioJS]
2008/07/09
* Fixed SG_FUSION hp penalty (0.5% to 2%), bugreport:1805 [Brainstorm]
* Added const to the return value of get_timer.
* Added a maximum timer interval. Avoids server shutdowns being delayed
for ~10 seconds under some circumstances on windows.
* Replaced the fake timer heap (ordered array) with a binary min heap.
[FlavioJS]
2008/07/07
* First attempt at implementing the official walk speed system
- separated speed modifiers into bonuses, penalties and other statuses
- no bonuses stack, instead the maximum is taken
- no penalties stack, instead the maximum is taken
- Union, Riding and Pushcart are the only other statuses that stack
- both bonuses and penalties are linear modifiers of the base walk speed
- 'other' statuses are applied after bonuses and penalties
* Changed many equations to match official walk speed system
- Steel Body now sets a fixed walk speed of 200 (bypassing everything
else)
- Defender now caps the walk speed to a minimum of 200
- Slow Grace now uses official equation for aspd/walk speed decrease
- Pushcart's speed penalty is now halved
- Free Cast now changes walk speed to a fixed value, bypassing bonuses and
penalties
- Wedding clothes now have a penalty of +100%, not +200%
19. - rogue's Tunnel Drive and stalker's Chasewalk ignore all penalties
- taekwon's Running is now 5% faster
- Frenzy is now 5% faster
- Gospel's offensive slowdown is now +75% instead of +33%
- Quagmire now slows down by +50% instead of +100%
- Gatling Fever now slows down by +100% instead of +33%
- Cloaking modifier is now a bonus/penalty, depending on presence of wall
- Longing for Freedom overrides the song/dance penalty (bugreport:416)
- Bard/Dancer Spriit now properly affects song/dance penalty
(bugreport:1019)
- item-granted speedup no longer stacks with speed bonuses (topic:145019)
- removed some status code that pre-calculated speed bonuses/penalties,
to make calculations more localized and less messy (see song/dance code)
* Removed stop/slowdown effect from Grimtooth (bugreport:1806)
* Players autotrading will not be able to receive whispers
(bugreport:1804) [SketchyPhoenix]
2008/07/06
* Slight cleanup of item-based walk speed bonuses [ultramage]
- removed bSpeed bonus code (was just disabled until now)
- changed speed_rate to use base value 0% instead of 100%
2008/07/05
* Moved the mob killmonster flag to a more appropriate area.
(bugreport:1795) [SketchyPhoenix]
2008/07/04
* Fixed AM_PHARMACY produce chances based on info gathered by flaviojs,
aegis zone ep 11.2, of 20070629 [Brain/FlavioJS]
* Rev. 12912 Homunculus will no longer auto-vaporize on master death.
[L0ne_W0lf]
- Added config option to allow for this to be turned on or off.
* Added missing 'E' logs to mail system [Lupus]
2008/07/03
* Removed aspd penalty from Free Cast since tests show it's not there,
even though RO sites claim it is
* Adjusted Free Cast code so that its walk penalty gets calculated in
status_calc_speed and nowhere else [ultramage]
* Fixes regarding bugreport:1727 (undead element/race skill behaviors)
follow up on revisions r12820 r12821 and r12822 [Brainstorm]
2008/06/24
* Rev. 12891 Increased Item group limit for new item groups. [L0ne_W0lf]
2008/06/23
* Fixed: replaced TYPEs with ENGINEs in SQL files (for better
compatibility, TYPE is a synonym) [akrus]
2008/06/22
* Extended script command 'set' to return the variable reference
(topic:190602). [FlavioJS]
* Fixed a bug where the "OnMyMobDead" event wouldn't trigger if the mob
was killed and never attacked. (bugreport:1725) [SketchyPhoenix]
* Reworded a comment in can_copy to make more sense.
* Modified *killmonster and *killmonsterall to support a new argument that
will allow it to kill monsters using the new OnMyMobDead behavior (in order to
avoid breaking older scripts) (bugreport:1734)
2008/06/19
* Added Sirius_White's fix for sense working on emperium. (bugreport:
1679) [SketchyPhoenix]
* Fixed SC_CHANGEUNDEAD behavior: Blessing and Increase AGI deals 1 damage
and does not apply buffs to those inflicted by it.
2008/06/18
* Added a fix for refresh properly displaying dead and sitting players.
[SketchyPhoenix]
* Fixed basilica behavior not knocking back monsters 2 cells should one
attempt to enter the field.
* Fixed cash shop not using points to make up the cash difference when
purchasing an item.
2008/06/17
20. * Forgot to commit source modification from r12833 (Updated Novice
grounds.) [L0ne_W0lf]
2008/06/16
* Made the socket limit not be set in cygwin, which has bogus behavior.
(bugreport:1684) [FlavioJS]
* Made the socket limit be set to the maximum allowed value when setting
to FD_SETSIZE fails.
2008/06/14
* Fixed Icewall not restoring the original cell type [ultramage]
* Fixed PF_FOGWALL working on Boss monsters. [Brainstorm]
2008/06/13
* Fixed Evil Land working versus undead element instead of undead race.
* Fixed Grandcross and darkgrandcross, should only cause blind against
undead race.
Also confirmed that ME, evil land, sanctuary, grandcross/DGC and
status recovery are versus element, not race.
* Removed confusion effect part from AL_CURE, it doesnt work on official
anymore.
* Partial revert of signum crucis modification, it doesnt work against
players, but work on ELEMENT undead monsters.
* Corrected dc_serviceforyou bonus values based on irowiki (better have
fansite info than 100% guessed info).
* Fixed dc_humming only recieving half the bonus from dancing lessons.
* Fixed some skills working on undead element when they were supposed to
work on undead race. [Brainstorm]
Skills Fixed: Cure, Signum Crusis, Blessing, Demons Bane, Divine
Protection.
Skills needing confirmation: Magnus Exorcismus, Evil Land,
Sanctuary, Status Recovery, GrandCross, Dark GrandCross, Head Crush
2008/06/12
* Added check to prevent crashing on logmes with no player attached
(bugreport:1648) [ultramage]
* Added support for skill names to script commands: [FlavioJS]
- skill, addtoskill, guildskill, getskilllv, getgdskilllv, itemskill,
petskillattack, petskillattack2, petskillsupport, skilleffect,
npcskilleffect, unitskilluseid, unitskillusepos
- bonus/bonus2/bonus3/bonus4/bonus5 for bonuses bAutoSpell, bSkillAtk,
bSkillHeal, bAutoSpellWhenHit, bAddSkillBlow, bCastrate
2008/06/11
* Added partylock/guildlock checking for @changeleader/@changegm
(bugreport:72) [ultramage]
2008/06/10
* Fixed double attack working with unarmed attacks, as reported by Lone
Wolf. [Brainstorm]
* Added experimental code to set the socket limit at runtime. [FlavioJS]
2008/06/09
* Fixed SN_SHARPSHOOTING doing 100% atk less damage than it should,
bugreport:1654
* Fixed Active Guild skills not working when WoE is OFF, follow up on
r12770, bugreport:1653 and bugreport:1637
* Fixed Fire Pillar (and any future splash damage magical trap) not
working on Land Protector.
* Fixed reject sword having a infinite duration, bugreport:695
[Brainstorm]
2008/06/08
* Implemented the two-handed staff/rod type
* Corrected definition of 'delitem' and 'delitem2', which prevented the
optional accountid parameter from working (bugreport:1512) [ultramage]
* Fixed SA_DISPELL removing SC_CRITICALWOUND. [Brainstorm]
2008/06/07
* Swapped the W_SHOTGUN and W_GATLING weapon type IDs [ultramage]
21. * Fixed GD_EMERGENCYCALL not working inside gvg castles when WoE is off,
bugreport:1637 fix by Meyraw [Brainstorm]
* Kaite should not work against high-level mobs (bugreport:1623)
* Fixed 'soundeffectall' not reading its params correctly [ultramage]
* Fixed PF_DOUBLECASTING casting % bugreport:140
* Fixed a few properties of NPC_CHANGEUNDEAD bugreport:79 [Brainstorm]
2008/06/01
* Added Ai4rei's "gm can view all players' equips" feature [ultramage]
2008/05/31
* Crashfix to attach/detach timers, thanks to Konard (fixed recent
crashes) [Lupus]
2008/05/28
* Updated Ankle Snare duration (bugreport:1438) [Playtester]
- agi now has only half the effect on the duration (100 agi reduces it by
50%)
- minimum duration is 5 seconds no matter what
* Fixed stat values displaying incorrectly when increasing them
past 255 (wraparound, ack packet only has 1 byte) [ultramage]
2008/05/26
* Updating configure script: [FlavioJS]
- fixed memory manager using the argument of the last enable/disable
option (any option)
- other minor changes
* Increased the allowed packet size for chat messages [ultramage]
- changed the capacity of the message column in chatlog (see sql update)
2008/05/25
* Increased storage space to 600 [Playtester]
2008/05/24
* Updated sql files to latest [Toms]
2008/05/16
* Fixed 64bit timestamps messing up auction/storage (bugreport:1454)
* Added sd state to track party creation/invitation (bugreport:1180)
2008/05/13
* Fixed a mistake in r11344 that caused the 'my shop' window to display
info about cards slotted in items incorrectly (bugreport:1502)
2008/05/12
* Fixed a script engine problem where warping away while having a menu
window open and talking to an another npc with a menu would produce
menu option count mismatch errors (bugreport:1208)
2008/05/10
* Fixed @showmobs not working (bugreport:1487)
2008/05/09
* Added correct extended info packets for items that are being moved
into storage or cart. This caused items to visually lose their
properties once they have been moved from inventory (bugreport:250).
The modification is mostly copypaste but it works nicely [ultramage]
2008/05/07
* Corrected default guild positions not being saved during guild creation.
* Did some cleanup of the splash code, the NPC_WIDE* skills now send the
'preamble' packet, which for the most part correct their skill animation
display.
* Fixed Sense messing up with Spiderweb.
* Added Throw tomahawk to the list of items that do not trigger the
equipment breaking code.
* Probably fixed Moonlight petals pushing back the casters.
* Infinite Endure won't be passed on to devoted characters.
* Infinite Endure is no longer saved on logout.
* Added check to avoid gms opening vending shops if they don't have the
required level.
* Fixed the flee penalty not applying when you walk into a gvg map.
[Skotlex]
2008/05/03
* NPC_GUIDEDATTACK is not supposed to bypass pneuma/safetywall [ultramage]
2008/05/02
22. * Fixed missing iterator destruction in the map_foreach* functions
(followup to r12684).
* Added backward compatible handling of PACKETVER 8 and 9. (followup to
r12539)
* Changes to map_foreach* functions: [FlavioJS]
- removed the unecessary use of va_copy in map_foreachpc
- applied the same function pattern to map_foreachmob and map_foreachiddb
- created map_foreachnpc
- extended the behaviour of map_foreach* functions to stop iterating when
func returns -1
* Replaced the very ineffective clif_foreachclient() with map_foreachpc()
since they essentially do the same thing (bugreport:1174).
* Rewrote map_foreachpc() so that its callback function signature now uses
a more natural 'sd' instead of a DBKey/void* pair.
* Rewrote atcommand_users() to use a single function, instead of depending
on two helper functions and global objects.
* Added a custom implementation of the va_copy macro for systems that
don't provide it.
* Fixed varargs not being used correctly in foreach() calls in db.c
(bugreport:551).
* Replaced the integers+checking approach in r12679 with usage of floating
point arithmetic.
* Applied search&replace to use the new name of the function.
* Implemented get_percentage() for compact and safe calculation of
percentual values.
* Fixed integer arithmetic overflows that were occuring in several
supernovice checks (bugreport:1135). [ultramage]
2008/05/01
* Updated mob_db.sql to latest [Toms]
2008/04/30
* Rev. 12676 Corrected several effect descriptions. [L0ne_W0lf]
2008/04/28
* Cleaned up char server set online/offline/char select functions.
(r12670) [Kevin]
2008/04/27
* Fixing some timestamp type difference warnings...
* Removed the calc_times() no-op (bugreport:1289).
* Corrected r12662 where a guild break would trigger the OnGuildBreak
event for all castles (even of other guilds).
* Corrected some x64 compilation warnings in ers/malloc files.
* Cleaned up a case of bad variable reuse.
* Cleaning up the itemdb reload mess (see r12635, r12643, r12650, r12661,
r12662, r12663): [ultramage]
- the player data inventory-itemdb index is now refreshed using
pc_setinventorydata()
- mobdb will no longer initialize with nonexistent items, and mobs will no
longer drop them in case of a reload
- the clif_buylist() function once again hides invalid npc shop items
- it is no longer possible to purchase nonexistent items from a npc shop
- npc shop loading will not abort if there is a nonexistent item entry, it
will just skip over it
2008/04/26
* Added script function hasquest. [Kevin]
* Fixed OnGuildBreak. [Kevin]
* Cleaned up auth system after change back to map server request.
- Created function set_char_charselect to get rid of some of the "special
case" variables.
- Removed code that involved the char server sending auth data at char
select.
- Changed char select code to update the instance of the char data in the
DB
to fix map/sex info not being propagated to auth request. [Kevin]
* Rev. 12657 Added WoE SE castles to castles.txt in save-tmpl. [L0ne_W0lf]
2008/04/25
23. * Updated item_db.sql to latest
* Fixed bugreport:1223 (Invalid Items In Shops Are Processed Incorrectly)
* Modified delitem/delitem2 to have the same behaviour as getitem/getitem2
(optional
account_id parameter) bugreport:1035
* Modified doc in consequence [Toms]
2008/04/23
* Fixed script strings not being handled properly (only skipped the ).
* Added skip_escaped_c to strlib.c/h.
* Fixed sv_unescape_c not handling hex/octal escapes properly.
* Script parse errors displayed with one ShowError instead of several
ShowMessage's. [FlavioJS]
2008/04/22
* Changed itemdb_reload to clear the database before reloading, so it is
possible
can remove an item from the DB without restarting the server
(bugreport:1348) (r12635). [Kevin]
* Fixed a "bug" in sv_readdb under windows and cygwin configured as
"Unix/binary" for text
files ('r' is read and empty lines are not skipped) bugreport:1382
bugreport:1401 [Toms]
2008/04/21
* Changed the data field of timers from int to intptr.
* Added intptr/uintptr to cbasetypes.h (integers with the same size as a
pointer). [FlavioJS]
* Rev. 12631 Changed Sacrifice status to end on caster's death, not at 25%
HP. [L0ne_W0lf]
- Should also fix over-flow damage returning to sacrificed targets.
Partially fixes bugreport:1332
* Updated sql files to latest [Toms]
2008/04/19
* Made some cleanup in changesex [Toms]
* Fixed a bug in (init/start/stop)npctimer [Toms]
2008/04/18
* Fixed a bug when unloading a npc near a shop.
* Fixed npc_buylist not giving/checking the good item when it was an
item_avail in the shop (the real one was added in inventory).
* Implemented config setting 'vending_over_max', to let people configure
the behavior of vending items over the MAX_ZENY limit [ultramage]
* Fixed mapserv crash, thanks to Konard [Lupus]
2008/04/17
* Modified sv_readdb to be able to process non-native line terminators
(bugreport:1382) [ultramage]
2008/04/16
* Fixed an issue in r12575 where 'not setting char offline when going from
mapserver to charserver' also caused a permanent account lockout if the player
pressed 'cancel' in the char select screen.
* Merged some recent changes from SQL to TXT, as someone didn't bother to
do it.
* Ifdefed the quest data request code as SQL-only (this was causing server
disconnects whenver someone logged in). [ultramage]
2008/04/15
* Use the same code for script commands getitem & getitem2 as @item to
avoid
bug in bugreport:1324 (non-stackable items are stacked) [Toms]
* Removed all _ in the second name in item_db.txt and updated item_db.sql
[Toms]
* Added a forward declaration of the struct quest instead of including
mmo.h [Toms]
* Corrected some invalid syntax in skill_db.txt (wrong usage of commas)
* Renamed BA_FROSTJOKE to BA_FROSTJOKER (aegis server-side name)
* Implemented a generic framework for parsing delimited db files
- allows specifying min/max column ranges and max number of rows to read
* Cleaned up pc.c a bit [ultramage]
24. * Updated item_db.sql to latest [Toms]
2008/04/14
* Fixed a possible crash in char_sql. (since r12575, later modified in
r12590). [FlavioJS]
* Fixed a memory leak in mapif_quests_fromsql [Toms]
* Fixed a typo in char_sql/char.c [Toms]
* Fixed a bug in the disconnection part char-server (not sending you
offline) [Toms]
* Changes to the configure script: [FlavioJS]
- added options --with-MYSQL_CFLAGS and --with-MYSQL_LIBS to allow manual
setting of those variables
2008/04/13
* More major updates to the quest log system. [Kevin]
* Followup to r12579 (all other players appeared as female on sql branch).
[FlavioJS]
* Some major updates to the quest system, beginning to move it
over to the inter server instead of char server. (r12581) [Kevin]
* Added an include in clif.h to avoid a complaint of gcc [Toms]
* Quick&dirty reversal of the inter-server behaviour introduced in
r3255/r3256:
- the behaviour enabled a desynch between the char-server and the map-
server
- now the map-server asks the char-server to authenticate the auth info
(the char-server doesn't send the auth info immediatelly)
* Changes to the configure script: [FlavioJS]
- clarified how --with-zlib is used
- added --enable-packetver to set the PACKETVER define (used often enough
to get it's own option, but unnecessary since it can be set with CFLAGS)
- added -g compiler option to --enable-debug
* Changed LOG_ALL definition to really log everything [Toms]
2008/04/12
* Login will no longer set character offline when going from map
to character select. (r12575) [Kevin]
2008/04/11
* The max_account_id packetver detection mechanism will never cause any
connection problems ever again. (bugreport:388)
* Reverted the `login` table changes from r12464 [ultramage]
* Finished most of the quest log code, still bits here and there
but it's ready for testing. (r12558) [Kevin]
2008/04/10
* More quest log code. [Kevin]
* Client not marked online until map receives auth request from the client
- and is approved. Also added some online/offline sets to the auth system
- that were being skipped.(r12552) [Kevin]
* Modified the charservers to use a DBMap instead of a cyclic array for
auth data.
* Merged the auth fix from r12473 to TXT as well.
* Removed the no-op from r12547. [ultramage]
* Rev. 12550 Reverted the change to MAX_SQUARE_LAYOUT. [L0ne_W0lf]
* Rev. 12548 Updated NPC skill "Evil Land". More gravity wtfage.
[L0ne_W0lf]
- Based on visual observation, and experience with it on iRO Sakray.
2008/04/09
* Clif functions and basic data structures for questlog system. (r12544)
[Kevin]
2008/04/08
* Fixed party invitation ack messages not displaying (bugreport:1308)
* Modified PACKETVER for recent clients to use a YYYYMMDD date format
instead of a simple sequence number (allows adding versions inbetween)
* Small party/guild creation cleanup. Added packet comments. Removed fake
reply packet usage. [ultramage]
2008/04/07
* Rev. 12529 Updated MAX_GUARDIANS to support an insane amount of
guardians. [L0ne_W0lf]
25. * Immunity to magic now makes you immune to the SC effect as well.
(r12527) [Kevin]
* Made script command 'flagemblem' and guild_emblem_change send an update
of the emblem_id to the players in the area.
- known bug: ui components that are displaying the emblem at the time
(emblem in flag npc and emblem over head in gvg maps) are not updated,
but putting the mouse over the target shows the new emblem
* Modified script command 'guardian':
- returns the id of the guardian
- if guardian index isn't supplied, it generates a temporary guardian
* Implemented support for temporary guardians (not saved with castle).
* Added missing includes from r12520. [FlavioJS]
* Party/guild names can no longer be less then 2 characters long. (r12521)
[Kevin]
* Removed the 'wait close' timer that closed a session's socket after 5
seconds.
This was causing random disconnects when logging in. (bugreport:1330)
* Improved the Mental Sensing fix from r12507 to not start the status at
all, instead of starting it and ignoring it later on. [ultramage]
2008/04/06
* Fixed a case where a dangling pointer was formed when a person was
- invited to a party immediately after creating their own. (r12518)
[Kevin]
* Sight rasher now affects the wizard's own and other's icewalls. (r12516)
[Kevin]
* Sight rasher, sight blaster, and arrow shower are now the only
- three skills that will affect traps. (r12516) [Kevin]
* NPC earthquake now divides the atk2 bonus between players. (r12514)
[Kevin]
* Changed guild skills restore, regen, and battle order to only affect
BL_PC. (r12513) [Kevin]
* Reverted one of the changes in dynamic mobs that may
- be causing the spawning problems. (r12512) [Kevin]
* Equip speed buffs no longer stack with speed consumables. (r12509)
[Kevin]
- (Speed potion not included).
* Sprint, Fusion, and Increase AGI now stack independently.
- The others still don't take affect if you have any of these three.
(r12508) [Kevin]
* Mental Sensing no longer gives an xp bonus on bosses. (r12507) [Kevin]
* Changed Union/Increase AGI stack fix (it should work now). (r12506)
[Kevin]
* Fixed seven wind not allowing ghost/shadow. (r12505) [Kevin]
* Added Moscovia to the list of @go destinations [Toms]
2008/04/05
* Unequip should no longer remove any buff from seven wind. (r12503)
[Kevin]
* Union and Increase AGI now stack. (r12502) [Kevin]
* Union now consumes sp when not soul linked. (r12499) [Kevin]
* Running into a wall/npc/pc/mob no longer enables spurt. (r12498) [Kevin]
* Fixed unable to move after using a skill to break out of sprint.
(r12497) [Kevin]
* DMG no longer stops running. (r12488) [Kevin]
2008/04/04
* PCs/Mobs/NPCs now block Leap(TK_HIGHJUMP) and sprint(TK_RUN). (r12485)
[Kevin]
* Disconnect user when receive select egg packet with no menu open.
(r12484) [Kevin]
* Fixed @rura between maps on more then one map server. (r12483) [Kevin]
* Update to Auth Glitch fix: moved unit_free_pc back to where it was
- and updated it so unit_free_pc just tells the script to end
- (not hard delete). (r12481) [Kevin]
* Updated mob_db.sql to latest.
* Fixed a little bug in Kevin's commit (r12473) [Toms]
26. * Bug fixes for Auth Glitch and Map server crash through script warp when
- changing map servers.
* When char receives the request to go back to char selection it sets
- the character as "at char select" in the online_char_db, and
- set_char_offline now deletes the entry in the online_char_db unless
- the user is at the character screen (to prevent unecessary
callocs/frees.
* Script warp was just a simple misplacement of a free statement, freeing
the
- users session data before the scripting subsystem was finished with it.
[Kevin]
2008/04/03
* More login server work
- Renamed 'connect_until_time' to 'expiration_time'
- Renamed 'ban_until_time' to 'unban_time'
- this also applies to login table columns (see upgrade_svn12464.sql)
2008/04/02
* Rev. 12462 Updated MAX_GUILDCASTLE to support new castles. [L0ne_W0lf]
* Added SV_KEEP_TERMINATOR option to not split the line terminator.
* Added sv_split to strlib.c/h (similar to sv_parse). [FlavioJS]
2008/03/31
* Fixed ACIDDEMO crash, thanks to Kaato&Konard [Lupus]
* Added latest version of dbghelp.dll (from microsoft debugger package),
to prevent Windows from loading other, outdated versions.
This caused the dbghelpplug plugin to omit information about structures
when producing a backtrace. [ultramage]
2008/03/30
* yet more login server stuff
- jA data structure compatibility renaming / adjustments
- mmo_account -> login_session_data, auth_data -> mmo_account
- made gender variable usage consistent for the entire login server
- rewrote TXT's new account creation procedure to match SQL's
2008/03/28
* Some more txt/sql login server synchronization [ultramage]
- removed the option to specify multiple IPs/subnets for 'ladminallowip'
- removed the @gm command and all associated management code
- removed the 'save unknown packets' code
- removed the lengthy TXT ipban code (which was essentially a copy of
what's already handled by the socket layer/packet_athena.conf)
- implemented 'start_limited_time' in SQL (expiration for new accounts)
- applied some missing TXT changes from the last update
2008/03/27
* Updated SQL Files (item & mobs) [Toms]
* Partial rewrite of the login server's auth system.
- replaced the cyclic, size-limited auth_fifo data structure with the
more appropriate DBMap-based alternative (stops some erratic behavior)
- added code to simulate the pseudo-status "online on login server"
- auth data will now expire after 30 seconds instead of persisting
- better-than-aegis handling of login cancellation (the server will wipe
all previous auth data instead of making you wait for it to expire)
- proper status message - no more generic "rejected from server", now
you'll get "the server still recognizes your last connection"
- fixed a typo in r10110 which caused disconnect timer removal to fail
- split off some parsing code to login_auth_ok() and login_auth_failed()
- extended the auth confirmation packet so that the login_id1/2 values
are sent along with the associated account id (stops charserver from
making wrong choices if two incoming sessions have the same acc_id)
- fixed a bug in the disconnect part of the main charserver parsing
loop, where a non-authed client would erase the online db entry for
a client that's already online, thus bypassing any dual-login checks
- added code to stop the waiting_disconnect timer when the associated
online entry is removed right away, instead of doing checks later
- removed code that would periodically wipe the online status of clients
that are in the auth process (producing yet more erratic behavior)
27. - commented out some TXT-only reconnect prevention code (bugreport:1281)
* merged the charserver acc modification code cleanup to TXT (r11324)
* changed trunk's default server->client PACKETVER to 9
2008/03/26
* Adjusted eAthena code to compile cleanly in C++ mode.
2008/03/25
* Added proper checks to adoption processing (followup to r12428).
* Cleaned up some code / fixed some typos. [ultramage]
2008/03/24
* Reorganized the contents of the mapserver's header files.
- map.h is no longer a generic dumping spot of all the shared structs,
and instead, each such structure now resides in its logical component
- map.h now only holds mostly map-related things (needs more cleaning)
* Fixed a problem in the new trade window implementation (from r11830)
where no trade acknowledgement messages would get sent (bugreport:1217).
[ultramage]
2008/03/22
* Cart Termination now bypasses Parrying and Energy Coat (bugreport:476).
* Mobs with no respawn information which don't have a master will not get
unloaded by the dynamic mobs system.
This prevents script-spawned mobs (bio MVPs, Emperium/Guardians, ...)
and dead-branched mobs from disappearing (bugreport:1246).
* Added a missing null-pointer check to the timed player pvp/gvg respawn
function (mistake in r12232) [ultramage]
2008/03/21
* Added VS9 project files. Thanks to Konard [Lupus]
- removed redundant map_getallusers() function
2008/03/19
* Changed the dynamic mobs system to also unload mobs that have respawn
time but are already spawned - 22M less mem usage (bugreport:1197)
- also added a check to not respawn mobs on maps with no players
(potentially unsafe operation, needs further inspection)
2008/03/18
* Fixed invited party members not displaying correctly (bugreport:1199)
* Fixed OnPCLoginEvent not working correctly (bugreport:1182) [ultramage]
* Added missing WorkingDirectory value to vcproj-7.1, vcproj-8 projects.
Now you can flawlessly run your compiled server with RUN button in
the correct directory. Thanks to Konard [Lupus]
- Reverted changes from the project files, due to incompatibility [Lupus]
2008/03/14
* Fixed spawned mob count not being counted properly, causing yet more
respawn problems.
* extended the "npc_event: event queue is full" error message to also
print the name of the event (so that the cause can be tracked down)
* removed a strange (and undocumented) event name check for "GM_MONSTER"
in the npc event execution code
* added effects from recent sakexes to effects list
* removed ladmin from vs8 sql builds
* added int_auction.c/.h to vs6 and vs7 project files
* some small cleanups
* Fixed one condition incorrectly modified in r12358, which caused
dynamically unloaded mobs to never spawn once they've been unloaded once
(bugreport:1178) [ultramage]
2008/03/13
* Replaced some foreach-based functions by their inlined iterator
equivalents.
* Changed the dynamic mobs system, so that the flag that indicates whether
a particular mob can be unloaded is stored in the mob's respawn data structure.
* Cleaned up related parts of the source code.
* Fixed one forgotten mob spawning function call causing mobs to duplicate
when respawning (followup to r12350) (bugreport:1173) [ultramage]
2008/03/12
* Removed one mob data variable related to dynamic mobs that I found to be
redundant.
28. * Changed MAX_MOBSKILL (max. amount of different skill entries per mob)
from 50 to 40 to reduce memory consumption a bit more. [ultramage]
2008/03/11
* Replaced one incorrect nullpo check in chat_deletenpcchat().
* Replaced clif_countusers() with a more efficient alternative (thanks to
the fact that pc_db now only holds fully authed players only). [ultramage]
2008/03/10
* Added missing check to only allow the leader of a party to modify
its exp share settings (bugreport:12) [ultramage]
2008/03/09
* Modified attack_walk_delay so it behaves on a 'per-object' basis, and
changed the default to 15 (all types).
* Modified battle_delay_damage so damage is not delayed more than one
second for non-player attacks.
* Modified party_member_added with a hack so that the clif functions will
send the info of the new member since party_recv_info has not yet
arrived.
* Updated clif_calc_delay so the type sent to the client is based on the
number of hits of the skill (as Aegis packets reveal) [Skotlex]
* Cleaned up and corrected some more land skill code [ultramage]
- removed redundant skill_ganbatein() function
- Added flag UF_PATHCHECK from jAthena which affects whether a skill's
cells will be affected by the surrounding terrain. Adjusted existing
flags so that they closely match jA's (for easier comparisons).
- Fixed code that allowed placing of skill unit cells on 'gaps'.
- Fixed code that prevented successful casting of land skills on 'gaps'
(officially it's possible, even though they will not deploy entirely).
2008/03/07
* Script induced status changes can now be reduced by stats/cards (but
only trigger rate is reduced, not duration).
* Battle delay timers will now check if the target player has the
invincible timer active or not.
* Adjusted clif_damage and clif_skill_damage to set the endure type value
based on dmotion and damage, rather than hardchecking for SC_ENDURE.
2008/03/06
* Fixed song/dance cells to appear even on top of walls and pits.
* Fixed non-chatroom owners being able to kick others from the chatroom.
[Skotlex]
* Fixed a crash when a homun kills a mvp and the char that did
the most damage is unable to carry the mvp reward (bugreport:1114)
2008/03/05
* Added code to clear the Illusionary Shadow effect (followup to r12293)
* Added some trim() calls into mapflag code (followup to r12238)
* Fixed mvp exp reward packet not working right for big values
* Added dbghelpplug plugin entry to the plugins configuration file
* Added conf setting for auction table name (see r12287) [ultramage]
* Implemented Firepillar's 'target cannot move for 0.2 sec x hit'
property.
* Corrected Earthquake so it behaves as explained in the development
topics.
* Added a missing line to actually unequip unallowed compounded cards when
changing maps.
2008/03/04
* Updated the firepillar code so it behaves like the other traps.
* Additional status changes now only get triggered if the attack did
damage, not if they get absorbed.
* Properly set the opt3 value for Moonlight, Changeundead and Soul Link.
* Fixed the "no equip" flag of cards not being properly applied when
attemting to equip items.
* Some corections to the new auth db system. [Skotlex]
2008/03/02
* New optimizations for mail system and adjust to use it on Auctions.
[Zephyrus]
- Added a Sql patch to clear all deleted mails. (There is no need to keep
29. that data)
- Added more code for Auctions. Not implemented but just for study.
2008/02/29
* Rev. 12268 Added documentation for Cash shop NPC heading. [L0ne_W0lf]
2008/02/28
* Added cash shop support [Zephyrus]
2008/02/27
* Fixed 'cleararray' not able to erase array entry 127 (bugreport:864)
* Fixed @reloadmobdb producing memory leaks in pet db (bugreport:1030)
* Patched an unresolved case where knocking back a bard/dancer would
cause the mapserver to crash (bugreport:1043)
* Fixed Apple of Idun not checking for bard soul link (bugreport:1028)
* Fixed Advanced Adrenaline Rush not working barehanded (bugreport:1049)
* Disabled idle_no_autoloot setting (bugreport:1051)
* Removed NODAMAGE and ICEWALL cell types (mem usage back to normal)
- Icewall now uses basic cell type 5 (nonwalkable, shootable)
- as a consequence, you can now warp to a nonwalkable cell - but only
via gm command or scripted warp bug (hopefully :)
* Added missing option changes for Illusionary Shadow and Soul Link
that disappeared when you left the screen (bugreport:1053)
* Added support for the "view player equip" feature (see topic:174461)
2008/02/26
* Added new settings for Autotrade. [Zephyrus]
2008/02/23
* Now the server will print an error message if an invalid mapflag is
found during script loading (see bugreport:980 for the motivation)
- removed one extra space that broke jail's noreturn mapflag loading
2008/02/22
* Removed code in socket.c that tries to avoid send buffer overloading,
as there is a scenario (many players and charserver disconnect) where
mass char saving produces huge ammounts of data to send (see r11503)
* Cleaned up player respawning code (bugreport:1022)
* Increased the max amount of different autocast skills from 5 to 10
* Fixed @whomap not unlocking the player db (bug in r12204) [ultramage]
* Added $(CUSTOM_CFLAGS) into all Makefile.in to provide any custom defs
directly to all sub make files. How to use:
make CUSTOM_CFLAGS='-DSOME_DEF' sql [Lupus]
* Fixed 2 problems in r12223 - incorrect variable used (bugreport:1031)
and a missing global function declaration. [ultramage]
2008/02/21
* Added status_calc_life to properly calculate hp/max_hp as a ratio taking
into accounts overflows (and for now also avoids divisions by 0).
Applied
this function around clif.c, mob.c and pet.c
* Implemented the correct walk-speed bonus from the Bard/Dancer spirit.
* Fixed logarithmic drops turning 0% drop rates into 100%.
* Restructured the login mechanism of the map-server. The goal was to make
sure players are not found in the different dbs of the map while the
player has not yet been fully authed or while it is quitting, to avoid
the
rest of the code from accessing and modifying it. It is a rather
extensive
change, and I only had time to test the basic functionality, so if use
with
care and report any bugs found.
* Replaced player states auth, waiting_disconnect, finalsave with active,
and removed states party_sent/guild_sent.
* Removed several of the old login methods/constants/player states which
are no longer needed due to this cleanup. [Skotlex]
2008/02/19
* Rev. 12219 Fixed a typo in /map/clif.c (acount_id -> account_id)
[L0ne_W0lf]
* Forgotten update to the definition of script command 'input'.
30. * Enabled DEBUG_MEMMGR only in DEBUG mode.
* Made autotrading characters be kicked instead of reporting double login.
* Made create_session initialize session_data to NULL.
* Fixed db_obj_get not handling deleted nodes correctly. (bugreport:999)
[FlavioJS]
2008/02/17
* corrected login_fd/char_fd being uninitialized in the char servers.
* Added a check to prevent using consume-delay items when you cannot use
skills, since that opens an exploit if the item also has non-skill-
casting
components to its script. [Skotlex]
2008/02/14
* Removed/replaced all calls to map_getallusers (followup to r12195)
* Trashed @whozeny (from r269) [ultramage]
* Added some changes to @noks. Now it uses a SC and not vars in mob_data
[Zephyrus]
- Added support to Self|Party|Guild to @noks (default is Party)
2008/02/13
* Changes to memory manager: [FlavioJS]
- fixed blocks that are fully used not being detected (and not freed) in
memmgr_final (unfill_prev is NULL for unused blocks and full blocks)
- fixed memmgr_final giving the wrong address to _mfree (for small blocks)
- added the pointer address to most error messages (and log)
- made it append to the log file instead of rewriting it
- implemented a function to verify if a memory location is active
- other minor changes
* Merged memory manager updates from old jA revisions (bugreport:663)
[ultramage]
- less overhead and better overflow detection (caution, experimental!)
* Added some security checks in mail system [Zephyrus]
- This supose to fix a bug reported in 622 to limit to MAX_ZENY.
- Also add more checks to free space in your inventory to receive items.
* Added some new config settings: [Zephyrus]
- homunculus_autoloot, idle_no_autoloot, max_guild_alliance.
- Added a code to activate a Kill Steal protection and the required
mapflags.
2008/02/11
* 'Forget me Not' no longer blocks ASPD bonuses from working or prevents
their re-casting, they are simply dispelled when the effect takes place.
* Fixed a possible crash when a player logs out before their create-party
request is accepted. [Skotlex]
* Expanded the script command 'input': (bugreport:811) [FlavioJS]
- two new optional arguments 'min' and 'max'
- return value indicating if it's in the correct range
- config variables for the default value of the arguments:
'input_min_value' and 'input_max_value' in script_athena.conf
2008/02/10
* Added two missing opt2 values, for Angelus and Bleeding status
* Fixed Warp Portal code sometimes producing errors/crashes in the case
where a priest enters his/her own warp (bugreport:270)
2008/02/08
* Fixed wrong message in item group loading code (bugreport:936)
* Fixed 'charisalpha' not working for the first char (bugreport:940)
* Disabled signed/unsigned warnings for visual studio 2005 [ultramage]
2008/02/07
* Fixed the disguise commands using the wrong variable when attempting to
disguise as an npc.
* Corrected and optimized npc_remove_map's npc array cleanup (Fixes
@reloadscripts reporting 'too many npcs per map' and related dangling
pointer crashes).
* HP loss item scripts can no longer kill you.
* Corrected the item-drop-rate check to avoid duplicate entries in
@whodrops after a @reloadmobdb. [Skotlex]
2008/02/04
31. * Some code cleanups. [Zephyrus]
- Added new Cell types (NoChat and NoDamage)
- Added JobChangeLevel and FreeSKPoints to #stats
- Added a Crash protection in clif_send with invalid fd values.
- Merged a missing update in TK Mission.
- Added script command 'getmapflag'
2008/02/03
* Fixes to Devotion (see topic:153345) [ultramage]
- removed totally fake Devotion packet from Marionette Control code
- fixed one devoted chars array management code bug which caused chars
to be included in the array multiple times, producing various problems
- the link will now re-display when coming into view range
- the link will no longer break if the devotee walks away, but instead,
if he receives damage while being out of range of Devotion
* Added an iterator to map.h/c. [FlavioJS]
Will be used instead of map_getallusers, which has problems with
dangling pointers (returned array isn't updated).
2008/02/01
* Fixed sql charserver crashing sometimes (bugreport:870) [ultramage]
2008/01/29
* Plagiarize can no longer copy skill levels beyond their max skill_db
value.
* Modified pc_dead so that the src is passed on to the master when it is a
pet or homunculus. [Skotlex]
2008/01/26
* Small update to the dgbhelpplug plugin: [FlavioJS]
- fixed only half of wide character strings being printed
- fixed the memory validity check in Dhp__PrintDataValue being optimized
out in release mode
2008/01/25
* Updated conversion tools for mob_db & item_db
* Updated SQL Files (item & mobs) [Toms]
2008/01/21
* Fixed battle config loading not applying the side-effects of
battle_adjust_conf() side-effect if an import: operation fails.
This is what caused the odd slowdown reported in bugreport:260.
2008/01/20
* Fixed item searches not working on exact "jname" matches.
* Fixed hom_setting&0x2 conflicting with the 'view-range' limit check.
* Merged the SA_MONOCELL and SA_CLASSCHANGE code. After changing class all
the status changes that cannot be triggered on bosses are dispelled.
* SA_CLASSCHANGE now uses the bloody branch list to pick a target MVP
class. [Skotlex]
2008/01/19
* Added plugin dbghelpplug to generate more extensive crash reports in
windows. [FlavioJS]
- see header of src/plugins/dbghelpplug.c to know it's capabilities
- VS8 project file supplied at vcproj-8/dbghelpplug.vcproj
- a dll compiled in release mode is supplied at plugins/dbghelpplug.dll
2008/01/17
* Made battle_check_range fail whenever the distance between src/target is
greater than the viewing range. [Skotlex]
* Icewalls can no longer be knocked back (see bugreport:38)
2008/01/15
* Manner system fixing [ultramage]
- better-than-aegis 'red bubble' packet updates; now it shows correctly
- added support for /rc, which is basically mute for 60 minutes
- fixed typo in r12076 making gm-mute start on the gm instead of target
- fixed @mute not ending the status properly when using negative values
- adde missing clif_manner_message(), sends info about manner updates
2008/01/14
* Fixed missing mob_spawn call, which was making CR_CULTIVATION not
actually spawn the plant. [Skotlex]
* Client packet corrections