Traduction de rAthena en français.

celest 1d89c23b3c * Updated Bleeding effect 20 年之前
Dev 509039ac6b * Added skill requirements for the new guild skills 20 年之前
conf-tmpl a32145fde2 * Added bSubSize, bHPGainValue, and bDamageWhenUnequip 20 年之前
db 1d89c23b3c * Updated Bleeding effect 20 年之前
doc a32145fde2 * Added bSubSize, bHPGainValue, and bDamageWhenUnequip 20 年之前
npc 6dcb5ae02b added +2 drops slots into MOBS DBs 20 年之前
readme 7659b79f23 20 年之前
save-tmpl 25d104d8c4 * Added bAddRace2 20 年之前
sql-files 6dcb5ae02b added +2 drops slots into MOBS DBs 20 年之前
src 1d89c23b3c * Updated Bleeding effect 20 年之前
tool d479e29aee Fixed some file types 20 年之前
webserver d479e29aee Fixed some file types 20 年之前
Changelog-SVN.txt 1d89c23b3c * Updated Bleeding effect 20 年之前
Changelog.txt 98351a8dd8 Renamed SVN-Changelog.txt to Changelog-SVN.txt 20 年之前
INSTALL d479e29aee Fixed some file types 20 年之前
LICENCE d479e29aee Fixed some file types 20 年之前
LICENCE_JA d479e29aee Fixed some file types 20 年之前
Makefile 715bb751bf oops 20 年之前
Readme-jap d479e29aee Fixed some file types 20 年之前
Readme2.txt d479e29aee Fixed some file types 20 年之前
SVN-SUPPORT 94a17e7e56 Property update 20 年之前
athena-start d479e29aee Fixed some file types 20 年之前
char-server.sh d479e29aee Fixed some file types 20 年之前
charserv.bat d479e29aee Fixed some file types 20 年之前
help.txt d479e29aee Fixed some file types 20 年之前
login-server.sh d479e29aee Fixed some file types 20 年之前
logserv.bat d479e29aee Fixed some file types 20 年之前
map-server.sh 22763ca3cb 20 年之前
mapserv.bat d479e29aee Fixed some file types 20 年之前
object_del.bat d479e29aee Fixed some file types 20 年之前
readme.html b64618bb09 20 年之前
runserver.bat d479e29aee Fixed some file types 20 年之前
start d479e29aee Fixed some file types 20 年之前

Readme-jap

--------------------
//1032 by ()
E1031ʼn̂폜Ăbuildin_getitemname()𕜊
EoOXȂǂɏoC𔽉f
ȆׂC

(map/)
clif.c
clif_disp_onlyself() NULL`FbNlj
map.c
map_nick2sd() nickNULLƂNULLԂ悤ɕύX
mob.c
mob_setdelayspawn() NULL`FbNύX
mob_delete() C
npc.c
npc_parse_warp() C
script.c
buildin_getitemname()

----------------------------------------
//1031 by huge
ENPCscriptɁAmakepetljB
makepet ID; ŁAybg쐬܂B
ENPCscriptɁAgetexpljB
getexp Base,Job; ŁAꂼ̌ol𑝂₵܂B
Eybg̗NPCdelitemŏshopŔAybgZ[uf[^폜悤CB
EfB{[VCB(mF)
Eol\”\ɂĂ݂܂BconfɂĐݒ肵ĂB

(conf/)
battle_athena.conf C
(doc/)
conf_ref.txt C
script_ref.txt C
(map/)
battle.c
battle.h
disp_experience lj
clif.c
clif.h
clif_disp_onlyself() lj
pc.c
pc_gainexp() C
script.c
buildin_delitem() C
buildin_makepet() lj
buildin_getexp() lj
npc.c
#include C
npc_selllist() C
skill.c
skill_castend_nodamage_id() C


--------------------
//1030 by ()
Emap_athena.confɐVUCRgAEgĒlj
EN[XLŊoXLZ[uƂɖYĂ̂łƂ肠OItɂ̂ݖY悤ɕύX‚
Emobskill_castend_pos̖Qnullpo`FbNύX
EEmotion̐ݒ肪ȂMobXLgpƂ/!oĂ̂C
EoOXɓtrade.cYtBƂ肠肪łނ̌E𒴂ꍇ͓nɌɖ߂悤ɕύX

(conf/)
map_athena.conf UClj
(doc/)
client_packet.txt pPbg̍XV
(map/)
map.c
map_quit() IɃN[XLŊoXLY悤ɕύX
mob.c
mobskill_castend_pos() nullpo`FbNύX
mob_readskilldb() C
pc.c
pc_makesavestatus() N[XLŶmap_quitɔC
trade.c
trade_tradecommit() łވȏꍇɃACeȂ悤

--------------------
//1029 by ()
E20040619RagexeHC_jp.rgz0x2040x20bpPbgɑΉ
EcharloginmȂpPbgpPbg_vo͂悤clif.cRsy

(doc/)
client_packet.txt VpPbglj
(char/)
char.c
parse_char() 0x20bΉ
(login/)
login.c
parse_login() 0x204Ή

--------------------
//1028 by ()
EEoȍ~AMobXLgpƂɃG[Vo悤ɂȂ̂ŁAmob_skill_dbg
TvŃI[NEH[A[iƁu/cvôƃI[NfBxgƁu/vo܂
EACe682,683gp30bATKMATK炵̂łۂ
Ejob_db2.txtɓ̍s2ŝ폜
E͈͖@ȂǂŃXLjbgɃXe[^XύX悤ƂꍇnullpoôC

(db/)
const.txt SC_INCATK SC_INCMATKlj
item_db.txt 682,683ɒlj
job_db2.txt 2s폜
mob_skill_db.txt Emotionlj
(map/)
mob.c
mobskill_use() XLgpɃG[Vo悤ɕύX
mob_readskilldb() Emotionǂݍނ悤ɕύX
mob.h ύX
pc.c
pc_calcstatus() ύX
skill.c

skill_status_change_end() ύX
skill_status_change_start() ύXNULL`FbNC
skill.h ύX

--------------------
//1027 by Ni+S
Egetitemname֐lj
EXNvggetitemname֐lj
EitemidAjname𕶎ŕԂ܂
Eڂscript_ref.txtŁB

script.c
getitemname()lj

----------------------------------------
//1026 by ()
E1023œĂȂclif.h𓯍
EoCIvgƃXtBA[}Cŏomob|mob_timer_delete()nullpoo‚
EoO񍐃Xbh part6 >>63 Destscript.cC荞

(map/)
clif.h ύX
map.h ύX
mob.c
mob_changestate() ύX
skill.c
skill_castend_pos2() ύX
mob_spawn() ύX
do_init_mob() add_timer_func_listmob_timer_deletêŒljĂ݂
script.c
script_load_mapreg() ύX

------------------------
//1025 by Sel
E[hiCg̃Wu␳ԈĂ̂C
EI[u[hʎԂC
EI[u[h퐧fȊOSĂɏC
ERZg[V퐧𗼎葄݂̂Ў葄+葄֏C
EgD[TCgʎԂC
Et@RATg퐧Af܂߂SĂŎgp”\

(db/)
job_db2-2.txt ύX
skill_cast_db.txt ύX
skill_require_db.txt ύX
--------------------
//1024 by mare
Et@[}V[ޗ̕ύXA”\i̒lj
6/8{Iɂ̂Ɠɂ܂

(db/)
produce_db.txt ύX

----------------------------------------
//1023 by ()
E1022ŃGoOnpc_parse_script()߂
EXpCsA[X̏dʒlj_[WvZƕύX
E@͑̌vZƕύX
EeVbNXĎĝł͂ȂgƍƂ̂ŕύX
Eɔskill_requiresittingp~
Eo[T[NGvGŎgpłȂ悤ɕύX

(db/)
skill_cast_db.txt ύX
skill_require_db.txt ύX
(doc/)
db_ref.txt C
(map/)
battle.c
battle_calc_pc_weapon_attack() ύX
clif.c
clif_sitting() lj
clif_parse_ActionRequest() ύX
npc.c
npc_parse_script() C
pc.h ύX
pc.c
pc_calcstatus() ύX
pc_natural_heal_hp() ύX
pc_setstand() lj
skill.c
skill_castend_nodamage_id() eVbNXgƍ悤
skill_check_condition() ST_SITTINGp~
skill_use_id() o[T[NGvGŎgpłȂ悤
skill_status_change_timer() eVbNX10bƂSP12
skill_status_change_start() eVbNXύX
skill_readdb() sittingp~
skill.h ύX

--------------------
//1022 by ()
ENULL`FbNύX
Elogin,char,mapIɊJĂȂɊJw͂Ă݂
EXpmrgANeBJ+50
EXpmr{[iXύXAŏxłȂJobLv70All+15ABaseLv99MHP+2000

(doc/)
client_packet.txt S 01edlj
(char/)
do_final() ύX
do_init() ύX
(login/)
do_final() lj
do_init() ύX
(map/)
atcommand.c Dest̕ύX荞
battle.c
chat.c NULL`FbNύX
chrif.c NULL`FbNύX
clif.c NULL`FbNύX
clif_parse() ύX
clif_parse_sn_explosionspirits() lj
clif_parse_sn_doridori() OύX
guild.c NULL`FbNύX
intif.c NULL`FbNύX
itemdb.c NULL`FbNύX
map.c NULL`FbNύX
do_final() ύX
mob.c NULL`FbNύX
npc.c NULL`FbNύX
npc_parse_script() bufJYHJ
party.c NULL`FbNύX
path.c NULL`FbNύX
pc.c NULL`FbNύX
pc_calcstatus() XpmrύX
pet.c NULL`FbNύX
storage.c NULL`FbNύX
trade.c NULL`FbNύX
vending.c NULL`FbNύX

--------------------
//1021 by Kalen
EveiNPCɂă^LV[h̔
EUmbalã[v
D2F̃[v{IgpɕύXBd|CgC
EUmbalaNPCC
xgpȂꏊ͋ɗ͍폜(-)
Z[u|CgC
oW[Wvlj


JvAēvׂꏊֈړB
ꕔEmoɂ‚āAgtɎႦĂ݂Ȃ̂œƎŕς܂B
Ă炦Ε܂1828tɂNPC̉beɍEmoô
NGXgtȌlj
@ɂ肷łɏIĂꍇłrɂȂ”\܂B
EXpmr]ENPClj
ʂ̃Oɍ쐬܂B
EAP~XgMh̃mȑꍇ̑ΉC(ʂ񂩂̃O)
ENPClj
A܂eXgiKłB_邽ߌs”\łB
(/script)
(/warp)
npc_warp_umbala.txt
(/npc)
(/town)
npc_town_umbala.txt
npc_town_kafra.txt
npc_town_guide.txt
npc_town_prontera.txt
(/quest)
npc_event_marriage.txt(VEeXg)
(/job)
npc_job_alchemist.txt
npc_job_supernovice.txt(V)

--------------------
//1020 by ()
Enullpo̕ύXɑΉmap_athena.conf̐ݒ폜skill.c
EĂHPRSPRʏ̔Ŕ̂C
EXpmr(NCAgˑ)/doridoriSPR񕜗ʂ{ɂȂ悤ɕύX
Ep̃GtFNgXNvgwedding߂Ŕ邱Ƃo悤
EtJnPC͍tɏIłȂ悤ɂ‚(mF)

(conf/)
map_athena.conf nullpo_check폜
(doc/)
client_packet.txt XV
conf_ref.txt nullpo_check폜
(map/)
map.c
map_config_read() nullpo_check폜
map.h
skill.c NULL`FbNēxւ
clif.c
clif_wedding_effect() lj
clif_parse_QuitGame() tJn҂͍tɏIłȂ悤ɕύX
clif_parse_doridori() lj
clif_parse() doridorilj
clif.h ύX
pc.c
pc_authok() doridorilj
pc_natural_heal_hp() ĂƂHPRԏC
pc_natural_heal_sp() ĂƂHPRԏCAdoridorilj
script.c
buildin_wedding_effect() lj


--------------------
//1019 by Dest
EnullpoW[ɃR[fBO~X/C
EAvoidȊ֐Ă΂ꂽnullpo_retv_f()lj
EARpCɑΉ

(common/)
nullpo.c
nullpo_info_core() R[fBO~XC
nullpo.h
NULLPO_CHECKtOɂRpClj
nullpo_retv_f() lj

--------------------
//1018 by chloe
EEoX^[lj

(script/mob/)
npc_monster.txt ύX
eEo}bvMobzu
(db/)
mob_db.txt ύX
1495,STONE_SHOOTER,tCV[^[ C
1511,AMON_RA,A[ C

--------------------
//1017 by ()
EoO񍐃Xbh part6 >>46 DestnullpoW[ljvoidȊ֐Ă΂ꂽnullpo_retv()lj(Ƃ肠skill.cNULL`FbNւ)
E>>39 Sel񂩂񍐂RZg[VC
Edlɂ‚Č荇Xbh >>33 Kalen̏client_packet.txtɔf
E{IXbh part3 >>24 M zqcM6jBw̏
E>>30 ͂̏C𔽉f

(conf/)
map_athena.conf nullpo_checklj
(db/)
item_db.txt wւ𕐊-ANZTɕύXŐV
(doc/)
client_packet.txt XV
conf_ref.txt nullpo_checklj
(common/)
Makefile ύX
nullpo.c lj
nullpo.h lj
(map/)
Makefile ύX
map.c
map_config_read() nullpo_checklj
map.h
skill.c NULL`FbNւ
skill_status_change_start() RZg[VC
skill_castend_nodamage_id() e|[gC
clif.c
clif_skill_setunit() RgC
pc.c
pc_calcstatus() RZg[VC

--------------------
//1016 by ȁB
EAthenaGkXbhPart4 42 鎁̃EoNPClj

(script/npc/town/)
npc_town_umbala.txtlj
CxgfobOl(230`256s)̓RgAEg
(conf/)
map_athena.conf town npc: script/npc/town/npc_town_umbala.txt lj

--------------------
//1015 by ()
E[ugbv{IdlAthenadlőIׂ悤ɂ
EXpmrAll+10ǂȂǍŏ+10Ȃ̂͊mȂ̂łƂ肠Base99ňxłȂ΂ƂɕύX
E_Xɐ΂ĂGtFNg͈ړȂȂ̂ŕύX
E@go 13


(conf/)
battle_athena.conf skill_removetrap_typelj
(doc/)
client_packet.txt {IXbh part3 23 M zqcM6jBw̏lj
conf_ref.txt skill_removetrap_typelj
(map/)
atcommand.c
atcommand_go() Eȍoʒu
battle.c
battle_config_read() skill_removetrap_typelj
battle.h
pc.c
pc_calcstatus() XpmrAll+10ύX
skill.c
skill_blown() _X̐΂ɖ߂
skill_castend_nodamage_id() [ugbvdlύX

--------------------
//1014 by (Pepermint)
I fixed again the problem if you put minus sign(-) in front of digits,
the error comes up when you puchase a item.
When you put a minus sign(-), the error sign will be changed shrotage of
amount as original server dose.

I tested with it in ver. 1013, it was working

--------------------
//1012 by ()
Ehelp.txtɂ@go̐1314폜
@@\͏ĂȂ̂Ŏg邱Ƃ͎g܂Ahelpɍڂ̂jROɗĂƂƂ
Ecast_db.txtskill_cast_db.txtɉ
E‚łmake cleanGNUmakefileĂ݂邱Ƃɂ
Eu-0̌؂Ȃǂ𑍍ă_Xjbg֘AύX
@tE_X̃nG̓jbgtŔԂł
@tE_XɃ[v|CgɏԂ悤ł
@tɕЕnGтGtFNg͌̏ꏊɎcA񂾐ł͍tԂpēȂԂƂSP悤ł
EPC_DIE_COUNTERXNvgύXꂽɂɔf悤ɕύX

(conf/)
help.txt @goύX
(db/)
skill_cast_db.txt
(map/)
pc.c
pc_setpos() _Xf̃^C~OύX
pc_setglobalreg() PC_DIE_COUNTERʏlj
skill.c
skill_castend_id() NULL`FbNύX
skill_stop_dancing() }bvړȂǂł̋ύX
skill_readdb() skill_cast_dbɉ
skill_blown() ΂ꂽ_Xړ
npc.c
npc_touch_areanpc() [v|Cgɏ_X

--------------------
//1011 by pC
Ep[eBvMhvoĂƂɑ̗vۂ鏈lj
@battle_athena.confŐ؂ւo悤ɂȂĂ܂B
Emake clean Ŏ̂ŁAobjectdel.bat

(map)
clif.c
clif_party_invite()ύX(nullpo̕Ă܂)
guild.c
guild_invite()ύX
party.c
party_invite()ύX
battle.c
battle_config_read()ύX
battle.hύX
trade.c
trade_traderequest()ύX

--------------------
//1010 by ()
Egcc 2.95΍
EXpmr1xʂ܂All+10XNvgϐŎĂ݂鎎
PC_DIE_COUNTER ʂ+1A]E0ɂȂ܂
̓LN^iȃXNvgϐȂ̂NPCŎQƁĐݒƂrIy

(map/)
chrif.c
chrif_divorce() gcc2.95΍
skill.c
skill_attack() gcc2.95΍
skill_unit_move_unit_group() gcc2.95΍
map.h map_session_datadie_counterlj
npc.c
npc_click() nullpobZ[WC
pc.c
pc_setrestartvalue() nullpobZ[WC
pc_authok() die_counter̒lj
pc_calcstatus() die_counter=0̃XpmrAll+10
pc_damage() PC_DIE_COUNTERݒ
pc_jobchange() PC_DIE_COUNTERݒ
pc_readparam() gcc2.95΍
pc_divorce() gcc2.95΍
pc_get_partner() gcc2.95΍

--------------------
//1009 by ҂܂
E_Xړyʉ
@battle_athena.confŐ؂ւ”\łBڂconf_ref
@IWiAbvf[gׁ̈AftHgłoffɂĂ܂
@܂Ǎyʉ[hׂ͉啝ɍ팸ł(‚)łA
@̕T[o[̏dȂ܂(ƂĂxCPUΑSRɂȂȂxׂ̕ł)
EVXe^XL
@wւ̓ʈł(Ƃɏo肵܂)
@̂ݖeXgłB
EpXNvg(marriageAdivorce)ljB
@Emarriage
@@: ̖O
@@߂l: :1@s:0
@@s܂BΏۂ͘b|vC[Ƃ̃LN^[ŁAǂ炩̏ꍇ͎s܂B
@@1marriageXNvgŐVYVwƐVwVY̌𓯎ɍs܂B
@@܂ÃXNvgŌwւ͗^܂B
@Edevorce
@@
@@߂l: :1@s:0
@@s܂BΏۂ͘b|vC[ŁȀꍇ͎s܂B
@@marriageXNvgƓlɌ݂̗𓯎ɍs܂B
@@܂ÃXNvgƎIɑΏۃLN^[̌wւ͔D܂B

@ǂ̃XNvg̏A2lOCĂȂƐ܂B

(map/)
pc.c
pc_ismarried()Apc_marriage()Apc_divorce()Apc_authok()ύX
pc_get_partner() lj
map.c
map_quit() ύX
skill.c
skill_use_id()Askill_castend_nodamage_id() ύX
skill_unitsetting()Askill_unit_onlimit() ύX
script.c
buildin_marriage()Abuildin_devorce() lj
pc.h ύX
battle.h ύX

--------------------
//1008 by ҂܂
EGMZbVB(eXg)
@GMAJEg̃LN^[@whoŕ\邩ǂݒł܂B
@ڂconf_ref.txtQƂĂB
EVXe
@char-mapԒʐM̂ݎłB܂邱Ƃ͏o܂B
@Ãpb`athena.txt̃o[Wς܂B
@f[^͕̌݊ۂ‚łAÖ׃obNAbvĂ܂B

(map/)
clif.c
clif_countusers() ύX
battle.c
battle_config_read() ύX
atcommand.c
atcommand_who() ύX
pc.c
pc_ismarried()Apc_marriage()Apc_divorce() lj
chrif.c
chrif_divorce() lj
chrif_parse() ύX
(char/)
char.c
char_divorce() lj
char_delete()Ammo_char_fromstr()Ammo_char_tostr() ύX

--------------------
//1007 by ()
ENULL`FbŇ

(map/)
clif.c
clif_send() ύX
skill.c
skill_delunit() ύX

--------------------
//1006 by (ruhu)
@goɗzƃjtwClj

(conf/)
help.txt jtwCAzlj
(map/)
atcommand.c
atcommand go() jtwCAzlj
--------------------
//1005 by ()
ENULL`FbŇƒljAʂɕύX̂Ŗ肪o”\ł
EEopb`zzꂽ̂@go 12ɃEolj
E[hiCg o[T[NƂۂ(ASPDȂǂ͖)
ENEWvV[ ̐ɗԂт̎gptƓɕύX(ʓ͖)
EubVO{Ił̓Xe[^XAbvGtFNĝł̂悤ɕύX
E{IXbh part2 >>145 zzz̕񍐂𔽉f
EX >>143 plala̕񍐂𔽉f

(db/)
skill_require_db.txt ύX
(conf/)
help.txt Eolj
map_athena.conf Eo֘ÃRgAEg
(map/)
atcommand.c NULL`FbN
atcommand() @mapmoveȂǂŗC
atcommand_go() Eolj
battle.c NULL`FbN
battle_calc_mob_weapon_attack() o[T[N_[W150%
battle_calc_pc_weapon_attack() o[T[N_[W150%
chat.c NULL`FbN
chrif.c NULL`FbN
clif.c NULL`FbN
clif_parse_ActionRequest() _X̏኱ύX
clif_parse_GlobalMessage() o[T[N͉boȂ悤ɕύX
clif_parse_Wis() o[T[N͉boȂ悤ɕύX
clif_parse_PartyMessage()
clif_parse_GuildMessage()
clif_parse_TakeItem() o[T[N̓ACeȂ悤ɕύX
clif_parse_DropItem() o[T[N̓ACe𗎂ƂȂ悤ɕύX
clif_parse_UseItem() o[T[N̓ACegȂ悤ɕύX
clif_parse_EquipItem() o[T[N͑łȂ悤ɕύX
clif_parse_UnequipItem() o[T[N͑łȂ悤ɕύX
clif_parse_UseSkillToId() o[T[N̓XLgpłȂ悤ɕύX
clif_parse_UseSkillToPos()
clif_parse_UseSkillMap()
guild.c NULL`FbN
intif.c NULL`FbN
itemdb.c NULL`FbN
map.c NULL`FbN
map_quit() o[T[NɃOAEgHP 100/SP 0ɂȂ悤ɕύX
mob.c
mob_attack() clif_fixmobpos()𑗐MȂ悤ɕύX
mob_timer() NULL`FbNύX
mobskill_castend_id() Ao[T[NXLgȂ悤ɕύX
mobskill_castend_pos() o[T[NXLgȂ悤ɕύX
mobskill_use_id()
mobskill_use_pos()
npc.c NULL`FbN
party.c NULL`FbN
path.c NULL`FbN
pc.c NULL`FbN
pc_calcstatus() o[T[N͑xUPMHP3{AfBeCeBISP񕜑SPRł͂Ȃʏ񕜂ɂ悤ɂ
pc_heal() o[T[N͉񕜂Ȃ
pc_jobchange() ]E1Ȃƕ̐FfȂ̂C
pc_natural_heal_sub() o[T[NSPR񕜂Ȃ悤ɕύX(HP͗ǂȂ̂ʼn񕜂悤ɂĂ)
pet.c NULL`FbN
skill.c
skill_castend_nodamage_id() ubVÕpPbgύXAXg[J[Xsɂ͖ɂ
skill_castend_map() ‚炢Ƀo[T[NɃXLgȂ悤ɕύX
skill_check_condition()
skill_use_pos()
skill_use_id() さ̐ɗԂтlj
skill_status_change_end() o[T[NɂIAACR悤ɕύX
skill_status_change_timer() NULL`FbNύXA̐ɗԂт玞SPAo[T[NHP100ȏȂ10b1%炷悤ɕύX
skill_status_change_start() o[T[NɂIAACR\悤ɕύX
skill_delunit() NULL`FbNύX
skill_check_condition_char_sub() ̐ɗԂтlj
skill_check_condition_use_sub()
skill_is_danceskill()
skill_initunitgroup()
trade.c NULL`FbN
vending.c NULL`FbN

--------------------
//1004 by ()
ENULL`FbNŃGoOĂƂ‚CƑNULL`FbN
Eskill.cłnullpo\悤ɕύX

(map/)
battle.c
battle_damage() NULL`FbN
battle_heal()
clif.c
clif_damage()
map.c
map_addflooritem() NULL`FbN
mob.c
mob_once_spawn() ]vNULL`FbN폜
mob_once_spawn_area()
mob_damage()
mob_counttargeted()
mobskill_castend_id()
mob_summonslave() bZ[WԈႢC
pc.c
pc_damage() NULL`FbN
skill.c قڑS NULL֘AC

--------------------
//1003 by ()
EjRONCAg/accountgpɌqȂ0x200pPbgC
E0x1c9pPbǧ߂p
ElŐ̂⍇tgpłݒ(player_skill_partner_check)lj
lōtsꍇɂ͒ʏ̃_XƋɂȂ܂
Ev{bN͕sɑ΂ĔȂ悤ɕύX
EFW̐΂ύX
Ef[WɐꔻljÂmF
EnCfBO̗LԂ@\悤ɏC
EAXyVIsɎgpꍇA40_[W^悤ɕύX
EAXyVIsȊOMOBɎgpĂʂ悤ɕύX
EtA_XAťoߎԂɂSP
E񍐂̂K[fBAMhPC^[Qbgmap̏C(K[fBA炸ƗĂH)
Emob.cAstorage.cnull`FbN
G[ŗׂƂ𖳗ʏ폈ɖ߂Ă̂őŖ肪ł邩܂
̏ꍇAR\[Ɂu֐ nullpovƕ\̂ŕ\ꂽꍇ͕񍐂肢܂
琳ȏł\邩܂񂪁A̍ۂ񍐂肢܂
{G[A͐AǂɂĂꂪ\̂̓oOł

(conf/)
battle_athena.conf player_skill_partner_checklj
(db/)
skill_db.txt AXyVȊ𐹂ɕύX
(doc/)
conf_ref.txt player_skill_partner_checklj
(login/)
login.c
parse_login() 0x200pPbgΉ
(map/)
mob.c NULL`FbNłقڑS
storage.c NULL`FbNłقڑS
battle.h ύX
battle.c
battle_calc_magic_attack() AXyVIljAFWύX
battle_config_read() ݒlj
clif.c
clif_getareachar_skillunit() ʂ̔f
clif_skill_setunit()
[10011002̊Ԃ̕ύX_]
skill.c NULL`FbNR
skill_castend_damage_id() AXyVIlj
skill_castend_nodamage_id() AXyVIAv{bNύX
skill_castend_id() AXyVIύX
skill_check_condition_char_sub() player_skill_partner_checkɑΉ
skill_check_condition_use_sub()
skill_use_id()
skill_check_condition() さf[WΉ
skill_status_change_timer() nCfBOCA_XttSP
skill_initunitgroup() _XSPpύX
skill_status_change_start() さv{bN{XɌȂ悤(łbattle.cŎ~߂Ă邩ʏ킱܂ŗȂ)

--------------------
//1002 by ҂܂
E|[^oOC
EXL֌WNull`FbN(by())
(map/)
skill.c
skill_castend_map() C

--------------------
//1001 by ()
E0x1c9ł‚pPbgׂĕω̂ȂƂŒlŖߍ(񂪏W܂ƕς”\)
E_XSP񕜂Ȃ悤ɕύX
ÊőSP10ȉƎgpsɂĎgpSP10炵Ă݂(mF)
Et̃XLgppPbg኱ύX

(map/)
clif.c
clif_getareachar_skillunit() 0x1c9̌ߊJn
clif_skill_setunit() 0x1c9̌ߊJn
pc.c
pc_natural_heal_sub() _XSP̂݉񕜂Ȃ悤ɕύX
skill.c
skill_check_condition() ύX
skill_check_condition_char_sub() ̂͑SP`FbN悤ɕύX
skill_check_condition_use_sub() ̂͑SP炷悤ɕύX

--------------------
//1000 by ҂܂
E0999̕ύX߂
Egbv̊ݎ
EChD̗ьNPC܂ʼn񕜂(悤Ɍ)C(eXg)
EfXg[ṼGtFNgύX(ɖL)
(map/)
skill.c
skill_count_target() lj
skill_unit_onplace()Askill_trap_splash() ύX
--------------------
//0999 by eAthena Dev Team (Yor's Fixes)
(login/)
added email for accounts
(char/)
added email for character deletion
--------------------
//0998 by ()
Ebattle.cň݂̑mFɒlɍsĂ֐‚C
E_X͍Ȃ悤ɂ({IXbh part2 >>114 DoT)
E_XHPASP񕜂Ȃ悤ɕύX()
E_X͒ʏUłȂ悤ɂ({IXbh part2 >>116 EEE)
EtЕꍇAcقʼntp悤ɂ()
Et̓AhuȊOłȂ悤ɕύX()
EtɃ_XȂĂȂlj({IXbh part2 >>118 낳)
ECgpHP񕜂Ȃ̂C

(map/)
battle.c
battle_counttargeted() C
battle_getn ԂSC
clif.c
clif_parse_WalkToXY() t̔f@̕ύX
clif_parse_ActionRequest() _X͉ȂȂ悤ɕύX
map.c
map_quit() _Xflj
mob.c
mob_damage() skill_stop_dancing̈ɂύX
pc.c
pc_setpos()
pc_damage()
pc_equipitem()
pc_natural_heal_sub() _X͎R񕜂Ȃ悤ɁCSP̂݉񕜂Ȃ悤
skill.c
skill_castend_nodamage_id() skill_stop_dancing̈ɂύX
skill_status_change_start()
skill_check_condition_char_sub() 肪_XĂĂtłȂ悤ɕύX
skill_check_condition_use_sub()
skill_use_id() t̔f@̕ύXt̓AhuȊO֎~
skill_status_change_end() t̃_Xԉ͑val40ɂ悤ɂ
skill_is_danceskill() ߂lύX
skill_stop_dancing() AtŕЕƂ̏lj
skill_delunitgroup() t̃Xe[^XύXɈڂ
skill_clear_unitgroup() bl->idƃjbgO[vgroup->src_idႤƂ͍폜Ȃ悤ɕύX
skill.h ύX

--------------------
//0997 by ()
ElōtAOlŐ̂
t o[hE_T[אڂZɂēXLĂ鎞ɔ
XLx͗҂̃XLx̒
{IdlȂǎ΂ߗאڂOK
gp҂X-1+1̏ꏊɈlƒARCgv[Xg鎞ɔƎv(eXg)
gp ARv
OK

NG

Eg[L[{bNXgĐݒuɍĂ̓XLgpsɂĂ݂

(db/)
item_db.txt ̎􂢗5%(by e2)
(map/)
skill.c
skill_check_condition_char_sub() lj
skill_check_condition_use_sub() lj
skill_check_condition() ύX
skill_use_id() ύX
skill_initunitgroup() ύX
skill_delunitgroup() ύX
clif.c
clif_parse_UseSkillToPos() ύX

--------------------
//0996 by ()
EAhu5bcast_db.txtupkeep_time2Őł悤ɕύX
EŎ킹邽߂bonus2 bAddEff2lj
EĂďIłȂɂu͏Ił܂v\悤ɂ
E_XGtFNgړɌʂ̓KpfړOɍsĂ̂ړɕύXgȂĂϐp~

(db/)
cast_db.txt
const.txt
item_db.txt
(doc/)
item_bonus.txt
(src/)
clif.c
clif_parse_QuitGame() ύX
map.h addeff2,arrow_addeff2 lj
pc.c
pc_calcstatus() ύX
pc_bonus2() ύX
skill.c
skill_additional_effect() ύX
skill_check_condition() ύX
skill_unit_move_unit_group() ύX

--------------------
//0995 by ()
Ebattle.pet_lootitem̃ftHgyesɂȂĂ̂C
Ebattle.pet_lootitem̓KpforeachOł悤ɏC
Eybg̏pd->lootitem鎞ĂȂ̂C
Ë悪ړđΏۂ̈悩甲ĂʂȂC
EAhu̓_X5bȏoȂƎgpłȂ悤ɂ

(map/)
pet.c
pet_data_init() C
pet_ai_sub_hard() C
pet_ai_sub_hard_lootsearch() C
skill.c
skill_blown() ύX
skill_unit_onlimit() G[bZ[WC
skill_check_condition() ύX
skill_initunitgroup() sd_data[SC_DANCING].val3gettick()
skill_unit_move_unit_group_sub() lj
skill_unit_move_unit_group() ύX
skill.h skill_unit_move_unit_group() ύX
battle.c
battle_config_read() pet_lootitem=0ɏC
pc.c
pc_walk() ύX

--------------------
//0994 by huge
Ebattle.pet_lootitemKĂȂ̂CB
EybgɃptH[}XA10bԂ炢͏E킹Ȃ悤ɁB

(map/)
map.h pet_datalootitem_timerljB
pet.c
pet_ai_sub_hard_lootsearch() CB
pet_lootitem_drop() CB

--------------------
//0993 by ()
ElōtǍtXL͓Ȃ悤
EAR[BOɎg_XXL𔼕SPŎg܂
E_XɈړƃGtFNgړ悤ɂ
ẼXLgUnknown skillƕ\邱Ƃ邩܂
ESagẽLXgLZŎ͑ÕXLoĂȂ̏C

(map/)
clif.c
clif_parse_WalkToXY() ύX
map.h AR[pϐ̒lj
pc.c
pc_walk()
skill.c
skill_blown
skill_castend_nodamage_id
skill_unitsetting() ύX
skill_unit_onplace() 㩂œĂcase܂Ƃ߂
skill_unit_onout() gĂȂunit2폜
skill_check_condition() ύX
skill_use_id
skill_initunitgroup() g_XXLϐɓ悤ɂ
skill_unit_move_unit_group() lj
skill.h ύX

--------------------
//0992 by nokia

map_quitCăߕ鎞xߕ邽߃̊ԈႢN

(map/)
map.c
map_quit()

--------------------
//0991 by ()
Eg[L[{bNXłȂ{IdlɕύX
EXLrƃfBC̓NCAgIłȂ悤ɂǁAGɍUĂƂ͏Ił܂(߂ȂII)

(map/)
clif.c
clif_parse_QuitGame() ύX
skill.c
skill_unitsetting() ύX

--------------------
//0990 by ҂܂
Eꕔ̃gbv͈͍UɕύXi݂͖jB
Emapflagpvp_nocalcrankpvp_nightmaredropljB
Emapflagpvp_nocalcrankdummy
@PvPɂ郉LOvZȂ悤ɂ܂B
Emapflagpvp_nightmaredrop,,
@PvPɂĎSꍇÅmŃACehbv܂B
@: hbvACeIDw肵܂BrandomƋLqƏi烉_Ƀhbv܂B
@: hbvACẽ^Cvw肵܂Binventory:i equip:i all:S
@: hbvmłBŎw肵܂B
(map/)
skill.c
skill_unit_onplace() ύX
skill_trap_splash() lj
pc.c
pc_damage() ύX
npc.c
npc_parse_mapflag() ύX
map.h
map_dataɃolj
(conf/)
mapflag.txt
iCgA[hɃhbvݒlj

--------------------
//0989 by ()
EXvOgbv^ŌSSɎĂ݂B瑊X
EfBeNeBO^ŌɎĂ݂B瑊X
ELXgLZdelete_timerG[ɒljŃXLID\悤ɂB킹ĕ񍐂ƃG[̌邩

(map/)
skill.c
skill_castend_nodamage_id() ύX
skill_castend_pos2() ύX
skill_castcancel() ύX

--------------------
//0988 by ()
Eg[L[{bNX͏ɑɒu悤ɕύXKalenɖ񓙂ɃpPbg{Iɂ킹Ă݂
EVbNEF[ugbvɌʂlj‚(mF)
EuXg}CƃNCAgbvƐԂ悤ɂ
E[ugbv(skill_require_dbŎw肵ACe)ł悤ɂ
E̎ɂ㩂̎Ԑ؂㩂oIWidl̓RgAEg
EuXg}ČʎԂ̂C

(db/)
cast_db.txt
(map/)
battle.c
battle_check_target() ύX
mob.c
mobskill_castend_pos() ύX
skill.c
skill_additional_effect() ύX
skill_blown() ύX
skill_castend_nodamage_id() ύX
skill_castend_pos2() ύX
skill_unitsetting() ύX
skill_unit_onplace() ύX
skill_unit_ondamaged() ύX
skill_castend_pos() ύX
skill_unit_timer_sub() ύX

--------------------
//0987 by Ӓ

E[U[`֐/Tu[eBɈw”\
ڂ script_ref.txt Q

(map/)
scirpt.c
buildin_getarg()lj
buildin_callsub(),buildin_callfunc(),run_func()C
(doc/)
script_ref.txt
ɂ‚Ă̐lj

Egetguildname,getpartyname,getcastlename,strcharinfoC
C_STRŒ萔(C_CONSTSTR)ԂĂC
strcharinfoŃMhȂǂہAƂ̖

(map/)
script.c
buildin_getguildname(),buildin_getpartyname()
buildin_getcastlename(),buildin_strcharinfo()

--------------------
//0986 by ()
Eclient_packet̋Lq琄@ăg[L[{bNXĂ݂‚

(db/)
skill_db.txt
(map/)
clif.c
clif_talkiebox() lj
clif_parse_UseSkillToPos() ύX
clif_parse() ύX
clif.h ύX
map.h ύX
skill.c
skill_castend_pos2() ύX
skill_unitsetting() ύX
skill_unit_onplace() ύX

--------------------
//0985 by ()
ET[o[snapshot
E/script/extensionɌ蕔lj
E0984AthenaGkXbh part3>>92 Michael̏C荞ł
EoO񍐃Xbh part5 >>45ɓ]ڂĂ ˂̏C荞
EoO񍐃Xbh part5 >>54 rarîʂXC荞

(script/extension/)
npc_event_kataribe6.txt lj
npc_event_kataribe7.txt lj
(script/npc/)
quest/npc_event_hat.txt C
job/npc_job_magician.txt C

--------------------
//0984 by ()
EZ[W̃t[LXgƂXL݂̑mȂ̂0983̕ύXꕔ߂
EACeXVǐLƃCfBAo_iłȂH
E}bvtOƃX^[zuŐVł

(db/)
item_db.txt
(conf/)
mapflag.txt
(script/mob/)
npc_monster.txt
(map/)
clif.c
clif_parse_WalkToXY() C

--------------------
//0983 by ()
Erɕ܂ꂽĈŏC
Eybg[bg]ɑΏۂ@Eꂽmap-server̂C
EvtFbT[ Ctu̎蔲ƃ}Vɂ

(map/)
clif.c
clif_parse_WalkToXY() C
pet.c
pet_catch_process2() C
skill.c
skill_castend_nodamage_id() C

--------------------
//0982 by ()
E]XĹ`
Xg[J[ WFNg\[h 肪PC̏ꍇ͌ȂΒ˕ԂȂ\
vtFbT[ CY 12b̌ŒLXg^CǍXLgp̃LXg^C3񂾂1/3ɂȂ
vtFbT[ Ctu HP10%炵SP𑝂₷BHP̃GtFNg͖ɂĂ݂
E؂Ɖ𗦑Flee㏸Xe[^XωɂfĂȂ̂C
E0981ŎȊO͕畞̐F߂Ă܂̂ȂƂ‚

(db/)
skill_require_db.txt
(map/)
battle.c
battle_calc_damage() C
clif.c
clif_movechar() C
clif_getareachar_pc() C
pc.c
pc_calcstatus() C
skill.c
SkillStatusChangeTable ύX
skill_castend_nodamage_id() ύX
skill_use_id() ύX
skill_use_pos() ύX
skill_status_change_timer() ύX
skill_status_change_start() ύX
skill.h ύX

--------------------
//0981 by ()
E]XĹ`
Xg[J[ WFNg\[h mŃ_[W𔼕ɂČ炵𑊎ɒ˕Ԃ悤ɂcA˕Ԃ_[W̃GtFNgo܂
E̐FύXۑĂꍇɃOƌ̐Fɖ߂Ă悤Ɍ̏C

(db/)
skill_db.txt
(map/)
clif.c
clif_parse_LoadEndAck() C
battle.c
battle_calc_damage() C
skill.c
skill_status_change_timer() C
skill_status_change_start() C

--------------------
//0980 by ()
Eɂē]XLƃN֘A
XiCp[ V[vV[eBO NeBJH
nCEBU[h \EhC MSPʂMob|ƂSP(mobLv*(65+15*SkillLv)/100)񕜁Bł{͔͈͍Ȕꍇ͉񕜂Ȃ炵H
nCEBU[h @͑ gMATKSkillLv%ʁB̃XLgpɌɖ߂
N CD Ɛ肵20%̊mœGLv*2SPzBƂ̓^[Qbg擾悤ɂĂ݂
EACejROEoɏĂ݂‚

(db/)
cast_db.txt
item_db.txt
(map/)
battle.c
battle_calc_pc_weapon_attack() ύX
mob.c
mob_damage() ύX
pc.c
pc_calcstatus() ύX
skill.c
skill_castend_nodamage_id() ύX
skill_use_id() ύX
skill_use_pos() ύX
skill_status_change_end() ύX
skill_status_change_timer() ύX
skill_status_change_start() ύX

--------------------
//0979 by ()
E]XLƒ
nCEBU[h }WbNNbV[ UBaseATKvZMATK2łĂ݂
E{IdlHPSP̉񕜃^C}[𕪂čĂȂĂȂ΃^C}[iނ悤ɂ
ECgpHPSP5ԎR񕜂Ȃ{Igpɂ(csat_db.txtupkeep_time2Œ”\)
EÂgccskill_unit_timer_sub_onplace()ŃRpCG[ɂȂ̂C

(db/)
cast_db.txt
(map/)
battle.c
battle_calc_pet_weapon_attack() ύX
battle_calc_mob_weapon_attack() ύX
battle_calc_pc_weapon_attack() ύX
map.h
pc.c
pc_authok() ύX
pc_walk() ύX
pc_spirit_heal() 폜
pc_spirit_heal_hp() lj
pc_spirit_heal_sp() lj
pc_natural_heal_sub() ύX
skill.c
skill_additional_effect() ύX
skill_castend_damage_id() ύX
skill_status_change_start() ύX
skill_unit_timer_sub_onplace() C

--------------------
//0978 by ()
E]XLCFX
XiCp[ t@RATg Ƃ肠ԂƎvĂ
XiCp[ V[vV[eBO _[W1̂
NEEWvV[ A[oJ _[W9U
nCEBU[h }WbNNbV[ GtFNg

EACeŏdʂ̌vZĂ̂C
(doc/)
client_packet.txt pPbge[uXV
(map/)
battle.c
battle_calc_misc_attack() ύX
battle_calc_pet_weapon_attack() ύX
battle_calc_mob_weapon_attack() ύX
battle_calc_pc_weapon_attack() ύX
clif.c pPbg̒`XV
skill.c
skill_castend_damage_id() ύX
trade.c
trade_tradeadditem() C

--------------------
//0977 by ()
E]XLCFX
ATVNX eIATg GtFNgႤH
[hiCg vbV[ K_[WɂĂ݂
[hiCg I[u[h̕Kdamage2łKpĂ̂C
[hiCg SXy GtFNgoʒu̒
nCv[Xg AVveBI ʎ
nCv[Xg fBeCeBI ʎ
nCv[Xg oWJ SG݂MobN悤ƂƐ΂悤ɂ
zCgX~X J[gu[Xg ʎ
zCgX~X g_E GtFNgƏԈُ펞Ԃ(ۂ̏ԕω͖)
zCgX~X NGCgRC Ő݂Ƃ邾
Xg[J[ WFNg\[h GtFNgƏԈُ펞Ԃ(ۂ̏ԕω͖)
NEEWvV[ }IlbgRg[ GtFNgƏԈُ펞Ԃ(ۂ̏ԕω͖)
vtFbT[ tHOEH[ GtFNgƗLԂ
XiCp[ EChEH[N x㏸QMAYȂłƉ悤ɂ
XiCp[ gD[TCg QMAYȂłʼn悤ɂĂ݂
EgD[TCg̒ԂԈႢC
Estorage.cŃRpCxoȂ悤ɂ‚

(db/)
cast_db.txt
skill_db.txt
skill_require_db.txt
produce_db.txt
(map/)
battle.c
battle_get_str() C
battle_get_agi() C
battle_get_vit() C
battle_get_int() C
battle_get_dex() C
battle_get_luk() C
battle_get_flee() C
battle_get_hit() C
battle_get_critical() C
battle_get_baseatk() C
battle_get_atk() C
battle_get_atk2() C
battle_get_def() C
battle_get_def2() C
battle_get_speed() C
battle_calc_damage() C
battle_calc_pet_weapon_attack() ύX
battle_calc_mob_weapon_attack() ύX
battle_calc_pc_weapon_attack() ύX
pc.c
pc_calcstatus() C
skill.c
skill_get_unit_id() C
skill_additional_effect() C
skill_castend_nodamage_id() C
skill_castend_pos2() C
skill_unit_group() C
skill_unit_onplace() C
skill_unit_onout() C
skill_castend_pos() C
skill_check_condition() C
skill_status_change_end() C
skill_status_change_start() C
skill_can_produce_mix() C
skill_produce_mix() C
skill.h C
storage.c
storage_comp_item() C
storage.h C

--------------------
//0976 by ()
E]XLCFX
EĎłĂȂXL܂
[hiCg I[u[h ȊH
[hiCg pCO ˕ԂǍU1~߂͖̂
[hiCg RZg[V CfA`͗ǂȂ̂ŕu
[hiCg XpCsA[X ʏ_[WƏdʃ_[Wƈꉞ5U(Ȃ񂩈ႤC)
[hiCg wbhNbV _[WƃXe[^XύXH
[hiCg WCgr[g _[WƃXe[^XύXH
ATVNX AhoXhJ^[ Ԃ񂱂ȊH
XiCp[ gD[TCg Ԃ񂱂ȊH
XiCp[ EBhEH[N Ԃ񂱂ȊHłx㏸ƂƋ͖̏
XpC_[EFbu Ƃ肠ANXlAƓ悤Ȋ𗦔
`sI C Kɑ₵Ă̂Ƒ₷悤ɂ
EoԂƍ܏Ԃ̎舵悭킩܂II

(db/)
cast_db.txt
skill_db.txt
skill_require_db.txt
(doc/)
db_ref.txt
(map/)
battle.c
battle_get_str() C
battle_get_agi() C
battle_get_vit() C
battle_get_int() C
battle_get_dex() C
battle_get_luk() C
battle_get_flee() C
battle_get_hit() C
battle_get_critical() C
battle_get_baseatk() C
battle_get_atk() C
battle_get_atk2() C
battle_get_def() C
battle_get_def2() C
battle_get_speed() C
battle_calc_damage() C
clif.c
clif_parse_WalkToXY() C
mob.c
mob_can_move() C
mobskill_castend_pos() C
pc.c
pc_calcstatus() C
pc_checkallowskill() C
skill.c
skill_get_unit_id() C
skill_additional_effect() C
skill_castend_nodamage_id() C
skill_castend_pos2() C
skill_unit_group() C
skill_unit_onplace() C
skill_unit_onout() C
skill_castend_pos() C
skill_check_condition() C
skill_status_change_end() C
skill_status_change_start() C
skill_readdb() C
skill.h C
--------------------
//0975 by Sin
E0973ŎꂽXNvgɂBaseLv, JobLv̕ύXɁA
@Xe[^X|CgXL|Cg擾ł悤ɏCB
@Xpart5 >>115 Y߂l pc.cQlɂĒ܂BӁB

(map/)
pc.c
pc_setparam()
case SP_BASELEVEL: C
case SP_JOBLEVEL: C
--------------------
//0974 by latte
EOhNX{IɊÂC
AfbhÈŕt^
_[WA[VȂ
MOB(PC)dȂƂHIT
%UPnJ[hʂȂ
dvZ
MOB_[W\

㔼4ڂ͐ݒ

E퓬{vZ{IɊÂCiDEXTCY␳A|Œ_APCTCY␳j

ES
X^ŊSȂ̂C
AGIVITyieBS̓GJEgČvZĂ̂C@ݒ
I[gJE^[͖C

Eqɂ‚ƂAACeIDŃ\[g悤ɂ

EkaleñvPNPCXNvg
ƖhqlAzA󔠂̐{Iɏ(ƒl1~100)
SԂɐݒu

(/script/npc)
aldeg_cas01.txt ... prtg_cas05.txt C
(/script/npc/gvg)
aldeg_cas01.txt ... prtg_cas05.txt lj
tbox.txt lj

(/conf)
battle_athena.conf
6ڒlj

(/map)
mob.c/mob.h
mob_attack() C
mob_counttargeted_sub(),mob_counttargeted() C
mobskill_use() Cïj
pc.c/pc.h
pc_counttargeted_sub(),pc_counttargeted() C
pc_attack_timer() C
pet.c
pet_attack() C

map.h
pc_data, mob_data, map_data ϐP’lj
enum1’lj
map.c/map.h
map_count_oncell() lj skill.cł悩EEE

skill.c
GX֘AC(skill_additional_effect(), skill_attack(), skill_castend_damage_id(), skill_unit_onplace())

battle.c C
battle.h C

storage.c/storage.h
storage_comp_item() lj
sortage_sortitem(), sortage_gsortitem() lj
storage_storageclose(), storage_guild_storageclose() C
--------------------
//0973 by qo^.^o
EXNvgBASELEVEL,JOBLEVELߒlj
: set BASELEVEL,1;
: set JOBLEVEL,1;
(map/)
pc.c
pc_setparam()
case SP_BASELEVEL: ڒlj
case SP_JOBLEVEL: ڒlj

--------------------
//0972 by ()
E]XLGtFNg‚lj
Eԕῶ̂N
GtFNg(Xe[^XωACR܂)̂
SC_AURABLADE: /* I[u[h */
SC_PARRYING: /* pCO */
SC_CONCENTRATION: /* RZg[V */
SC_TENSIONRELAX: /* eVbNX */
SC_BERSERK: /* o[T[N */
SC_ASSUMPTIO: /* */
SC_TURESIGHT: /* gD[TCg */
SC_CARTBOOST: /* J[gu[Xg */
SC_WINDWALK: /* EChEH[N */

(db/)
cast_db.txt
(map/)
skill.h
skill.c
SkillStatusChangeTable[] ڒlj
skill_castend_nodamage_id() ڒlj
skill_status_change_end() ڒlj
skill_status_change_start() ڒlj

--------------------
//0971 by ()
Eatcommand.hɎcĂjobchange2Ƃ̎c[폜
E]XLGtFNg‚lj`sI͂Ȃɒlj
GtFNĝ
nCv[Xg oWJ(HP_BASILICA)
zCgX~X J[gu[Xg(WS_CARTBOOST)
XiCp[ gD[TCg(SN_SIGHT)
WvV[ ̐ɗԂт(CG_MOONLIT)
pfB SXy(PA_GOSPEL)
lj_[WȂ
[hiCg wbhNbV(LK_HEADCRUSH)
[hiCg WCgr[g(LK_JOINTBEAT)
[hiCg XpCsA[X(LK_SPIRALPIERCE)
pfB vbV[(PA_PRESSURE)
pfB TNt@CX(PA_SACRIFICE)
Ȃ(R{͌q܂fBC͓KA_[Wlj͂邯ǂȊO̒ljʂ͖)
`sI ҌՍdhR(CH_PALMSTRIKE)
`sI Ռ(CH_TIGERFIST)
`sI A(CH_CHAINCRUSH)
`sI C(CH_SOULCOLLECT)

(db/)
cast_db.txt
skill_db.txt
skill_require_db.txt
(map/)
atcommand.h S~폜
battle.c
battle_calc_pet_weapon_attack() ύX
battle_calc_mob_weapon_attack() ύX
battle_calc_pc_weapon_attack() ύX
clif.c
clif_parse_UseSkillToId() ύX
skill.c
skill_get_unit_id() ڒlj
skill_attack() `sIR{lj
skill_castend_damage_id() ύX
skill_castend_nodamage_id() ύX
skill_castend_id() ύX
skill_unitsetting() ύX
skill_check_condition() ύX
skill_use_id() ύX

--------------------
//0970 by ()
EhCÑEH[^[{[ُɒɂ(121H炤)̂Lv5ȏ̏ꍇ25ɐ
EVOiNVX̌vZ14+SkillLv10+SkillLv*2ύX
E\[X̋CƂɗ
EDB֌W܂Ƃ߂ē

(map/)
battle.c RgQY(BB)
skill.c skill_status_change_start()
(db/)
cast_db.txt
item_db.txt
mob_skill_db.txt
skill_db.txt
skill_require_db.txt
skill_tree.txt

--------------------
//0969 by ҂܂

EnԂŕЕSꍇAЕ̔n肪ȂC
Ebattle_athena.confɍڒlj
@ybgEvC[EX^[̖ʏU𑮐ɂ邩ۂݒł܂
@ڂconf_refB
ER}h@idsearch
@[hitem_db猟Ƀ}b`ACeID𗅗񂷂R}hł
@Ⴆ΁u@idsearch CvƓ͂ꍇAuCh⃌ChbNJ[h܂
EAVbhe[ƃfXg[V
@j͖ł
EChD̗ь̉񕜎dlۂƕύXB
(map/)
battle.c
battle.h
␳̏CAVbhe[EfXg[Ṽ_[WZoljB
battle_configɍڒlj
skill.c
skill_idun_heal()ljBforeachinareaŏ悤ɕύX
AVbhe[ƃfXg[V̏ljB
atcommand.c
atcommand.h
@idsearchljB

--------------------
//0968 by Ӓ

ELN^[IDg܂킳Ȃ悤ɏC
ELN^[폜Ap[eB[AMhEނ悤ɏC
EAJEg폜ALN^[Ƒqɂ폜悤ɏC
Eq/Mhqɍ폜Aqɓ̃ybg폜悤ɏC
EӁFOCĂAJEg폜ꍇ͕̓s

(char/)
char.c
pPbg2730̏Achar_delete()ljA폜CȂ
int_storage.c/int_party.c/int_guild.c/int_party.h/int_guild.h
inter_party_leave(),inter_guild_leave()ljA
inter_storage_delete(),inter_guild_storage_delete()CȂ
(login/)
login.c
parse_admin()AJEg폜ɃpPbg2730𑗂悤ɏC

Eathena-start stop Œ~ꍇAf[^ۑȂC
killőVOiSIGKILLSIGTERMɕύXB
ǂĂSIGKILL𑗂肽ꍇ athena-start kill gĂB

athena-start
stopCAkilllj

--------------------
//0967 by Asong
EX^[̎ceB
@ʏ탂X^[̓XLɂtB^[Ȃ̂Ŏco܂B
@ob^X^[ɂ͎co܂B
EX^[XLgpΏۂljB
@around5`around8̓^[Qbg̎ӃZΏۂɂ܂B
@
@ (map)
@ mob.c
@ mobskill_use() C
@ mob_readskill() C
@ mob.h C
@ skill.c
@ skill_castend_pos2() C

--------------------
//0966 by ()
ET[o[snapshot
EfBNg\ύX(common,login,char,map/srcȉɈړ])
@ɔMakefilẽpX
Enpc_turtle.txtnpc_town_alberta.txtɓ
EÑR{ɊւfBCύX
Ebattle_config.enemy_critical̃ftHgnoɕύX
E]E𖳌ɂenable_upper_class̒lj
E@joblvup,@charjlvlJobxō̂Ƃɕw肵ĂxȂC

(conf)
battle_athena.conf C
(doc)
conf_ref.txt C
(map)
atcommand.c
atcommand_joblevelup() C
atcommand_character_joblevel() C
battle.c
battle_calc_attack() C
battle_config_read() C
battle.h C
pc.c
pc_calc_skilltree() C
pc_calc_base_job() C
pc_jobchange() C
pc_readdb() C
skill.c
skill_attack() C
--------------------
//0965 by ҂܂
E@mapexitsSZbVkick悤ɕύXB
En莞ɕЕ|ĂAЕ̔nȂCB(eXg)
EXeB[J@\B(eXg)
@XeB[ɐƁAXeB[̂
@ʓPTo[Sɒm点@\łB
@battle_athena.confshow_steal_in_same_partyŐݒł܂B
@IWiAbvf[gׁ̈AftHgnoɂĂ܂B
EChD̗ь̉񕜌ʎB

(conf/)
battle_athena.confɍڒljB
(map/)
atcommand.c
atcommand_mapexit() CB
pc.c
pc_steal_item() CB
pc_show_steal() ljB
skill.c
skill_unitsetting()Askill_unit_onplace() CB
battle.c
battle_config_read() CB
battle.h CB
(doc/)
conf_ref.txt Ă̂FXljB

--------------------
//0964 by ()

ȆOljskill_tree2.txtp~̂ō폜Ă
Eskill_tree.txt̃tH[}bgύXKalenȂǂ̏ɓ]c[̌
EɂƂȂpc.c̃t@CǂݏoȂǂύX
EAthenaGkXbh part3 >>14 miya̎wE܂łYĂatcommand_athena.conf̏C𓯍

(conf/)
atcommand_athena.conf C
(db/)
skill_tree.txt C
skill_tree2.txt p~
(map/)
map.h PC_CLASS_BASElj
pc.c
pc_calc_skilltree() C
pc_allskillup() C
pc_readdb() C

--------------------
//0963 by ()

E@jobchange2, @jobchange3p~ @jobchangeɈlj @helpQ
: @jobchange2 10 @jobchange 10 1
El@charjob2, @charjob3p~ @charjobɈlj @helpQ
: @charjob2 10 قق @charjob 10 1 قق
ElɃXNvgjobchange2, jobchange3ߔp~ jobchangeɈlj script_ref.txtQ
: jobchange2 10; jobchange 10,1;
Eǂljꂽ͏ȗ”\łBȂ̂ŁA]m[rX͌̃XNvgœ]ꎟEɓ]Eł܂B
: Novice High @jobchange 10 Whitesmith
Novice @jobchange 10 Blacksmith
EXNvg]Ă邩肷邽߂Upperlj܂BUpper 0=ʏ, 1=], 2={q
Upper=0̎BaseLevel=99Ȃ]`ƂXNvgNĂ
̎Ɍ̐EƂ͋LĂȂ̂ʼniϐƂŊoĔ肳ȂƓ]㉽ɂł]EłႤH
EoCIvgƃXtBA}CŌĂяoMob̖O--ja--ɂmob_db.txtǂނ悤ɂ

(conf/)
help.txt C
(db/)
const.txt
(doc/)
help.txt C
script_ref.txt C
(map/)
atcommand.c
atcommand_jobchange() C
atcommand_jobchange2() 폜
atcommand_jobchange3() 폜
atcommand_character_job() C
atcommand_character_job2() 폜
atcommand_character_job3() 폜
map.h C
pc.c
pc_readparam() C
pc_jobchange() C
pc.h C
script.c
buildin_jobchange() C
buildin_jobchange2() 폜
buildin_jobchange3() 폜
skill.c
skill_castend_pos2() C

--------------------
//0962 by ()

EEƂ0`23ŏ̂œ]Ep̃XLc[ljAeAthenaQlɊg
Ă؍{T[oł̎̎Ȃ̂œK
Esakexe.exe͂skill_db.txtύXAeAthenaQlɊg
ǂꂪ{T[oŎĂXL܂II
XLc[\ꂽƂĎg킯Ⴀ܂II

(common/)
mmo.h 萔C
(db/)
skill_db.txt ύX
skill_require_db.txt ύX
skill_tree2.txt lj
(map/)
skill.h 萔C
pc.c
pc_calcstatus() C
pc_allskillup() C
pc_calc_skilltree() C
pc_readdb() C

--------------------
//0961 by Ӓ

EXNvgɃTu[`/[U[`֐@\lj
ڂ̓Tvscript_ref.txtǂłB
nɑȂ̂ŁAXNvg֌WŃoO邩܂B

(map/)
map.h/map.c
struct map_session_data ɃXNvgޔp̃olj
map_quit()C
script.h/script.c
FXC(run_script(),run_func())
npc.c
npc_parse_function()lj
(conf/sample)
npc_test_func.txt
[U[`֐/Tu[eB̃eXgXNvg
(doc/)
script_ref.txt
Tu[eBȂǂ̐lj

--------------------
//0960 by ()
E{IXbh part2 >>62 KK̃ANXlAC𓯍
EoO񍐃Xbh part5 >>14-16 rb̃oOC𓯍
EFor English User Forum >>15 Mugendai̎wE0x1d7ĝVal>255ɏC(0xc3Val1oCg0x1d7ĝƔ[)
Epc_calc_base_job()ύXČjobłȂmrꎟE񎟐E(type)Aʏ킩]{q(upper)Ԃ悤ɂ

(map/)
atcommand.c
atcommand_joblevelup() C
atcommand_character_joblevel() C
clif.c
clif_changelook() C
pc.h C
pc.c
pc_setrestartvalue() C
pc_equippoint() C
pc_isequip() C
pc_calc_skilltree() C
pc_calcstatus() C
pc_isUseitem() C
pc_calc_base_job() C
pc_allskillup() C
pc_damage() C
pc_jobchange() C
pc_equipitem() C
script.c
buildin_changesex() C
skill.c
skill_castend_nodamage_id() C
skill_unit_onplace() C

--------------------
//0959 by ()
Ehelp.txtdocȂconf̂ǂݏoĂQ|P|
EgamejokeQlɓ]񎟐ẼXe[^Xdljob_db2-2.txtɋLq
EXNvgjobchange2jobchange3ljꂼ]EƗ{qE֓]E閽߂ł

(conf/)
help.txt C
(db/)
job_db2.txt C
job_db2-2.txt lj
(doc/)
help.txt C
script_ref.txt C
(map/)
pc.c
pc_calcstatus() C
pc_readdb() C
script.c
buildin_jobchange() C
buildin_jobchange2() lj
buildin_jobchange3() lj

--------------------
//0958 by ()
E]Eʂ̎FX
Edʐ͗ǂȂ̂Ō̐EƂ̒l̂܂܎gĂ܂(N`sI)
EiAHPSP̃e[uȂ̂ŁA]ĂHPȂǂȂKbJdlł

(map/)
atcommand.c
atcommand_joblevelup() C
atcommand_character_joblevel() C
pc.c
pc_setrestartvalue() C
pc_equippoint() C
pc_isequip() C
pc_calcstatus() C
pc_isUseitem() C
pc_calc_base_job() lj
pc_damage() C
pc_jobchange() C
pc_equipitem() C
pc.h C
script.c
buildin_changesex() C
skill.c
skill_castend_nodamage_id() C

--------------------
//0957 by ()
E@charjob2@charjob3ljA֌WƂĂ@charjob@jobchangeA@charjob2@jobchange2A(ry
E@mapexitljAmap-server𗎂ƂR}hłatcommand_athena.confł99ݒɂĂ܂̂Ŏgpɂ͏\ӂĂB

(map/)
atcommand.c
atcommand_character_job2() lj
atcommand_character_job3() lj
atcommand.h C
(conf/)
atcommand_athena.conf C
(doc/)
help.txt C

--------------------
//0956 by ()
E]E(@jobchange2)Aڂƌole[uł
E{qE(@jobchange3)Aڂłł͌ol͓]񎟐EƓƂ}]dl
L2_͓]EĂNCAgłȂΎsƃG[̂ŒӁII
@̌㒼ڃZ[uf[^MȂƃLZɂsȂȂ܂II
EAthenaGkXbh part2 >>149 H}̕񍐂ɃK[fBAC
EԈȊOŃK[fBAƂGyEmap-serverĂ̂C(mF)
EXpmrJobe[uFor English User Forum >>13 kingbõf[^ɏC
E]Ěole[uOWNQƂBase99̌ol͕ŝœKɐݒ

(map/)
atcommand.c
atcommand_jobchange() C
atcommand_jobchange2() lj
atcommand_jobchange3() lj
atcommand.h C
clif.c
clif_changelook() C
pc.c
pc_nextbaseexp() C
pc_nextjobexp() C
pc_jobchange() C
pc_readdb() C
battle.c
battle_calc_damage() C
mob_can_reach() C

--------------------
//0955 by huge
Eybg̃[g@\B
Edlmob̃[gɋ߂łA˒ZĂ܂B
EEACéAptH[}XƏɗƂ܂B
Eɖ߂AOItƂPC̎茳ɓ悤ɂ܂B(dʒ߂̓hbv)
EE̓[gmobl10‚łA11–ڂ͏Eɍs܂B
E[g̖肩AACefirst_idĂāAꂪȊOAboƂƏE܂B(mF)
EƁAוɂƉˆzȂ̂ŁAdʐ‚܂BconfŐݒ”\łB
EatcommandŁA@where܂ĂȂ̂ŏC(܂E`Ȃj
E@memomemo鎞́Amapflag𖳎悤ɁB
EXtBA}C̖OCB

(conf/)
battle_athena.conf
pet_lootitem,pet_weight lj
(doc/)
conf_ref.txt C
(map/)
atcommand.c
atcommand_memo() C
atcommand_where() C
battle.c
battle_config_read() C
battle.h C
map.c
map_quit() C
map.h
pet_data{} C
pc.c
pc_memo() C
pet.c
pet_performance() C
pet_return_egg() C
pet_data_init() C
pet_ai_sub_hard() C
pet_lootitem_drop() lj
pet_delay_item_drop2() lj
pet_ai_sub_hard_lootsearch() lj
pet.h C
skill.c
skill_castend_pos2() C

--------------------
//0954 by ()
Eobject_del.batŊeserver.exe폜悤ɂ
EFor English User Forum >>11 kingbȍC荞
EoO񍐃Xbh part5 >>10 Sin̏C荞
E‚łɌatcommand_character_joblevel̕sC
E@R}hŃWuxグƂɃXpmrJob70܂őΉ(mF)

(/)
object_del.bat C
(map/)
atcommand.c
atcommand_joblevelup() C
atcommand_character_joblevel() C
atcommand_character_baselevel() C

code by kingbo 2004/4/29 PM 06:15
base on 0953
now i sure it works well
(map/)
mob.c
mob_can_reach() fix

--------------------
//0953 by ()
Emob_skill_db.txt̏l0ȊOĂȂ̂
Egcc 2.95ŃRpCł悤ɒ(by oOXpart5 >>2 )
ELinuxȂǂlstartMakefileȂǂ̉sLFɕύX
E0952ŏoRpCxoȂ悤ɏC
E0952ōXVȂconf_ref.txtC

(/)
start sR[hύX
athena-start sR[hύX
(db/)
mob_skill_db.txt C
(doc/)
conf_ref.txt C
(login/)
Makefile sR[hύX
(map/)
Makefile sR[hύX
atcommand.c
atcommand() 錾ʒuC
atcommand_where() 錾ʒuC
battle.c
battle_calc_pet_weapon_attack() C
battle_calc_mob_weapon_attack() C
battle_calc_pc_weapon_attack() C
battle_calc_magic_attack() C
clif.c
clif_skill_fail() 錾ʒuC
guild.c
guild_gvg_eliminate_timer() 錾ʒuC
mob.c
mob_damage() 錾ʒuC
script.c
buildin_deletearray() 錾ʒuC
buildin_getequipcardcnt() 錾ʒuC
buildin_successremovecards() 錾ʒuC

--------------------
//0952 by CG
EconfDEFMDEF̌vZ@Ił悤ɁB

(conf/)
battle_athena.conf ύX
(map/)
battle.c
battle_calc_pet_weapon_attack() C
battle_calc_mob_weapon_attack() C
battle_calc_pc_weapon_attack() C
battle_calc_magic_attack() C
battle.h C

--------------------
//0951 by ()
ET[o[snapshot
EoO񍐃Xbh part4 >>95 KAJIKEN̏C𓯍
E >>138 oOȁH̏C𓯍
EAthenaGkXbh part2 >>112 PVPiCgA[h̃A_[NX}bv[v|Cg𓯍
E >>96 H}npc_gldcheck.txt𓯍
EXibvVbgsave/̂߂܂Bꍇathena-startĂ܂
Eathena-startlog/ꍇɍ悤ɕύX
ȆH

(/)
athena-start ύX
(db/)
mob_db.txt ύX
(conf/)
map_athena.conf ύX
(conf/extension/)
npc_gldcheck.txt lj
(conf/npc/)
npc_event_ice.txt ύX
npc_job_alchemist.txt ύX
npc_event_valentine.txt ύX
npc_town_geffen.txt ύX
npc_event_whiteday.txt ύX
npc_event_potion.txt ύX
npc_town_comodo.txt ύX
(conf/warp/)
npc_warp_pvp.txt lj

--------------------
//0950 by ()
Emob_dbModetOɈȉ̕lj
0x40(64) _[W1ɌŒ(NX^Ȃ)
0x80(128) U󂯂Ƃɔ
EL̕ύX̂mob_db.txtقڑSύXAmob_db2.txtĂl
Ȃ1_ŒɂMode64𑫂ȂƕʂɃ_[W
̑MobMode128𑫂ȂƔĂȂȂ̂Œ

(db/)
mob_db.txt C
(map/)
battle.c
battle_calc_pet_weapon_attack()
battle_calc_mob_weapon_attack()
battle_calc_pc_weapon_attack()
battle_calc_magic_attack()
mob.c
mob_once_spawn()
mob_attack()
mob_target()
mob_ai_sub_hard()

--------------------
//0949 by ҂܂

EXe[^XُϐSʏCB
@ϐZoSʏCB
@Xe[^Xُϐ100%̃LN^[ɂ͏ԈُsȂ悤ɏCB
EfBXy̎dlύXB
@VXêXe[^XωȊOЂ[悤ɏCB
EtXg_Co[̎dlύXB
@C(}WXev)B
EJo[̎dlύXB
@mANeBuX^[Ɏgpƃ^[QbgZbg悤ɏCB
EN@O}CA̎dlÂŏCB
@t⑮Ɠlrangeŏ悤ɏCB
@DEX/AGỈerȊOɂyԗlɏCB
EXL^[QbgɎ񂾐UgpĂXLłȂCB
En肪삵ȂC(cast_dbĂ܂)B
(map/)
pc.c
pc_calcstatus()C
skill.c
skill_additional_effect()Askill_attack() C
skill_status_change_start()Askill_unitsetting() C
(db/)
cast_db.txt CB

--------------------
//0948 by Ӓ

EwarpwaitingpcPC]łȂC
EXNvg̓ǂݍݎɃG[܂͌xoꍇAx‚炷悤ɁB
iꂽOȂl΍łj

(map/)
script.c
buildin_warpwaitingpc()C
disp_error_message()C

Eatcommand.cC
Eatcommand_athena.confmapmoveǂނ悤
E@strȂǂ̏ȗ̕K{x0ɁB
E@param͎gȂ̂ŃRg

(map/)
atcommand.c
YC

Emobő15bقLjړȂꍇC
E蔲łȂmobŁAړȂԂ7bȏ㑱Ȃ悤ɏC

(map/)
mob.c
mob_ai_sub_hard()C

ED̈ɓ`s̔ʎC (by ID:F8nKKuY)
(conf/npc/)
npc_town_comodo.txt

--------------------
//0947 by ()
E芪͎芪Ȃ悤ɏC
EIV̔̔ȉbattle_athena.confŐݒł悤ɏC

(conf/)
battle_athena.conf
vending_max_valuelj
(doc/)
conf_ref.txt C
(map/)
skill.c
skill_castend_nodamage_id() C
battle.c
battle_config_read() C
battle.h CB
vending.c
vending_openvending() CB

--------------------
//0946 by Kalen
EvkWarp
QlF{I(1F,2F)炮Ȃ̉(3F)
(conf/warp/)
npc_warp.txt

E蕔2T3Tlj(ǂȂƎv܂c)
(conf/npc/)
npc_event_kataribe.txt

--------------------
//0945 by Ӓ

ENPC^C}[xf[^C|[gȂC
ENPC^C}[l^C}[IDȂC
ENPCduplicatesƃANZXᔽNꍇC

(map/)
npc.c
npc_parse_scriptC

Epb`AbvXS87pc.cƂ肱
(map/)
pc.c
J[hdʐɖ߂

--------------------
//0944 by huge
EMh̏[ol̏AconfŐł悤ɁB
EIX̔̔i10M܂łɐB
EJ[g̏dʐꌅĂłAE`łHCĂ݂܂B

(conf/)
battle_athena.conf
guild_exp_limitlj
(doc/)
conf_ref.txt C
(map/)
atcommand.c
hSP񕜂ŁAׂCB
battle.c
battle_config_read() C
battle.h CB
guild.c
guild_change_position() CB
pc.c
pc_calcstatus() CB
vending.c
vending_openvending() CB

--------------------
//0943 by ()
Ebattle_athena.confdead_branch_activeyesɂƌÖ؂̎}ŏ郂X^[ANeBuɂȂ悤ɕύX
EɕύXclient_packet.txt𓯍

(conf/)
battle_athena.conf
dead_branch_activelj
(doc/)
client_packet.txt C
conf_ref.txt C
(map/)
battle.c
battle_config_read() C
battle.h C
map.h C
mob.c
mob_once_spawn() C
mob_attack() C
mob_target() C
mob_ai_sub_hard_lootsearch() C
mob_ai_sub_hard() C

EpXkingbo̕ύX𓯍
code by kingbo 2004/4/16 PM 09:47

support guildcastle guardian
maybe still have problems..need to try
Good Luck Q^^Q
P.S: sorry my poor english ^^a

(map/)
mob.c
mob_can_reach() fix
battle.c
battle_calc_damage() fix

(conf/gvg/)
prtg_cas01_guardian.txt

--------------------
//0942 by Ӓ

EANZXRg[ŕsȃɃANZXꍇoOC
(login/)
login.c
check_ipmask()C

EXNvgt@XljƏC
(doc/)
script_ref.txt
C

--------------------
//0941 by ()

Ee2̕񍐂ɏꂽ艺̃Xs[hƓɂĂ݂

(map/)
battle.c
battle_get_speed() C
mob.c
mob_spawn() C
mob_summonslave() C

--------------------
//0940 by End_of_exam

Eq[|[Vsb`[gpĂ񕜂ȂoOC(0938`)B

@Thanks for Pepermint, reporting the bug that using PotionPitcher with
@BluePotion was no effective.
@i|[Vsb`[{‚oŌʂȂ񍐂ĂꂽPepermintɊӁj

(map/)
battle.c
battle_heal() C

--------------------
//0939 by ()
EcutinpPbg0x145(t@C16)0x1b3(64)ɕύX
E‚łɎGkXɏグathena-start𓯍

(/)
athena-start savet@CƂɍ悤
(map/)
clif.c
clif_cutin() {IpPbgɕύX
(doc/)
client_packet.txt C

--------------------
//0938 by ҂܂

E|[Vsb`[Ճ|𓊂ĂGtFNgoOCB
EIXJ݂̃ACezuŎsoOCB
EXNvg֐getareadropitemB
@wGÃhbvACeJEg֐ł

@Fgetareadropitem ,,,,,;
@@mapnameFΏۃ}bv(Fprontera.gat)
@@x0x1FΏXW͈
@@y0y1FΏYW͈
@@itemFJEgΏۃACe

@߂lFmapnameW(x0,y0)-(x1,y1)͈͓̔ɗĂitem̑
@@@@@擾sɂ-1Ԃ܂B
@Eitem̒lIDłACe("Red_Jemstone"Ƃ)łłB

(map/)
battle.c
battle_heal() CB
vending.c
vending_openvending() CB
script.c
[Jvg^Cv錾CB
struct buildin_func[] CB
buildin_getareadropitem()Abuildin_getareadropitem_sub() ljB

--------------------
//0937 by netwarrior

- Fix Japanese remarks problem in 0936
- Fix minor problem in battle_heal()

--------------------
//0936 by Pepermint

Retouch about problem of increase in quantity at the CART,
when enter the an minus quantity in the CLIENT.

Retouch about problem of not recovery,use POTIONPITCHER skill.

(map/)
battle.c
battle_heal()

vending.c
vending_purchasereq()

--------------------
//0935 by Ӓ

Ee̓XNvgNPCxLqȂĂ悤ɏC
ENPC`"script"Ə"duplicate(NPC)"ƂƁA
YNPCƃXNvgL悤ɁBNPC͕\ł͂Ȃ
GNX|[g閼Ow肵܂B
<>
prontera.gat,165,195,1 duplicate(JvE) JvE2 112

ELNPC͓}bvT[o[ɑ݂Kv邽߁A
}bvłȂꍇduplicateׂł͂ȂB
ANPC̈ʒu"-"ɂ邱ƂŁA}bvɂ݂͑ȂA
}bvT[o[ɂ݂͑NPC쐬ł̂ŁA
NPCLɂ̂ł΂ǂ̃}bvւLłB
<>

- script eXg::test1 112,{ // NPCOtBbNID͎gpȂ
// ()
}
prontera.gat,165,195,1 duplicate(test1) eXg2 112
geffen.gat,99,99,1 duplicate(test1) eXg3 112

Ẽ}bvɑ݂ȂNPC̓Cxgɂ邱ƂłB
iǂ̃}bvT[o[łKĂяoCxgɂȂj

(map/)
map.h
struct npc_label_listlj,struct npc_dataC
npc.c
npc_parse_script()C
svɂȂxf[^x[X֘Å֐폜

--------------------
//0934 by ҂܂

EMOB̏Ԉُϐ₽獂̂CB
Ex̎dlύX(vZύXEsɂ̓GtFNg)B
E̊ԂɂԈُ̌p֎~RgAEgĂ̂Ŗ߂B
E|CYANg̃ACR\ȂĂ̂ŏC(ło邾c)
EnB

(map/)
battle.c
battle_weapon_attack() CB
clif.c
clif_parse_WalkToXY()Aclif_parse_ActionRequest() CB
clif_parse_TakeItem()Aclif_parse_UseItem() CB
clif_parse_DropItem()Aclif_parse_EquipItem() CB
clif_parse_UnequipItem() CB
mob.c
mob_can_move()Amob_attack()Amob_ai_sub_hard() CB
mobskill_use_id()Amobskill_use_pos() CB
mobskill_castend_id()Amobskill_castend_pos() CB
pc.c
pc_attack_timer()Apc_setpos() CB
skill.c
SkillStatusChangeTable[] CB
skill_additional_effect()Askill_castend_damage_id() CB
skill_castend_nodamage_id()Askill_check_condition() CB
skill_status_change_start()Askill_status_change_end() CB
skill_use_id() CB
skill.h CB
(db/)
cast_db.txt CB

--------------------
//0933 by Ӓ

EEBU[h]ENPC
Eeathenãf[^̖|Aі^̐̂̃f[^ɍ̂
IƂ͔ɈقȂĂƎv܂B
uÂvƂg܂񂵁B
Esjob_2nd.txtƈꏏɓǂݍނƁANPCdȂ̂ŁA
job_2nd.txt̊YXNvgRgĂB
Ȁꍇ̓Z[Wɓ]EĂ炦Ȃ̂ŒӂĂB

(conf/npc/)
npc_job_wizard.txt
lj
(conf/warp/)
npc_warp_job.txt
EBU[h]Ẽ[vRg

EoOC
EgotomenuŃx‚ȂƂXNvg̎s𒆒f悤.
EP̃XNvg̎sɂāAsߐ8000𒴂邩A
gotomenu̎s񐔂500𒴂Ǝs𒆒f悤ɁB
E֐/ߎsɂG[`FbNꂽ
EMh/p[eB/ybg̖Oɓ{ꂪgȂC


(char/)
int_guild.c/int_party.c
OC
(map/)
pet.c
OC
script.c
C

--------------------
//0932 by End_of_exam

E0930ŃMhqɂ̒goOCB

(char/)
int_storage.c guild_storage_tostr() CB

--------------------
//0931 by ()
ET[o[snapshot
EAthenaDBv悩XV̂𔽉f
Eatcommand_athena.confstrlj
E[v|[^̖{I_C
Ealdeg_cas03`05𓯍
Epnpc_event_kataribe.txt
EKAJIKENnpc_warp_louyang.txt

(db/)
item_db.txt ύX
(conf/)
atcommand_athena.conf ύX
map_athena.conf ύX
(conf/gvg/)
aldeg_cas03.txt ύX
aldeg_cas04.txt ύX
aldeg_cas05.txt ύX
(conf/mob/)
npc_monster.txt ύX
(conf/npc/)
npc_event_kataribe.txt lj
(conf/warp/)
npc_warp_louyang.txt lj
(map/)
pc.c pc_memo() ύX

--------------------
//0930 by Ӓ

char/ ɂlock.clock.h͍폜ĂB
common/ Ɉړ܂B

EXNvgljC
EsetarrayizփXgjlj
EcleararrayizwlŃNAjlj
EcopyarrayizRs[jlj
Egetarraysizeiz̗Lȗvf߂jlj
Edeletearrayiz̗vf폜Â߂jlj
EwarpwaitingpcFlAJEgID}bvϐɃZbg悤ɏC

(map/)
script.c
FX
(doc/)
script_ref.txt
ߒljȂ
(npc/sample/)
npc_test_array.txt
zneXgpNPCXNvg

EoOCȂ
ELN^[/AJEg/p[eB/Mh/ybg
Rg[R[hgȂ悤ɏCB
Echar.cȂǂ̕ۑ̌XɃAbvB
EqɃt@C/MhqɃt@CɋscȂ悤ɏC
Elock.*common/ɈړAt@CۑłȂȂoOCA
AJEgƃ}bvϐ̕ۑɂlock_fopeng悤ɁB

(common/)
lock.c/lock.h
tH_ړAlock_fopenC
(login/)
login.c
mmo_auth_new()C
(char/)
char.c
mmo_char_tostr(),make_new_char()C
int_storage.c
storage_tostr(),guild_storage_tostr(),
inter_storage_save_sub(),inter_guild_storage_save_sub()C
int_party.c
int_guild.c
OC
(map/)
pet.c
OC

--------------------
//0929 by ҂܂

EhveN^[SB
Ev{bÑXLdlύX(rWQEAΉA)B
EJo[̃XLdlύX(AfbhɎgpƈmňÈŌ)B
EԈُ풆ł̐؂ւo悤ɕύXB
EACe擾@killmonstergpƗoOCB
EӒ񂪏グĂnpc.c𓯍܂B
Eskill_dbŋCɂȂĂƂ傱ƏCB

(map/)
clif.c
clif_parse_EquipItem() CB
skill.c
skill_castend_nodamage_id() CB
skill_unitsetting()Askill_unit_onplace() CB
skill_landprotector() ljB
mob.c
mob_delay_item_drop()Amob_delay_item_drop2() CB
npc.c C

(db/)
skill_db.txt CB

--------------------
//0928 by End_of_exam

ELqɓACeɎbΏiLỈǁjB

@1.Lf[^EqɃf[^̃f[^ϊǁB
@@(char/char.c , char/int_storage.c)

@2.t@CoI܂ŁAt@Cc悤ɏCB
@ichar/lock.c, char/lock.h ̒ljBCNt@C̏CB
@@char/int_storage.c,int_guild.c,int_party.c,int_pet.c,char.c,inter.c
@@ɂAf[^oύXBj

--------------------
//0927 by ҂܂

EUȊOɎ푰␳ĂȂ̂CB
EtɊyEڈȊO̕ɎςƉt~܂lɏCB
EťʂtҎgɂ͂Ȃ悤ɏCB
EACe擾@\
@G|ɁAACehbv̂ł͂ȂA̓GɈԑ̃_[W
@^l([g1ʂ̐l)ɃhbvACeŗ^@\łB
@battle_athena.confitem_auto_getŐݒł܂B
@IWiAbvf[gׁ̈Abattle_athena.confł̃ftHgłnoɂĂ܂B
E(f[WEoCIgQCE{P[mEhveN^[)
@ꕔ̋@\ł
@@f[WFpEH[^[{[
@@oCIgQCFt@CA[EH[̎ԕ␳
@@{P[mFACXEH[֎~
@@hveN^[FIuWFNgݒunXL֎~(‚܂o邾LPł)

(map/)
battle.c
battle_calc_damage()Abattle_calc_magic_attack() CB
battle_calc_misc_attack()Abattle_config_read() CB
mob.c
mob_delay_item_drop()Amob_delay_item_drop2() CB
pc.c
pc_calcstatus()Apc_equipitem() CB
skill.c
[Jvg^Cv錾CB
SkillStatusChangeTable[] CB
skill_castend_nodamage_id()Askill_castend_pos2() CB
skill_unitsetting()Askill_unit_onplace() CB
skill_unit_onout()Askill_unit_ondelete() CB
skill_status_change_start()Askill_status_change_end() CB
skill_clear_element_field() ljB
battle.h CB
skill.h CB
(conf/)
battle_athena.conf
item_auto_getڂljB
(db/)
cast_db.txt CB

--------------------
//0926 by Ӓ

EMh̏@ύX
ESẴMhi{苒MhjƂOnAgitInit
΂悤ɁBGetCastleDataRequestGuildInfo̕KvȂȂ܂B
]āA݂gvgXNvgOnInterIfInitOnRecvCastleXXX
KvȂȂ܂Bi炭s̃XNvg͉”\łj
KvNPC͕ςOnAgitInitgĂB
ȂAsvɂȂ߂Ȃǂ폜\͂܂B

(char/)
inter.c/inter.h/char.c/int_guild.c/int_guild.h
}bvT[o[ڑɏs悤ɏC
ڑɃMhf[^𑗐M悤
(map/)
intif.c/guild.c/guild.h
ڑ̃Mhf[^ꊇMMhvA
OnAgitIniťĂяoȂ
chrif.c
OnAgitIniťĂяo폜
(doc/)
inter_server_packet.txt
Mhf[^ꊇMpPbg0x3842lj

EXNvgNPC̃Cxgsߒlj
Edonpcevent(NPC̃Cxgs)lj
doeventƈႢu[hLXg”\łBڍׂscript_refB
EisloggediñRpCxłȂ悤ɏC
(map/)
script.c
buildin_donpcevent()ljȂ
(doc/)
script_ref.txt
doevent,donpcevent,OnAgitInitljȂ

ȆC
(map/)
clif.c
clif_parse_GMReqNoChat()lj


--------------------
//0925 by Ӓ

EXNvg̃oOC
Emonster,areamonster̖C
script_rid2sdgpȂ悤ɂ܂B
sdNULL̂ƂAx`FbNsȂ悤ɂ܂B

(map/)
script.c/mob.c
buildin_monster(),buildin_areamonster(),mob_once_spawn()

EXNvg̋@\lj
Edetachrid߁ivC[̃f^b`jlj
Eisloggedin֐ivC[̃OC`FbNjlj
Egetitem,getitem2,countitem,checkweight֐
nameidɃACe̖Ow”\ɁB
(item_dbȂǂɈˑ邽߁Agpׂł͂܂񂪁Aꉞ)

(map/)
script.c
FX
(doc/)
script_ref.txt
ύXƃG[C

Eathena-startstartC
Eathena-start stopŃvZXI܂ő҂‚悤
EstartōċNƂathena-start restartĂԂ悤ɁB

--------------------
//0924 by ()

EoO񍐃Xbh part4 >>66npc荞
E >>51guild.c𔽉f
E >>38atcommand_athena.confւ̕ύX荞
EȂnpctH_ɂmap_athena.confȂt@CꗗɒljB‚łɃMhtbÕRgAEg
Econf/npc/npc_job_1st.txt npc_script2.txt npc_shop3.txt̓XibvVbg폜Ă

(map/)
guild.c C
(conf/)
map_athena.conf C
atcommand_athena.conf C
(conf/npc/)
npc_event_hat.txt C
npc_event_oni.txt C
npc_job_1st.txt 폜
npc_script2.txt 폜
npc_shop3.txt 폜

--------------------
//0923 by Ӓ

EXNvg̃oOC
Escript_rid2sdsĂT[o[IȂ悤ɕύX
Emonster,areamonsterȂǂsłȂC

(map/)
script.c/mob.c
buildin_monster()ȂǏC

(doc/)
script_ref.txt
xƃG[̐C

--------------------
//0922 by Ӓ

EXNvgG[̍sԍ\悤

(map/)
itemdb.c / npc.c
itemdb_readdb(),npc_parse_script()C

ELN^[ɃANZXłȂԂŃANZXƃG[o悤ɏC
Egoto/menuŃxw肳ꏊɃxȊOw肳ƌxo悤
Escript_refɃG[bZ[W̐lj
ECxgNꂽXNvgŃLN^[gpł悤ɂ֐lj
Eattachridiw肵ID̏gpł悤ɂjlj
Egetcharidi3ŃAJEgIDł悤ɁjC
(map/)
script.c
script_rid2sd(),buildin_attachrid()lj
XCB
(doc/)
script_ref.txt
G[bZ[W̐ljAϐ/x̐C
C

--------------------
//0921 by RR
EXNvgoOC(f܂)
(conf/npc/)
npc_event_tougijou.txt

EstealC(DEX - GDEX + SLv*3 +10̕ňxĂ̂)
E09180914ȑOɊ߂Ă܂Ăɖ߂
(map/)
pc.c
pc_steal_item() C
itemdb.c
pet.c
skill.c C

--------------------
//0920 by qo^.^o
E Steal = Drop * (DEX - GDEX + SLv*3 +10) /100
(map/)
pc.c
int pc_steal_item()C

--------------------
//0919 by RR
EatcommandlvupgƎ擾Xe[^X|Cg̏C
EoOC(oO񍐃XŏC̏ô̎荞݁@ӒApAɂlł)
(map/)
atcommand.c
atcommand_baselevelup()C
guild.c
guild_gvg_eliminate_timer()C
pc.c
pc_setreg(),pc_setregstr()C
(login/)
login.c
parse_login()C
--------------------
//0918 by
Eitem_db̂I[o[Ch”\ɂȂ̂ŁAclass_equip_db.txt̔p~B
Epet_db.txtAproduce_db.txtI[o[Ch”\ɏCB
(map/)
itemdb.c
do_init_itemdb() CB
pet.c
read_petdb() CB
skill.c
skill_readdb() CB

--------------------
//0917 by RR
EXNvgC
YCxgƓZCxgNPC^C}[ɕύX
(conf/npc/)
npc_event_momotarou.txt
npc_event_tougijou.txt C
EXLc[C(oO񍐃X25)
(db/)
skill_db.txt C

--------------------
//0916 by ()
Enpc_monsternpc_mob_job𓝍Bnpc_mob_job.txt͍폜Ă܂܂

(conf/)
map_athena.conf npc_mob_job폜
(conf/mob/)
npc_monster.txt XV

--------------------
//0915 by Ӓ

ENPC^C}[֌W̖ߒljC
EdelwaitingroomiNPC`bgIjĂȂ̂ŏC
EinitnpctimeriNPC^C}[jlj
EstopnpctimeriNPC^C}[~jlj
EstartnpctimeriNPC^C}[Jnjlj
EgetnpctimeriNPC^C}[񏊓jlj
EsetnpctimeriNPC^C}[lݒjlj

addtimerȂǂ̓vC[Pʂ̂߁ANPCPʂ̃^C}[܂B
́AaddtimerȂǂƂ͈ႢAOnTimerXXXƂɃxw肵܂B
ڂ̓Tvscrit_ref.txtQƁB

(map/)
map.h
struct npc_data CAstruct npc_timerevent_listlj
npc.c / npc.h
npc_timerevent(),npc_timerevent_start(),npc_timerevent_stop(),
npc_gettimerevent_tick(),npc_settimerevent_tick()lj
npc_parse_script()C
script.c
buildin_*npctimer()ljȂ
(conf/sample/)
npc_test_npctimer.txt
NPC^C}[gpTv
(doc/)
script_ref.txt
NPC^C}[֌W̖/֐ljA萔x̐C

ESagẽA[XXpCN̏C
(db/)
skill_tree.txt
A[XXpCN̍siTCY~bNEF|Lv1Ɂj

--------------------
//0914 by p
E͈̓XLgpɉς݃QƂĂɑΉ
EɎgpĂ̈AĂgp悤ɕύX
(common/)
db.c
grfio.c
socket.c
timer.c
(char/)
char.c
int_guild.c
int_party.c
int_pet.c
int_storage.c
inter.c
(login/)
login.c
(map/)
قƂ.c

--------------------
//0913 by Kalen

EGVGScript̏C
@911Ή
@tOAWg֖߂@\lj
@߂Ƃɕ悤ɏC(TESTscript)
@Ԏ擾::OnRecvCastleXXX𔭓悤ɏC
(conf/gvg/)
قƂ.txt

--------------------
//0912 by ()
Ẽt@C̕TEST_prtg_cas01_AbraiJ̕C
EoO񍐃X>>19-20荞
Ê܂battle_athena.conf̌뎚̒

(common)
mmo.h
#define MAX_STAR 3ɏC
(conf)
battle_athena.conf
(conf/gvg/)
TEST_prtg_cas01_AbraiJ.txt
(map)
atcommand.c
get_atcommandinfo_byname() C


--------------------
//0911 by Michael_Huang

Mounting Emblem of the Flag-NPC.
(Added Script Command: FlagEmblem).

(conf/gvg/)
TEST_prtg_cas01_AbraiJ.txt (FlagEmblem Test)

(map/)
map.h struct npc_data{}
clif.c clif_npc0078()
script.c buildin_flagemblem()

--------------------
//0910 by RR
EXNvg̊ԈႢC
(conf/gvg/)
ev_agit_payg.txt
ev_agit_gefg.txt

EЂȍՂɈx}bvϐc܂܂ɂȂ̂ŁA}bvϐgȂ悤ύX
(ꎞI}bvϐɂΖȂƂ܂A
town_guidetown_kafraɎ̕풓Ă܂̂CɂȂ̂ŁA
event_hinamatsuriֈړAîdisableĂ܂)
(conf/npc/)
npc_event_hinamatsuri
npc_town_guide
npc_town_kafra

EXLZbg̃XL擾XL|Cg48ȏA
XL|Cg58ȏcXL|CgJOBLEVEL菬ȂƂɕύX
E@model̕FFɘa(jATA[Ô݂)
(map/)
pc.c pc_calc_skilltree()
atcommand.c atcommand_model()


--------------------
//0909 by Ӓ

ENPC`bg֌W̖ߒlj
EwaitingroomiNPC`bg쐬jCiCxgNlw”\j
EdelwaitingroomiNPC`bgIjlj
EenablewaitingroomeventiNPC`bgCxgLjlj
EdisablewaitingroomeventiNPC`bgCxgjlj
EgetwaitingroomstateiNPC`bgԏjlj
EwarpwaitingpciNPC`bgo[[vjC
ڂscript_ref.txtQ

(map/)
script.c/npc.c/npc.h/chat.c/chat.h/clif.c
XC
(doc/)
script_ref.txt
C
(conf/sample/)
npc_test_chat.txt
lj߂̃eXgXNvg

EXNvg̊ԈႢC
(conf/npc/)
npc_event_skillget.txt
npc_event_yuno.txt
npc_town_lutie.txt
npc_turtle.txt
䖽additemgetitemɒu
npc_town_guide.txt
䖽scriptlabelRg
npc_event_momotaro.txt
npc_job_swordman.txt
npc_job_magician.txt
';'tYC
(conf/gvg/)
ev_agit_aldeg.txt
@GID4@GIDa4ɒu
ev_agit_gefg.txt
ev_agit_payg.txt
AnnouceɐFw';'̕tYK


EAthenaDBṽf[^Ƃ肱݁ȂC
肵Ăf[^ǂ킩܂񂪁B

(db/)
item_db.txt/mob_db.txt/mob_skill_db.txt
AthenaDBṽf[^Ƃ肱
mob_skill_db.txt.orig
ȑÕf[^iRgȂǂ̎QlɁj
(conf/)
water_height.txt/mapflag.txt
AthenaDBṽf[^Ƃ肱
map_athena.conf
npc_monster3*.txt폜
lj}bvf[^ (by ID:UVsq5AE)
(conf/mob/)
npc_monster.txt
AthenaDBṽf[^Ƃ肱

--------------------
//0908 by Ӓ

EXNvg̃G[`FbN𑝂₵
E̓rʼnsƃG[o悤ɁB
E֐ĂяoZq'('̒OɊ֐ȊOƃG[o悤ɁB
E߂ׂƂɊ֐ȊOƃG[o悤ɁB
E߂ъ֐̈؂','ȗƌxo悤ɁB
E߂ъ֐̈̐قȂƌxo悤ɁB

(map/)
script.c
FXC

ENPCXNvgC
(conf/npc/)
npc_town_guide.txt
Ssڂ͂Ȃ悤Ȃ̂ŃG[oȂ悤ɃRg
npc_event_hat.txt
Rh̉ʐElƃtFC̐”N (by ID:dS8kRnc)
(conf/sample/)
npc_card_remover.txt
@menugĒZ͏C


(db/)
skill_tree.txt
Sage}蓖

--------------------
//0907 by p
Eatcommand() ̔剻Ђǂ̂Ńt@N^O
@ R}hljꍇ́Aatcommand.h Œ萔Aatcommand.c
֐`}Nƃ}bsOe[uAp̊֐LqĂB
Eglobal ϐ atcommand_config B
@ R}h̃x get_atcommand_level() Ŏ擾ĂB
Eꕔ̃L @ R}hŁApXy[X܂ޖÕL
ɏłĂȂCB
̉eɂA@rura+ ȂǁALp[^̓rɂ̂
SčŌɉ񂳂Ă܂B
E@ R}h̕𐳏Ɏ擾łȂꍇɁAobt@̓e
`FbNɏsƂĂC܂B

(common/)
mmo.h
(map/)
atcommand.h
atcommand.c
clif.h
clif.c

--------------------
//0906 by Selena
EӒ̏Cɂ킹āAoL[PȊÕXNvg̏CB
E@R}h̓~X̍ۂɃG[bZ[W\B
(conf/gvg/)
ev_agit_aldeg.txt
ev_agit_gefg.txt
ev_agit_payg.txt
ev_agit_prtg.txt
aldeg_cas01`05.txt
gefg_cas01`05.txt
payg_cas01`05.txt
prtg_cas02`05.txt
(map/)
atcommand.c

--------------------
//0905 by Ǘl

ET[o[snapshot
EOX̃t@CYꂽl邩Ȃ̂

--------------------
//0904 by Ӓ

EXNvgC
Echar/interT[o[ɐڑOnCharIfInit/OnInterIfInitCxg
Ă΂悤ɂȂ܂B
OnAgitInitOnInterIfInitɕύXׂłB
Egetcastledata߂őQp[^0̂ƂARp[^
Cxgݒł܂B̃Cxg̓Mh̃f[^
InterT[o[珊ƂɎs܂B
ENNPCCxg"::"Ŏn߂ƁAx‘SNPC̃Cxg
sł܂B
Ƃ΁Agetcastledata "prtg_cas01.gat",0,"::OnRecvCastleP01";
ƂƑSĂNPC OnRecvCastleP01xs܂B
ErequestguildinfoߒljBMh̏InterT[o[
vł܂BPp[^̓MhIDAQp[^̓Cxg
̃Cxg̓MhInterT[o[珊Ƃ
s܂B

(map/)
guild.c/guild.h/npc.c/npc.h/script.c/intif.c/chrif.c
FXC

EMh֘ANPCC
ioL[P̂ݏCB̏̃XNvg͊eŘMĂB
ƂAނM炠Ղ܂傤j
EOnAgitInitłȂOnInterIfInitɕύXB
Ef[^ƂOnRecvCastleP01ljB
EIċNAMhꑮJv\悤ɁB
EMhꑮJv̖O"JvE::kapra_prtg01"ɕύXB
i"::"ȍ~̓GNX|[g閼OŁA"::"ȑO\j
"JvE#prt"薼O𒷂ċɂ邽߂łB
̊֌WŁAdisablenpcȂǂ̃p[^"kapra_prtg01"ɏCB
(conf/gvg/)
prtg_cas01.txt
MhꑮJvC
ev_agit_prtg.txt
CioL[P̂݁j
TEST_prtg_cas01_AbraiJ.txt
MhꑮJvٗp/jC

ENPC̏C
(conf/npc/)
npc_job_swordman.txt
npc_event_hat.txt
C

EAJEg폜ĂAJEgIDėpȂ悤ɏC
EMh/p[eBɂ‚Ăꉞ̏ljiRgĂ܂B
Mhp[eBIDėpĂ炭Ȃ߁j

(login/)
login.c
ǂݍ/ۑC
(char/)
int_guild.c/int_party.c
ǂݍ/ۑC

--------------------
//0903 by Ӓ

El14/l15уvtBbNXl"Ȃ(deprecated)"@\Ƃ܂B
E܂gpł܂A̓삪ۏႳȂ̂ŁA₩ɑ֋@\
gp悤ɈڍsĂB
EvtBbNX'l'͑֋@\̃vtBbNX'@'gpĂB
El15͑֋@\@menugpĂB
El14͑֋@\͂܂Binput߂̈ȗȂʼnB
E̐Ȃ@\gpƌxbZ[Wł܂B

(map/)
script.c
parse_simpleexpr()C
(conf/warp/)
npc_warp.txt/npc_warp25.txt/npc_warp30.txt
ϐl0@warp0ɏC
(conf/npc/)
npc_event_hat.txt
ϐl15@menuɏC
(doc/)
script_ref.txt
zϐ̐lj
ϐ̃vtBbNX'l'Ainput߂l14Amenu߂l15
C

--------------------
//0902 by Ӓ

EXNvgzϐɑΉB
Earray[number]̂悤Ɏg܂Bl^A^g܂B
EgvtBbNX @, $, $@ łB
iꎞILN^[ϐAꎞI/iI}bvT[o[ϐj
Enumber==0͔z񂶂ȂϐƒlL܂B
i@hoge[0]@hoge͓ϐ\j
E܂iKȂ̂ŃoO񍐂낵肢܂B
E}bvT[o[ϐ̓ǍCtrl+Cƃf[^j̉”\C.
E}bvt@Cǂݍ݉ʂт̂ł߂ăt@C\悤ɁB

(conf/sample/)
npc_test_array.txt
zϐeXgXNvg
(map/)
script.c
buildin_set(),buildin_input(),get_val(),
parse_simpleexpr()C
buildin_getelementofarray()lj
do_final_script()CȂ
map.c
map_readmap(),map_readallmap()C

--------------------
//0901 by ҂܂

EIXoȌC

(map/)
pc.c
pc_cartitem_amount() ljB
vending.c
vending_openvending() CB
clif.c
clif_parse_NpcClicked() CB
pc.h CB

--------------------
//0900 by ҂܂

EAuJ_ũ_XLabra_db.txtŐݒł悤ɁB
EXtBA[}CƃoCIvg̔CB
ENoreturn}bvŒoOCB
Eꕔ̃AuŗLXL삵ȂoOCB
(map/)
mob.c
mob_damage()Amobskill_use() CB
mob_skillid2skillidx() ljB
skill.c
skill_readdb()Askill_abra_dataset() CB
skill_castend_nodamage_id()Askill_castend_pos2() CB
script.c
buildin_warp() CB

skill.h CB
map.h CB
(db/)
abra_db.txt ljB
skill_db.txt CB

--------------------
//0899 by Ӓ

E芪MOB̏C
E芪ŃRAfoOC
E傪ʃ}bvɔԂƁAe|[gŒǂ悤ɏC
E芪yύX

(map/)
mob.c
mob_ai_sub_hard_mastersearch()mob_ai_sub_hard_slavemob()
ɖOςďCB
mob_summonslave()C

--------------------
//0898 by Ӓ

EeathenaCardRemoverNPC̎荞
NPCf[^{󂵂Ă܂AȂKłB

(map/)
script.c
buildin_getequipcardcnt(),buildin_successremovecards()
buildin_failedremovecards()lj
(conf/sample/)
npc_card_remover.txt
J[hONPC̓{
ve̐B̒̍̕ɂ܂

E|[^ŕʃ}bvɔ΂MOB̃}bvɕoOC
(map/)
map.h
struct mob_datamolj
mob.c
mob_spawn(),mob_once_spawn()C
npc.c
npc_parse_mob()C


--------------------
//0897 by ҂܂


EXgbvnƃP~JveNVnXL̑S
@{Iłׂ̍dl̂Ŏ܂B
@m͎błB

(map/)
pc.c
pc_isequip() C
skill.c
skill_status_change_start()Askill_castend_nodamage_id() CB
skill_abra_dataset() CB
battle.c
battle_get_def()Abattle_get_atk2() CB
battle_get_vit()Abattle_get_int() CB
(db/)
const.txt CB
skill_db.txt CB
cast_db.txt CB

--------------------
//0896 by Ӓ

EiI}bvϐ@\lj
E}bvϐ𕶎^ϐƂĂgpł悤ɂ
E܂ł̃vtBbNX $ ͉iIɂȂ܂B
ꎞI}bvϐgpꍇ̓vtBbNX $@ w肵Ă.

EiI/ꎞIƂɕ^ɑΉĂ܂B
^̃|XgtBbNX$łB

<> $@hoge l^ꎞ}bvϐA$hoge$ ^i}bvϐ
Ei}bvϐ̓ftHgł save/mapreg.txt ɕۑ܂B
map_athena.confmapreg_txtŐݒł܂B

Estr_dataĊ蓖Ăƃ}bvϐɎgpłȂoOC
EstrdbnumdbɂāAϐstr_bufɓ悤ɁB

Emap_athena.confdelnpc,npc:clearȂoOC

(map/)
npc.c
npc_delsrcfile(),npc_clearsrcfile()C
script.c / script.h
}bvϐnȂC
map.c
map_read_config()CȂ
(conf/)
map_athena.conf
mapreg_txtlj
(doc/)
conf_ref.txt
mapreg_txt,help_txt,motd_txtlj
script_ref.txt
^ϐ̐C

--------------------
//0895 by Selena

EmapflagnozenypenaltyljB
@GVGX̃eȂǂŎSۂɁAZenyyieB[OpB

(map/)
pc.c
pc_setrestartvalue() C
script.c
buildin_setmapflag()Abuildin_removemapflag() C
npc.c
npc_parse_mapflag() C
map.h
map_data() C
(db/)
const.txt CB

--------------------
//0894 by ҂܂

ER[}ȊÕAuJ_uŗLXLSB
@I[gXyɂ̓xAbvȊOS悹܂B(I[gXyxAbv͖eXg)
EAuJ_u
@XLxˑႠ܂B
@SĂ̔_ψłB
@ACeXLgĎĂ̂ňꕔ̎gp𖳎܂iWF㩋Cj
EACeXLLXgEfBĈCB

(map/)
skill.c
skill_castend_nodamage_id()Askill_use_id()Askill_use_pos() CB
skill_abra_dataset() ljB
(db/)
skill_db.txt CB

--------------------
//0893 by Ӓ

E}bv|[^̏Ƀ[vĂPC[vȂC
E`bgPC[v|[^Ŕ΂ǂݒ”\
EMOB[v|[^Ŕ΂ǂݒ”\
MOB̃[v|[^‚ƁAeȒPɂł̂ŒӁB

EAJEgϐύXƓɃt@Cɏo悤ɏC
E}bvf[^̃[h̃O\͂܂dvȂƎv̂ŕύXB

(char/)
inter.c
mapif_parse_AccReg()inter_accreg_save()ĂԂ悤ɏC
(map/)
mob.c/mob.h
mob_warp()̈ύXƏC
battle.c/battle.h
mob_warp()ĂяöC
battle_config֘A
map.c
map_readallmap(),map_readmap()C
pc.c
pc_setpos()C
skill.c
mob_warp()ĂяöC
skill_unit_onplace()C
(conf/)
battle_athena.conf
chat_warpportal,mob_warpportal̒lj
(doc/)
conf_ref.txt
chat_warpportal,mob_warpportal̒lj

--------------------
//0892 by Ӓ

Eeconft@Cŕʃt@CC|[gł悤ɂ
ẼT[o[p̐ݒʃt@CɋLqł悤ɂȂ܂B
ESāuimport: t@Cv`ŋLq܂B
Eeconft@Cilogin,char,map,inter,atcommand,battlej̍Ō
conf/import/*_conf ǂނ悤Ɏw肵̂ŁAɎp̐ݒ
Ă΁AύX̂݃I[o[Ch܂B
msg,scriptconfɂ‚ẮǍł͂܂񂪁Aimport߂
͒ljĂ̂ŁAimport߂Γ܂B
EVXibvVbgoꍇȂǂɁAconf/importtH_
̂AthenaRs[邾Ŏp̐ݒKpł悤ɂȂ܂.

Emap_athena.confmapnpcŒljt@C폜ł悤ɂ
EɊ֘AύXłB
Edelmap,delnpc߂gp΁Amap,npc߂Œljt@C
ǂݍ܂Ȃ悤Ɏwł܂BŃt@Cł͂ȂA
all Ǝw肷Ƃ܂łɎw肳ꂽt@CSēǂݍ܂Ȃ܂.
Emap,npc߂ŁAt@Cclearw肷ƁA
delmap,delnpcallƓ̓悤ɂȂ܂B

Elogin_athena.confallowdenyNAł悤ɂ
Eallowdeny߂clearw肷ƈȑÕzXgS폜܂.

(conf/)
econft@C̍Ōimportߒlj
(conf/import)
*.txt
C|[gt@CBɎp̐ݒƂ悢B
(login/)
login.c
login_read_config()C
(char/)
char.c/inter.c
char_read_config(),inter_read_config()C
(map/)
map.c
map_read_config(),map_addmap()CAmap_delmap()lj
npc.c
npc_addsrcfile()C,npc_delsrcfile(),npc_clearsrcfile()lj
battle.c/atcommand.c/script.c
battle_read_config(),atcommand_read_config(),
msg_read_config(),script_read_config()C
(doc/)
conf_ref.txt
C

--------------------
//0891 by ()

EuXLgp̌́A΂炭҂v\邩ǂݒł悤ɂB
E{IXbh@̇U>>5̃R[hpN܂B
(doc/)
conf_ref.txt CB
(conf/)
battle_athena.conf CB
(map/)
battle.h CB
battle.c
battle_config_read() CB
clif.c
clif_skill_fail() CB

--------------------
//0890 by _

EMhqɂxɈlgp悤ɕύXB(eXg)
Ebattle_athena.confplayer_undead_nofreeze 폜B
E@R}h@gstorage ljB
EXNvgguildstorageguildopenstorageɕύXB
ȆׂoOCB
(doc/)
conf_ref.txt CB
script_ref.txt CB
(conf/)
atcommand_athena.conf CB
battle_athena.conf CB
help.txt CB
(conf/sample/)
gstorage_test.txt ljB
(char/)
makefile CB
int_storage.h CB
int_storage.c
inter_storage_delete()Ainter_guild_storage_delete() ljB
int_guild.c
guild_check_empty()Amapif_parse_BreakGuild() CB
(map/)
makefile CB
battle.h CB
battle.c
battle_config_read() CB
guild.c
guild_broken() CB
storage.h CB
storage.c
storage_guild_storageopen() CB
storage_delete()Aguild_storage_delete() ljB
script.c
buildin_guildstorage() buildin_guildopenstorage()ɕύXB
intif.c
intif_parse_LoadGuildStorage() CB
mob.c
mob_summonslave()Amob_damage()Amob_delete() CB
mob_catch_delete()Amob_readdb() CB
skill.c
skill_castend_nodamage_id()Askill_status_change_start() CB
clif.c
clif_parse_ActionRequest() CB
atcommand.h CB
atcommand.c
atcommand() CB

--------------------
//0889 by Ӓ

E^ꎞILN^[ϐ@\ljB
EvtBbNX@,|XgtBbNX$gp܂Bi@hoge$Ȃǁj
Einputŕϐw肷ƕ͂ɂȂ܂B
E֌WZqirZqjŕǂw肷ƕ̔r
ł܂BlƕĔr邱Ƃ͂ł܂B
EƂ肠TvtĂ܂B

(map/)
map.h
struct map_session_datanpc_str,regstr,regstr_numolj
script.c
buildin_set(),get_val(),buildin_input(),op_2num()ȂǏC
op_2str(),op_2()lj
clif.c / clif.h
01d5pPbgC
clif_parse_NpcStringInput(),clif_scriptinputstr()lj
pc.c / pc.h
pc_readregstr(),pc_setregstr()lj
(doc/)
script_ref.txt
Zq̐ljAϐ̐CAinput,menuC
(conf/sample/)
npc_test_str.txt
ϐgpXNvg̗B
̑AArA͂Ȃǂ̃eXgśB

--------------------
//0888 by _

E݌vԈĂMhqɏCB(l̎gpɂoO”\͂܂܂B)
EׂoOCB
(doc/)
inter_server_packet.txt CB
conf_ref.txt CB
(conf/)
inter_athena.conf CB
help.txt CB
(common/)
mmo.h CB
(char/)
makefile CB
int_storage.h CB
int_storage.c
account2storage()Ainter_storage_init()Astorage_fromstr() CB
inter_storage_save()Amapif_load_storage() CB
mapif_parse_SaveStorage() CB
guild_storage_fromstr()Aguild_storage_tostr() ljB
inter_storage_save_sub()Ainter_guild_storage_save_sub() ljB
inter_guild_storage_save()Amapif_parse_LoadGuildStorage() ljB
mapif_parse_SaveGuildStorage()Amapif_load_guild_storage() ljB
mapif_save_guild_storage_ack()Aguild2storage() ljB
int_party.c
inter_party_init() CB
int_guild.h CB
int_guild.c
inter_guild_init() CB
inter_guild_search() ljB
int_pet.c
inter_pet_init() CB
inter.c
inter_init()Ainter_save()Ainter_config_read() CB
(map/)
makefile CB
map.h CB
map.c
map_quit()Ado_init() CB
pc.c
pc_setpos() CB
storage.h CB
storage.c
do_init_storage()Ado_final_storage()Aaccount2storage() CB
storage_storageopen()Astorage_storageadd()Astorage_storageget() CB
storage_storageaddfromcart()Astorage_storagegettocart() CB
storage_storageclose()Astorage_storage_quit() CB
storage_storage_save() CB
guild2storage()Astorage_guild_storageopen() ljB
guild_storage_additem() Aguild_storage_delitem() ljB
storage_guild_storageadd()Astorage_guild_storageget() ljB
storage_guild_storageaddfromcart()Astorage_guild_storagegettocart() ljB
storage_guild_storageclose()Astorage_guild_storage_quit() ljB
intif.h CB
intif.c
intif_send_storage()Aintif_parse_LoadStorage()Aintif_parse() CB
intif_request_guild_storage()Aintif_send_guild_storage() ljB
intif_parse_SaveGuildStorage()Aintif_parse_LoadGuildStorage() ljB
clif.h CB
clif.c
clif_additem()Aclif_parse_MoveToKafra() CB
clif_parse_MoveFromKafra()Aclif_parse_MoveToKafraFromCart() CB
clif_parse_MoveFromKafraToCart()Aclif_parse_CloseKafra() CB
clif_parse_LoadEndAck() CB
clif_guildstorageitemlist()Aclif_guildstorageequiplist() ljB
clif_updateguildstorageamount()Aclif_guildstorageitemadded() ljB
guild.c
guild_broken() CB
script.c
buildin_openstorage()Abuildin_guildstorage() CB
skill.c
skill_castend_nodamage_id() CB
mob.c
mob_summonslave()Amob_damage() CB
atcommand.c
atkillmonster_sub()Aatcommand() CB

--------------------
//0887 by qo^.^o

E(db/)
skill_tree.txt C

--------------------
//0886 by ҂܂

ET[o[snapshot
Et@C

--------------------
//0885 by huge

EMhLqɂ̎BguildstorageŊJ܂B
̎IŎ͂Ă݂܂AߑanȂ̂őlMhɂȂƂǂ܂B
(Ô߃obNAbv͕KĂĉ)
EareawarpŁAΏۃ}bv"Random"ɂƁA}bvŃ_ɔԂ悤ɏCB
EGMR}hŐԂƂSPS񕜂悤ɏCB
EfB{[V̏ƏCB

(char/)
int_storage.c
mapif_load_storage() CB
mapif_parse_SaveStorage() CB
inter.c
inter_send_packet_length[] CB
inter_recv_packet_length[] CB
(map/)
atcommand.c
@alive,@raise,@raisemap CB
intif.c
packet_len_table[] CB
intif_request_storage() CB
intif_send_storage() CB
intif_parse_LoadStorage() CB

map.h
map_session_data statestorage_flag ljB
script.c
buildin_areawarp_sub() CB
buildin_openstorage() CB
buildin_guildstorage() ljB
skill.c
skill_castend_nodamage_id() CB
storage.c
account2storage() CB
storage_storageopen() CB
storage_storage_save() CB

--------------------
//0884 by _

EׂoOCB
Ebattle_athena.confpet_strAzeny_penaltyAresurrection_exp ljB
E0878̋s֌W̃R[h͂Ȃ̂őSč폜B
Ezeny_penaltyݒ肵Ďgꍇ͎萔͂ȂB
E|[Vsb`[percenthealɂPPLPɂ񕜃{[iXt悤ɕύXB(vitintAHPRAMPRɂ񕜃{[iXt܂B)
EقƂǖeXgB
(common/)
mmo.h CB
(conf/)
battle_athena.conf CB
(doc/)
conf_ref.txt CB
(map/)
map.c
do_init()Ado_final() CB
script.c
buildin_openbank() 폜B
buildin_failedrefitem() CB
storage.h CB
storage.c
do_init_bank()Ado_final_bank()Aaccount2bank() 폜B
storage_bank()Astorage_readbank() 폜B
skill.c
skill_castend_nodamage_id()Askill_attack() CB
battle.h CB
battle.c
battle_calc_pet_weapon_attack()Abattle_config_read() CB
pc.c
pc_setrestartvalue() CB
clif.c
clif_skill_nodamage()Aclif_refine() CB
itemdb.c
itemdb_isequip3() CB
atcommand.c
atcommand() CB

--------------------
//0883 by Kalen

EWarpFXC
EATVMhC(̂̂܂܂̃N̂Ō݂̏ԂɏCB)
EYunoWarpSʌ(YumilLoopCASageCastleRandomWarpljAコ̉ƒlj)
ENMhlj
ENPCFXC
EXq쐬NPCʃt@CցBꕔlj(ep2.5lj)
@QlData(R.O.M776): ttp://green.sakura.ne.jp/~youc/ro/data/itemmaking.html#04
EATVMhC
E񎟐E]E֌WNPCꕔlj(ŃRh֍s܂)
E}X^[AP~Xg̑䎌C
EAföēvړ&䎌C&C[Wlj
EBBSɂĂRhXNvglj(event_hat֕U)
ERNGXg֌WNPCꕔlj([yuno]Al[prontera])
(conf/warp/)
npc_warp.txt
npc_warp30.txt
npc_warp_job.txt
(conf/npc/)
npc_event_hat.txt(VK)
npc_job_2nd.txt
npc_job_alchemist.txt
npc_town_aldebaran.txt
npc_town_comodo.txt
npc_town_gonryun.txt
npc_town_guide.txt
npc_town_yuno.txt
npc_town_lutie.txt

--------------------
//0882 by Ӓ

EXNvg0881̃AJEgLϐ@\̃vtBbNXύX
E0881̃AJEgϐ̓vtBbNX##ɂȂ܂B
E0881̃AJEgϐ͑S[hŋL܂B
Eϐ̌mmo.hACCOUNT_REG2_NUMŒ`Ă܂(16)B
E[h̃AJEgLϐ@\lj
Eϐ̃vtBbNX#łB
Eϐ̌mmo.hACCOUNT_REG_NUMŒ`Ă܂(16)B
E0881̋sXNvg͂gp悤ɂȂ܂B
ĈȑÕf[^‚Ȃ̂ł炩߈oĂĂ.
Eϐf[^ save/accreg.txt ɕۑ܂B
̃t@C inter_athena.conf ŕύX”\łBconf_ref.txtQƁB

(common/)
mmo.h
ACCOUNT_REG_NUM16ɁAACCOUNT_REG_NUM2lj
struct mmo_charstatusaccount_reg2_num,account_reg2olj
(login/)
login.c
account_regSaccount_reg2ɒu
(char/)
char.c
account_regSaccount_reg2ɒu
inter.c
[hAJEgϐ@\ljB
inter_accreg*()ljAaccreg_dbljȂǁB
(map/)
chrif.c/chrif.h
account_regSaccount_reg2ɒu
0881ł̃oOC
intif.c/intif.h
[hAJEgϐ@\ljB
pc.c/pc.h
pc_*accountreg()=>pc_*accountreg2()ɁB
pc_setaccountreg(),pc_readaccountreg()ljB
script.c
buildin_set(),buildin_get_val(),buildin_input()C
(doc/)
inter_server_packet.txt
[hAJEgϐ֌W
conf_ref.txt
accreg_txtlj

--------------------
//0881 by Ӓ

EXNvgɃAJEgLϐ@\lj
EϐɃvtBbNX#t邱ƂŃAJEgLϐɂȂ܂B
EAJEgϐ͕ύX_őST[o[Ƀ|Xĝ
pɂɏƃT[o[ԒʐM剻܂B
EAJEgϐ͕ύX_iĂꂪloginIɓ͂_j
account.txtɏo܂B
EO[oϐiiϐǰ96Ɍ炵A32•
AJEgϐɂĂ܂Ammo_charstatus̃TCY
16000byte𒴂Ȃ葝₷Ƃł܂B0879̕ύXQ
ϐ̌mmo.hACCOUNT_REG_NUMŒ`Ă܂B
E0878̋sAJEgϐgp悤ɏC
bank.txt̃f[^gȂȂ̂ł炩߈oĂĉB

(common/)
mmo.h
GLOBAL_REG_NUM96ɁAACCOUNT_REG_NUMlj
struct mmo_charstatusaccount_reg_num,account_regolj
(login/)
login.c
pPbg2728lj
(char/)
char.c
pPbg2729,2b10lj
(map/)
chrif.c
chrif_saveaccountreg(),chrif_accountreg()
(pPbg2b10,2b11)ljB
pc.c/pc.h
pc_readaccountreg(),pc_setaccountreg()lj
script.c
buildin_set(),buildin_get_val(),buildin_input()C
(conf/sample/)
bank_test.txt
AJEgϐgpł̋sXNvg

--------------------
//0880 by _

E|[Vsb`[𐳂ƂƋ@\gB
E|[Vsb`[ŃxʂɎgACeskill_require_db.txtɐݒł悤ɂ܂B|[Vsb`[ŎgACeitemhealApercenthealAsc_startAsc_endȊO̕ĂƐ삵܂B
x5܂ł͖{Iɍ킹Ă܂ő僌x10܂Ŋgƃx6 - }Xe̎A7 - [[[A8 - COhV̎A9 - COhV̎A10 - o[T[N|[Vɐݒ肵Ă܂Bskill_db.txtC΂ꂪLɂȂ܂B(ǂC邩킩Ȃl͒߂邱ƂłB) |[Vsb`[ɂACegp͎gp𖳎܂B̓AP~XgɊ]ł...(...)
Ebattle_athane.confproduce_item_name_inputAproduce_potion_name_inputAmaking_arrow_name_inputAholywater_name_input ljB
Ep[eBɂgXLƃMhɂgXLݒł悤ɏCB
ȆׂCB
(conf/)
battle_athane.conf CB
(doc/)
conf_ref.txt CB
db_ref.txt CB
(db/)
skill_db.txt CB
skill_require_db.txt CB
(map/)
map.h CB
skill.h CB
skill.c
skill_status_change_timer()Askill_attack()Askill_use_id() CB
skill_castend_nodamage_id()Askill_castend_damage_id() CB
skill_castend_id()Askill_castend_pos()Askill_produce_mix() CB
skill_arrow_create()Askill_check_condition() CB
skill_status_change_clear()Askill_readdb() CB
mob.c
mobskill_use_id()Amob_changestate() CB
pc.c
pc_itemheal()Apc_percentheal()Apc_calcstatus() CB
battle.h CB
battle.c
battle_delay_damage()Abattle_damage()Abattle_heal() CB
battle_get_adelay()Abattle_get_amotion() CB
battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CB
battle_weapon_attack()Abattle_config_read() CB
clif.c
clif_skill_fail() CB
script.c
buildin_sc_start()Abuildin_sc_end() CB
makefile CB

--------------------
//0879 by Ӓ

EMFIFÕobt@I[o[t[̐Ǝ㐫̏C
E2048oCgȏ̃pPbg𑗂ƂAFIFOtɋ߂
obt@I[o[t[ɂsANZXNĂCB
EFIFOtɋ߂ƂWFIFOSETꂽpPbĝĂĂCB
EFIFOI[o[t[ꍇAIFIFOg悤ɂB
iAxWFIFOSETpPbg16384oCgȉƉ肵Ăj
Eusocket: ? wdata expanded to ???? bytesvFIFOgꂽƂ
ł郍OAG[ł͂ȂApPbg͐MB
Eusocket: ? wdata lost !!v̓pPbgrƂ\OŁA
G[ł邪64KB𒴂钴ȃpPbgWFIFOSETȂƏoȂB
E16384oCg𒴂pPbgWFIFOSETƃG[bZ[WȂɁA
sANZXN”\̂ŁAȂ悤ɂ邱ƁB

(common/)
socket.c /socket.h
WFIFOSET()}N֐ɕύX
realloc_fifo()lj

ET[o[ԒʐMFIFÕobt@TCY傫
Eʂ̃f[^ʐMꂽƂɃf[^xNɂ邽߁B
EgpʂB(肬̐l65536ɐݒ肷ƌʂɂȂ)
ET[o[ԒʐMFIFOTCY mmo.h Œ`ĂB
ύXꍇ64KB(65536)ȏ̒lɂ邱ƁB
傫Ƌf[^M̒x邪𑽂gB
E@kickallȂǂɃf[^MȂ̂ŕύXA
OClȂƑ₵ĂӖ͖B

(common/)
mmo.h
FIFOSIZE_SERVERLINK}NljB
(login/)
login.c
2710pPbgrealloc_fifo()ĂԂ悤
(char/)
char.c
2af8pPbgrealloc_fifo()ĂԂ悤
check_connect_login_server()realloc_fifo()ĂԂ悤
(map/)
chrif.c
check_connect_char_server()realloc_fifo()ĂԂ悤

--------------------
//0878 by huge

EJvsT[rXB
̎IŎĂłAӊOƍDĜŏoĂ݂܂B
NPCscriptŁAopenbank(0);ŗazԂāAɐƏoꂵ܂B
ڂ̓Tv𓯕̂ŁAQƁB

(common/)
mmo.h
struct bank ljB
(map/)
map.c
do_final(),do_init() CB
script.c
buildin_openbank() ljB
storage.c
storage.h
O[oϐljB
do_init_bank(),do_final_bank(),account2bank() ljB
storage_bank(),storage_readbank() ljB

--------------------
//0877 by Ӓ

EloginĨANZXRg[lbg}XN\LɑΉ
192.168.0.0/24 192.168.0.0/255.255.0.0 Ƃ\LɑΉB
Ebattle_athena.confGMői𑕔ł違
ŃXLgpłݒlj
̓foOpȂ̂œɕss邩܂B

(login/)
login.c
check_ip()C,check_ipmask()lj
(map/)
battle.c/battle.h
battle_configgm_allequip,gm_skilluncondlj
battle_config_read()CX
skill.c
skill_check_conditio()C
pc.c
pc_isequp()C
(doc/)
conf_ref.txt
allowύXAgm_all_equipmentAgm_skill_unconditionallj

--------------------
//0876 by _

EׂoOCB
E@R}hɃeXgׂ̈ɓĂĂ̂ŏCB
En}[tH[̎˒54ɏC({I˒͕s)ƃUNV̂𐹑ɏCB
(db/)
skill_db.txt CB
(map/)
mob.c
mob_catch_delete()Amob_stop_walking() CB
storage.c
storage_additem() CB
pc.c
pc_damage()Apc_stop_walking() CB
clif.c
clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() CB
battle.c
battle_calc_magic_attack() CB
skill.c
skill_check_condition() CB
atcommand.c CB

--------------------
//0875 by Ӓ

Eparty_share_levelinter_athena.confɈڂ
(p[eB֘Ȁ̊NJinterÎ)
Einter_athena.confinter_log_fileڒlj
EMh쐬/U//jOɎc悤
EMhUɃ[NĂC
(char/)
char.c/char.h
party_share_level֘A
(inter/)
inter.c/inter.h
party_share_level / inter_log_file ֘A
Oo͗pinter_log()lj
int_guild.c
쐬/U//jOɏo
[NC
(doc/)
conf_ref.txt
C

ET[o[ԊmFpCGIXNvgYtȂ
EȐӔCڍׂȉA₳ĂX[”\L
EGfB^ŊJ班L
ECGIݒů{킩ΖȂ͂

(tool/cgi/)
serverstatus.cgi
T[o[ԊmFpCGIXNvg
addaccount.cgi
C

--------------------
//0874 by Kalen
EWhiteDayCxglj
conf/npc/npc_event_whiteday.txt(VK)
AَqĂ邾݂cGMȂɂ̂͒m܂񂪁B
sakRÔقł̓zCg`R炵̂ljꂽ̂
jROŒljꂽ̂͐dPpb`̂(*Lt`;)c

EAlchemistMhœAς悤
conf/npc/npc_job_alchemist.txt(VK)
]ENGXgȂ̂ʼn߂Ă܂
Ȃƕsւƕ̂ŁAlj

EFNPC
conf/npc/npc_event_dye.txt(XV)
^ύXsakROɗ炵̂
ȂƂȁ[XV

--------------------
//0873 by _

E@R}hitem2killmonster ljB
EXNvggetitem2killmonsterall ljB
E쐬ōꂽ҂̖Ot悤ɏCB
Ebattle_athena.confmonster_class_change_full_recoverljB
EXNvgbWeaponComaElebWeaponComaRace ljB
EԈႢ_[WvZCB
EbInfiniteEndurȅCfA\Ȃœ悤ɕύXB
EI[gXycastend_nodamage_id()ĂԃXLgpł悤ɏCB
ȆׂCƃoOCB
EقƂǖeXgȂ̂ŃoO񍐂肢܂B
(conf/)
help.txt CB
atcommand_athena.conf CB
battle_athena.conf CB
char_athena.conf CB
(db/)
const.txt CB
item_db.txt CB
(doc/)
item_bonus.txt CB
script_ref.txt CB
conf_ref.txt CB
(map/)
map.h CB
map.c
map_quit() CB
skill.h CB
skill.c
skill_castend_nodamage_id()Askill_status_change_clear() CB
skill_castend_id()Askill_castend_pos()Askill_arrow_create() CB
skill_status_change_timer() CB
pc.c
pc_calcstatus()Apc_bonus2()Apc_equipitem() CB
pc_unequipitem()Apc_damage() CB
battle.h CB
battle.c
battle_get_dmotion()Abattle_weapon_attack() CB
battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CB
battle_calc_magic_attack()Abattle_config_read() CB
clif.c
clif_parse_LoadEndAck()Aclif_damage()Aclif_skill_damage() CB
clif_skill_damage2() CB
itemdb.h CB
itemdb.c
itemdb_isequip3() ljB
mob.h CB
mob.c
mob_delay_item_drop()Amob_damage()Amob_changestate() CB
mob_class_change()Amob_delete()Amob_catch_delete() CB
script.c
buildin_getitem() CB
buildin_killmonsterall_sub()Abuildin_killmonsterall() ljB
atcommand.h CB
atcommand.c
atcommand() CB
atkillmonster_sub() ljB

--------------------
//0872 by ElFinLazz

EXL|[Vsb`[C
EXLM\oOh{Ibl
EXLAuJ_uȂ`R[}
ER[}̕IvVlj(푰, 番)
EIvVlj
(db/)
const.txt C.
(doc/)
item_bonus.txt C.
(map/)
map.h C.
skill.c
skill_castend_nodamage_id(), skill_unit_group(), skill_status_change_start() C.
pc.c
pc_calcstatus(), pc_bonus2(), pc_gainexp() C.
battle.c
battle_weapon_attack() C.

--------------------
//0871 by _

E0869̃oOCB
Echar_athena.conflogin_athena.confɍڒljB(LIƃOCĨOt@Cς邱Ƃł悤ɂ܂BftHglog/tH_[ɓ̂logtH_[Kv܂B)
EGiW[R[g̏CBX^[gꍇ̓XLx*6%̕_[W炷悤ɕύXB
EȊO̕ł҂̖O\悤ɕύXB({Ił̓v[g{bNXƎ`RbgȊO͕\܂񂪃pPbg͂邱ƂĂ݂܂B)
ȆXL֌Wׂ̍CB
E@R}h‚ƃXNvg‚lj܂͌̃pb`ŏ܂B
(conf/)
char_athena.conf CB
login_athena.conf CB
(doc/)
conf_ref.txt CB
(login/)
login.c
parse_login()Alogin_config_read()Alogin_log() CB
(char/)
char.h CB
char.c
char_config_read()Amake_new_char()Aparse_char() CB
int_party.c CB
int_storage.c CB
int_guild.c CB
int_pet.c CB
(map/)
map.h CB
skill.c
skill_status_change_start()Askill_additional_effect() CB
skill_castend_nodamage_id()Askill_check_condition() CB
skill_status_change_clear()Askill_produce_mix() CB
skill_status_change_timer() CB
pc.c
pc_calcstatus()Apc_insert_card()Apc_additem()Apc_cart_additem() CB
storage.c
storage_additem() CB
battle.c
battle_get_adelay()Abattle_get_amotion()Abattle_calc_damage() CB
clif.c
clif_additem()Aclif_equiplist()Aclif_storageequiplist() CB
clif_tradeadditem()Aclif_storageitemadded()Aclif_use_card() CB
clif_cart_additem()Aclif_cart_equiplist()Aclif_vendinglist() CB
clif_openvending()Aclif_arrow_create_list() CB
clif_skill_produce_mix_list()Aclif_parse_SelectArrow() CB
clif_parse_ProduceMix() CB
script.c
buildin_produce() CB
buildin_getitem2() ljB
atcommand.c
atcommand() CB

--------------------
//0870 by shuto

Emapflag̍UMAPnomemolj
EMh󔠂ŁA󔠏oƓMAPIC(by ҂܂)

--------------------
//0869 by _

Ebattle_athena.confplayer_land_skill_limitAmonster_land_skill_limitAparty_skill_penaly ljB
Echar_athena.confparty_share_level ljB
ȆׂCB
(conf/)
char_athena.conf CB
battle_athena.conf CB
(doc/)
conf_ref.txt CB
(char/)
char.h CB
char.c
char_config_read() CB
int_party.c
party_check_exp_share() CB
(map/)
map.h CB
skill.c
skill_attack()Askill_castend_damage_id() CB
skill_castend_nodamage_id()Askill_status_change_start() CB
skill_castend_pos() CB
pc.c
pc_calcstatus() CB
mob.c
mobskill_castend_pos() CB
battle.h
battle.c
battle_get_adelay()Abattle_get_amotion()Abattle_calc_damage() CB
battle_config_read() CB
pet.c
pet_data_init() CB

--------------------
//0868 by _

E}WbNbhƃXyuCJ[CB
E}WbNbh̏ꍇ{IŎgĂȂ̕\Ȃ̑Oɂ͎gǂ̊mFłȂ̂ŃXLrpPbg(0x13e)𗘗pĎgp鎞XLo悤ɂĂ܂B({IƈႤƂŕ傪Ȃ悤)
EXyuCJ[rLZɊ֌WȂskill_db.txtɐݒ肳Ăskill_typemagic̃XL̂ݔj邱Ƃł܂B(OiQ[g̐Kp)
Eskill_db.txt̏ς̂ŒӂĂBmbNobN̐ݒł܂ÖׂɂĂ܂AIł̃eXgFW̃mbNobN2ŃTN2ł邱ƂmFĂ܂B؍2003N1119pb`O̎Ił͂܂2-2͓KpĂ鏊Ȃ̂Ŗ{ÏႢ͂ȂƎv܂B
ȆXL֌Wׂ̍CB
E0867ŏYBX^[̃q[ŃAfbhX^[UĎł̂Ńq[⃊Ȕꍇmob_skill_db.txtval1(l1)1ƃAfbhX^[U󂯂񕜂悤ɂȂ܂B{Ił̓X^[̃q[̓AfbhɊ֌WȂ񕜂悤łBlIɂ̓]rq[ĎłƎv̂mob_skill_db.txtŐݒł悤ɂĂ܂B
(doc/)
db_ref.txt CB
(db/)
cast_db.txt CB
skill_db.txt CB
(map/)
skill.h CB
skill.c
skill_status_change_start()Askill_status_change_end() CB
skill_castend_damage_id()Askill_castend_nodamage_id() CB
skill_attack()Askill_status_change_timer()Askill_castcancel() CB
skill_unit_onplace()Askill_use_id()Askill_castend_id() CB
skill_readdb() CB
skill_get_blewcount() ljB
mob.c
mobskill_use_id()Amob_spawn()Amob_attack() CB
battle.c
battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CB
battle_calc_pc_weapon_attack()Abattle_calc_magic_attack() CB
battle_calc_misc_attack()Abattle_weapon_attack() CB
clif.c
clif_damage() CB
pet.c
pet_attack() CB
pc.c
pc_attack_timer()Apc_authok() CB
pc_spirit_heal()Apc_natural_heal_sub() CB

--------------------
//0867 by _

EXL֌Wׂ̍CB
Ebattle_athena.confplayer_undead_nofreezeljB
EVACepPbgɑΉB(PACKETVER5ȏɂKv܂B)
Emob_avail.txtŃvC[̎pw肵yRyRt邱Ƃł悤ɕύXBiɃIvVݒł܂B(nCfBOƃN[LO͎włȂ悤ɂȂĂ܂B)
makefile CB
(conf/)
battle_athena.conf CB
(doc/)
conf_ref.txt CB
client_packet.txt CB
(map/)
battle.h CB
battle.c
battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CB
battle_calc_pc_weapon_attack()Abattle_config_read() CB
clif.c
clif_mob_class_change()Aclif_spawnmob()Aclif_spawnpet() CB
clif_damage()Aclif_skill_damage()Aclif_skill_damage2() CB
clif_itemlist()Aclif_cart_itemlist()Aclif_storageitemlist() CB
clif_mob0078()Aclif_mob007b()Aclif_pet0078()Aclif_pet007b() CB
pc.c
pc_attack_timer() CB
skill.c
skill_castend_nodamage_id()Askill_additional_effect() CB
skill_status_change_start() CB
mob.h CB
mob.c
mobskill_castend_id()Amob_getfriendstatus_sub() CB
mob_readdb_mobavail() CB

--------------------
//0866 by ҂܂

EMOTD̃bZ[WSĕҏWł悤ɕύXB
EN[XLB
@h̃q[A^bNɂq[K͖eXgłB
EMh󔠉B
@@L[P݂̂łB
@Ɠɂ󔠌̎Zo͓Kł(4‚ƂmȂ̂)B
@OnclockCxgœ삳Ă܂BCӂ̎ɕύXĂB
EAthenaDBvmob_db.txtmapflag.txtĂ܂B

(map/)
pc.c
pc_makesavestatus()Apc_calc_skilltree() CB
pc_allskillup()Apc_calc_skillpoint() CB
pc_resetskill()Apc_authok() CB
skill.c
skill_attack() CB
map.h CB
(conf/)
gvg/TEST_prtg_cas01_AbraiJ.txt CB
motd.txt CB
mapflag.txt CB
(db/)
mob_db.txt CB

--------------------
//0865 by ҂܂

ÊĂAWg̃GyEUłoOCB
EAuC̃Mho[S}X^[Ƃ݂ȂĂoOCB
@̏CɔăXNvgt@Xɉς܂B
Egetcharid(0)ŁAcharIDԂ悤ɁB
Egetguildmasterid()ljB
@=MhID
@YMh̃}X^[charIDԂ܂B

(map/)
guild.c
guild_mapname2gc() ljB
battle.c
battle_calc_damage() CB
script.c
buildin_getcharid() CB
buildin_getguildmasterid() ljB
[Jvg^Cv錾̈ꕔCAljB
guild.h CB

--------------------
//0864 by Ӓ

EinterIwis̏ύX
EONXgdb.hŒ񋟂Ăf[^x[Xgp悤
EWISID16rbg32rbgɑ₵ipPbgCj
EbZ[W̃TCY`FbNꂽ
EpPbgXLbvs”\oOC

(char/)
inter.c
wis֌W啝ύX
(map/)
intif.c
wis֌W̏CBɃpPbgB
(doc/)
inter_server_packet.txt
pPbg3002,3801ύX

--------------------
//0863 by _

EׂCB
Ebattle_athena.confplayer_attack_direction_changeljB
Emob_skill_db.txtC鎞̏CԈďCB
EX^[̃XLCB(eXg)
(conf/)
battle_athena.conf CB
(doc/)
conf_ref.txt CB
(db/)
mob_skill_db.txt CB
(map/)
mob.c
mobskill_use_id()Amobskill_use()Amobskill_castend_id() CB
pc.c
pc_skill()Apc_attack_timer() CB
skill.c
skill_castend_damage_id() CB
battle.h CB
battle.c
battle_weapon_attack()Abattle_config_read() CB

--------------------
//0862 by Ӓ

EmobXLgplj
Efriendhpltmaxrate : HPw聓̂Ƃ(eXgς)
Efriendstatuson : w肵Xe[^XُɂȂĂƂ
Efriendstatusoff : w肵Xe[^XُɂȂĂȂƂ
Emystatuson : w肵Xe[^XُɂȂĂƂ
Emystatusoff : w肵Xe[^XُɂȂĂȂƂ
Xe[^Xn͖eXgłBmob_skill_db.txtɎw@Ă܂B
ƂΎłǂ mystatus,poison ŁA
nCfBOǂ mystatuson,hiding Ŏw肵܂B
EmobXLgp^[Qbglj
Efriend :
Earound : ̎́i݂̎dlł͎81}Xĵǂꂩ
Earound1`around4 : ̎͂X,25,49,81}X̂ǂꂩ(͈͂𖾎)
friend͏friendn(friendhpltmaxrateȂ)̂ƂɎgp”\B
aroundn͏ꏊwXLŎgp”\B

(map/)
mob.c / mob.h
mob_getfriend*()ljAmobskill_use()CȂ
(db/)
mob_skill_db.txt
ŏ̐̂ݏCBf[^͏CĂ܂B

--------------------
//0861 by

ET[o[snapshot

--------------------
//0860 by J

E_̎艺̏Cɍ킹MOBXLDBC
(/conf)
mob_skill_db.txt CB

--------------------
//0859 by qo^.^o
Alchemist warp C(AegisQl)
(/conf)
(/warp)
npc_warp_job.txt C

--------------------
//0858 by _

EׂCB
EMAX_MOBSKILL2432ɕύXB(ł܂[gpʂ܂B)
Ev{P[VŎsmob_skill_db.txtval1(l1)Őݒł悤ɏCB
E艺ŕ̎ނݒo؂悤ɏCB(ő5‚܂)
E^tH[VXƃgXtH[[V̎ނݒł悤ɏCB
(db/)
skill_db.txt CB
mob_skill_db.txt CB
(map/)
skill.c
skill_castend_damage_id()Askill_castend_nodamage_id() CB
map.h CB
mob.h CB
mob.c
mob_readskilldb()Amob_summonslave()Amob_class_change() CB

--------------------
//0857 by J

EOWN Ragnarokɂ̂ĂMOBXLCB
Echase(ˌ)ĂƂ̂ƂȂ̂œˌ(?)chaseɂ
RgAEg͂܂B
E_񂪎MOBXLgp郂X^[ɍڂĂɎB
(/conf)
mob_skill_db.txt

--------------------
//0856 by _

EoOCƍׂCB
Ebattle_athena.confmonster_attack_direction_changeljB
Ebattle_athena.confbasic_skill_checkƃJv̑qɗp킹Ă܂‚̂܂ɂȂȂ̂Ŏ߂B(basic_skill_checknoȂ{@\XLxɊ֌WȂqɂg܂B)
EsA[VOA^bN̎˒3ZɕύXċߐڍUƂĔF悤ɏCB
EAIł̃eXgŃAfbh̔F𑮐ɂĂ邱Ƃ킩̂undead_detect_typẽftHg0ɕύXB
E^tH[VXgXtH[[VŌڂvC[Ȃ0x1b0pPbg𑗂Ȃ悤ɕύXB
Ej[}oO͏CĂ݂܂XLjbg̎Ԃɂ쓮dl͂܂͂SȂ̂ő̕soĂ邩...
(conf/)
battle_athena.conf CB
mapflag.txt CB(ʂ̃_WV[Y[hł͂Ȃ̂)
(conf/npc/)
npc_town_kafra.txt CB
(db/)
skill_db.txt CB
(doc/)
conf_ref.txt CB
script_ref.txt CB
(map/)
pc.c
pc_modifybuyvalue()Apc_modifysellvalue() CB
battle.h
battle.c
battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CB
battle_calc_pc_weapon_attack()Abattle_weapon_attack() CB
battle_config_read() CB
skill.c
skill_unitsetting()Askill_castend_damage_id() CB
skill_castend_nodamage_id() CB
mob.c
mob_attack() CB
pet.c
pet_attack() CB
clif.c
mob_class_change() CB

--------------------
//0855 by asong

E^tH[VXłobƂĕ\lnaw肵ꍇqoOubvCB
E0x1b0pPł͖0x7bgƂʼnƂĂ܂B
EgƂłb̒m򂪏肭܂łB
Evp̛ziHHjȂĂ邩܂B
(/map)
clif.c
mob_class_change() CB

--------------------
//0854 by Kalen

EsĂꎟE]ENGXgljyсAɔWarpAMobC)
(/conf)
(/npc)
npc_job_archer.txt
npc_job_swordman.txt
npc_job_thief.txt(䎌CA_ύX)
npc_job_magician.txt
(/warp)
npc_warp25.txt(ꕔړ)
npc_warp.txt(ꕔړ)
npc_warp_job.txt(V)
(/mob)
npc_mob_job.txt
EՂQuestljyсAɔNPCCBA}csDŗȂC
(/conf)
npc_event_hinamatsuri.txt
npc_town_amatsu.txt
npc_town_guide.txt
npc_town_kafra.txt
ՂLɂƃA}cJvWɁA
Ax^Jv폜ɂ悤ɂĂ܂B

--------------------
//0853 by _

EoOCNPCXL֌W̏CB
E_[NuXMISCUɕύXB(L)
ENeBJXbVAR{A^bNAKCfbhA^bNAXvbVA^bNAuChA^bNAJ[XA^bNAygt@CA^bNA|CYA^bNATCXA^bNAX[vA^bNAX^A^bNA_A^bNA_[NlXA^bNAt@CAA^bNAOEhA^bNAz[[A^bNA|CYA^bNAeLlXA^bNAEH[^[A^bNAEBhA^bNA}WJA^bNAubhhCA^uCJ[̓X^[̕˒ɕύXBẴXLX^[̍U˒ɂĉUƋߋUɂȂ悤ɕύXB
EsA[VOA^bN͕˒+2ɕύXB
EGiW[hCAnVl[V͖@˒ɕύXB
E_[NubVO̎˒4ɕύXƂm50+XLx*5%ɕύXB(ꉞ@Ȃ̂ŏ˒L܂B{@˒ł8ɕςׂȂ̂ǂ͔...)
EKCfbhA^bN̓ZCteBEH[ƃj[}𖳌ɂ񍐂܂̂ŃZCteBEH[ƃj[}Ȃ悤ɏCB
EfBtF_[̓GtFNgo悤ɏCB(XL̎dl킩͏肢܂B)
EgXtH[[VB(^[tHVXƓłB͑SR֌WȂʂ̃X^[ɂȂ镨炵łBjtwCɎg‚݂łB)
EAthenaGkXbh ̓80script_ref.txtƂĒljƂƏCB
(db/)
skill_db.txt CB
(doc/)
script_ref.txt ljB
(map/)
battle.c
battle_calc_damage()Abattle_calc_pet_weapon_attack() CB
battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CB
battle_calc_magic_attack()Abattle_calc_misc_attack() CB
skill.c
castend_damage_id()Acastend_nodamage_id()Askill_use_pos() CB
clif.c
clif_spawnnpc()Aclif_parse_Restart()Aclif_parse_QuitGame() CB
mob.c
mobskill_castend_id()Amobskill_castend_pos() CB
mobskill_use_id()Amobskill_use_pos() CB

--------------------
//0852 by ҂܂

ET4FEaD2FEA}cD1Fe|sAV[Y[hɕύXB
EnosavëSavePointwłĂȂ̂ŒljB
EPVPmapflagmapflag.txtɓB
(map/)
npc.c
npc_parse_mapflag() CB
(conf/)
mapflag.txt CB
npc/npc_pvp.txt CB

--------------------
//0851 by Ӓ

EOC̈ÍkeyɓƂ傫Ȗ肪̂ŏC
EOCǗ҃OC(ladminŎgp)ŃpX[ḧÍɑΉ
(login/)
login.c
login_session_data쐬AÍkeyNCAgƂɍ쐬Ȃ
(tool/)
ladmin
ver.1.05ɁBftHgŃpX[hÍ悤ɁB
Í̂߂Digest::MD5W[gp܂B
Digest::MD5ꍇ̓pX[ḧÍs܂B
(doc/)
admin_packet.txt
OCT[o[ǗOCύX

--------------------
//0850 by _

ENPCXLB(nVl[VAL[sOAbNA^uCJ[Av{P[VAo[A_[NubVOA_[NuX)
EXL̐mob_skill_db.txtł΂̂Ȃ̂Ŏ߂B
Ebattle_athena.confpet_hungry_friendly_decreaseljB
Eybg̕SɌƎxU𒆎~悤ɕύXB
EύXXL쓮ȂCB
E^uCJ[10+XLx*5%SP炷B(U͒ʏ핐XLU)
EbN͕KSP-100AX^mXLx*5%B(_[W͖AbNoWeaponDamageŖ)
Ev{P[V̓[VĂȂX^[͓ĂȂ̌ʂȂB
E_[NubVO͂HP1ɂȂBϐ͖@hœKpB
E_[NuX500+(XLx-1)*1000+rand(0,1000)̃_[WBł邪h䖳ŋߋUZCteBEH[͖ĈőUB({ǏvZɂÔ\͂ȂB_[WʂƖ␳ȊO͖{I킹)
ENPCXL̈ێԂ͓KxɐݒB
EX^[̑UƃKCfbhA^bNZCteBEH[𖳎Ƃ̕񍐂󂯂̂łC邩ǂ͂ƔB(XvbVA^bNZCteBEH[)
(conf/)
battle_athena.conf CB
(doc/)
conf_ref.txt CB
(db/)
cast_db.txt CB
skill_db.txt CB
(map/)
mob.c
mob_damage() CB
clif.h CB
clif.c
clif_skill_estimation()Aclif_damage()Aclif_skill_damage() CB
clif_skill_damage2()Aclif_pet_performance() CB
pet.c
pet_performance()Apet_target_check()Apet_hungry() CB
skill.h CB
skill.c
skill_additional_effect()Askill_castend_damage_id() CB
skill_castend_nodamage_id()Askill_status_change_start() CB
battle.h CB
battle.c
battle_get_def()Abattle_get_mdef()Abattle_calc_damage() CB
battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CB
battle_calc_pc_weapon_attack()Abattle_config_read() CB

--------------------
//0849 by lapis

EX̃eXgMhtO̕\̂CB
EMho[͊AWgɔׂ悤ɏCB
(conf/gvg)
TEST_prtg_cas01_AbraiJ.txt CB

--------------------
//0848 by huge

EXLAHPS񕜂Ă鎞͎gȂ悤CB
EXtBA}CEoCIvgEEE^[QbgύXłȂ...B
EmobɃ^[QbgIDݒł悤ɂ܂B(GvpmobɎgH)
(map/)
map.h CB
mob_data int exclusion_src,exclusion_party,exclusion_guild ljB
mob.h CB
mob.c
mob_exclusion_add() ljB
mob_exclusion_check() ljB
mob_timer_delete() ljB
mob_attack() CB
mob_target() CB
mob_ai_sub_hard_activesearch() CB
mob_ai_sub_hard_mastersearch() CB
mob_ai_sub_hard() CB
skill.c
skill_castend_damage_id() CB
skill_castend_pos2() CB

--------------------
//0847 by _

EIXoOCB
(map/)
clif.c
clif_vendinglist()Aclif_openvending() CB
vending.c
vending_openvending() CB
skill.c
skill_castend_nodamage_id() CB

--------------------
//0846 by _

EoOCƍׂCB
Ebattle_athena.confenemy_strybgɂKp悤ɕύXB
EbHPDrainRatebSPDrainRatex}CiXł쓮悤ɕύXB
EPCNPC̎pX^[ʂ5b}bv悤ɕύXB
(map/)
battle.c
battle_calc_pet_weapon_attack()Abattle_weapon_attack() CB
skill.c
skill_attack()Askill_castend_damage_id() CB
pc.c
pc_allskillup() CB
clif.h CB
clif.c
clif_openvending()Ado_init_clif() CB
clif_clearchar_delay()Aclif_clearchar_delay_sub() ljB
mob.c
mob_damage() CB

--------------------
//0845 by ۂۂ

Emob_avail.txtPCOtBbN(0`23)w肵ybgoƂNCAgG[ł̂bCB
Emob_avail.txtŃybgɂPCL̐ʁE^&FEEEwł悤ɂ܂B
EMOBATKvZSTRKp邩ǂݒ”\ɂB
(map/)
clif.c
clif_pet0078()Aclif_pet007b()Aclif_spawnpet()CB
battle.hCB
battle.c
battle_config_read()Abattle_calc_mob_weapon_attack()CB

--------------------
//0844 by ۂۂ

Emob_avail.txtPCOtBbN(0`23)w肵MOBoƂNCAgG[ł̂bCB
Emob_avail.txtPCL̐ʁE^&FEEEwł悤ɂ܂B
@OtBbNւID0`23̎LŁAw@
MOB-ID,OtBbNւID,(0=female,1=male),^,F,,,i,i,i
@ƂȂ܂Bitem_dbViewQƂ̂ƁB
(map/)
clif.c
clif_mob_0078()Aclif_mob007b()Aclif_spawnmob()CB
mob.hCB
mob.c
mob_get_sex()Amob_get_hair()Amob_get_hair_color()Aob_get_weapon()A
mob_get_shield()Amob_get_head_top()Amob_get_head_mid()Amob_get_head_buttom()ljB
mob_readdb()Amob_readdb_mobavail()CB

--------------------
//0843 by _

EtNgV[hB
EACeXNvgbShortWeaponDamageReturn
bLongWeaponDamageReturn ljB
ȆXL֌W⑼̏CB
(db/)
item_db.txt CB
skill_db.txt CB
cast_db.txt CB
const.txt CB
(doc/)
item_bonus.txt CB
(map/)
map.h CB
battle.c
battle_get_def()Abattle_get_def2()Abattle_calc_pet_weapon_attack() CB
battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CB
battle_weapon_attack()Abattle_calc_magic_attack() CB
pc.c
pc_calcstatus()Apc_bonus()Apc_bonus2()Apc_equipitem() CB
pc_unequipitem()Apc_checkallowskill() CB
skill.c
skill_attack()Askill_unit_onplace()Askill_status_change_start() CB
skill_status_change_end()Askill_status_change_timer() CB
skill_castend_nodamage_id() CB
clif.c
clif_additem()Aclif_equiplist()Aclif_storageequiplist() CB
clif_tradeadditem()Aclif_storageitemadded()Aclif_cart_additem() CB
clif_cart_equiplist()Aclif_vendinglist()Aclif_openvending() CB
clif_damage()Aclif_skill_damage()Aclif_parse_LoadEndAck() CB

--------------------
//0842 by _

EXL֌W̏CƍׂCB
EaegisIŐFXƌ؂KpB
EeI͈̔͂7*7ALoV13*13ASG11*11AFN5*5ɏCB
EVOiB(PVPŃvC[ɂ邩ǂ킩Ȃ̂
ŎB)1EƂ̃XL̓NA...
EXNvgbHPDrainRatebSPDrainRateljB
ȆׂCB
(doc/)
item_bonus.txt CB
(db/)
cast_db.txt CB
item_db.txt CB
const.txt CB
(map/)
map.h CB
skill.c
skill_castend_damage_id()Askill_castend_nodamage_id() CB
skill_unitsetting()Askill_castend_pos2()Askill_castend_id() CB
skill_status_change_start()Askill_status_change_timer() CB
skill_status_change_end()Askill_unit_onplace() CB
skill_frostjoke_scream()Askill_attack() CB
skill_attack_area() ljB
battle.c
battle_calc_magic_attack()Abattle_get_element()Abattle_get_def() CB
battle_get_def2()Abattle_get_mdef()Abattle_damage() CB
battle_calc_damage()Abattle_calc_pet_weapon_attack() CB
battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CB
battle_weapon_attack() CB
mob.c
mobskill_castend_id() CB
pc.c
pc_calcstatus()Apc_bonus2()Apc_attack_timer() CB
clif.c
clif_spawnmob()Aclif_spawnpet()Aclif_spawnnpc() CB
clif_parse_ActionRequest() CB

--------------------
//0841 by Kalen

EntȂ̂Œlj
conf/npc/npc_job_magician.txt

--------------------
//0840 by Kalen

ESCxglj
conf/npc/npc_event_oni.txt

Emap_athena.confC(o^CRgAEgBSlj)
conf/map_athena.conf

--------------------
//0839 by shuto

ERNPClj(J \\Ă)

--------------------
//0838 by _

EXLTCgbV[B
EX^[̃N[LOƃ}LV}CYp[͎Ԃx*5bɕύXB
ȆׂoOCB
(db/)
skill_db.txt CB
(map/)
skill.c
skill_castend_damage_id()Askill_castend_nodamage_id() CB
skill_castend_pos2()Askill_unitsetting()Askill_get_unit_id() CB
skill_status_change_start() CB
battle.c
battle_calc_magic_attack() CB

--------------------
//0837 by _

EXL֌Wׂ̍CB
EtXgm@jbgݒuɕύXB
E[hIu@[~I͈̔͂11*11ɏC40qbg悤ɕύXB(OiQ[g̏B
13*13܂...)
EseT_[̃mbNobN2~7ɕύXB
EXg[KXg̍U񐔂xˑ10ɌŒB
ETN`ÃmbNobN32ɕύXB(aegisIŃmbNobN邱Ƃ͊mF܂ǂꂮ炢Ȃ̂ŝŏ炵Ă݂܂B)
EX^[̉rԂȂĂCB(dex␳Ă܂łB)
ȆI[gXyׂ̍CB
(db/)
skill_db.txt CB
(map/)
skill.c
skill_castfix()Askill_delayfix()Askill_timerskill() CB
skill_castend_pos2()Askill_unitsetting()Askill_castend_damage_id() CB
skill_castend_nodamage_id()Askill_get_unit_id()Askill_attack() CB
battle.c
battle_calc_magic_attack()Abattle_weapon_attack() CB

--------------------
//0836 by ߑ

EX^[̎芪҂̊Ԋu𒆃{XȊOSCB
(db/)
mob_skill_db.txt CB

--------------------
//0835 by ()

EnŃ|[YƂ悤ɂB
(|[YȂ̂ŁAۂɍU󂯎~߂͂ł܂)
clif_bladestop()ĂԂƂŔnԂONAOFF̃pPbg܂B

(map/)
clif.h CB
clif,c
clif_bladestop() lj
skill.c
skill_castend_nodamage_id() CB

--------------------
//0834 by ߑ

EX^[芪҂̊ԊuZƂ̎ʼn}uB(͉峂̂)
(db/)
mob_skill_db.txt CB

--------------------
//0833 by ()

Ememo֎~n/memȍCB
E‚łitem_dbXVB

(doc/)
client_packet.txt
R 0189 XVB
(db/)
item_db.txt ŐVł֍XVB
(map/)
pc.c
pc_memo() CB

--------------------
//0832 by _

ER[hœKƍׂCB
EI[gXynʖ@ɑΉB
ET_[Xg[ƃwYhCujbgݒuɕύXB
EfBtF_[̍Uxቺ{Iɂ킹B
ȆׂCB
(doc/)
item_bonus.txt CB
(db/)
skill_require_db.txt CB
cast_db.txt CB
(map/)
map.h CB
path.c
calc_index()Apath_search() CB
skill.c
skill_unitsetting()Askill_castend_pos2()Askill_get_unit_id() CB
skill_status_change_timer_sub()Askill_castend_nodamage_id() CB
skill_additional_effect()Askill_frostjoke_scream() CB
pc.c
pc_calcstatus()Apc_skill()Apc_allskillup() CB
battle.c
battle_get_speed()Abattle_get_adelay()Abattle_get_amotion() CB
battle_weapon_attack() CB

--------------------
//0831 by _

ECB
EI[gXyCBɂ镨ƃXLɂ镨ʁXɓKpAmCB
EɂI[gXy͎w肵x2‰܂Ŕ܂B‚܂背x5ݒ肷ƃx35܂Ŕ܂B
Ebattle_athana.confplayer_cloak_check_wallAmonster_cloak_check_wallplayer_cloak_check_typeAmonster_cloak_check_typeɕύXB
EACe[gԂ{Iɍ킹ďCB
ȆXL֌Wׂ̍CB
(doc/)
conf_ref.txt CB
db_ref.txt CB
item_bonus.txt CB
(conf/)
battle_athana.conf CB
(db/)
item_db.txt CB
(map/)
map.h
map.c
block_free_maxABL_LIST_MAX CB
skill.h CB
skill.c
skill_additional_effect()Askill_attack()Askill_castend_damage_id() CB
skill_castend_nodamage_id()Askill_unit_onplace() CB
skill_status_change_end()Askill_status_change_start() CB
skill_initunitgroup()Askill_unitsetting()Askill_castfix() CB
skill_delayfix()Askill_autospell()Askill_use_id()Askill_use_pos() CB
skill_check_cloaking()Askill_unit_timer_sub()Askill_check_condition() CB
battle.h CB
battle.c
battle_damage()Abattle_get_agi()Abattle_get_speed() CB
battle_get_adelay()Abattle_get_amotion()Abattle_get_flee() CB
battle_weapon_attack()Abattle_calc_magic_attack() CB
battle_config_read() CB
mob.c
mob_attack()Amob_damage()Amobskill_use_id() CB
mobskill_use_pos()Amob_spawn()Amob_class_change() CB
mob_can_move() CB
pc.c
pc_attack_timer()Apc_checkweighticon()Apc_calcstatus() CB
pc_damage()Apc_equipitem()Apc_unequipitem() CB
pc_bonus2()Apc_bonus3()Apc_memo()Apc_authok() CB
pc_isUseitem() CB
clif.h CB
clif.c
clif_changeoption()Aclif_parse_LoadEndAck()Aclif_autospell() CB
clif_skill_memo() CB
clif_skill_teleportmessage() ljB
script.c
buildin_sc_start() CB
atcommnad.c
atcommand() CB

--------------------
//0830 by huge

EI[gXyŁȀKĂ郌xx
@Ăł낤CB
EI[gXyłASP悤ɏC(ǖY)
(map/)
battle.c
battle_weapon_attack() CB
skill.c
skill_autospell() CB

--------------------
//0829 by Kalen

Emob_dbC
Ip̂ƊԈUPĂ܂悤łB
{̂̂ɒ܂B

--------------------
//0828 by

ET[oSnapshot
EMVP{XnoJX`PbgʂɏoĂCB
(common/)
version.h CB
(db/)
mob_db.txt CB

--------------------
//0827 by J

EŒMOB̂͂̃KXƐlʓĂ̂CB
EZMOBɃXLB
EpTiƃt@IXLݒ肳ĂȂ̂B
(db/)
mob_db.txt CB
mob_skill_db.txt CB

--------------------
//0826 by ҂܂

Eꕔ̉tXLgƎIoOCB
EN[LOɃXLgpłA
@gpƃN[LO悤ɏCB
EKalenmob_db.txt܂Ƃ߂܂B
(map/)
skill.c
skill_unit_onplace()Askill_unit_onout() CB
skill_status_change_start()Askill_status_change_timer() CB
skill_use_id()Askill_use_pos() CB
(db/)
mob_db.txt CB

--------------------
//0825 by _

EׂCB(ׂƂ̂ɂ͏C...)
E[v|[^̒Ɏ~܂ȊO̓[vȂ悤ɏCB
Ebattle_athena.confplayer_skill_nofootsetAmonster_skill_nofootset ljB
ENPCNbNIXNbNĘIX‚ƓȂȂoOCB
IX‚鎞̃pPbg]ĂȂ̂ŘIXNbNNPC̏甲悤ɂ܂B({IłNPC̏Ȃ炵łȊO@Ȃ̂ŁB)
EkillmonsterAllŏꂽX^[悤ɕύXB
E\[XœKXL֌Wׂ̍CB
(doc/)
conf_ref.txt CB
db_ref.txt CB
(conf/)
battle_athana.conf CB
atcommnad_athena.conf CB
(db/)
item_db.txt CB
skill_db.txt CB
(login/)
parse_fromchar() CB
(map/)
map.h CB
clif.c
clif_closevendingboard()Aclif_parse_VendingListReq() CB
clif_mob0078()Aclif_mob007b()Aclif_pet0078()Aclif_pet007b() CB
skill.h CB
skill.c
skill_check_condition()Askill_castend_pos2() CB
skill_castend_damage_id()Askill_castend_nodamage_id() CB
skill_castend_id()Askill_status_change_start()Askill_castfix() CB
skill_delayfix()Askill_check_unit_range_sub() CB
skill_check_unit_range()Askill_castend_pos()Askill_stop_dancing() CB
skill_unit_onplace()Askill_readdb()Askill_timerskill()Askill_blown() CB
skill_check_unit_range2_sub()Askill_check_unit_range2() ljB
skill_get_maxcount() ljB
mob.c
mobskill_castend_id()Amobskill_castend_pos()Amob_deleteslave() CB
mob_stop_walking()Amob_walk()Amob_damage() CB
pc.c
pc_calcstatus()Apc_checkskill()Apc_stop_walking() CB
pc_walk()Apc_damage() CB
npc.c
npc_touch_areanpc() CB
pet.c
pet_stop_walking() CB
script.c
buildin_killmonster()Abuildin_killmonster_sub() CB
battle.h
battle.c
battle_calc_magic_attack()Abattle_get_flee()Abattle_get_flee2() CB
battle_get_adelay()Abattle_get_amotion()Abattle_get_max_hp() CB
battle_get_hit()Abattle_get_critical()Abattle_get_atk2() CB
battle_damage()Abattle_config_read() CB
atcommand.h CB
atcommand.c CB

--------------------
//0824 by ҂܂

EZCteBEH[Ej[}̑ułȂCB
EGyEɃq[̎xXLĂCB
EZŃX^[ZbgłȂCB
@killmonster"killmonster ,"ƋLq
@YeventnameƒX^[폜܂
@eventnameAllƓƊYMAP̑SX^[悤ɂ܂B

(map/)
skill.c
skill_check_unit_range_sub()Askill_castend_nodamage_id() CB
script.c
buildin_killmonster()Abuildin_killmonster_sub() CB
(conf/npc/)
npc_event_tougijou.txt CB

--------------------
//0823 by Kalen

EZf[^̂ŁA
conf/npc/npc_event_tougijou.txt
AŃ`FbNƂkillmonster܂A
sAԐ؂ꂵꍇX^[Zbgo܂B
Cxgݒ肳Ă郂X^[͏łȂ̂Ǝv܂
Agit̂ق̃GyKillmonster͂ƓĂ܂c
肢܂<(_ _)>

Egon_testmapflaglj
conf/mapflag.txt

Emob_dbXV
1419`1491Mob̒`΂Ȃ̂Œlj܂łA
ׂZMob̃f[^ł邱Ƃ܂(DropM)
{Ił͈ł񂲂񍐂Ă܂BADrop󔒂ŏ܂B
NCAgł͓łAʂ̂ߐړG_‚ċʂĂ܂B
mob_skill_db肪Ƃ܂

--------------------
//0822 by ҂܂

EtXLł̕␳_T[ɂKpB
ETN`AoOCB
EKalenMOBXLf[^x[X܂Ƃ߂Ƃ܂B

(map/)
skill.c
skill_status_change_start()Askill_unit_onplace() CB
battle.c
battle_get_critical()Abattle_get_hit() CB
pc.c
pc_calcstatus() CB

--------------------
//0821 by huge

EI[gXyB
EtimerŔ肵悤Ƃv܂A̖I[gXÿׂsc_[].val1Ōă}XB
Ebonus2 bAutoSpellljBꉞǂȃXLłwł悤ɂĂ܂(ԍskill_treeQ)
skill_castend_damage_id̃^CvȊÕXLw肵ȂłB
ḿALv1:50%ALv2:35%ALv3:15%Aȏ 5%ŒłB
ƁAXLxwł܂AE𒴂ƒĂ邩܂B
Fit@CA{gLv3̎jbonus2 bAutoSpell 19,3;

(db/)
const.txt CB
(map/)
battle.c
battle_weapon_attack() CB
clif.h
clif.c
packet_len_table CB
clif_autospell() ljB
clif_parse_AutoSpell() ljB
map.h CB
pc.c
pc_bonus2() CB
pc_equipitem() CB
pc_unequipitem() CB
skill.h
skill.c
skill_castend_nodamage_id() CB
skill_autospell() ljB
skill_status_change_end() CB
skill_status_change_start() CB
status_change̔ԍe[uCB

--------------------
//0820 by ҂܂

EAhũbZ[WĂȂ̂ŏC
Eo[h̉tXLŊy̗K⎩Xe[^X̕␳ĂȂ̂CB
@struct status_changeval3•Kv̂(val4͗\񂳂Ăۂ̂)val5lj܂
(map/)
map.h CB
skill.c
skill_status_change_start()Askill_castend_nodamage_id() CB
skill_castfix()Askill_delayfix() CB
battle.c
battle_get_flee()Abattle_get_max_hp() CB
battle_get_adelay()Abattle_get_amotion() CB
battle_calc_misc_attack() CB
pc.c
pc_calcstatus() CB

--------------------
//0819 by Kalen

ER(NPCAWarp)C
conf/npc/npc_town_gonryun.txt(ē[)
conf/npc/npc_event_tougijou.txt
conf/warp/npc_warp_gonryun.txt(h2FD2FȂ)

EMOBC
conf/mob/npc_monster30.txt(ꔽؖȕslj)
conf/mob/npc_monster35.txt(RMoblj)

EDBC
db/mob_db.txt(R[S]+Eo[`]ljBAspeedKłB܂܂ƂƂ)
db/mob_skill_db.txt(ɃRMoblj)
db/item_db.txt(Athena DB Project 2/19 21:10DL)

--------------------
//0818 by

Ee|[gXLLv1ŁAIEChEoĂȂoOCB
Edʂ90ȏ̏ꍇłAꕔ̃XLgp”\oOCB
E@allskillR}h̏CƂB

(conf/)
msg_athena.conf CB
(map/)
atcommand.c
atcommand() CB
pc.c
pc_allskillup() CB
skill.c
skill_castend_nodamage_id() CB
skill_check_condition() CB

--------------------
//0817 by huge

EfB{[V̏C
Ȅo̓pP̂łł܂AACR͂̕܂ȂłB
EƁÅ‹2lȏɓɊ|Ȃ̂ŁAlɂꍇ
0̗̏2lځA3lځEEEID񂶂ȂȂƂ\łĂ܂B
EnCfBOAyуN[LOɃ_[W󂯂Ɖ悤CB

(map/)
battle.c
battle_damage() CB
clif.c
clif_devotion() CB
pc.c
pc_walk() CB
skill.c
skill.h
skill_castend_nodamage_id() CB
skill_devotion() skill_devotion2() CB
skill_devotion3()skill_devotion_end() CB

--------------------
//0816 by ҂܂
Et@CA[EH[3B
Ed˒u֎~vC[EX^[ɂKp悤ɏCB
EW[NEXN[PvPEGvGŁAʂɂyԃoOCB
@‚łPTo[ɂ͒mł̂B
EW[NEXN[EXsAu[̃fBCCB
@~[WJXgCNE̉rԏCB
(map/)
skill.c
skill_check_condition()Askill_check_unit_range_sub() CB
skill_check_unit_range()Askill_delunitgroup() CB
skill_castend_pos2()Askill_frostjoke_scream() CB
map.h CB
(db/)
cast_db.txt CB

--------------------
//0815 by _

E0814̃oOCƍׂCB
Emapflag monster_noteleportAnoreturnljnoteleport̎dlύXB
noteleport̓vC[̃nGƃe|[gA[vXL̐邪͐Ȃ悤ɕύXAmonster_noteleport̓X^[̃e|[g𐧌镨noreturn͒̎gp𐧌镨łBmapflag.txt͏CĂ܂B(noreturnݒ肷Kv܂B)
Ebattle_athena.confplayer_auto_counter_typemonster_auto_counter_typeʂɋ@\ȂCB
Ebattle_athena.confplayer_cloak_check_wall monster_cloak_check_wall ljB
E{XX^[̔FMVPomode0x20ōsȂĂmodeɂ悤ɕύXB({ĨCxgX^[MVPo邪ԈُɊ|‚炵CBHP1ēłȂƓ|Ȃ炵̂...) ‚܂MVPoĂ{Xł͂ȂX^[邱Ƃ”\łB
EԈُɊ|ԂŐڑؒfłȂ悤ɏCB(^C}[`FbNł͂Ȃopt1opt2`FbN邾Ȃ̂ŌڂςԈُ킾ɓKp܂B)
Eł̂yareCVS(2003N9o[W)œKpĂO炷ׂ̏Ă݂܂BǂȌʂ邩͎ł킩܂B(Ă݂...)
EV[Y[hPVPŋ֎~OĂʂȂoOCB
ȆׂCB
EeXg̕Ȃ肠܂B
(common/)
socket.c
connect_client()Amake_listen_port()Amake_connection() CB
(conf/)
battle_athena.conf CB
(doc/)
conf_ref.txt CB
(map/)
battle.h CB
battle.c
battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CB
battle_calc_magic_attack()Abattle_config_read() CB
skill.c
skill_unit_onplace()Askill_status_change_timer() CB
skill_castend_nodamage_id()Askill_use_id() CB
skill_check_unit_range_sub()Askill_timerskill() CB
skill_additional_effect()Askill_attack()Askill_status_change_start() CB
skill_check_cloaking() CB
clif.c
clif_item_identify_list()Aclif_parse_QuitGame()Aclif_GM_kick() CB
pc.c
pc_attack_timer()Apc_isUseitem()Apc_checkitem CB
mob.c
mob_warp()Amob_walk()Amob_attack()Amob_target() CB
mob_ai_sub_hard_activesearch()Amob_ai_sub_hard_mastersearch() CB
mob_ai_sub_lazy()Amob_damage() CB
npc.c
npc_parse_mapflag() CB
map.h CB

--------------------
//0814 by _

EoOCƍׂCB
Ebattle_athena.confplayer_auto_counter_typemonster_auto_counter_type̎dlύXB({Ił̓XL͂łȂ݂Ȃ̂Őݒł悤ɕύXB)
EłƐΉɂHP{Iɍ킹ďCƊSΉ̑Oł͓悤ɕύXB(ł1b3+őHP1.5%(X^[0.5%)AΉ5b1%) eXg
EMVPol͖{Ił‚悤ɂȂ̂ŏCB
EXeB[̊mB
EX^[̃nCfBOAN[LOA}LV}CYp[ɉCB(X^[ɂSPȂłB芸N[LO̓nCfBO̎ԂKpă}LV}CYp[̓EG|p[tFNV̎ԂKp܂B) eXg
ETN`Al񐔂ɕύXB
EPVPŎ̃gbvɍUΏۂɂȂ悤ɕύXB
EvityieB̓KpŏZh悤ɕύXB(eXg)
ȆׂoOCB
(conf/)
battle_athena.conf
(doc/)
conf_ref.txt
(db/)
skill_db.txt
(map/)
map.h CB
script.c
buildin_itemskill() CB
mob.c
mob_can_move()Amob_ai_sub_hard()Amob_damage() CB
skill.c
skill_unitsetting()Askill_unit_onplace()Askill_castend_nodamage_id() CB
skill_attack()Askill_status_change_start() CB
skill_status_change_timer()Askill_status_change_timer_sub() CB
skill_addtimerskill()Askill_cleartimerskill() CB
skill_check_unit_range_sub() CB
battle.c
battle_calc_damage()Abattle_check_target() CB
battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CB
battle_calc_pc_weapon_attack() CB
pc.c
pc_steal_item() CB
clif.c
clif_parse_WalkToXY()Aclif_closevendingboard() CB

--------------------
//0813 by Kalen
ERNPClj
conf/npc/npc_town_gonryun.txt(NGXg͕s
conf/npc/npc_town_kafra.txt
conf/npc/npc_town_guide.txt
(conf/npc/npc_event_tougijou.txt)f[^s

ESGvGMAPMobf[^lj
conf/mob/npc_monster_gvg.txt

ETESTmobeXgMhtOړ
conf/gvg/TEST_prtg_cas01_AbraiJ.txt

--------------------
//0812 by huge

EfB{[V̉
EpPbgSR܂ł̂ŁA
‚oȂAACR\ł܂B
E_ړŁAmbNobNEI[gK[h͓K܂B

(map/)
clif.c
clif.h
clif_devotion() ljB
skill.c
skill_castend_nodamage_id() CB
skill_devotion() skill_devotion2() ljB
skill_devotion3() skill_devotion_end() ljB
skill_status_change_end() CB
skill_status_change_start() CB
skill_brandishspear_first() CB
skill_brandishspear_dir() CB
pc.c
pc_authok() CB
pc_walk() CB
pc_damage() CB
battle.c
battle_damage() CB
map.h
map_session_data{}
struct square dev ljB
skill.h brandishsquareɉA
(common/) mmo.h Ɉړ

--------------------
//0811 by ҂܂

EU钆͒g悤ɏC
EW[NEXN[(PTo[ɒmʼn]X͖ł)
EGVGXNvgC(s낵ĂǂǂoĂ܂c)
@GVGXNvgɊւĂłAm̃oO܂
@́ÃMh}X^[ȊOPCÃMh}X^[NPCɘb|
@}bvT[oƂ̂łB
@́AgetguildmasterEgetguildnamegpĂXNvgׂĂɋN蓾邱Ƃł
@ɐ̃Mh}X^[ȊOŘb|ƁAguild_searcĥ(YID̃Mhɂւ炸)
@NULLԂɋN܂B
@XNvg֌W͂悭킩ĂȂ̂ŁA͎̋Zpł͏Ĉ悤܂B
@bIȑΏƂNULLԂMAPI邭炢Ȃ當unullvԂ悤ɂ܂B

(map/)
skill.c
skill_frostjoke_scream() ljB
skill_additional_effect()Askill_timerskill() CB
skill_castend_nodamage_id() CB
pc.c
pc_isUseitem() CB
script.c
buildin_getpartyname()Abuildin_getguildname() CB
buildin_getguildmaster() CB
(db/)
cast_db.txt CB
(conf/gvg/)
ev_*.txtȊOtxtSĂCB

--------------------
//0810 by

EMVP̏ύXB(m10000ĂÃACeo悤ɂ܂)
EMVPő肵ꍇAӒς݂œ肵ĂCB
EXLrɃCOtg勾gƃv[[̎gp”\
@SXLLV1ɌŒ肳Ă܂CB
EI[NA[`[AX^[ɂ㩃XL̗L؂ꂽƂɁA
@ݒupgbvoCB
EOCG[(pX[h̓~XBAN)̃G[bZ[W
@NCAgɒʒmȂCB
ȆׂȏCB
(common/)
version.h CB
(login/)
login.c
parse_login() CB
parse_fromchar() CB
(char/)
int_guild.c
mapif_parse_GuildLeave() CB
(map/)
itemdb.c
itemdb_read_itemnametable() CB
atcommand.c
atcommand() CB
skill.c
skill_unit_timer_sub() CB
script.c
buildin_itemskill() CB
mob.c
mob_damage() CB

--------------------
//0809 by Kalen

EΏ郏[v|CgC
EA}ciC
EoOX129̖CH


--------------------
//0808 by ҂܂

E肭삵ĂȂ̂CB
EnEMhGvGJnɍ悤ɕύXB
EGvGJnɊY}bvɂSPC(̃MhȊO)Z[u|Cgɖ߂悤ɏCB
EnEMhAWgŃGy󂷂ƁAnE悤ɏCB
@̏Cɔmaprespawnguildid̈flag̎dlύX܂
@flag̓rbgtOɂȂA
@@1rbgځF̃MhZ[u|Cgɖ߂
@@2rbgځF̃MhȊOZ[u|Cgɖ߂
@@3rbgځFGyEK[fBAȊOMOB
@A0=NOA1=YESɂȂ܂

(conf/gvg/)
ev_agit_aldeg.txt CB
ev_agit_gefg.txt CB
ev_agit_payg.txt CB
ev_agit_prtg.txt CB
TEST_prtg_cas01_AbraiJ.txt CB
TEST_prtg_cas01_mob.txt CB
(map/)
pc.c
pc_checkitem() CB
script.c
buildin_maprespawnguildid_sub() CB
buildin_maprespawnguildid() CB

--------------------
//0807 by _

E0805FD_SETSIZEC鏊Ԉ̂ŏC܂B56~܂肪ƌۏ؂͂܂...
Exɓ]pPbg̒32768bytes65536bytesɕύXB
(common/)
mmo.h CB
socket.h CB
socket.c CB

--------------------
//0806 by Kalen

EagittH_gvgtH_ֈڍs
ӌƎv܂AjROł͍UgvgƌĂԂƂʓIȂ̂łɓ܂B
conf/gvg/
###agittH_폜Ă###@(Please delete the "agit" folder.)
getmasterΉ

EA}c̎ioOCƍڒlj(thx 114
conf/npc/npc_town_amatsu.txt

Emap_flagďC
conf/map_flag.txt
[GVGMAP]mɏɃV[Y[hȂȂłA폜܂̂
ɃV[Y[hł͂܂B]ĉ(ԊO)ɂ͎}Ae|g܂
ԑOɎ}TA܂Ă܂񂪕󔠒D”\ɂȂ̂Ŏ}Ae|͏Ɏgps‚ŖȂƎv܂B

O񏑂Y܂AmomotaroCxgłAƕsȉ”\܂B
킩Ȃ̂łA[vĂ邩܂BꉞRgAEgĂ܂

--------------------
//0805 by _

ECB
EV[Y[hł̃e|[g֎~Ö؂̎}gp֎~̓\[Xx
Ă̂mapflag.txt폜B(݂nopenalty\[Xx
Ă܂B)
Ebattle_athena.confagit_eliminate_timegvg_eliminate_timeɕύXB
E@R}h@GM폜B
EFD_SETSIZEcygwin64ɐݒ肳Ă̂ōőڑl56
zƃ}bvI[vCB(eXgłȂȂ̂Ŗ{ɑvɂȂǂ͕słB܂ł̗\ɂȂł...)
ÊłǂǂCoĂȂ̂ŏCt@CB
(conf/)
atcommand_athena.conf
battle_athena.conf
mapflag.txt
(db/)
castle_db.txt
(doc/)
conf_ref.txt
(common/)
mmo.h
(login/)
login.c
(char/)
inter.c
int_guild.c
(map/)
atcommand.h
atcommand.c
battle.h
battle.c
chrif.c
guild.h
guild.c
intif.h
intif.c
map.h
map.c
mob.c
npc.c
npc.h
script.c
skill.c
pc.c
makefile

--------------------
//0804 by ߑ

EAx^̂ʂ݃Cxgł̂ʂ݂ƃT[o[oOC

(conf/npc/)
npc_event_doll.txt CB

--------------------
//0803 by ҂܂

GvGŃGyEgvg_eliminate_time̒lɊւ炸ɑދĂoOC
GvG̃ZtꕔC
interIcastle.txtȂƋNFXȃG[C
help.txtC(@gvgstart@agitstart]X)

(conf/)
gvg/TEST_prtg_cas01_AbraiJ.txt CB
agit/ev_agit_prtgJ.txt CB
help.txt CB
(map/)
int_guild.c
inter_guild_init() CB

--------------------
//0802 by Michael_Huang

Added NPC Script - 'GetGuildMaster' Command.
(common/)
version.h
Mod_Version 0802
(map/)
script.c
buildin_getguildmaster_sub() buildin_getguildmaster()

--------------------
//0801 by Kalen
EA}cC
@@Õf[^AĂf[^Ȃǂ𒲍C
conf/npc/npc_town_guide.txt
conf/npc/npc_town_amatsu.txt
conf/npc/npc_event_momotaro.txt
conf/npc/npc_event_alchemist.txt
conf/mob/npc_monster35.txt
conf/warp/npc_warp_amatsu.txt
Emap_flagC
[GVGMAP]}Ae|͏Ɏgps
EGVG֌W
0800̃R}hɑΉ

--------------------
//0800 by Michael_Huang

Added Agit NPC Script & Command.
Fix FreeBSD GCC compatibility.
Attachment Agit Demo NPCs.

(char/)
int_guild.c
mapif_guild_castle_dataload() mapif_guild_castle_datasave()
int mapif_parse_GuildCastleDataLoad() int mapif_parse_GuildCastleDataSave()
inter_guild_parse_frommap() inter_guildcastle_tostr() inter_guildcastle_fromstr()
inter.c
inter_send_packet_length[] inter_recv_packet_length[]
(common/)
mmo.h
GLOBAL_REG_NUM, struct global_reg {}
version.h
Mod_Version 0799.
(conf/)
atcommand_athena.conf
agitstart: 1,agitend: 1
battle_athena.conf
agit_eliminate_time: 7000
map_athena.conf
conf/agit/ev_agit_*.txt
(doc/)
conf_ref.txt
battle_athena.cnf
agitdb_ref.txt
(login/)
login.c
parse_login()
(map/)
atcommand.h
agitster, agitend

atcommand.c
@agitstart, @agitend
battle.h
battle_config.agit_eliminate_time
battle.c
battle_config_read()
chrif.c
chrif_changedsex() chrif_connectack()
guild.h
guild_agit_start() guild_agit_end() guild_agit_break()
guild.c
guild_read_castledb() do_init_guild()
guild_agit_start() guild_agit_end() guild_agit_eliminate_timer() guild_agit_break()
intif.h
intif_guild_castle_dataload() intif_guild_castle_datasave()
intif.c
packet_len_table[] intif_guild_castle_dataload() intif_guild_castle_datasave()
intif_parse_GuildCastleDataLoad() intif_parse_GuildCastleDataSave() intif_parse()
map.h
agit_flag
map.c
agit_flag
npc.h
npc_event_doall() npc_event_do()
npc.c
npc_event_do_sub() npc_event_do()
script.c
buildin_maprespawnguildid() buildin_agitstart() buildin_agitend()
buildin_getcastlename() buildin_getcastledata() buildin_setcastledata()
skill.c
skill_unit_onplace()
skill_gangster_count()

--------------------
//0799 by ҂܂

EGvGׂ̈inter-mapԂ̒ʐMdlύX
E0798̃RpCG[C(byoO񍐃X82)
(login/)
login.c
parse_login() CB
(map/)
intif.c
packet_len_table[] CB
intif_parse_GuildCastleInfo() CB
intif_parse_GuildCastleChange()intif_parse_GuildCastleChangeErr()ɉECB
intif_parse() CB
guild.c
guild_read_castledb() CB

(char/)
inter.c
inter_send_packet_length[] CB
int_guild.c
inter_guildcastle_tostr() CB
inter_guildcastle_fromstr() CB
mapif_parse_GuildChangeCastle() CB
mapif_parse_GuildCastleInfo() CB
mapif_guild_castle_info() CB
mapif_guild_change_castle()mapif_guild_change_castle_err()ɉECB
(common/)
mmo.h CB
version.h CB

--------------------
//0798 by Ӓ

Elogin-server̃OCspPbg̒̂C
Elogin-serverɃANZXRg[@\lj
Elogin_athena.cnforder,allow,denyLq邱ƂŁA
IPP(Ov)ŃANZX֎~@\B
Ew@ doc/conf_ref.txt Q

(doc/)
conf_ref.txt
login_athena.cnf̕C
(login/)
login.c
O[oϐ access_* lj
parse_login()C,check_ip()lj

EAJEg쐬pCGIXNvglj
EȐӔCڍׂȉA₳ĂX[”\L
EGfB^ŊJ班L
ECGIݒů{킩ΖȂ͂
EbZ[W͉pA{ꗼΉ
iAccept-LanguagejaȂ{ɕϊ܂j
EǗ҃pX[hȂœ̂ŃZLeBɂ͒(.htaccessȂǐ)

(tool/cgi/)
addaccount.cgi
AJEg쐬pCGIB


(tool/)
backup
castle.txtobNAbv悤

--------------------
//0797 by _

ECB
Ebattle_athena.conf̍ڕύXB(lootitem_time 폜Aitem_first_get_timeA
item_second_get_timeAitem_third_get_timeAmvp_item_first_get_timeA
mvp_item_second_get_timeAmvp_item_third_get_time ljB)
EACe[g𐳂BŏUł͂Ȃ^_[W
ʂɂĎ^悤ɕύXB(ŏ̂݃eXg)
p[eB̏ꍇp[eB̐ݒɍ킹Kv܂܂pPbg
sȏדp[eBȂł悤ɂȂĂ܂B
E{EOobṼoOCB(Cꂽ͂...)
EXNvgbonusbSplashRangebSplashAddRangeljB
bSplashRangebSplashAddRange͕Ń_[W^̂ݔAʏ̕UȂ̂Ŕ邪(Flee2ɂ銮S͕s”\)N͏oȂ悤ɂȂĂĕɂԈُ͔܂B{IdlȂĒm܂B
EXL̏d˒u{Iɍ킹ďCB
Emapflaggvg͂‚ȂĂ킯Ȃ̂ō폜B
ȆׂCB
athena-start CB
(common/)
mmo.h CB
(conf/)
mapflag.txt CB
battle_athena.conf CB
(db/)
const.txt CB
item_db.txt CB
(doc/)
conf_ref.txt CB
item_bonus.txt CB
(map/)
mob.c
mob_spawn()Amob_damage()Amob_class_change()Amob_warp() CB
mob_delay_item_drop()Amob_delay_item_drop2() CB
mobskill_castend_pos() CB
pc.c
pc_takeitem()Apc_dropitem()Apc_equipitem() CB
pc_calcstatus()Apc_bonus() CB
skill.c
skill_attack()Askill_additional_effect()Askill_castend_damage_id() CB
skill_castend_nodamage_id()Askill_produce_mix() CB
skill_arrow_create()Askill_unit_timer_sub()Askill_castend_pos() CB
map.h CB
map.c
map_addflooritem() CB
script.c
buildin_getitem() CB
pet.c
pet_return_egg()Apet_get_egg()Apet_unequipitem() CB
battle.h CB
battle.c
battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CB
battle_calc_pc_weapon_attack() CB
battle_weapon_attack()Abattle_config_read() CB

--------------------
//0796 by huge

EׂC
(conf/npc/)
npc_event_valentine.txt CB

(map/)
pc.c
pc_takeitem() CB
skill.c
skill_unit_timer_sub() CB

--------------------
//0795 by Kalen

EGk341npc_warp_niflheim.txtlj
conf/warp/npc_warp_niflheim.txt

Emapflag.txtC(GVGMAPݒ)
@nosave͂Ă܂

Emap_athena.conf̏C
@umbala niflheim̒lj
@RgAEgĂ܂B

Eo^CXNvglj
conf/npc/npc_event_valentine.txt
@`RBDrop͘MĂ܂BD݂łǂ
@A`RHׂƂ̃GtFNg
@ŐVNCAgɂΌ܂B

EGVGScriptlj
conf/gvg/ȉ
@Weissɍ쐬̂AthenapɃRo[g&䎌C
@prtg_cas01ȊO݂͊̂łB
@GVGDATA͎IċNŏł܂B
@G[o悤ȂRgAEgĂB
@MobDataAScriptprtg_cas01݂̂łB(TestScript)
@܂ŃeXgXNvgłBGVG̎Qlɂǂ

--------------------
//0794 by DRG

EskillusedŎw肵IW,QMȂǂɂ̂ĂMOBXLgp悤ɕύX
EAbvXR7athena-startꉞ܂߂Ƃ܂

athena-start
(map/)
skill.c
skill_unit_onplace() CB

--------------------
//0793 by huge

ET[o[snapshot
ET[o[NbVoOC
E㩂AݒupgbvԂĂ悤ɏCB
E[gŁAp[eB[̃L͂E悤ɏCB
EoO񍐃XR >>54 ̃oOCB
EOCɃT[o[ID\悤ɂ܂B
(login/)
login.c
parse_login() CB
(conf/npc/)
npc_event_doll.txt CB
(map/)
skill.c
skill_unit_timer_sub() CB
mob.c
mob_spawn_dataset() CB
mob_damage() CB
pc.c
pc_additem() CB

--------------------
//0791 by

E}bvT[oNbVoOCB
ECOtgĂWFKvɂȂCB
EPvPҎB
EPvPŃUNVoȂCB
ȆׂȏCB
(map/)
guild.c
mob.c
pc.c
skill.c

--------------------
//0790 by _

EoOCB
(conf/)
battle_athena.conf 뎚CB
(doc/)
conf_ref.txt 뎚CB
(common/)
mmo.h CB
(map/)
itemdb.h CB
map.h CB
skill.c
skill_check_condition()Askill_use_pos()Askill_unit_onplace() CB

--------------------
//0789 by huge

EhbvACeɃ[gB
EŏɍUlȊOhbvACeE܂ł̎Ԃݒł悤ɁB
(/conf)
battle_athena.conf ڒljB

(/doc)
conf_doc.txt ljB

(/map)
battle.h
Battle_Config{} CB
battle.c
battle_config_read() CB
itemdb.h
item_data {} CB
map.h
flooritem_data {} CB
mob_data {} CB
map.c
map_addflooritem() CB
mob.c
delay_item_drop{} CB
mob_spawn() CB
mob_damage() CB
mob_delay_item_drop() CB
mob_warp() CB
pc.c
pc_takeitem() CB

--------------------
//0788 by

EcardXL̏HCB
E@allskillR}h̍ďCB

(map/)
pc.c
pc_skill() CB
pc_allskillup() CB

--------------------
//0787 by ۂۂ

Eybgɂmob_avail.txt̐ݒKp悤ɂB
EMOBXLskillusedval10ƂXLɑ΂Ĕ悤ɂB
EskillusedŔXL̑ΏۂAPCɂ邩ǂݒł悤ɂ(IWnȂǁH)B
(/map)
clif.c
clif_pet0078()Aclif_pet007b()CB
mob.c
mobskill_use()CB
skill.c
skill_attack() Askill_castend_damage_id()CB
battle.h
battle.c
battle_config_read()CB

--------------------
//0786 by huge

EBDSC
O琁΂čsƗǂȂȂ̂ŁA납珈
L͈͂̏C

(/map)

skill.h
skill.c
skill_castend_damage_id() CB
skill_castend_nodamage_id() CB
skill_brandishspear_first() CB
skill_brandishspear_dir() CB

--------------------
//0785 by _

E{Iɍ킹ďCB(؍Ƃ̃pb`noticeQlďC܂B)
EBBBS̃LXeBOԂ0.7bɂăfBC0ɕύXB
Eghost̕ςɃ}bvړ̖GԂݒB̎Ԃ̊Ԃ͂ǂȍU󂯂ȂړUAXLgpAACegpł̎Ԃ͂ȂȂ܂BV[Y[hł̖͂GԂ2{ƂēKpB
EV[Y[hŎłoȂ悤ɏCB(mapflagnopenaltyݒ肷Kv͂܂B)
EXLbhŊׂ鋗B
EɒقɂĂΏۂɃbNXfBr[igƒق悤ɕύXB
E􂢂ɂƈړx悤ɏCB
Ebattle_athena.confɍڕύXB
EXL̏d˒u𔻒fύXB
EHP̎R񕜎Ԃ4bł͂Ȃ6bƂ킩̂ŃftHgCbattle_athena.confCB
ȆׂCoOCB
EwǃeXgĂ܂B
(conf/)
atcommand_athena.conf CB
battle_athena.conf CB
(doc/)
conf_ref.txt CB
(db/)
cast_db.txt CB
(map/)
atcommand.c CB
clif.c
clif_mob0078()Aclif_mob007b()Aclif_skill_estimation() CB
clif_mob_class_change()Aclif_parse_WalkToXY() CB
clif_parse_ActionRequest()Aclif_parse_LoadEndAck() CB
clif_parse_UseItem()Aclif_parse_UseSkillToId() CB
clif_parse_UseSkillToPos()Aclif_parse_UseSkillMap() CB
mob.h CB
mob.c
mob_get_viewclass()Amob_attack()Amob_target() CB
mob_ai_sub_hard_activesearch()Amob_ai_sub_hard() CB
mobskill_castend_id()Amobskill_castend_pos() CB
skill.h CB
skill.c
skill_can_produce_mix()Askill_castend_damage_id() CB
skill_castend_nodamage_id()Askill_castend_id() CB
skill_castend_pos()Askill_use_id()Askill_readdb() CB
skill_check_condition()Askill_unit_onplace()Askill_unitsetting() CB
skill_additional_effect()Askill_check_unit_range() CB
skill_check_unit_range_sub()Askill_status_change_end() CB
skill_status_change_start() CB
pc.h
pc.c
pc_ghost_timer()Apc_setghosttimer()Apc_delghosttimer() 폜B
pc_gvg_invincible_timer() -> pc_invincible_timer()ɕύXB
pc_setgvginvincibletimer() -> pc_setinvincibletimer()ɕύXB
pc_delgvginvincibletimer() -> pc_delinvincibletimer()ɕύXB
pc_authok()Apc_attack_timer()Apc_calcstatus() CB
pc_setrestartvalue()Apc_damage()Apc_allskillup() CB
do_init_pc() CB
battle.h CB
battle.c
battle_config_read()Abattle_weapon_attack()Abattle_check_target() CB
battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CB
battle_calc_pc_weapon_attack()Abattle_get_speed() CB
map.h CB
map.c
map_quit() CB

--------------------
//0784 by

EJ[hXLoĂԂ@allskillR}hgpmap-server\CB

(map/)
pc.c
pc_allskillup() CB

--------------------
//0783 by huge

EufBbVXsȀC
͈͎wA΂߂̍ۂ̊iq͈́AU͌vZ
ĂƎvłǁAC}C`MĂȂEEE
(Ql)݂Ƃꑃ -XL֘A
EXyuCJ[ƏC
Ev{bNMVPmobɌȂ悤C
EoO񍐃XR >>8 ŕ񍐂ꂽ̂̎荞

(/db)
create_arrow.txt CB
skill_db.txt CB

(/map)
battle.c
battle_calc_pet_weapon_attack() CB
battle_calc_mob_weapon_attack() CB
battle_calc_pc_weapon_attack() CB

skill.h
skill.c
skill_brandishspear_first() ljB
skill_brandishspear_dir() ljB
skill_castend_nodamage_id() CB
skill_castend_damage_id() CB
skill_unit_group() CB

--------------------
//0782 by ҂܂
E@allskillR}h̎gpQƂĂȂoOC
(/map)
atcommand.c
atcommand() CB

--------------------
//0781 by Chunglyeng
Eoh, _T[y
(/map)
skill.c CB

--------------------
//0780 by reia
EyRyR̗ȂǂzƃmrɂȂĂ܂CB
EGMR}hu@kickallv̊ԂɂɂȂĂ̂ŏCB

(/conf)
atcommand_athena.conf CB
(db/)
mob_skill_db.txt CB
(map/)
atcommand.c
atcommand_config_read() CB

--------------------
//0779 by

ESXL擾R}h̒ljB
EGMőSXLo悤ɂĂꍇAXL̐EƂ͈ꕔ̃XL\Ȃ܂B̏ꍇ̓OĉB
@allskill : ݂̐EƂŎ擾”\ȑSXL擾B(NGXgXL܂)

(conf/)
battle_athena.conf CB
help.txt CB
(map/)
atcommand.h CB
atcommand.c
atcommand() CB
pc.h CB
pc.c
pc_allskillup() ljB
(doc/)
conf_ref.txt CB
help.txt CB

--------------------
//0778 by huge

EXyuCJ[̏C
ELXeBO^C̖XLɂ͌Ȃ悤ɏCB
Egpꂽ̏SP̏CB

(map/)
skill.c
skill_castend_nodamage_id() CB

--------------------
//0777 by ҂܂

EMhU퉼
@E{IȕĂȂA‚̓_Ŗ{IƑႪ܂B
@EUJnƏI@R}hōs܂
@gvgstart : UJn
@gvgend : UI
@Ebattle_athena.confɍڒljB
(char/)
int_guild.c
inter_guild_init()Ainter_guild_readdb()Ainter_guild_save() CB
inter_castle_save_sub()Amapif_guild_castle_info() ljB
mapif_guild_change_castle()Amapif_parse_GuildCastleInfo() ljB
mapif_parse_GuildChangeCastle() ljB
inter.c
inter_config_read() CB
inter_send_packet_length[]Ainter_recv_packet_length[] CB
int_guild.h CB
(map/)
atcommand.c
atcommand()Aatcommand_config_read() CB
battle.c
battle_config_read() CB
guild.c
guild_castle_search()Aguild_read_castledb()ljB
do_init_guild() CB
guild_gvg_init()Aguild_gvg_final()Aguild_gvg_final_sub() ljB
guild_gvg_eliminate()Aguild_gvg_eliminate_sub() ljB
guild_gvg_eliminate_timer()Aguild_gvg_empelium_pos() ljB
guild_gvg_break_empelium() ljB
intif.c
intif_parse()Apacket_len_table[] CB
intif_parse_GuildCastleInfo()Aintif_parse_GuildCastleChange() ljB
intif_guild_castle_info()Aintif_guild_castle_change() ljB
mob.c
mob_damage() CB
atcommand.h CB
battle.h CB
guild.h CB
intif.h CB
mob.h CB
(common/)
mmo.h CB
(conf/)
battle_athena.conf CB
inter_athena.conf CB
msg_athena.conf CB
atcommand_athena.conf CB
(db/)
castle_db.txt ljB
--------------------
//0776 by _

ENPCXLzB(mob_skill_db.txtval1g܂B)
Emob_skill_db.txt̊m番疜ɕύXB(mob_skill_db.txt̏C͂Ă܂B)
EX^[_uA^bNCB(Cꂽǂ̎M͂܂...)
ȆׂCB
(db/)
mob_skill_db.txt CB
skill_db.txt CB
(map/)
map.h CB
mob.h CB
mob.c
mob_spawn_dataset()Amob_spawn() CB
mob_changestate()Amobskill_use() CB
mob_class_change() ljB
npc.c
npc_parse_mob() CB
battle.c
battle_check_target() CB
clif.h CB
clif.c
clif_mob_class_change() ljB
skill.c
skill_castend_nodamage_id() CB

--------------------
//0775 by _

EV[Y[h̏CB
EV[Y[h̖GԂ̊Ԃ͂ǂȍU󂯂Ȃ悤ɏCB
EV[Y[h̖GԂԐ؂ɂȂOɂ͉Ȃ悤ɏCB
Ebattle_athena.confɍڒljB
E@hide/hideɂGMnCfBO͎ɎgpXLȊÕXLgpU󂯂Ȃ悤ɏCB
EnCfBOnXLȊO̍U󂯂Ȃ悤ɏCB(gbvN@O}CÃXL͉e󂯂邩ǂsȂ̂ō܂łƓ悤ɉe󂯂悤ɏB)
EglhCüړx{Iɍ킹܂B
ȆoOCׂCB(wǖeXg)
(conf/)
battle_athena.conf CB
(doc/)
conf_ref.txt CB
(map/)
battle.h CB
battle.c
battle_check_target()Abattle_calc_damage() CB
battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CB
battle_calc_pc_weapon_attack()Abattle_calc_magic_attack() CB
battle_calc_misc_attack() CB
battle_config_read()Abattle_weapon_attack() CB
pc.h CB
pc.c
do_init_pc()Apc_authok() CB
pc_attack()Apc_attack_timer() CB
pc_setgvg_ghosttimer()Apc_delgvg_ghosttimer()
pc_setgvginvincibletimer()Apc_delgvginvincibletimer()ɏCB
pc_gvg_invincible_timer() ljB
pc_attack_timer()Apc_steal_item()Apc_calcstatus() CB
clif.c
clif_parse_ActionRequest()Aclif_parse_UseItem() CB
clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() CB
clif_parse_UseSkillMap()Aclif_parse_WalkToXY() CB
map.h CB
map.c
map_quit() CB
mob.c
mob_attack()Amob_target()Amob_ai_sub_hard_activesearch() CB
mob_ai_sub_hard_mastersearch()Amob_ai_sub_hard() CB
mob_damage()Amobskill_castend_id()Amobskill_castend_pos() CB
skill.c
skill_castend_damage_id()Askill_attack() CB
skill_castend_id()Askill_castend_pos()Askill_castend_map() CB

--------------------
//0774 by qo^.^o
EMonk job bouns C
EhPr C
(db/)
job_db2.txt C
pet_db.txt C

--------------------
//0773 by

EׂoOC
(map/)
skill.c CB
battle.c CB

--------------------
//0772 by ҂܂

EV[Y[hňȉ̓_C
@EAčUłȂȂĂoOC
@E_[WyݒłȂoOC
@EGԎBbattle_athena.confgvg_ghost_timeŐݒł܂

EnCfBOŖ@UłȂoOC

(map/)
skill.c
skill_attack()Askill_unit_onplace()Askill_check_condition() CB
clif.c
clif_parse_ActionRequest()Aclif_parse_UseItem() CB
clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() CB
clif_parse_UseSkillMap()Aclif_parse_WalkToXY() CB
pc.c
do_init_pc()Apc_authok() CB
pc_attack()Apc_attack_timer() CB
pc_setgvg_ghosttimer()Apc_delgvg_ghosttimer() ljB
pc_gvg_ghost_timer() ljB
map.c
map_quit() C
battle.c
battle_config_read()Abattle_weapon_attack() CB
battle.h CB
pc.h CB

--------------------
//0771 by huge

EXyuCJ[
(map/)
skill.c
skill_castend_nodamage_id() CB
(db/)
skill_db.txt CB

--------------------
//0770 by

E”n̏ύX
ȆoOC
(map/)
battle.c CB
itemdb.c CB
mob.c CB
script.c CB

--------------------
//0769 by _

EV[Y[hCB
EGԂ̕ghost_timerȊO̕@Ŏ‚Ȃ̂ō͍폜Ă܂B
EXNvgviewpoint삵ȂCB
Eproduce_db.txtCB(skill_require_db.txtŏĂ܂BăACe̐0ɂΏՂ͂ȂǍ鎞KvȃACeɂȂ܂B)
ȆׂCB
(conf/)
battle_athena.conf CB
(doc/)
conf_ref.txt CB
(db/)
produce_db.txt CB
(map/)
battle.h CB
battle.c
battle_calc_damage()Abattle_calc_weapon_attack() CB
battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CB
battle_calc_pc_weapon_attack()Abattle_calc_magic_attack() CB
battle_calc_misc_attack()Abattle_check_target()Abattle_config_read() CB
skill.c
skill_unit_onplace()Askill_castend_damage_id()Askill_castend_id() CB
skill_use_id()Askill_use_pos()Askill_check_condition() CB
skill_can_produce_mix() CB
pc.c
pc_attack_timer()Apc_attack()Apc_isUseitem()Apc_delitem() CB
pc_damage() CB
mob.c
mob_damage()Amobskill_use_id()Amobskill_use_pos() CB
script.c
buildin_viewpoint()Abuildin_emotion() CB
makefile CB

--------------------
//0768 by ҂܂

EV[Y[hŁAȉ̓_C
@ESZ[u|Cgɋ҂悤ɏC
@ẼACegpłȂ悤ɏC(AeByCgEnG̉H)
@ẼXLgpłȂ悤ɏC([v|[^EobNXebvECeB~fCgEe|[gECfA)
@EMhɂ͖ōUłȂ悤ɏC
@EG΃Mhɂ͖ōUł悤ɏC
@EGԒ͗҂ƂUłȂ悤ɏC

\[XxŃe|AnG̎gpւĂ邽ߍUMAPmapflagnoteleport͕Kv܂
܂AGԂghost_timerˑłB‚܂battle_athena.confghost_timeGԂɂȂ܂

(map/)
skill.c
skill_castend_damage_id()Askill_castend_id() C
skill_check_condition() C
pc.c
pc_damage() C
battle.c
battle_weapon_attack() C

--------------------
//0767 by huge

Et@[}V[ŁȀC
E퐻DBŁA‚Ă̂C

(map/)
skill.c CB
(db/)
produce_db.txt CB

--------------------
//0766 by ҂܂

EV[Y[hŁAȉ̓_C
@EKMhFȂƃGyEɍUȂ悤ɏC
@EGyEɑ΂XLUȂ悤ɏC
@E@UAUA㩂̃_[W␳
@@@UF50%@UF75%@㩁F60%
@@͐lɂGyEɂKp܂
(map/)
battle.c
#include "guild.h" lj
battle_calc_damage()Abattle_calc_weapon_attack() C

--------------------
//0765 by ҂܂

E
Ei͊Y}bvɈړۂɎIɑOA
@đłȂȂ܂
Eł̂͑î݂łBJ[hނ͐ł܂
(db/)
item_noequip.txt lj
(map/)
itemdb.h C
itemdb.c
do_init_itemdb()Aitemdb_search() C
itemdb_read_noequip lj
pc.c
pc_checkitem()Apc_isequip() C

--------------------
//0764 by _

ESẴ_[W1ɂȂh100001000000ɕύXB
Ebattle_athena.confɍڒljB
EX^[olႤ{Î悤ɏCB
EXLX[|CYB
EoOCB
ȆׂCB
EeXg͖wǂĂ܂B
(db/)
mob_db.txt CB
skill_db.txt CB
(doc/)
conf_ref.txt CB
db_ref.txt CB
(conf/)
battle_athena.conf CB
(map/)
makefile CB
battle.h CB
battle.c
battle_get_def()Abattle_get_mdef() CB
battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CB
battle_calc_pc_weapon_attack()Abattle_calc_magic_attack() CB
battle_calc_misc_attack()Abattle_config_read() CB
skill.h CB
skill.c
skill_castend_nodamage_id()Askill_castend_damage_id() CB
skill_check_condition()Askill_status_change_timer() CB
skill_status_change_end()Askill_status_change_start() CB
skill_additional_effect()Askill_produce_mix()Askill_unit_timer_sub() CB
skill_check_unit_sub() skill_check_unit_range_sub()ɕύXB
skill_check_unit_range() ljB
skill_castend_pos()Askill_area_sub_count() CB
mob.c
mobskill_castend_pos()Amob_damage() CB
clif.c
clif_parse_TradeRequest()Aclif_parse_TradeAck() CB
clif_parse_TradeAddItem()Aclif_parse_TradeOk() CB
clif_parse_TradeCansel()Aclif_parse_TradeCommit() CB
map.h CB
map.c
do_init() CB
pc.c
pc_calc_skilltree()Apc_calcstatus() CB
tarde.c
trade_tradeack() CB

--------------------
//0763 by Ӓ

ET[o[snapshot
tH_𐮗̂ŒӂĂB
ȑÕZ[uf[^(account.txtȂ)savetH_ɒuĂ
cnft@C͊et@C̃pXςĂ̂ŁA
̌Â̂Rs[ł͂ȂAVȂĂB

EtH_
conftH_
NPC֘Aconf/npc/AMOBzu֘Aconf/mob/AWARP֘Aconf/warp/
eXgTvconf/sample/Ɉړ܂B
dbtH_
sampletH_̂db֌W db/sampleɈړ܂B
help.txt/motd.txt
conftH_Ɉړ܂
account.txt/athena.txt/guild.txt/party.txt/pet.txt/storage.txt
savetH_Ɉړ܂
tool/backup
pXC

Emotd.txt/help.txt̃pXmap_athena.cnfŎwł悤
map.h/map.c/atcommand.c/atcommand.hC

Eathena-startrestartIvVlj
./athena-start restartAthenaċN܂

--------------
//0761 by ۂۂ

EMOBMDEF10000ȏw肵Ăt@CAs[ŕʂɃ_[W^Ă܂̂CB
(map/)
battle.c

--------------
//0760 by ll3y

EC
(map/)
script.c

--------------
//0759 by qo^.^o
EXsANCbP C
EDancer skill tree C
(db/)
cast_db.txt C
skill_tree.txt C

--------------
//0758 by hack
EPut GM messages into msg_table which is loaded from msg_athena.conf.
(Easy to translate into other language)
(map/)
atcommand.h
atcommand.c
msg_conf_read() Read conf/msg_athena.conf
Put messages into msg_table which is loaded from msg_athena.conf.
map.c
do_init()
(conf/)
msg_athena.conf Store the message of atcommand, easy to translate into other language.

--------------
//0757 by Michael
(map/)
script.c
buildin_viewpoint()
Fix packet sequence of viewpoint command.

--------------
//0756 by ll3y

EInterix(Windows Services for Unix 3.5)ŃRpCʂ悤ɏC
Interop Systems(http://www.interopsystems.com/)gmakezlibĂ邩A
OInterixppӂKv܂B
(common/)
socket.h CB

--------------
//0755 by _

EoOCƐljB(񍐂ꂽ̂͑SďCꂽ̂...)
E0751ŃXL̍ő僌x100܂Őݒł悤ɂ܂B
Ecast_db.txtɓĂԈُ̈ێԂ͎KxɓꂽłB{I̎dlȂĒm܂̂ŁB
(doc/)
db_ref.txt CB
(db/)
cast_db.txt CB
skill_db.txt CB
(map/)
skill.h CB
skill.c
skill_check_unit_sub()Askill_castend_id()Askill_use_id() CB
skill_status_change_end()Askill_status_change_start() CB
skill_castend_map() CB
mob.c
mobskill_castend_id()Amobskill_castend_pos() CB
pc.c
pc_calcstatus() CB
battle.c
battle_calc_pc_weapon_attack()
battle_calc_mob_weapon_attack()
battle_calc_magic_attack()

--------------
//0754 by qo^.^o
(db/)
cast_db.txt C

--------------
//0753 by

EIW̔|Cgw肷ƃeĨGtFNg؏oȂȂ
@肪Ă̂ŏCB
EwarningoȂ悤ɃR[hCB
(map/)
skill.c
skill_castend_pos2() CB
chrif.h

--------------
//0752 by ҂܂

EchangesexXNvgBʂ𔽓]邱Ƃł܂
@ʔ]́ÃvC[͋Iɐڑؒf܂
@܂A_T[Eo[ȟ݊͂Ȃł
@_T[Eo[hXbgǂɋAJEgł̔]́Aȉ̓_ɒӂĉ
@EK]Oɂ̃LN^[XLZbgĂ
@@̂܂ܔ]ƁAʂXL(y̗K)cȂȂĂ܂܂
@E_T[Eo[hp𑕔Ăꍇ́AOĂ甽]Ă
@@̂܂ܔ]ƁÃLN^[̊Jn
@@NCAgG[o܂io邾ŁA邱Ƃ͂Ȃ̂łcj
Ef[^x[XC by qo^.^o
(map/)
chrif.c
packet_len_table[]Achrif_parse()C
chrif_changesex()Achrif_changedsex()lj
chrif.h C
(char/)
char.c
parse_frommap()Aparse_tologin()C
(login/)
login.c
parse_fromchar()C
(db/)
cast_db.txt C
skill_require_db.txt C

--------------
//0751 by _

Eskill_db.txtcast_db.txt̕ύXskill_require_db.txt̒ljB
EłɂHP悤ɕύXBHP1bɍőHP1%܂B(eXg)
EΉis̕ƊSȕɕHP悤ɕύXB(1bɍőHP1%)ubVOŊSΉ悤ɏCB(eXg)
En^[̃gbvɃGtFNgBh}CƃVbNEF[u͔GtFNgoȂ悤łBh}C̓t@CAs[̔GtFNgo悤ɕςĂ܂B
EI[gJE^[̕`FbN悤ɕύXƖ{Idlɍ킹܂B
EobNX^u`FbN悤ɕύXB
ECeB~fCg̏ύXB
EfBtF_[̈ړx{Iɍ킹܂BASPD͏Ȃ
(30 - (skilllv*5))%悤ɂ܂{Ił̂̏肢܂B
EglhCuLV1ňړx150312ɂȂ̂mFČvZύX܂xɂĂǂꂮ炢邩͕słB߂܂B(̌vZ͓KxɍłB)
E|[V̌vZύXƂƏCB
EꕔnʃXL̏d˒u֎~B
EbNoMagicDamageŖ@ɂُXe[^XAbvʂoȂ悤ɏCB(UNVȊO̖@͖ɂȂ܂B)
Ebattle_athena.confɍڒljB
ȆFXƏCB
EύXꂽskill_db.txtAcastdb.txtƒljꂽskill_require_db.txt̍\͍̏mȂ̂db_ref.txtɐlj\Ȃ̂ł܂ł͂̕ύX͍TĂB
(char/)
int_guild.c CB
(conf/)
battle_athena.conf CB
(doc/)
conf_ref.txt CB
(db/)
skill_db.txt CB
skill_require_db.txt CB
cast_db.txt CB
(map/)
battle.h CB
battle.c
battle_counttargeted()Abattle_calc_pet_weapon_attack() CB
battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CB
battle_weapon_attack()Abattle_config_read() CB
skill.h CB
skill.c
skill_attack()Askill_castend_damage_id() CB
skill_castend_nodamage_id()Askill_status_change_start() CB
skill_check_condition()Askill_castend_pos() CB
skill_use_id()Askill_use_pos() CB
skill_status_change_timer()Askill_status_change_start() CB
skill_check_unit_sub() ljB
pc.h CB
pc.c
pc_damage()Apc_counttargeted()Apc_counttargeted_sub() CB
mob.h CB
mob.c
mob_countslave()Amob_counttargeted()Amob_counttargeted_sub() CB
mobskill_use()Amob_can_move()Amob_damage() CB
mobskill_use_id()Amobskill_use_pos()Amobskill_castend_id() CB
mobskill_castend_pos() CB
map.c
map_quit() CB

--------------
//0750 by CHRIS

EXL֌WDB𒲐
(db/)
skill_db.txt
cast_db.txt
skill_require_db.txt

--------------
//0749 by _

EFXƕύXƏCB
EXL̎dlύXAԈُ̎dlύXB
EXL̎gpdbɐݒł悤ɕύXB
Eskill_db.txtcast_db.txt̎dlύXB
E}bvI̖[v”\镔CB(܂ł”\
̕łB[v̌Ƃ͒fł܂B)
Egbv̔B(ۂɓ͂܂CĂ܂B
ڂςłB)
Ebattle_athena.confɍڒlj폜B
E0748̏C폜ƕCB
Eskill_db.txtAcast_db.txtAskill_require_db.txt̕܂ĂȂ̂
Ȃ̗ʂ̃XL삵܂B(db_ref.txtɐݒ@Ȃ
Ȃ̂łԂȂ̂...) ďC͂܂eXg
wǂĂ܂̂ŒӂĂB
(char/)
char.c CB
int_party.h CB
int_party.c CB
int_guild.h CB
int_guild.c CB
int_pet.h CB
int_pet.c CB
int_storage.h CB
int_storage.c CB
char͑̕債C͂Ă܂B
(conf/)
battle_athena.conf CB
(doc/)
conf_ref.txt CB
(db/)
skill_db.txt CB
cast_db.txt CB
skill_require_db.txt ljB
produce_db.txt CB
(map/)
map.h CB
map.c
map_check_dir() ljB
map_readmap()Amap_addblock()Amap_delblock() CB
map_foreachinarea()Amap_foreachinmovearea() CB
map_addflooritem() CB
pc.h CB
pc.c
pc_spiritball_timer()Apc_addspiritball()Apc_delspiritball() CB
pc_steal_item()Apc_steal_coin()Apc_calcstatus() CB
pc_checkallowskill()Apc_jobchange()Apc_checkweighticon() CB
pc_damage()Apc_equipitem()Apc_walk()Apc_stop_walking() CB
pc_authok()Apc_counttargeted()Apc_counttargeted_sub() CB
pc_damage()Apc_setpos() CB
skill.h CB
skill.c
skill_get_range()Askill_get_sp()Askill_get_num() CB
skill_get_cast()Askill_get_delay() CB
skill_get_hp()Askill_get_zeny()Askill_get_time() ljB
skill_get_time2()Askill_get_weapontype() ljB
skill_get_unit_id()Askill_blown()Askill_additional_effect() CB
skill_attack()Askill_castend_damage_id() CB
skill_castend_nodamage_id()Askill_castend_id() CB
skill_castend_pos()Askill_unit_onplace() CB
skill_unit_timer_sub_onplace()Askill_unitsetting() CB
skill_use_id()Askill_use_pos()Askill_check_condition() CB
skill_status_change_end()Askill_status_change_timer() CB
skill_status_change_start()Askill_can_produce_mix() CB
skill_produce_mix()Askill_gangsterparadise() CB
skill_gangster_out()Askill_gangster_in() CB
skill_gangster_count() ljB
skill_readdb() CB
battle.h CB
battle.c
distance()Abattle_counttargeted()Abattle_get_range() ljB
battle_get_dir() ljB
battle_get_maxhp()Abattle_get_str()Abattle_get_agi() CB
battle_get_vit()Abattle_get_dex()Abattle_get_int() CB
battle_get_luk()Abattle_get_flee()Abattle_get_hit() CB
battle_get_flee2()Abattle_get_critical()Abattle_get_baseatk() CB
battle_get_atk()Abattle_get_atk2()Abattle_get_def() CB
battle_get_def2()Abattle_get_mdef()Abattle_get_speed() CB
battle_get_adelay()Abattle_get_amotion()Abattle_get_party_id() CB
battle_get_guild_id()Abattle_get_size() CB
battle_check_undead() ljB
battle_check_target()Abattle_addmastery() CB
battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CB
battle_calc_pc_weapon_attack()Abattle_weapon_attack() CB
clif.h CB
clif.c
clif_skillinfo()Aclif_skillinfoblock()Aclif_skillup() CB
clif_item_skill()Aclif_changeoption()Aclif_parse_LoadEndAck() CB
clif_01ac() ljB
clif_parse_WalkToXY()Aclif_parse_ActionRequest() CB
clif_parse_TakeItem()Aclif_parse_DropItem() CB
mob.h CB
mob.c
mobskill_castend_id()Amobskill_castend_pos() CB
mobskill_use_id()Amobskill_use_pos()Amob_heal() CB
mob_spawn()Amob_damage()Amob_walk() CB
mob_stop_walking()Amob_warp()Amob_counttargeted() CB
mob_counttargeted_sub()Amob_countslave() CB
mob_attack()Amob_target()Amob_ai_sub_hard_activesearch() CB
mob_ai_sub_hard_mastersearch()Amob_ai_sub_hard() CB
script.c
buildin_sc_start() CB
path.c
can_move() CB
pet.c
pet_data_init()Apet_stop_walking() CB
npc.c
npc_parse_warp()Anpc_parse_shop()Anpc_parse_script() CB

--------------
//0748 by Michael
(map/)
pc.c
pc_walk();
Fix Player cannot move in ICEWALL but have Path.
mob.c
mob_walk();
Fix Monster cannot move in ICEWALL but have Path.
path.c
can_move();
Fix Player&Monster cannot move in ICEWALL.

--------------
//0747 by
EybgGomap-server邱ƂCB
(map/)
clif_parse_SendEmotion() CB

--------------
//0746 by Michael
(map/)
script.c
Add Script command - checkoption(type);
Attach a npc_testchkoption.txt npc script!

--------------
//0745 by ҂܂
EMOX^[p_CX
EPvPGAmapflagC(mȂƎv܂)
EV[Y[hŃmbNobNoOC
ECeB~̒xԂ
(map/)
skill.c
skill_attack()Askill_additional_effect()C
skill_gangsterparadise()Askill_gangster_in()Askill_gangster_out()lj
clif.c
clif_parse_ActionRequest()C
mob.c
mob_target()Amob_attack()C
mob_ai_sub_hard()Amob_ai_sub_hard_mastersearch()C
mob_ai_sub_hard_activesearch()C
map.h C
skill.h C
(conf/)
npc_pvp.txt C

--------------
//0744 by

EACXEH[AeIXg[̃R{ŃeIXg[̃GtFNg\ȂȂCB
EHPzXL̃GtFNgCB
Ebattle_athena.confɍڒljB
EpPׂ̍CB
(conf/)
battle_athena.conf
(doc/)
conf_ref.txt
(map/)
battle.c
battle.h
clif.c
pc.c
pet.c
skill.c

--------------
//0743 by J

E芪Ȃǂ{IɎׂ̏CB
@Ɩ{IXɂSX̎芪CB
@f[^[̋ƒñXLtɂȂĂ̂CB
(db/)
mob_skill_db.txt C

--------------
//0742 by ҂܂

ECeB~fCg
@Uƃ[v̕ʂ܂Ȃ̂
@SC_INTIMIDATEgĒx܂
Eskill_db̌뎚C
(map/)
skill.c
skill_additional_effect()Askill_castend_map()C
skill_castend_nodamage_id()AC
skill_status_change_start()Askill_status_change_end()C
map.h C
skill.h C
(db/)
skill_db.txt C

--------------------
//0741 by whitedog

snapshot

--------------
//0740 by ۂۂ
EPCMOBɃ^QꂽƂ3CڂhƉ悤ɂB
@1Cɂ‚10%Ah5%܂B
(map/)
pc.h
pc.c
pc_counttargeted()Apc_counttargeted_sub()lj
battle.c
battle_get_flee()Abattle_get_def()Abattle_get_def2()CB

--------------
//0739 by
Et@CA[EH[̐ݒunXL\ȂCB
E}XtBAƃT_[Xg[̃_[W\ȂȂCB
EHPznXLœG񕜂ĂGtFNgo悤CB
(map/)
skill.c
skill_castend_damage_id() CB
battle.c
battle_calc_misc_attack() CB
clif.c
clif_getareachar_skillunit() CB
clif_skill_setunit() CB

--------------
//0738 by ҂܂
EXg[KXgSɖ{IdlɏC(3ŐΓԂ̓GSGȂ)
ETtMEɂoOC
(map/)
skill.c
skill_additional_effect()Askill_attack()C
skill_castend_nodamage_id()C
map.h C

--------------
//0737 by ۂۂ
EANĂGɌȂ&̓GɌ̂CB
(map/)
skill.c
skill_unit_onplace()Askill_unit_onout()C
mob.c
mob_stop_walking()C

--------------
//0736 by ҂܂
EԈُϐʎԂɂyԗlɏCBƓŌʎԂ܂
EXg[J[X̌ʎԂiv}WXev
EU󂯂Ƀybg̎xU󂯂Ȃ悤C(RgAEg)
@VIT^Ƀybgtĕu邾ŎŃxグł̂
@h߂̎bIȏuł
(map/)
skill.c
skill_castend_nodamage_id()Askill_addisional_effect()C
skill_status_change_start()C
pc.c
pc_damage() C

--------------
//0735 by ۂۂ

EG|ăxオƂPT͈͂̃`FbN悤ɂB
EI[gJE^[B
@˒`FbN͂Ă܂B܂^C~O܂B
@MOBXLƂĎgƂ̓^[QbgselfɂĂB
(conf/)
battle_athena.confڒlj
(doc/)
conf_refC
(map/)
battle.h
battle.c
battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack()
battle_config_read()C
pc.c
pc_checkbaselevelup()Apc_attack_timer()C
skill.c
skill_castend_nodamage_id()Askill_status_change_start()C
clif.c
clif_parse_WalkToXY()C
mob.c
mob_attack()C

--------------
//0734 by _

Eplayer_skillup_limit̏CƍׂCB
Eplayer_skillup_limityes̏ꍇskill_tree.txtŐݒ肳Ă邻̉ʐEƂ
XLc[g܂̂ł̐EƂł͖Ȃ͂̃XLo邱Ƃ
܂͎dlłoOł͂܂BoO񍐂Ă܂B
(doc/)
conf_ref.txt CB
(char/)
char.c
mmo_char_sync_timer()Ado_init() CB
inter.c
inter_init() CB
inter_save_timer() 폜B
(map/)
pc.c
pc_calc_skilltree() CB
pc_resetskill() CB

--------------
//0733 by _

EoOCƍׂCB
E񂾌ɂɃZ[u|Cgɖ߂炸ɂ΂炭uĂƁA
uĂ鎞ԂɂČoloOCB(eXg)
Emob_availe.txtŐݒ肵X^[ɃX^[gƗCB
Ebattle_athena.confɍڒljB
ȆׂCB
(conf/)
battle_athena.conf CB
(doc/)
conf_ref.txt CB
(map/)
clif.c
clif_skill_estimation()Aclif_parse_Restart() CB
pc.c
pc_setrestartvalue()Apc_makesavestatus() CB
pc_read_gm_account()Apc_calc_skilltree() CB
pc_calc_skillpoint() ljB
map.c
map_quit() CB
mob.c
mob_damage() CB
skill.c
skill_unit_timer_sub()Askill_unit_timer() CB
battle.h CB
battle.c
battle_config_read() CB

--------------
//0732 by Kalen

Enpc_town_kafra.txt̑Sʌ
Jvp̔p~
qɗp{I(jRO)Ɠꉿiɒ
J[ggp{I(jRO)Ɠꉿiɒ
|CgQƕύX
Wm[̃Z[u|CgC
A}c̃Z[u|CgC

--------------
//0731 by ۂۂ

E̐Fۑ邩battle_athena.confőIł悤ɁB
@Q̂ŕۑȂ悤ɂƏĂ̂ŃftHgł͕ۑ܂B
EXNvglj
@strcharinfo(1) ̃p[eB[擾܂B
@strcharinfo(2) ̃Mh擾܂B
@getcharid(1) ̃p[eB[ID擾܂B
@getcharid(2) ̃MhID擾܂B
@getpartyname(ID) IDŎw肵p[eB[̖O擾܂B
@getguildname(ID) IDŎw肵Mh̖O擾܂B
(map/)
battle.h
battle.c
battle_config_read()C
pc.c
pc_makesavestatus()C
script.c
buildin_strcharinfo()C
buildin_getcharid()Abuildin_getpartyname()Abuildin_getpartyname_sub()
buildin_getguildname()Abuildin_getguildname_sub()lj

--------------
//0730 by ҂܂

EXg[KXg̓Ԃ{Iɂ킹ďC(XLxɊ֌WȂ̓(10b)ɂȂ܂)
EX^AÈŁAفAł̏Ԉُ펞Ԃ́upvłȂ悤ɏC
EԈُ킪|ɂĂ̂MOB̏Ԉُϐɘa(܂邩)
(map/)
skill.c
skill_castend_nodamage_id()Askill_addisional_effect()C
skill_status_change_start()C

--------------
//0729 by DRG

EJ[g{[VJ[gȂŎgs̏C
EJ[g{[VJOBLV30Ŋoꂽ̂C
(conf/)
npc_event_skillget.txt
J[g{[VC
(map/)
skill.c
skill_check_condition()C

--------------
//0728 by ۂۂ

EEςĂMh̐EƗXVȂs̏CB

(char/)
inter.c
pPbgXgCB
int_guild.c
mapif_guild_memberinfoshort()Amapif_parse_GuildChangeMemberInfoShort()A
inter_guild_parse_frommap()C
(map/)
intif.h
intif.c
intif_guild_memberinfoshort()Aintif_parse_GuildMemberInfoShort()
intif_parse()C
guild.h
guild_send_memberinfoshort()Aguild_recv_memberinfoshort()C


--------------
//0727 by

E팤XLɂăzOȂǂ̐BNPC
@ɓ삵ȂCB

(map/)
pc.c
pc_percentrefinery() CB

--------------
//0726 by Ӓ

Emob_skill_db2.txtmob_skill_db.txtI[o[Ch悤ɏC
IWiMOBgpAsMOB̎gpXLύXꍇɁB

Emob_skill_db.txtmob_id̎̃_~["clear"ꍇA
MOB̃XL@\ljB
Emob_skill_db2.txtłMOB̃XLSɏƂɎgp
B
EclearȂꍇmob_skill_db.txt̂̂ɒlj܂B

mob.c
mob_readskilldb()C


EACe/MOBSp12i24oCgjACe/MOBA
@R}hŎ/łȂCB
mob.c
mobdb_searchname()C
itemdb.c
itemdb_searchname_sub()C

EݎŃCxgNuvCxgv@\lj
EOnInitƓ悤ɂꂼNPCŁAOn`Ŏn܂郉x`܂B
OnMinute?? FA??ɃCxgN܂B(0-59)
OnHour?? FA??ɃCxgN܂B(0-23)
OnClock???? FA????ɃCxgN܂B
OnDate???? FNA????ɃCxgN܂B
Eڂ npc_test_ev.txt Q

(conf/)
npc_test_ev.txt

(map/)
npc.c
FXC


clif.c
RpCxoȂ悤ɏC

--------------
//0725 by _

EIoOCB
EX^[ɃCxgݒ肳ĂĎEȂɂŃ_[W^
ȂꍇImȂ̂ł̃}bvɂvC[𗘗p
CxgXNvgs悤ɕύXB
(map/)
makefile CB
mob.c
mob_timer()Amob_damage() CB

--------------
//0724 by _

EoOCƈ艻ׂ̈̏CB
Eybg̍UŃCxgꂸIɂȂCB(eXg)
EX^[̑ʔŎICB(X^[10000CĂ
@œ|Ƃ5eXgBȂ‚̂݁B)
E芪{XƈꏏɎʎACe𗎂ƂȂ悤ɕύXB(eXg)
Ebattle_athena.confpc_skillfleeplayer_skillfreeɕύXďύXB
EACXEH[skill_unit_settinggXLōUłȂ悤ɏCB
ȆׂCB艻ꂽǂ͂܂킩܂XP1800+A512MAX^[zu50%10000CĈُȂ̂ővɂȂƎv܂BvȂĂӔC͂Ƃ܂...
(conf/)
battle_athena.conf CB
(doc/)
conf_ref.txt CB
(map/)
mob.h CB
mob.c
mob_timer()Amob_deleteslave_sub()Amob_damage() CB
npc.c
npc_event() CB
skill.c
skill_area_sub()Askill_unit_onplace()Askill_castend_nodamage_id() CB
clif.c
clif_parse_GMKick() CB
battle.h
battle.c
battle_damage()Abattle_check_target()Abattle_config_read() CB
pc.c
pc_calc_skilltree()Apc_checkskill() CB
map.h CB
map.c
map_foreachinarea()Amap_foreachinmovearea() CB
map_foreachobject() CB

--------------
//0723 by DRG

E0719̏C
(map/)
pc.c pc_calc_skilltree()C

--------------
//0722 by pC

Egcc 2.29nłRpCʂ悤ɏCB
@͈ȑOɂ͂Ȃ̂łAȂɖ߂Ă܂̂
@F񒍈ӂ肢܂B
@ƁAgcc3nȂ萔͂ǂɏĂȂ̂łA
@gcc2.29nł́uKubNvf̈ԍŏvɏȂƃRpC
@ʂ܂̂łӊ肢܂B

RpCʂ
void hoge() {
const char booboo = 1;
c

RpCʂȂ
void hoge() {
c
const char booboo = 1;
c

(map/)
skill.h }NC
skill.c skill_addisional_effect()C

--------------
//0721 by

E{XɃbNXfr[iCB
E{XɃJ[hɂԈُ킪ȂCB
@{Ił̓}iJ[hŃI[Nq[[ȂǂƎX܂B
@(\Ȏ@Ȃ̂ŁA肪ꍇ
@ ̕ӏڂ܂CĂĂ(^^; ))

--------------
//0720 by Ӓ

EPCIWd˂MOBUĂȂC
EIWɏdȂĂĂAאډ”\ȂMOBߊĂ܂
EǂȒn`ɂĂAאڂĂȂU”\ɂȂ܂
EAMOBU”\ŁAU͈͓PCĂA
אڕs”\ȂUĂ܂B̉͂Ȃʓ|Ȃ̂ŁB

mob.c
mob_can_reach()C
battle.c
battle_check_range()C

--------------
//0719 by DRG

EʃXLȂꍇ͏ʃXLӂȂ悤ɂ܂B
@battle_athena.confskillfleeŐݒ”\łB
@ʃXLȂ܂܏ʃXLӂԂŁÃIvVgꍇ̓XLZbgKv܂B
@ʃAJɃXLZbgƂɎgĂĉB
(conf/)
battle_athena.conf
(map/)
battle.c
battle.h
pc.c pc_calc_skilltree(),pc_checkskill()C

--------------
//0718 by _

EFXƏCB
EłɂĖh䂪悤ɕύXB(HP͂܂܂B)
EACXEH[ɍUł悤ɕύXB(͑SĂ̍Uɓ܂B)
Ƃ̃oO炵ACXEH[NbNƈƂ0x89pPbg30ȏAőĂ邱ƂN܂͕słBƂ̃oOƎv܂...)
E퓬ɊւvZCB
E[joOCB(ł̃oO͂ȂȂƎv܂ǂȂ̂񍐂肢܂B)
E񓁗̍蕐̎푰AASizẽ_[W␳E蕐ɓKp邩ǂݒł悤ɕύXB
ȆC͂͂łoĂ܂B(CĂȂ܂diffĂ̓rłǂƂ̂Yꂽ̂...)
(common/)
mmo.h CB
(conf/)
battle_athena.conf CB
(doc/)
conf_ref.txt CB
(map/)
battle.h CB
battle.c
battle_get_baseatk()Abattle_get_speed()Abattle_get_adelay() ljB
battle_get_amotion() Abattle_calc_pet_weapon_attack() CB
battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CB
battle_get_atk()Abattle_get_atk_()Abattle_get_atk2() CB
battle_get_attack_element()Abattle_get_attack_element2() CB
battle_get_str()Abattle_get_agi()Abattle_get_vit()Abattle_get_int() CB
battle_get_dex()Abattle_get_luk()Abattle_get_flee() CB
battle_get_flee2()Abattle_get_hit()Abattle_get_critical() CB
battle_get_def()Abattle_get_def2()Abattle_get_mdef() CB
battle_get_element()Abattle_check_target()Abattle_check_range() CB
battle_weapon_attack()Abattle_config_read() CB
clif.c
clif_skill_estimation()Aclif_mob0078()Aclif_mob007b() CB
pc.c
pc_attack_timer()Apc_attack()Apc_calcstatus()Apc_payzeny() CB
pc_getzeny() CB
npc.c
npc_buylist()Anpc_selllist() CB
pet.c
pet_attack()Apet_randomwalk()Apet_ai_sub_hard() CB
mob.h CB
mob.c
calc_next_walk_step()Amob_attack()Amobskill_castend_id() CB
mobskill_use_id()Amobskill_use_pos()Amob_ai_sub_hard() CB
mob_damage()Amob_changestate() CB
mob_get_adelay()Amob_get_speed() 폜B
skill.h CB
skill.c
skill_unitsetting()Askill_unit_ondamaged()Askill_unit_timer_sub() CB
skill_unit_timer()Askill_area_sub()Askill_unit_onplace() CB
skill_status_change_start() CB
chat.c CB
makefile CB
chrif.c CB
guild.c CB
itemdb.c CB
map.c CB
party.c CB
script.c CB
path.c CB

--------------
//0717 by

EʂɃX^[҂Ĉxɓ|map-serverCB
@(Jz100̂҂50eXĝŋ炭vƎv܂B)
Ȇ\ׂC
(common/)
mmo.h
(map/)
chat.c
chrif.c
clif.c
guild.c
itemdb.c
map.c
mob.c
npc.c
party.c
path.c
pc.c
pet.c
script.c
skill.c
skill.h

--------------
//0716 by

EBɑ΂BS̕팤KpĂȂCB
(map/)
pc.c
pc_percentrefinery() CB

--------------
//0715 by _

E}bvT[o[\镨\邩ǂ̐ݒ肪ł悤ɂ܂BXL\łȂĂƃT[o[ȂyɂȂ܂B
JoOg[X͕̎\邱Ƃ߂܂B
ȆׂCB
ECSďȂ̂Ńt@CB
(doc/)
conf_ref.txt
(conf/)
battle_athena.conf
(map/)
makefile
skill.c
script.c
pet.c
pc.c
path.c
party.c
npc.c
itemdb.c
intif.c
guild.c
chat.c
battle.h
battle.c
chrif.c
atcommand.c
clif.c
mob.c
map.c

--------------
//0714 by _

EׂCB
EV[hu[ŏ̏dʂƐBɂă_[W悤ɏCBB_[W𑫂KpŃ_[W+d+B*4(4refine_db.txt̖h̉ߏ萸B{[iXgĂ̂ŕύX”\łB)ɂȂ܂B
EXLɂ鐁΂0x88pPbggĂ܂̃pPbg̗D揇ʂȂႢ炵ŗpPbgɂĖ邱Ƃ悤Ȃ̂ŃvC[ɓKpăX^[ɂ0x78g悤ɕύX܂B
łʒu͊SɂȂȂȂ悤łB(炭Ƃ̃oOƎv܂BI
WmFĂ݂܂I͖̕肪܂łB)
vC[̏ꍇ0x78(PACKETVER4ȏȂ0x1d8)g܂BgĂ܂̂...
EoO񍐃Xbh2 47荞݂܂B
ȆCB
(db/)
refine_db.txt CB
item_db.txt CB
(map/)
battle.c
battle_stopattack()Abattle_stopwalking() CB
battle_get_attack_element2()Abattle_calc_pc_weapon_attack() CB
battle_weapon_attack() CB
path.c
path_blownpos() CB
pc.h CB
pc.c
pc_stop_walking()Apc_damage() CB
pc_getrefinebonus() ljB
mob.c
mob_damage() CB
pet.c
pet_target_check()Apet_stop_walking()Apet_performance() CB
skill.c
skill_attack()Askill_blown()Askill_status_change_start() CB
skill_castend_damage_id() CB
makefile CB

--------------
//0713 by ۂۂ

Emob_avail.txtljBitem_avail.txtƓl̎wŃX^[̌ڂ𑼂ID̂̂ɕύX܂B
@X^[IDȊOw肵肷PCNPC̎pMOBɈIɍUꍇ̂ŒӁB
(db/)
mob_avail.txt ljB
(map/)
clif.c
clif_mob0078()Aclif_mob007b() CB
mob.h CB
mob.c
mob_readdb_mobavail()Amob_get_viewclass()ljB
do_init_mob()Amob_readdb() CB

--------------
//0712 by _

EV[h`[WAV[hu[B
EI[gK[h͂Ƃ肠GtFNgo悤ɕύX܂B
E0708ŏYBfBtF_[gASPDƈړx20%ቺ܂B
{IŒቺ̂͊m̂悤łǂꂮ炢̂͂ς킩܂̂...
ȆׂCB
(db/)
cast_db.txt CB
skill_db.txt CB
(map/)
battle.h CB
battle.c
battle_calc_damage()Abattle_calc_pet_weapon_attack() CB
battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CB
battle_calc_magic_attack()Abattle_calc_misc_attack() CB
skill.c
skill_additional_effect()Askill_attack()Askill_castend_nodamage_id() CB
skill_check_condition()Askill_status_change_start() CB
skill_castend_damage_id() CB
pc.h CB
pc.c
pc_calcstatus()Apc_checkallowskill()Apc_unequipitem() CB

--------------
//0711 by npc

EzΐGtFNg̏C
EXNvgߍݕϐHp,MaxHp,Sp,MaxSplj(ǂݍ݂̂)
(map/)
skill.c
skill_produce_mix()CB
pc.c
pc_readparam()CB
(db/)
const.txt CB

--------------
//0710 by Ӓ

EOɔpXy[Xp[eB[쐬ƂAсA
pXy[XOPCp[eBoɂƂA
party.txtǂݍ߂ȂȂC

(char/)
int_party.c
inter_party_fromstr()C

EMessage of the Day @\lj
EOC[U[MOTD\邱Ƃo܂B
Emap-server.exes̃JgfBNgihelp.txtƓ
fBNgjmotd.txtƕ\܂B
EMOTD\^C~ÓA
u}bvT[o[ɃOĆA}bv[hvłB
‚܂AOCALZエсA
}bvT[o[Ԉړ̎(}bvT[o[̕UsĂꍇ̂)
̃}bv[hIɕ\܂B
E\@help.txtƓŕʂ̃bZ[WƂđM܂B
iMhmbZ[W͕AGMAiEX͒
ʂ̏㕔ɕ\Ă܂߁j
EbƋʂ‚悤ɁA"< Message of the Day >"A"< End of MOTD >"
̕ŏ㉺͂܂B

(map/)
pc.c
pc_authok()C


--------------
//0709 by ۂۂ

EXNvgemotionlj
@emotion n;ƎgNPCGo܂Bn0`33gp”\B
EBƊXKChNPC{Ȋ䎌ɍ킹ďCB
(conf/)
npc_town_refine.txtAnpc_town_guide.txt CB
(map/)
script.c
buildin_emotion() ljB

--------------
//0708 by _

EXLLXgLZAfBtF_[AI[gK[hB
EI[gK[h̏ꍇK[hĂGtFNg͏o܂B~XɂȂ邾łB{I͕̕\邩ǂ킩ȂpPbgȂ̂...
EfBtF_[͖eXgBbLongAtkDefgĂ̂ŃzJ[ĥ悤bLongAtkDefグ镨𑕔ĎgƉUSĖɂł܂B({I̎dlǂȂ̂͂킩܂B)
ȆׂCB
(db/)
cast_db.txt CB
(map/)
map.h CB
map.c
map_quit() CB
skill.h CB
skill.c
skill_castend_nodamage_id()Askill_use_id()Askill_check_condition() CB
skill_castend_id()Askill_castend_nodamage_id()Askill_castcancel() CB
pc.c
pc_calcstatus()Apc_setpos()Apc_damage() CB
battle.c
battle_calc_damage()Abattle_damage() CB
clif.c
clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() CB
mob.c
mob_damage() CB
itemdb.c
itemdb_searchrandomid() CB

--------------
//0707 by _

E0705̈CeP̃oOCB
(db/)
skill_db.txt
(map/)
skill.c
skill_castend_id()
skill_castend_pos()
battle.c
battle_calc_pc_weapon_attack()
clif.c
clif_parse_UseSkillToId()

--------------
//0706 by kalen
EC
conf/npc_warp_umbala.txt

--------------
//0705 by _

EFXƏCB
EvC[̃NeBJvZɃoÔŏCB
Eg̏CB
EÑR{CB
ECeP̎gpɂă}bvI̖[voOCB(ꂩȂvIȕ悤łB)
ER{ŎgCeP͓GNbNKvȂ悤ɏCB
EҗœG𐁂΂5ZɕύXBăR{ŎgCeP͋`FbN܂B5Z΂ꂽG͈CeP̎˒痣ꂽ킯Ȃ̂ŋ`FbNȂŔ܂B({I̎dlȂĒm܂B)
E}bv̖O16byte24bytesɕύXB(債Ӗ͂܂񂪈Sׂ̈̕łB)
EEFfBOLɂƗhׂɏCB
ȆCB(eXg͖wǂĂ܂B)
(conf/)
battle_athena.conf CB
(db/)
skill_db.txt CB
(common/)
mmo.h CB
(doc/)
conf_ref.txt CB
item_bonus.txt CB
(map/)
battle.h CB
battle.c
battle_get_flee2()Abattle_calc_pet_weapon_attack() CB
battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CB
battle_weapon_attack()Abattle_calc_magic_attack() CB
battle_config_read() CB
skill.h CB
skill.c
skill_status_change_start()Askill_castend_damage_id() CB
skill_check_condition()Askill_use_id()Askill_blown() CB
skill_castend_map()Askill_unit_onlimit()Askill_attack() CB
pc.c
pc_attack_timer()Apc_setpos()Apc_setsavepoint() CB
pc_movepos()Apc_calcstatus()Apc_bonus() CB
clif.h CB
clif.c
clif_set0078()Aclif_set007b() CB
clif_updatestatus()Aclif_initialstatus()Aclif_parse_UseSkillToId() CB
clif_skillinfo() ljB
map.h CB
map.c
map_setipport()Amap_addmap() CB
̑B

--------------------
//0704 by kalen

EUmbala Warplj
conf/npc_warp_umbala.txt

--------------------
//0703 by

ET[o[snapshot

--------------
//0702 by ۂۂ

Et@[}V[̃GtFNg{̂̂ɕύX
EXNvgł̖ߍݕϐBaseExp,JobExp,NextBaseExp,NextJobExplj
(map/)
skill.c
skill_produce_mix() CB
pc.c
pc_readparam()Apc_setparam() CB
(db/)
const.txt CB

--------------
//0701 by ҂܂

EXe[^Xُ픻ʎBeXe[^Xُ̔VIT/INT/MDEFɉe悤ɂȂ܂BԒZk͂܂x_|P|
EsɓoOCB
(map/)
skill.c
skill_additional_effect()Askill_castend_nodamage_id() CB

--------------
//0700 by

E697̃oOCB
@@@@(db/)
mob_db.txt

--------------
//0699 by _

Ẽ{[iXNeBJ͎̊ԈႢ̂bCriticalRatebCriticalɕύXB0695ŏYłASPDグJ[h⑕̈ꕔbAspdAddRatebAspdRateɕύX܂B݂Ƃꑃ̃V~[^[ɂƃhbyJ[h͕ł‚KpȂ݂̂ŁB
(db/)
item_db.txt

--------------
//0698 by _

Eꕔ̃LɏdʂOɂȂăJvȂljobCmbo\ȂȂoOCB(ꂾ)
(common/)
mmo.h CB
(map/)
clif.c
clif_updatestatus() CB
pc.c
pc_calcstatus() CB

--------------
//0697 by

Emob_dbC
@hbv𒆐SɏCB
@@@@(db/)
mob_db.txt

--------------
//0696 by _

EoOCB
Ee|[g⃏[v̎XLjbg甲鏈
Ȃ̂SAFETYWALLɂĎIN悤łB(m񍐂
Ǝv܂...) ďC͂܂mF͂Ă܂B񍐂
肢܂B
EXLɂ鐁΂ƏCƃX^[̃R[hCB
ςɂȂƂ͂ȂƎv܂ς񍐂ĂB
ȆׂCB
(map/)
skill.h CB
skill.c
skill_blown()Askill_attack()Askill_unit_move() CB
skill_castend_nodamage_id()Askill_castend_damage_id() CB
skill_unit_out_all()Askill_unit_out_all_sub() ljB
mob.c
mob_stop_walking()Amob_spawn()Amob_warp() CB
mob_can_move()Amob_changestate() CB
map.h CB
pc.c
pc_setpos() CB
battle.c
battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CB
battle_calc_pc_weapon_attack() CB

--------------
//0695 by _

ECB
EvC[̊{p[^2byteɊgB
Eitem_db.txtOiQ[g̐ɍ킹ďCB
EbAddEffbResEff̊mS疜ɕύXB
EXNvgstatusupstatusup2ljB
statusup bStr; ̂悤Ɏgċ@\̓Xe[^X|Cg炵
{p[^1グB
statusup2 bInt,n; ̂悤Ɏgċ@\̓Xe[^X|Cg炳
{p[^nグB
ȆׂCB
(conf/)
battle_athena.conf CB
(db/)
item_db.txt CB
const.txt CB
(doc/)
item_bonus.txt CB
conf_ref.txt CB
(common/)
mmo.h CB
(char/)
char.c
mmo_char_send006b()Aparse_char() CB
(map/)
map.h CB
clif.h CB
clif.c
clif_initialstatus()Aclif_updatestatus() CB
pc.h CB
pc.c
pc_bonus()Apc_calcstatus()Apc_equippoint()Apc_equipitem() CB
pc_jobchange()Apc_checkbaselevelup()Apc_statusup() CB
pc_statusup2() ljB
battle.h CB
battle.c
battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CB
battle_calc_pc_weapon_attack()Abattle_config_read() CB
skill.c
skill_additional_effect()Askill_status_change_start() CB
script.c
buildin_statusup()Abuildin_statusup2() ljB
atcommnad.c CB

--------------
//0694 by _

EoOCƍׂCB
EbCriticalRateKpȂCB
EybgɂXe[^X{[iXljBXe[^X{[iX͑
XNvgɂĐݒ肵܂Bybgɂ{[iX̓J[hɂ镨Ɠ܂Bđ̓Kp͈ԗD揇ʒႢłB͉Ă܂...
(conf/)
battle_athena.conf CB
(db/)
const.txt CB
pet_db.txt CB
(doc/)
item_bonus.txt CB
conf_ref.txt CB
db_ref.txt CB
(map/)
map.h CB
map.c
map_quit() CB
battle.h CB
battle.c
battle_calc_pc_weapon_attack()Abattle_weapon_attack() CB
battle_calc_magic_attack()Abattle_calc_misc_attack() CB
battle_config_read() CB
pc.c
pc_calcstatus()Apc_bonus()Apc_setpos()Apc_authok() CB
pc_damage()Apc_autosave_sub() CB
pet.h CB
pet.c
pet_hungry()Apet_birth_process()Apet_recv_petdata()Apet_food() CB
pet_return_egg()Apet_ai_sub_hard()Aread_petdb() CB
clif.c
clif_sendegg()Aclif_parse_LoadEndAck() CB
atcommand.c CB
makefile CB

--------------
//0693 by Ӓ

ESC_*̗񋓕\ioO
NCAgɒʒm̂64128ɑ₵
pPbgɍ悤Ƀio[
StatusChange̔z128192ɑ₵̂Ńgpʂ܂B

(db/)
const.txt
SC_* ̐lύX
(map/)
skill.h
SC_* ̗񋓂̐lύX
map.h
MAX_STATUSCHANGE128192ɑ₵
skill.c
skill_status_change_start(),skill_status_change_end(),
skill_status_change_clear()̒ʒmύX

Et/_X̏ύX
t/_XǂSC_DANCINGŔ肷悤ɕύX
i菈ꂽ͂j
[v(}bvړ┈Ȃ)Ɖt/_X𒆒f悤ɕύX

skill.h/skill.c
skill_check_dancing()폜Askill_stop_dancing()lj
skill_delunitgroup(),skill_initunitgroup()ύX
skill_status_change_start()ύX
skill_castend_nodamage_id()ύX
邩EE
pc.c
pc_calcstatus(),pc_setpos(),pc_damage()ύX

EsaXL̏C
(db/)
skill_db.txt
saXLHITC
(map/)
skill.c
skill_status_change_timer()ύX
battle.c
battle_calc_misc_attack()C

--------------
//0692 by Ӓ

EAhuXLgpłȂCiskill_db̓YtYj
(db/)
skill_db.txt
AhȕSP1ɏC

Emob_db2.txtmob_db.txtɃI[o[Ch悤
IWimobĂl͎gƕ֗܂B

mob.c
mob_readdb()

EIoO񍐎̂߂̃X^bNobNg[XO@Љ
IoO̕񍐎ɁȀRsyƊJ҂т܂B
Cygwincore̓f@ЉĂ܂B

(doc/)
coredump_report.txt

--------------
//0691 by Ӓ

Eitem_db2.txtitem_db.txtɃI[o[Ch悤
IWiACeĂl͎gƕ֗܂B

itemdb.c
itemdb_readdb()C

Et/_XnXL
Et/_X͈ړxAXLgȂ悤ɂȂ܂
EAhuXLʼnt/_X𒆒fł悤ɂȂ܂
Et/_X͐ΉȂǂُ̈AMHP1/4ȏ̃_[WŒf܂
ELN^[OtBbN͉t/_X܂
Et/_XSP͖ł
EړĂʔ͈͂͂‚Ă܂
EdĂsaȂǂɕω܂
EGtFNgoĂʂ͖̂̂܂
EقƂǖeXgȂ̂ő̕ssƎv܂

skill.h
SC_* ̗񋓕\C
skill.c
skill_check_dancing()lj
SkillStatusChangeTable[]C
skill_unit_onout(), skill_status_change_start(),
skill_status_change_timer(),skill_unitsetting(),
skill_castend_id(),skill_castend_pos(),skill_castend_map(),
skill_castend_nodamage_id()C
͖̑Y܂
pc.c
pc_calcstatus(),pc_damage()C

--------------
//0690 by gQ

EׂC
(db/)
item_db.txt ƃMMhbonusCB
(doc/)
item_bonus.txt CB

--------------
//0689 by _

EqɃoOCƍׂCB
(map/)
pc.c
pc_modifybuyvalue()Apc_modifysellvalue() CB
storage.c
storage_storageopen() CB
storage_storage_quit()Astorage_storage_save() CB

--------------
//0688 by

EfBXJEgARpVfBXJEgAI[o[`[WKpȂCB
(map/)
pc.c
pc_modifybuyvalue() CB
pc_modifysellvalue() CB

--------------
//0687 by _

ECB
Ebattle_athena.confɍڒljB(ڂƂconf_ref.txt)
Eitem_avail.txt̏ύXBACeIĎ0ƍ܂ŒʂɎgps”\ɂȂ邪0ȊO̐lƎgps”\ł͂Ȃ̐lACeIDƂČڂɕύX܂BĈƗACeʂ̕ɕ\ĈƗhƂł܂B(\ςĎȈ͖{̃ACeID̕ƂĔF܂BC͑SĂƎv܂邩m܂̂ŌڕύXACeňƗN񍐂ĂB) Ȉ͂ꂪEłB(ȂƂɂ) ACe•\ĊԈႢƂǂƂ̕l͈ƍBȏB
EW^XƃAX̃R}gAEgBitem_avail.txtŗr[ƃANA}ŕ\ĕߊlACe̕ɕ\悤ɕύXĂ܂B
E_[WvZ̃oOCB(債Ⴀ܂񂪋|Ɩ肪悤łB)
E”̃ACeœi͖ӒɂȂ悤ɕύXB
E{[iX̓CƏύXB(ڂƂitem_bonus.txt)
ELIɃe[^𑗂鎞LAqɁAybg̃e[^𓯎ɑ悤ɕύXB(LIƃ}bvI̊Ԃ̓]ʂ邩m܂񂪃f[^𓯊ׂ̈łB)
EFW̓Ԋu0.25b0.1bɕύXB(Ő蔲͏͂łB)
EJ[g{VłǂȏԈُȂ悤ɕύXB
(conf/)
battle_athena.conf CB
(db/)
const.txt CB
item_avail.txt CB
pet_db.txt CB
(doc/)
conf_ref.txt CB
item_bonus.txt CB
(map/)
map.h CB
map.c
map_quit() CB
battle.h CB
battle.c
battle_calc_pc_weapon_attack()Abattle_calc_mob_weapon_attack() CB
battle_calc_pet_weapon_attack()Abattle_calc_magic_attack() CB
battle_get_dmotion()Abattle_config_read() CB
pc.c
pc_calcstatus()Apc_bonus()Apc_bonus3()Apc_setpos() CB
pc_makesavestatus()Apc_autosave_sub()Apc_modifybuyvalue() CB
pc_modifysellvalue()Apc_stop_walking() CB
skill.c
skill_additional_effect()Askill_unitsetting() CB
clif.c
clif_buylist()Aclif_selllist()Aclif_set009e()Aclif_set0078() CB
clif_set007b()Aclif_additem()Aclif_itemlist()Aclif_equiplist() CB
clif_storageitemlist()Aclif_storageequiplist()Aclif_changelook() CB
clif_arrow_create_list()Aclif_useitemack()Aclif_tradeadditem() CB
clif_storageitemadded()Aclif_getareachar_item() CB
clif_skill_produce_mix_list()Aclif_cart_additem()Aclif_cart_itemlist() CB
clif_cart_equiplist()Aclif_vendinglist()Aclif_openvending() CB
clif_produceeffect()Aclif_sendegg()Aclif_pet_equip()Aclif_mvp_item() CB
clif_pet0078()Aclif_pet007b() CB
itemdb.h CB
itemdb.c
itemdb_searchrandomid()Aitemdb_search()Aitemdb_readdb() CB
itemdb_read_itemavail()Aitemdb_read_itemvaluedb() CB
itemdb_equippoint() 폜B
storage.h CB
storage.c
storage_storage_quitsave() ->storage_storage_quit()ɕύXƏCB
storage_storageclose() CB
atcommand.c CB
pet.c
pet_change_name()Apet_equipitem()Apet_unequipitem() CB
pet_birth_process()Apet_return_egg() CB
script.c
buildin_getitem() CB
mob.c
mob_stop_walking() CB
makefile CB

--------------
//0686 by

EׂCB
(map/)
pc.h CB

--------------
//0685 by gQ

E0683A0684łbonus̒ljɂƂȂitem_db.txtC
EFXC
(db/)
item_db.txt CB
(doc/)
item_bonus.txt CB

--------------
//0684 by _

EׂCB
E񂾂ӂ̎XLƃACegȂ悤ɕύXB
EbInfiniteEndureljB@\͖CfAB
E_[W\̏ύXB
(db/)
const.txt CB
(doc/)
item_bonus.txt CB
(map/)
map.h CB
pc.c
pc_calcstatus() CB
pc_equipitem()Apc_unequipitem() CB
clif.c
clif_parse_UseItem()Aclif_parse_UseSkillToId() CB
clif_parse_UseSkillToPos()Aclif_parse_UseSkillMap() CB
clif_damage()Aclif_skill_damage()Aclif_skill_damage2() CB
clif_parse_LoadEndAck() CB
skill.c
skill_status_change_timer() CB

--------------
//0683 by _

EoOCbonusljB
EqɃoOAoOCƂ̑̃oOCB
EXNvgbonus3ljBbAddMonsterDropItemΉɂȂĂ܂B
Ebonus bRestartFullRecover;n;n͖ӖǏ̂͂Ƃ܂ł̂0ɂēꂽłBbonus2‚̐lKvȃXNvgȂ̂ŁB
EbDefRatioAtkh䖳ɕύXB
E0677ŏYB
ȆKpD揇ʂ𐻑>J[h>ɕύXBŗDłB(鎞ɘbłBȂꍇ镨ɏ㏑ꂽ͂܂B)
EœKpʂ̗D揇ʂE>>>>>>[u>C>ANZT[1>ANZT[2>ɐݒB({IdlǂȂ̂邱ƂłȕłȂ̂ŃAei̎dlƌƂŁB) E肪ŗDłB
E̎˒Eƍ̒̕ŒKp悤ɕύXB
(db/)
const.txt CB
(doc/)
item_bonus.txt CB
(map/)
map.h CB
battle.c
battle_calc_pc_weapon_attack()Abattle_calc_mob_weapon_attack() CB
battle_calc_pet_weapon_attack()Abattle_calc_magic_attack() CB
battle_damage() CB
pc.c
pc_autosave_sub()Apc_calcstatus() CB
pc_bonus()Apc_bonus2() CB
pc_bonus3() ljB
script.c
buildin_bonus3() ljB
mob.c
mob_once_spawn()Amob_damage() CB
storage.h CB
storage.c
storage_storage_save() lj
atcommand.c CB

--------------
//0682 by

EXs[hAbv|[VñoOC
(map/)
pc.c
pc_calcstatus() CB

--------------
//0681 by _

EoOCB
(map/)
pc.c
pc_equipitem() CB

--------------
//0680 by

EׂCB
Eu@monstervR}hŃX^[ID̎wɁu-1vAu-2vw肷
@X^[_ŏ҂ł@\ljB
(map/)
mob.c
atcommand.c

--------------
//0679 by gQ

E0676ŐVACeʂꂽ̂ŁAitem_db.txtC(bonus bAddMonsterDropItem,n,x; ́A푰肪łȂ̂łƂ肠ۗ܂B)
EFXC
(db/)
item_db.txt
job_db1.txt
(doc/)
item_bonus.txt

--------------
//0678 by

EҊ֘Aׂ̍CB
(map/)
mob.c
mob_once_spawn_area() CB

--------------
//0677 by _

EׂCB
EACeɂēolJ[hɂXLł͓Ȃ悤ɏCB
EłɊ|ƎR񕜂łȂ悤ɏCB
E0676ŏYB̏ꍇɂė^̑D悵ēKp悤ɕύXB(킪̏ꍇ͓Kp܂B)
(doc/)
item_bonus.txt 뎚CB
(map/)
npc.c
npc_buylist()Anpc_selllist() CB
pc.c
pc_calcstatus()Apc_natural_heal_sub() CB

--------------
//0676 by _

EFXƏCB
Ebattle_athena.confɍڒljB(ڂƂconf_ref.txt)
E݂ƂꑃQlă_[WvZCB
EbonusɐFXƒljB(ڂƂitem_bonus.txt)
EZ[u鎞(LIɃf[^𑗂鎞)qɂ̃f[^悤ɕύXB
E0667ŌYBJ[gOĂACeȂ悤ɕύXB({Iŏ̂dlƎvĂǏCꂽ݂Ȃ̂ŁB)
Ev󂯂鑤͊{XL`FbNȂ悤ɏCB(󂯂鑤̊{XL`FbN͎ꂽł͂ȂłB‚̊ԂɂĂ̂ō폜܂B)
Eh̐B{[iX[ɕύXB(ꂪ{I̎dl݂Ȃ̂)
EAN̏ύXB(Ȃƌ񍐂܂̂...)
EvC[̃Xe[^XvZŖ肠肻ȏCB
EJ[hIDŋ@\܂ĂJ[hXNvgɂĕς邱Ƃł悤ɕύXB(ڂƂitem_bonus.txt)
EaspdvZ@ύXB
EbCriticalAbAtkEleAbHitAbAddEleAbAddRaceAbAddSizeAbAddEffKpł悤ɕύXBgXL|ɂUɖbCriticalAbAtkEleAbHitAbAddEleAbAddRaceAbAddSizeAbAddEffKp悤ɏCB
EL̎ɈׂɏC͂܂Lh䖳Ȃ̂ǂ킩Ȃ̂Ŗh䖳͂Ȃ悤ɂȂĂ܂B
EeXgbAddMonsterDropItembGetZenyNumȂ̂Őɓ삷邩ǂ̕񍐂~łB(‚łitem_db̏C...ŋznƃI[gXynȊO͖wǎł͂łB...)
Ȇ͊oĂȂǏC邩...
(conf/)
battle_athena.conf CB
(doc/)
conf_ref.txt CB
item_bonus.txt CB
(db/)
const.txt CB
(char/)
inter.c
inter_init() CB
int_storage.c
mapif_parse_SaveStorage() CB
(map/)
trade.c
trade_traderequest() CB
pc.h CB
pc.c
pc_autosave_sub()Apc_calcstatus() CB
pc_bonus()Apc_bonus2() CB
pc_setrestartvalue()Apc_setequipindex() CB
pc_check_equip_wcard()Apc_check_equip_dcard()Apc_check_equip_card() 폜
̑CB
skill.h CB
skill.c CB
skill_castend_nodamage_id()Askill_unit_onplace() CB
skill_check_condition()Askill_additional_effect() CB
skill_attack()Askill_status_change_start() CB
map.h CB
battle.h CB
battle.c
battle_get_def()Abattle_get_mdef2() CB
battle_weapon_attack()Abattle_damage() CB
battle_calc_magic_attack()Abattle_calc_pc_weapon_attack() CB
battle_calc_mob_weapon_attack()Abattle_calc_pet_weapon_attack() CB
battle_calc_misc_attack()Abattle_config_read() CB
mob.c
mob_damage() CB
pet.c
pet_target_check() CB
clif.c
clif_set0078()Aclif_set007b()Aclif_changelook() CB
atcommand.c CB

--------------
//0675 by gQ

E؎Iő̌ʂύXꂽ̂ŕ񍐂item_db.txtC
Ejob_db1.txtC
(db/)
item_db.txt
job_db1.txt

--------------
//0674 by npc

Et@[}V[̉B
(db/)
produce_db.txt
(map/)
skill.c

--------------
//0673 by

EW͌ɑi̕␳ĂȂ̂CB
@@@@@(map/)@@@
@@@@@ pc.c

--------------
//0672 by

EW͌ɑi̕␳ĂȂ̂CB
@@@@@(map/)@@@
@@@@@ pc.c

--------------
//0672 by

EX^[ñoOC(݂܂A܂cĂ܂(^^; )
(map/)
mob.c

--------------
//0671 by

EID`FbN͈͂̏CB
E@monsterŐw肵ȂĂ҂ł悤ɏCB
(map/)
atcommand.c
battle.c
battle.h
mob.c
pet.c
(conf/)
battle_athena.conf
(doc/)
conf_ref.txt

--------------
//0670 by RR

EX^[hbvC({IADBł̐ݒ+1/10000)B
EOɐݒ肵ACe𗎂Ƃǂbattle_athena.confŐݒ”\ɁB
(map/)
mob.c
mob_damage() CB
battle.c
battle.h
(conf/)
battle_athena.conf

--------------
//0669 by

EX^[hbv̏CB
(map/)
mob.c
mob_damage() CB

--------------
//0668 by

EX^[ID͈̔̓`FbNCB
(map/)
mob.c
mob_dbAmob_once_spawn()Amob_once_spawn_area()A
mob_summonslave()Amob_read_randommonster()Amob_readdb() CB

--------------
//0667 by _

EőHPvZ~XgQlďCB(Ŗ{IɂĂƎv܂B)
Eh̐B{[iX0.7ɕύXB(͒[ľܓĂ܂{I[ȂCĂ܂B)
E@refineR}hőꏊID0ƑĂSĂ̑𐸘B悤ɕύXB
ȆׂCB
(db/)
item_db.txt
7140A7142ɖ߂0666̓̕R}gAEg܂B
job_db1.txt CB
refine_db.txt CB
(map/)
mob.c
mob_once_spawn() CB
itemdb.c
itemdb_read_randomitem() CB
pet.c
pet_food() CB
pc.c
pc_readdb()Ado_init_pc()Apc_calcstatus()Apc_setoption() CB
pc_calc_sigma() ljB
̑CB
map.h CB
battle.c
battle_calc_magic_attack()Abattle_calc_misc_attack() CB
atcommand.c CB

--------------
//0666 by

E_ACeׂ̍CB
Ebattle_athena.conf̍ڒljB
EÖ؂̎}ŏ҂郂X^[̊mݒo悤ɂ܂B
EX^[҃ACe𕡐鎖o悤ɂ܂B
E҃ACẽTvƂ
@̎q|nҁA
@GuIMVP{Xn҂ɂĂ݂܂B
@܂肢Tvv‚Ȃ̂ŁA
@Ăv‚l͏ĂĂ(^^;
(conf/)
battle_athena.conf
(doc/)
conf_ref.txt
(map/)
mob.h
mob_db CB
mob.c
mob_once_spawn()Amob_makedummymobdb()Amob_readdb() CB
mob_readbranch() -> mob_read_randommonster()ɕύXB
battle.h
battle_config CB
battle.c
battle_config_read() CB
itemdb.c
itemdb_read_randomitem() CB
(db/)
item_db.txt
item_bluebox.txt
item_cardalbum.txt
item_giftbox.txt
item_scroll.txt
item_violetbox.txt
mob_branch.txt
mob_poring.txt ljB
mob_boss.txt ljB

--------------
//0665 by J

E앐m̎芪JuLE҂ɂȂĂ̂VɏCB
EIbg[ɃtFCNGWFo͂̎芪‚Ă̂CB
(db/)
mob_skill_db.txt

--------------
//0664 by

EBs̃v[[ɂGtFNg\悤ɏCB
(map/)
script.c
buildin_failedrefitem() CB

--------------
//0663 by lide

EufBbVXsAC
(map/)
battle.c
skill.c

--------------
//0662 by _

EׂCƃoOCB
Ev{bNɂăX^[͏ZhƌZh䂪悤ɏCăvC[͌Zh䂾悤ɏCB
EXNvggetgmlevelljB@\͂NPCƘbĂvC[GMxԂ܂B
E0659̏Yłybg̃ptH}X̎ނexɂđ悤ɕύX܂B
(map/)
clif.c
pc.c
script.c

--------------
//0661 by _

EׂCB
Eڑ̃ybg̃bZ[Wex߂Đe݂̎̂ɏo悤ɕύXB
E0659ŏYłybg̎xU͐ex߂Đe݂̎̂ɔ܂B(ƐexɂĎxUmω܂B)
EW^XƃAX̗IDitem_db.txtɍ킹܂B(pet_db.txt̕ɐݒ肵Ăł̂ŁBČACeԍ킩Ȃł...)
Epet_db.txtattack_rateKpȂoOCB
(db/)
pet_db.txt
(map/)
clif.c
clif_parse_LoadEndAck() CB
pc.c
pc_attack_timer() CB

--------------------
//0660 by

ET[o[snapshot

--------------
//0659 by _

EybgFXƏCB(ybg̃R[hقƂǕς܂B)
E蓮Iybg̓X^[̂悤AIƂďB
Eڑ̃ybg̃bZ[WB({I͂ǂȂ̂킩܂
Athena͐ڑ100%b悤ɂȂĂ܂B)
Eybg̃XyVptH}XB(䎌ƕςłBTĂYpPbg‚Ȃ̂ŁB)
Eybg̑䎌𑼂̃ybg̕ɕύX@\ljB(ڂƂdb_ref.txtpet_db.txtŁB)
EybgɂxUύXBpet_db.txtōU鎞ƍU󂯂̎xU
mʁXɐݒł܂BU鎞̏ꍇUxɃ`FbN܂̂
UxƎxU󂯂₷Ȃ܂BU󂯂łB(̓_[W炤xɂȂ܂B) xUm̓\q[AW^XAAXɐݒ肵Ă܂B(̂͑S1%ɁBybg̎xU͓X^[ɂ͂łȂ悤ɂȂĂ܂Băybg̐퓬\͂̓X^[ƓłB)
E/hideR}hB
Ev{bNɂďZh悤ɏCB
Et[LXg̃oOCB
Em[rX̃Xe[^X{[iX폜B
Ebattle_athena.conf̍ڒljƍ폜B
ECt@CBeXgȂ肠܂̂Ŗ肪񍐂肢܂B
(conf/)
battle_athena.conf
(doc/)
conf_ref.txt
db_ref.txt ljB(Ă̂pet_db.txt݂̂łB )
client_packet.txt
(db/)
pet_db.txt
job_db2.txt
(map)
clif.h
clif.c
map.h
map.c
pet.h
pet.c
pc.c
mob.h
mob.c
npc.c
atcommand.c
skill.c
battle.h
battle.c

--------------
//0658 by huge

EybgƂǂ߂ƁAɌol悤ɂ܂B
EŒl_[Wᖡ̂ATK1`ATK2̊Ԃŗ悤ɂ܂B
EƁAybgƂǂ߂ǂ̐ݒAbattle_athena.confɉ܂B

(conf/)
battle_athena.conf pet_finishljB
(map/)
battle.c
battle_config_read() CB
battle.h CB
pet.c
pet_attack() CB
(doc/)
conf_ref.txt NjLB

--------------
//0657 by huge

EybgɂUB
EybgĂāAybgi‚ĂāAɃ_ɂ锻Ŕ܂B
E̗VѐSł
Ebattle_athena.confŕpxݒł܂BڍׂdocŁB

(conf/)
battle_athena.conf pet_attackljB

(map/)
battle.c
battle_config_read() CB
battle.h CB
pc.c
pc_attack_timer() CB
pet.c
pet.h
pet_attack() ljB
(doc/)
conf_ref.txt NjLB

Ƃ肠AybgĂȂĊƁA_񐔂𑝂₵xłB

--------------
//0656 by _

EOhNX̏CB(xڂ...)
EOhNXvZԈႢŏCB(3܂݂łB)
ł܂˃_[W݂Ƃꑃ肿ƍłB(10炢
֌WȂ)
EN̋CKɏCB(̊ԈႢ̂悤ł̂...)
(map/)
skill.c CB
battle.c CB

--------------
//0655 by _

EOhNX̏CB
EȂɏWĂ݂ʃOhNX˃_[W
vC[L̃LgɃOhNXg
_[WȂ̂ŏC܂B(݂Ƃꑃ̌vZƂ͂ȂႤ悤
C܂...)
E@ƃgbvA̍UɂϐƎ푰ϐKp悤ɏCB
({I̎dlɂĂ邩ǂ͕słKpƎv̂
C܂B)
(map/)
skill.c CB
map.h CB
battle.c CB

--------------
//0654 by _

EOhNX̏CƍׂCB(vZԈႢŏCB)
E0653ŏYBCɂlj_[W͕Kł͂Ȃ炵̂
C̉ZƓɌvZ悤ɕύX܂B
EJ[gɃoO肻̂łƏCB
E_[WvZق̏CB(_[Wʂς͂܂B)
(map/)
battle.c
battle_calc_magic_attack() CB
battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CB
skill.c
pc_damage_feedback() -> skill_damage_feedback()ɕύXB
skill_unit_timer() CB
pc.c
pc_setoption() CB
atcommand.c CB

--------------
//0653 by _

E0652̏CƍׂCB܂Œʂ薢eXgłB
EOhNX̏CB({IɂĂ邩ǂ̎g͂܂B)
Oi[Q[g̐ɂƎn߂ɌHP20%ՂĂ̌Gɗ^
_[W̒ňԍ߂Ă悤łBĂ̖߂Ă
_[W͐̑gXgɂĐ̑ϐ50%ɂȂĂ̂
炤ƂɂȂ悤łB(̑ϐオ鑕ĂΖ߂Ă
_[W͎󂯂Ȃ悤łB)
Ȃ̂̓vC[̖h䑮vZ邩ǂłB͖h䑮vZ
Ő̑vZĂ܂BĖ߂Ă_[WHPo[͌邯
\͂܂B{I̕ǂȂ̂sȂ̂...
ƈꉞX^[OhNX̎gp”\łBX^[̏ꍇ
HP20%Ղ̌̃_[W͎󂯂܂B(X^[g
OhNX̃eXg͂Ă܂B)
E_[WɂfBCɂ܂fBCȂ悤ɏCB(債Ӗ͂Ȃ...)
Eli[̃ACe悤ɕύXB
E@R}hheal̏CB
EړR[hCB
(map/)
clif.c
clif_selllist() CB
battle.c
battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CB
battle_calc_magic_attack()Abattle_calc_misc_attack() CB
skill.c
skill_additional_effect()Askill_unit_onplace() CB
skill_status_change_start()Askill_unit_onplace() CB
skill_castend_damage_id()Askill_castend_id()Askill_attack() CB
skill_unitsetting()Askill_check_condition() CB
skill_use_id()Askill_use_pos() CB
npc.c
npc_parse_script() CB
pc.h CB
pc.c
pc_walk()Apc_walktoxy_sub()Apc_stop_walking() CB
map.h CB
mob.h CB
mob.c
mob_stop_walking()Amob_changestate()Amob_walk() CB
pet.c
pet_changestate() CB
atcommand.c CB
(db/)
skill_db.txt OhNXCB
cast_db.txt OhNXCB

--------------
//0652 by r

EOhNX
(db/)
skill_db.txt
cast_db.txt
(map/)
battle.c
Damage battle_calc_misc_attack
Damage battle_calc_magic_attack
skill.c
skill_additional_effect
skill_castend_damage_id
skill_castend_pos2
skill_unit_group *skill_unitsetting
skill_unit_onplace
skill_check_condition

--------------
//0651 by gQ

Eitem_db.txtC
(db/)
item_db.txt
ĩACeʂC

--------------
//0650 by _

EOi̔|Ɠ񓁗ȊOɕύXB
E\ɓŏNPCCLASS11132767ɕύXB
EׂCB
(map/)
clif.c
clif_getareachar_npc()Aclif_spawnnpc()Aclif_pcoutsight() CB
npc.h CB
battle.c
battle_calc_pc_weapon_attack()Abattle_calc_mob_weapon_attack() CB

--------------
//0649 by gQ

EDBDOCC
(db/)
item_db.txt
OOj[LV4Ȃ̂ŁA؍̃f[^ɂ킹ĕł͂Ȃ܂B
mob_db.txt
size_fix.txt
y͑^ɑ΂75%łB
(doc/)
item_bonus.txt

--------------
//0648 by _

EVbv̒li-ƎICB(itemdb̏npc
ɂ悤ɕύXB) ꂾłB
(map/)
map.c
do_init()

--------------
//0647 by nini

Eitem_dbC
EXib`[dlύXB|ȊÔׂĂ̕ŏo悤ɂȂĂ܂B
(/map/)
battle.c
Oi̔lj
skill.c
Xib`[̔lj
(/db/)
item_db.txt
VNnbgSP㏸lj

--------------
//0646 by last

Eitem_db.txt̏C(֘A)
(/db/)
item_db.txt

--------------
//0645 by iree_ronj

Eitem_value_db.txtɃfBXJEgI[o[`[W̃XLɂ鉿iϓ󂯂邩ǂ̃tOgljB
@ۂ̌`̓TvƂėpӂitem_value_db.sample.txtĂBiݒ艿i͊SɓƒfƕΌłj
@l̃TvƂĂmobݒuXNvgYtĂ܂B
Eitem_value_db.txt̃ACeiݒŁAlƔl̐ݒƗBiitem_db.txt͏]ǂ蔃l͔l̔zƂĎj
EmobVbvɂāAPmobňACeő64ő100ɕύXBiN̂120炢܂ʼn”\łj
(/db)
item_value_db.txt
J𐮗łBe͂܂ύXĂ܂B
(/map/)
clif.c
clif_buylist() clif_selllist() ύX
itemdb.h
item_data \̕ύX
itemdb_value_buy() itemdb_value_sell() itemdb_value_notdc() itemdb_value_notoc() }Nlj
itemdb.c
itemdb_search() itemdb_readdb() itemdb_read_itemvaluedb() ύX
itemdb_sellvalue() 폜
npc.c
npc_buylist() npc_selllist() npc_parse_shop() ύX
(/sample/)
I}PłBSnapShotɂ͊܂܂ȂŋXłB

Rg
^͎̗Flree_ronsAXɍׂ~X𒼂łAeXg͂܂̂ővł傤B
X̏𓱓闝RƂāAACe̔l1zŒɂłȂ̂AƂ_łB
ĂĂɁAmobVbv𗘗pAACe̔̔ƂŖ{IIXɋ߂Ƃôł͂ȂA
ƂƂĂ킯łB
ňꉞ̓f[^pӂ܂A܂łTvƂėpĂB”\Ȃ΁A
ɏCăAeiƎƂĖ{̗pƂf[^pb`AbvĂ΂Ƃv܂


--------------
//0644 by nini

EDB̊ԈႢA643ŒljꂽXNvgljB
(/db/)
item_db.txt
cast_db.txt
`[WA[̃LXgljB
exp_guild.txt
46-50܂łexpɒljB
size_fix.txt
yAځAibÑTCY␳CB

--------------
//0643 by _

EFXƏCB
EbMVPaddAtkRate폜BbAddRaceŏ悤ɕύXB
EbIgnoreDefElebIgnoreDefRaceljB
bonus bIgnoreDefEle,n; n̓G̖h䖳
bonus bIgnoreDefRace,n; n푰̓G̖h䖳
EbMatkRateljB@U͂+n%グ܂Bbattle.cŌvZĂbhɂ閂@U͑̌vZ͂Ȃ܂BXe[^Xʂɏオl͕\܂B_[WvZ̎ɓKpĂ܂B
EbCriticalDef-ƃNeBJ炤mオ悤ɕύXB
ENPCԍ111͓NPCłƂ̂Ƃlĕ\؂
ŏ悤ɕύXB(flaggƉƂȂ肻ł
SR킩Ȃ̂œNPCɃNbN▼O̕\łȂ悤ɕύX܂B)
EVbv̒li-item_db.txtitem_value_db.txt̕g悤ɕύXB
EXLAt̃GtFNgTCgƓ̂ŏCB‚łɃAt
_[WCB
E݂ƂꑃɂƃX^[ŕ\hƖ@h͏Zł͂ȂZ݂Ȃ̂ŏCB
E͖{łitem_db.txt̏C肢܂B(SẴbhbonus bMatkRate,15; Kv܂B̑̏CKvłB)
EeXgĂȂȂ肠܂̂Ŗ肪񍐂ĂB
(map/)
map.h CB
map.c
map_quit() CB
pc.h CB
pc.c
pc_walk()Apc_stop_walking()Apc_setpos()Apc_authok() CB
pc_calcstatus()Apc_bonus()Apc_natural_heal_sub() CB
npc.h CB
npc.c
npc_touch_areanpc()Anpc_parse_shop() CB
clif.c
clif_quitsave()Aclif_getareachar_npc()Aclif_spawnnpc() CB
clif_skill_estimation() CB
battle.c
battle_calc_magic_attack()Abattle_calc_pc_weapon_attack() CB
battle_calc_mob_weapon_attack() CB
mob.c
mobskill_use() CB
skill.c
skill_status_change_end()Askill_status_change_timer() CB
skill_status_change_start() CB
(db/)
const.txt CB
(doc/)
item_bonus.txt CB

--------------
//0642 by _

EoOCB(ꂾ)
(map/)
pc.c
pc_authok()Apc_checkitem() CB

--------------
//0641 by _

EbAspdRatebSpeedRatẽoOCB(ꂾ)0640ŌvZƕςČ܂ꂪ܂݂łBxvZς܂vƎv܂B()
(map/)
pc.c
pc_calcstatus()Apc_bonus()Apc_delitem()

--------------
//0640 by _

EoOCƏCB
E݂ƂꑃQlă_[WvZCB
Ebattle_athena.confɍڒljB(ڂƂconf_ref.txt)
ELHPSP2byte4byteɕύXB(eXg͂Ă܂oOo
”\Ȃ肠܂BLZNgʂHPSP32768z鎞
\32768ɂȂ邯Ǔ̏͐ɓ܂̂ł̓oOł͂܂B
pPbg̒̂łȊOiȂ̂...)
EbCriticalDef(NeBJȂm+n%)̏ύXB100ɂ
NeBJȂ悤ɂȂ܂B)
EbInnerAtkbBaseAtkɕύXB݂ƂꑃŃJ[h̍U͊{U͂̕ɑƂ܂̂ŕύX܂Bx͏オU͂\܂B
EbDoubleRatȅύXBm𑫂ɈԍKp܂Bƍ
̏ꍇ悤ɕύX܂B(̓_uKp܂̂)
EbDoubleAddRateljB@\̓_uA^bNm+n%(햳)łB
葕͖܂B
E0635ōU͕\{Iɂ킹܂Bčx͋|ł͂Ȃ
yƃ`dexɂčU͂オ悤ɕύX܂B
E킪oOCׂ̈ɏC͂܂{
vȂ͕̂słB񍐂肢܂B
(conf/)
battle_athena.conf CB
(db/)
const.txt CB
item_db.txt CB
(doc/)
item_bonus.txt CB
conf_ref.txt CB
(map/)
map.h CB
pc.c
pc_calcstatus()Apc_bonus()Apc_equipitem() CB
battle.h CB
battle.c
battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CB
battle_config_read() CB
clif.c
clif_updatestatus()Aclif_parse_LoadEndAck()Aclif_party_hp() CB
(common/)
mmo.h CB
(char/)
char.c
mmo_char_send006b()Aparse_char() CB

--------------
//0639 by Ӓ

Eladmin̏CȂ
Evvg̓͂Term::ReadLineg悤ɂ
@i͗R}hC̕ҏW”\Ɂj
EPOSIX֌W̗̏OG[gbv悤ɂ܂
@iPOSIXSgȂ‹łŒA悤ɂȂȂj
EוC

(tool/)
ladmin
Ver.1.04ɁB

EMODo[WC
(common/)
version.h
ATHENA_MOD_VERSIONWiŋLqĂC
̓0‚ƂWiɂȂ̂ŒӂĂ

--------------
//0638 by gQ

E0635E0637ŐVACeʂꂽ̂ŁAɔitem_db.txtC
Eitem_bonus.txtC
(db/)
item_db.txt C
(doc/)
item_bonus.txt C

--------------
//0637 by _

E0635̃oOCB
Ebattle_athena.confɍڒljB(ڂƂconf_ref.txtĂB)
EԂx0635ŐĂȂłB(Qŝ...)
܂dlς͓̂񓁗̃_[W𕐊ʂɊSɕčs悤
ύXƃATVȂĂCoĂΓ񓁗g悤
ύX܂Bƃ_[W̌vZƏCB
bonusɒljꂽ̂
bonus bInnerAtk,n; U+n
J[ḧグ_[WpłB\͂Ȃǃ_[WɌvZ܂B
bonus bSpeed,n; ړx+n
ړxnグ܂B
bonus bAspd,n; Ux+n
Uxnグ܂B
bonus bSpeedRate,n; ړx+n%
ړxn%グ܂B
bonus bAspdRate,n; Ux+n%
Uxn%グ܂B
bonus bHPrecovRate,n; HP񕜗+n%
񕜂HP̗ʂn%グ܂BXLɂ񕜂ɂ͉e܂B{I̎dlƂĂ邩͕słB
bonus bSPrecovRate,n; SP񕜗+n%
񕜂SP̗ʂn%グ܂BXLɂ񕜂ɂ͉e܂B{I̎dlƂĂ邩͕słB
bonus bCriticalDef,n; NeBJȂm+n%
NeBJ̑ϐnグ܂B10000ȏɂƃNeBJ炢܂B
bonus bMVPaddAtkRate,n; MVPX^[n%̒lj_[W
{XX^[n%̒lj_[W^܂B[̋RmJ[hpB
bonus bNearAtkDef,n; ߋŨ_[Wn%̌炷
SċߋŨ_[Wn%̌炵܂B(@ƃgbvA)
bonus bLongAtkDef,n; Ũ_[Wn%̌炷
SĉŨ_[Wn%̌炵܂B(@ƃgbvA)
bonus bDoubleRate,n; _uA^bNm+n%(햳)
Ɋ֌WȂ_uA^bNmn%グ܂B
_uA^bNXLƕʂ̔s׃_uA^bNXL
ĂXLɂ_uA^bNmオ킯ł͂܂B
TChC_[J[hpB
(map/)
pc.c
pc_bonus()Apc_calcstatus() CB
pc_natural_heal_sub() CB
battle.h
struct Battle_Config {} CB
battle.c
battle_calc_pc_weapon_attack()Abattle_calc_mob_weapon_attack() CB
battle_config_read() CB
(db/)
skill_db.txt
XeB[SP10ɏCB
(conf/)
battle_athena.conf CB
(doc/)
conf_ref.txt CB

--------------
//0636 by Sin

EfobOp|^qXNvg(npc_pota.txt)̃A}cERւ̑ΉB
@łɎ͎ĂXƎv܂cB
@R_W̖O킩Ȃ߁uD1vȂǂƂĂĂ܂B
(conf/) npc_pota.txt

--------------
//0635 by _

Ebattle_athena.confɍڒljB(ڂƂconf_ref.txtĂB)
EbonusbInnerAtk(J[hŕ\͂Ȃǎۂɂ͍U͂ɔf镨płB)ljB̂item_bonus.txtĂB(lj͂item_db.txt͖wǏCĂ܂B)
ȆoOCdlύX܂XԂȂ̂...
(map/)
makeile CB
pc.c CB
map.h CB
clif.c CB
battle.h CB
battle.c CB
itemdb.c CB
(conf/)
battle_athena.conf CB
(doc/)
conf_ref.txt CB
item_bonus.txt CB
(db/)
const.txt CB
item_db.txt CB

--------------
//0634 by _

EweddingNXɂ͓]EłȂ悤ɏCB
EX[p[m[rẌׂexpe[ubase 4job 4‚ɊgB
exp.txtςX[p[m[rX̌olݒł܂B(exp.txt
4–ڂX[p[m[rXbase exp8–ڂjob expłB2EƂ̕
Rs[ɉ߂܂񂪁B) exp.txt̐ݒ@mȂ͂Ȃ
v܂̂Ő͏ȗ܂B
EX[p[m[rX͓]̃eXgׂ̈Ɋ؍TNCĂ镨
v܂(]΂ȂȂƗ\Ă܂B)
Ă̂Ǝv܂...
Eߏւ͊0629ŎĂ̂ɂ܂pb`Ƃ
Abv̂ƕ(H)łˁBΐĂȂłˁB
EpXNvgłchangebase̒ljɂă^LV[h
EFfBOhXĂ܂B͐EƂύXɌڂ
ς镨łBweddingNXȊO̓Kp”\ŕϑZbgƂ
킯ł͕ύXɌڂςĂ̂0631Ő悤
łȂ𑕔ĂꍇƗN”\܂̂
̐EƂŎĝ͂߂܂BȂ͍̂̎dl̓^LV[h
EFfBOhX𑕔邾Ōڂς邩łB؍TNC
ł͉̏KvƎvĂ̂ł̏܂ꂢȂ
łBweddingNXEƂɂĂ܂ƌƃXL
Zbg邩ςɂȂ邩̂ǂȂ̂ŕςƎvĂȂ̂ł傤H
help.txt CB
(db/)
job_db1.txt CB
exp.txt CB
(map/)
pc.c
pc_jobchange()Apc_readdb() CB
pc_nextbaseexp()Apc_nextjobexp() CB

--------------
//0633 by gQ

E̐ݒCBߏւ̐ÉAۂɓ]Êł͂ȂyRiCg(13)AyRNZ(21)̂悤ɉ摜gƎv̂
@łȂݒɂ܂BXpmr̓mrł̂ݒ肵܂B
EÖ؂̎}̏oX^[lj
EA}c̃X̕{Iɋ߂Ȃ悤ɏC(܂܂Ⴂ܂EEE)
(conf/)
npc_monster.txt XC
npc_monster_amatsu.txt C
(db/)
item_avail.txt ƗACelj
item_db.txt ݒCA
mob_branch.txt C
mob_db.txt XC
skill_tree.txt C

--------------
//0632 by nini

E@jobchangeŌߏւƃX[p[m[rXɂȂ悤ɁB(ӁF؍NCAĝ)
ESmr̃XeAXLȂǂbljB(m[rX̃Rs[ł)
@Ƃ肠ڂƂƂŁAߏւłUł܂(m[[V)A{͂ł܂B
Eɂ킹item_dbҏWB
@ߏւŕ‚actAsprG[ôŁAߏւł͕ĂȂ悤ɂ(͂)B
(db/)
job_db1.txt
job_db2.txt
item_db.txt
ߏցASmr̃f[^
skill_tree.txt
Smr̃XL
(map/)
map.h
MAX_PC_CLASSɒlj

--------------
//0631 by _

EׂCB
E^LV[hƃEFfBOhX̕\battle_athena.confŐݒł
悤ɕύXB
EOpb`ɂ‚Ăłpb`O͎gȂEƂĂ\
ȂňƗ܂ł͋NȂǕOpb`̌͂̕
邱ƂłȂE({I)Ă܂ꍇƗN
Ƃ܂̂ŒӂĂB
(db/)
item_db.txt
1161A2338A7170 CB
(conf/)
battle_athena.conf CB
(doc/)
conf_ref.txt CB
(map/)
battle.h
struct Battle_Configwedding_modifydisplay ljB
battle.c
battle_config_read() CB
pc.h
pc_cart_delitem() CB
pc.c
pc_jobchange()Apc_additem()Apc_delitem()Apc_cart_delitem() CB
pc_checkitem()Apc_getitemfromcart() CB
clif.c
clif_changelook()Aclif_send()Aclif_parse_GlobalMessage() CB
script.c
buildin_changebase() CB
storage.c
storage_storageaddfromcart() CB
vending.c
vending_purchasereq() CB

--------------
//0630 by ސl

EMhEގcharT[o邱Ƃ̂C
Ewater_height.txtXV
E0627Ɋ֘Amodifydisplay֘A폜
(char/)
int_guild.c
mapif_guild_leaved()̃obt@eʂȂ̂ŁA
unsigned char buf[64]; -> unsigned char buf[128];
ƏCB
(conf/)
battle_athena.conf
equip_modifydisplay폜
water_height.txt
prt_fild04.gatmoc_fild01.gat̕lj
(doc/)
conf_ref.txt
equip_modifydisplay̐폜
(map/)
battle.h
struct Battle_Config equip_modifydisplay폜

--------------
//0629 by _

E0627̃oOꕔCƐVړpPbgɑΉB(̊ԈႢłB
X^[NPCVړpPbggƎvĂ̂ł
VړpPbg̓vC[݂̂̂悤łB)
E^LV[hƃEFfBOhXB(؍̃TNCƂȂ
Ɨ܂Bgp鎞item_db.txt̃R}gAEgĂ
23387170ĎgĂB)
ESP񕜃ACeintɂČʂ悤ɕύXB
E0627ŏYłJ[g̃ACevZitemdb_ĂԂ̂ŏ
Ă邹pc_additem()Apc_delitem()Apc_cart_additem()Apc_cart_delitem()ȊO̕@ŃJ[gACeACeɕϓꍇ
ɓ삷ۏ؂Ȃ̂ŏĈɂ͒ӂĂB
readme0754readme0574ɏCB
makefile CB
(map/)
map.h CB
clif.c CB
pc.c CB
battle.c CB
mob.c CB
script.c CB
(db/)
item_db.txt CB
class_equip_db.txt CB
skill_db.txt CB(뎚łB)
(conf/)
npc_event_doll.txt CB(Ql񂠂肪Ƃ܂B)

--------------
//0628 by NOCTURNE

Esnapshot
Esnapshotsnapshot܂łReadme
Ev]̂snap쐬ivOIȕύX_͖

--------------
//0627 by _

ER[h̍œKƏCB(͌yȂƎv܂B)
E @modifydisplayR}h폜B
EVړpPbgɑΉƎv0x1d8A0x1d9A0x1dapPbg̈ꕔ
0x78A0x79A0x7bƕςĂ݂łB‚܂荡̂܂܂ł͑Ήł܂B
X,Y̍W̏̕ς̂Ɨ\͂Ă܂...
݂܂B(makefileDPACKETVER4ɂ0x1d8A0x1d9A0x1da
g܂Wꂽ炵W܂B)
E100000炾char_id150000ɕύXB(ybg̗̖ŕ̖OƕςɂȂ̂ŏC܂B)
Eybg̃R[hCB(pet_idcard[2]card[3]card[1]card[2]ɕύX܂BđOɍ͎g܂BƂcard[3]̋@\ς̂
dȂC܂Bxconvertc[܂B鎞ԂȂ̂...)
EœKׂ̈ɏCłSĐ퓮삷ۏ؂͂܂B
IoO񍐂肢܂B(batte.c͂܂œKĂ܂B)
J[g̃ACevZACȅdʂ̌vZŏɂ悤ɂĂ̂ŕ\ɏ肪邩...
ECt@CĂ܂B
makefile
help.txt
(common/)
mmo.h
(map/)
map.h
atcommnad.h
atcommnad.c
pc.h
pc.c
clif.c
script.c
trade.c
itemdb.h
itemdb.c
battle.h
battle.c
pet.c
map.c
mob.c
(char/)
char.c
(conf/)
battle_athena-conf
atcommand_athena.conf

--------------
//0626 by ސl

EpPbge[uiVړpPbgȂǁjC
(doc/)
client_packet.txt pPbg̓X M̏𔽉f
conf_ref.txt 0624ɍ킹ďC
(map/)
clif.c
packet_len_table[] client_packet.txtɍ킹ďC

--------------
//0625 by ސl

E@hideBOSSȂǂɌjȂ悤ɏC
(map/)
pc.h
#define pc_iscarton(sd) C
#define pc_isinvisible(sd) lj
mob.c
mob_attack()
mob_target()
mob_ai_sub_hard_activesearch()
mob_ai_sub_hard_mastersearch()
mob_ai_sub_hard()
ipc_isinvisible(sd)!=0jŎlƓlɔ肳悤ɏC
(conf/)
npc_cTower.txt Cithx to holyzardj

--------------
//0624 by

E摜\̈ViVړpPbggpj
EƊ֘AāA@modifydisplayR}h݂
@@@@@\ƂẮÃ݂ATVȂǂ̂ꍇɁA܂͋CɓȂƂŁA
@@@@LɋpPgp悤ɂĂB

(map/)
atcommand.c
atcommand() @modifydisplayR}hlj
atcommand.h
struct Atcommand_Config {
'7d ύX
clif.c
clif_set0078_and01d8() , clif_set007b_and01da() ֐̕ύX
clif_spawnpc() , clif_movechar() , clif_changelook() , clif_getareachar_pc() ,
clif_fixpcpos() , clif_parse_LoadEndAck() ύX
map.h
struct map_session_data Eb} ύX
pc.c
pc_setnewpc() , pc_calcstatus() , pc_equiplookall() , pc_changelook() ύX

(conf/)
atcommand_athena.conf
equip_modifydisplay lj

ύXӏ͑SăL[[humodifydisplayvŃT[`΂قڂ킩邩ƁB

RgFŖ͖͂B͑傢Ȃ銨ႢÏ͓̂i}ew

--------------
//0623 by ސl

E@hideœiȂMOBɃ^QȂj悤ɏCȂ
(map/)
atcommand.c
@hideoptionݒ0x040x40ɕύX
mob.c
mob_attack()
mob_target()
mob_ai_sub_hard_activesearch()
mob_ai_sub_hard_mastersearch()
mob_ai_sub_hard()
option0x060x46ɏC
(conf/)
npc_event_potion.txt MORISON_MEATCithx to holyzardj

--------------
//0622 by ސl

EmobXLgpɎsꍇAʏU悤
(map/)
mob.c
mobskill_use_id() XLgps0A1Ԃ悤ɏC
mobskill_use_pos() XLgps0A1Ԃ悤ɏC
mobskill_use() L𔽉fĎsɂ0Ԃ悤ɏC

--------------
//0621 by Ӓ

EACe`FbNsǂconf/battle_athena.cnfɏ悤
EACe`FbNŕsƔf邩ǂdb/item_avail.txtɏ悤
E@itemcheckŖIɃACe`FbNł悤

foOeXgȂǂŐFXȃACeIDgpꍇ
ACe`FbN𖳌ɂĉB(item_check: off)
ɂꍇł@itemcheckR}hŃ`FbN邱Ƃo܂B
cnft@C͗pӂĂȂ̂ŕKvȂeKɏĂB

(db/)
item_avail.txt
VKljBsACe̗񋓂ɎgpBB͖{B
item_db.txtɒ`Ă邪ۂɂ͎gpłȂACeB
(doc/)
conf_ref.txt
battle_athena.cnfatcommand_athena.cnf̐C
(map/)
itemdb.c/itemdb.h
itemdb_available}Nlj
itemdb_read_itemavail()lj
itemdb_readdb()available=1ɂ悤
itemdb_search()ő݂ȂIDavailable=0Ńf[^悤
do_init_itemdb()itemdb_read_itemavail()ĂԂ悤
pc.c/pc.h
pc_checkitem()GNX|[g
pc_checkitem()availablebattleconfig`FbN悤
atcommand.c/atcommand.h
@itembattleconfig`FbN悤
@itemcheckR}hlj
atcommandconfigitemcheckolj
battle.c/battle.h
battle_configitem_checkolj

Eladmin̏CȂ
AJEgljApX[hύX̍ۂɃpX[hȗƁA
pX[hp̃GR[Ȃpvvgœ͂ł܂i͊mFjB
lj̍ۂɃpX[h\ꂽ獢ꍇȂǂɁB
pX[h͒Ctrl+CȂ̂ŒӂĂB

pX[h̕s̕\Aڂŕ\悤ɂȂ܂B
̑Ƀ`FbNljȂǁB

CygwinłmFĂ܂BPOSIXW[gĂ̂ŁA
POSIXłȂ(G~[VłȂ)vbgtH[
Ȃ܂B
UNIXnłnkfȂǂʼnsR[hϊȂƂ߂H

(tool/)
ladmin
Ver.1.03ɁB

-------------
//0620 by r

Ez[[NX

(db)
skill_db.txt C
(map)
skill.c
skill_additional_effect()C(Rĝ)
battle.c
Damage battle_calc_weapon_attack()C

-------------
//0619 by

Epb`0617̂łYƔȏC

clif.c
clif_movechar(),clif_parse_LoadEndAck() C

--------------
//0618 by nini

EUNV̉rAfBCljB񕜗ʏCB
ESPC
EA[V[͈̔͂5*5ɂ2Z΂B
E`[WA[̎gpB
EXsAX^u̔򋗗6ZɁB
(/db)
cast_db.txt C
skill_db.txt C
(/map)
battle.c
battle_calc_weapon_attack() C
skill.c
skill_castend_damage_id() C
skill_check_condition() C
skill_castend_nodamage_id() C

--------------
//0617 by

E摜\őL\Ȃ̂uƂ肠vC
EC\̃pPbg𑗐M~i_ł̓_BRgłj
clif.c
clif_spawnpc(),clif_getareachar_pc(),clif_fixpcpos(),clif_changelook()C
pc.c
clif_changelook()镔Ci[ƏɂȂ悤ɏ̓ւj

RgB
V}bvړpP(0x1d8`0x1dajFXƂÃpPP‚ŕ\V̂ɑΉĂ
Ƃ킯ł͂ȂۂBړpPƎȊÕLړƋ\ɂȂĂȂB
XɁAV\pP͕Ə̓oĂȂB炭NCAg̖肾ƎvB
Ƃ肠ALтɐVpPpP̂Q‚̑pP𑗂邱ƂʼnĂB
{Ił͂ǂȂ̂̎ۂ̂Ƃ̃f[^߁Aȏ̂Ƃ̓B

--------------
//0616 by Ӓ

Ewater_height.txtǂłȂƃT[o[oOC
map.c
map_waterheight()C

EPC̃}bvړ̃ACe`FbNŃACeID݂̑`FbN悤ɏC
Eꕔ́R}hŃACeID݂̑`FbN悤ɏC
pc.c
pc_checkitem()C
pc_authok()C pc_checkitem()lj
clif.c
clif_parse_LoadEndAck()C
itemdb.c
itemdb_exists()ljiitemdb_searchƓAdbɑ݂Ȃ
ꍇ͐Vf[^炸NULLԂj
itemdb_read_classequipdb()C itemdb_search=>itemdb_exists
itemdb_read_itemnametable()C itemdb_search=>itemdb_exists
itemdb_read_itemvaluedb()C itemdb_search=>itemdb_exists
atcommand.c
@itemC itemdb_search=>itemdb_exists
@produceC itemdb_existsŃ`FbN悤

--------------
//0615 by gQ

EACeDATA啝C
@ȏCӏ́A񕜃ACẻ񕜗ʂ̏CAACeclass_equip_db.txtłgpłlɏCA
@ȋ”\ESďCAJ[hʂCAetcEEEłB

--------------
//0614 by Nikita

EACeDATȀCiɉ񕜗ʁj
EXLł̎˒C
E0612ׂ̍C
(conf/)
npc_town_prontera.txt C
(db/)
item_db.txt C
skill_db.txt C

--------------
//0613 by ސl
EcheckweightC
(conf/)
npc_event_making.txt checkweightC
npc_event_potion.txt |[VAW[XNPCcheckweightC

--------------
//0612 by nini

EACeDATAC
(db/)
item_db.txt C
(conf/)
npc_town_***.txt C
R.O.M776QƂ܂B

--------------
//0611 by _

EACegpȂ0xa8pPbg𑗂悤ɕύXB(oO񍐃Xbh 243no name񋟂肪Ƃ܂B)
EQMŏW͌Ƒx㏸AAhibVAEh{CXAXsANCbPAc[nhNCbP悤ɏCB
Ex㏸Ƒxŋt̃XL悤ɏCB
E0609ŏYBX^[QM͈̔͂甲Ăʂێ悤
ύXƃubVOŎ􂢂ƐΉ悤ɏCB
clif.c
clif_useitemack() CB
skill.c
skill_status_change_start() CB
pc.c
pc_insert_card() CB(̓J[hoOƂ͊֌WȂCłB̃oȌC͎05xxŏC܂̂ŁB)

--------------
//0610 by gQ

EACeDATAC
(db/)
item_db.txt C

--------------
//0609 by _

EFXƏCB
EX^[~܂悤ɓCB
EwẽfBCCB
E쐬̃R[hЕtB
EGXL͈͂瓦ꍇXLs悤ɕύXB
Eclass_equip_db.txt̎dlύXB
ʂƑxݒ”\ɕύXƎgpACe̎gpEƁAʂƎgp
x̐ݒ肪ł悤ɕύXB(f[^ŏC
class_equip_db.txt̓Tvx̕łB߂ĂB͖{ł...)
ƃACegpȂƃACegȂ悤ɂĂ
܂01c8pPbĝ0ɂĂACegpƓ
GtFNgo܂B{ĨACegppPbgȂ܂܂
邵Ȃ̂ł...
Ebattle_athena.confɍڒljB
ȆXLCƍׂCB
ECSĊoĂ܂̂Ńt@CB
(map/)
clif.c CB
mob.c CB
mob.h CB
pc.c CB
map.h CB
skill.c CB
skill.h CB
itemdb.c CB
battle.c CB
battle.h CB
(conf/)
battle_athena.conf CB
(db/)
cast_db.txt CB
skill_db.txt CB
create_arrow_db.txt CB
class_equip_db.txt CB
item_db.txt CB
(doc/)
client_packet.txt CB
conf_ref.txt CB

--------------
//0608 by sk
EA}cNPClj
(conf/)
npc_town_amatsu.txt NPClj
npc_warp_amatsu.txt [v|Cglj

--------------
//0607 by J
EATg^[g̎艺̃oOC(񍐂肪Ƃ܂ 邳)
(db/)
mob_skill_db.txt ATg̏C‚łɃe|gMOB̃XLfBCC

--------------
//0606 by ސl
EXLxőlȏɃNbN_őXLグȂȂoOCiThanx to 227j
(map/)
clif.c
clif_skillup()
XLxől̂ƂApPbg0ɂ悤ɏC

--------------
//0605 by

E푮t^XL̕ssC
ւO肵ꍇAt^悤ɂ܂B
AAf聁푕̂ݏԈێ܂B
EXsANCbP̃Xe[^XACR𐳂\
EQgpAXsANCbPAAhibVŊYȊO̕펝ւŏԏ
XsANCbP͖mFłAQgp͊mȂ̂łQgpƕsȎdlƂ
lɂ̂œlȃp^[Ƃ܂B{IƑႪꍇ͕񍐊肢܂B
EĜplŏW͌Ƒx㏸
plʼneXL͂Q‚ȁH@̋Lƌf‚ł̕񍐂Ƃ
f̂łAႪ܂񍐊肢܂B

(map/)
clif.c
clif_parse_UnequipItem() C
pc.c
pc_checkallowskill() pc_equipitem() C
skill.h
skill_encchant_eremental_end() lj
skill.c
skill_status_change_start() skill_status_change_end()
skill_status_change_clear() skill_encchant_eremental_end() C
ׂ̑Ƃ돭X

--------------
//0604 by J
EMOBXLďC
EMOBDBC
(db/)
mob_skill_db.txt
A[NGWFOƃ^[gWFl12ނ܂ł
MOBoȂ̂C
mob_db.txt
[hIufX̃hbvŃG[ôC(mF)
앐m̃hbvMVPlj(mF)
--------------
//0603 by ސl
EVKACeɂ”\`FbN悤ɏC
(map/)
pc.c
pc_checkadditem()
VKACeMAX_AMOUNT𒴂Ă
ADDITEM_OVERAMOUNTԂ悤ɏC

--------------
//0602 by ސl
EGeffenb艮ŗC
(conf/)
npc_town_geffen.txt if (!checkweight(,)) if (!(checkweight(,))) ɏC

--------------
//0601 by J
EMOBXL̊Ȃ炩C
EoƋC̎gEC
EQtFjA_W̔zuJ{`CxgœꂽƂ̔zuɏC
{XDOP2̂ł͂ȂhLɂĂ܂B
(conf/)
npc_monster.txt X^[zuύX
(db/)
mob_skill_db.txt ݒȂǂ̏C
item_db.txt POT̏C

--------------
//0600 by ސl
EveB̉̃t@ɘb|ƌł܂C
EMOBXL荞݁iThanx to Jj
(conf/)
npc_event_skillget.txt t@LabelC
npc_town_prontera.txt t@dĂ̂ō폜
(db/)
mob_skill_db.txt Wm[ȍ~MOBXLlj

--------------
//0599 by

EZ[W̕푮t^XL̕ssCƃXe[^XACR\
AXyVIƃG`g|CYƂődɂĂ܂Ă̂ŁA
Ōɕt^̂P‚ɂȂ悤ɂ܂B
̂‚łɃXe[^XACR\悤ɂ܂B
ieXgłAACRoȂXsANCbPł͂łBj
EACeDBɂāA|[V̎gplj
Jazz񋟂łB
Ǝ̎ŃOiNTVcAij܂@CɓȂ
Ȃ茳ʂɏCȂ肵ĂĂ܂`B

(conf/)
battle_athena.conf 598ł̓Y
(map/)
skill_encchant_eremental_end() lj
skill_status_change_end() skill_status_change_start() skill_status_change_clear() C
(db/)
iten_db.txt C

--------------
//0598 by

Ẻ摜ύXɑΉ
ꉞȂNZC_[̗葄Ƃv[Xg̓݊Ƃ̓eXg܂A
SĂ̐E`FbN͂܂B܂̎_ł̓NCAĝ̕\f[^
̗L̂̂tĂ܂B
ƁACꉞ͑Ή܂BA͌_ł͖{IΉȂ̂łB
\ČƂꍇ͏]̂o܂B

(conf/)
battle_athena.conf
IvV equip_modifydisplay lj
(map/)
battle.h
Battle_Config C
battle.c
battle_config_read() C
clif.c
packet_len_table[] clif_changelook() C
map.h
enum {} C
pc.c
pc_calcstatus() pc_equiplookall() pc_changelook() C
(common/)
mmo.h
mmo_charstatus {} C

--------------
//0597 by gQ

EA}cɊւCC
(conf/)
npc_mob_job.txt
npc_monster.txt
npc_monster30.txt
XC
npc_monster_amatsu.txt
ljiXȂ蔲łEEE
npc_town_amatsu.txt
VbvNPC𓝍inpc_shop3.txtĂOKł
(db/)
mob_db.txt
A}c̃Xf[^ݕ͈͂ŏCƂ̂def,mdefC

--------------
//0596 by _

E0595̏CƍׂCB
Et[LXgŃLXgĂԂ͍U”\łLXg
fBC^Cł͍UłȂ悤ɂȂĂ܂B{I̎dlǂȂ̂
킩܂B
EĂPCɃX^[UłȂCB(eXgĂ܂
ővƁB)
(map/)
skill.h
SC_FREECAST 폜B
skill.c
skill_use_id()Askill_use_pos() CB
skill_castend_id()Askill_castend_pos() CB
̑CB
pc.c
calc_next_walk_step()Apc_attack_timer()Apc_calcstatus() CB
clif.c
clif_parse_ActionRequest()Aclif_parse() CB
map.h
struct map_session_dataprev_speedljB
mob.c
mob_ai_sub_hard()Amob_changestate()Amob_attack() CB

--------------
//0595 by PRevEv
Et[LXgCA(LXeBOUł܂B)
(/map)
pc.c
pc_calcstatus() CB
calc_next_walk_step() CB
pc_attack_timer() CB
skill.c
skill_castend_id()Askill_castend_pos()Askill_use_id()Askill_use_pos() CB

--------------
//0594 by _

E؍Ƃ̃p[eBCƍׂCB
E@partyR}hC@guildR}hljB
Ebattle_athena.confguild_emperium_checkljB
EXLgpsĂfBCCB
help.txt CB
(map/)
clif.c
clif_parse_CreateParty2() ljB
clif_parse_ItemIdentify() CB
̑CB
atcommand.hAatcommand.c CB
battle.h
struct Battle_Configguild_emperium_checkljB
battle.c
battle_config_read() CB
guild.c
guild_create()Aguild_created() CB
skill.c
skill_castend_id()Askill_castend_pos() CB
Makefile CB
(doc/)
client_packet.txt
pPbg0x01e8 ljB
conf_ref.txt CB
(conf/)
atcommand_athena.conf CB
battle_athena.conf CB

--------------
//0593 by _

EeIƃo~Ĩ_[WCƍׂCB
EeI覐΂Ă͈͂7*75*5ɕύXB(Œ͑SĂ覐΂
_[W󂯂邱ƂɂȂ܂B)
E񕜌vZύXB
XLx*5 + (max_hp/50)
XLx*5 + (max_hp*XLx/500)ɕύXB(SPƑ悤ɕύXB)
EGMENbN߁ugpҋIvatcommand_athena.confkick
x`FbN悤ɕύXB
(db/)
skill_db.txt
XLCsp108ɏCB
(map/)
map.c
NO_WATER1001000000ɕύXB
battle.c
battle_calc_magic_attack() CB
skill.c
skill_castend_pos2() CB
pc.c
pc_natural_heal_hp()Apc_natural_heal_sp()Apc_spirit_heal() CB
clif.c
clif_parse_GMKick() CB
(doc/)
conf_ref.txt CB

--------------
//0592 by ސl

E̗L薳water_height.txtŌ߂悤ɕύXBnpc_water.txt͕svɁB
EJ[hXLł̓xグłȂ悤ɂȂߕsvɂȂ폜B
(conf/)
map_athena.conf
npc: conf/npc_water.txt
water_height.txt
ftHg3̃}bvljall_water-100ƂăRgŒlj
(map/)
map.c
waterlistmap_readwater()Ńm
gatݒ͕svȂ̂map_readallmap()ŃJĂ܂
map.h
struct map_dataflagwater_flag
npc.c
npc_parse_mapflag()
}bvtOwaterall_water
pc.c
pc_skillup()
ŃXLLvUPłȂȂ̂skill[id].flag̕͏
skill.c
skill_check_condition()
map_getcellŐꔻ肷悤ɏC

--------------
//0591 by CHRIS

ENeĂƂAe*3̕K_[WlɂȂ܂B@battle.cC
ENXLuwevƁuvƁuCEv̉rԂC܂B@cast_db.txtC

--------------
//0590 by _

Egrf-files.txtconft@CAaccount.txtt@C̖Oƈʒuς悤ɕύXB
E}bvړɂIhׂɏCB(}bvx[hĎI
NƂ̕񍐂󂯂̂ŁB)
E0586ƏCBɂXL̏ꍇxグłȂ悤ɏCB
ɂXLXL|Cggďグ鎞͑OKv
܂B
E@partyƏCB(Oɋ󔒂ĂvȂ悤ɁB)
E̍water_height.txtœǂݍނ悤ɕύXB
Econft@CŐݒ肷镨t@C̃pXɋ󔒂Ăv
悤ɕύXB
EGMENbN߁ugpҋIvŃX^[|悤ɕύXB
(͕słŃX^[EƎI߂ႭɒxȂ邱Ƃ
܂B)
ȆCB
EeXg͖wǂĂ܂̂ŒӂĂB
athena-start CB
(map/)
pc.c
pc_skill()Apc_resetskill()Apc_setpos()Apc_read_gm_account() CB
pc_set_gm_account_fname() ljB
pc.h
pc_set_gm_account_fname() ljB
clif.c
clif_skillinfoblock()Aclif_parse_LoadEndAck()Aclif_parse_GMKick() CB
clif_changemap() CB
atcommand.c
@partty CB
skill.c
skill_castend_nodamage_id() CB
map.c
map_config_read()Amap_readwater() CB
script.c
script_config_read()Ado_init_script() CB
script.h
script_config_read() ljB
(common/)
version.h CB
grfio.h
grfio.c
grfio_init() CB
mmo.h
GRF_PATH_FILENAME ljB
(conf/)
map_athena.conf CB
npc_water.txt CB
water_height.txt ljB
login_athena.conf CB
(login/)
login.c
login_config_read()Aread_gm_account() CB
(char/)
char.c
do_init() CB
char_config_read() ljB
inter.c
inter_config_read() CB
(doc/)
conf_ref.txt CB

--------------
//0589 by Ӓ

EGM̉ENbNŐؒfC
Ƃ肠01dfpPbg𖳎悤ɂ܂B
ȂƂȂ̃pPbg̓`bg֎~񐔂Ƃ͊֌W悤ȋCcc

clif.c
clif_parse_GMReqNoChatCount()lj

Estartathena.shłȂathena-startg悤ɕύX
start
athena.sh => athena-start startɒu

--------------
//0588 by Kalen

EAmatsuNPClj

--------------
//0587 by Ӓ

EloginT[o[̊ǗpPbg̎dlύXi0579̃OCۏɑΉj
(login/)
login.c
AJEgoԕύXpPbglj(7936,7937)
AJEgXgpPbgC(7921)
(doc/)
admin_packet.txt

Eladmin̋@\lj
EoԂύXR}hlj
EXg\ƌŃoԂ\悤ɂȂ
E"?"łwvo悤ɏC
EV{bNNstateaccountlj܂B
glladmin--makesymlinkxsĂ

(tool/)
ladmin
@\lj

--------------
//0586 by ސl
EJ[hXLC
(/map)
pc.c
pc_calc_skilltree()
pc_skill()
oȂXLȂskill[id].flag=1Ƃ
܂skill[id].flagɖ{lv+2ċL
pc_skillup()
skill[id].flag₷
clif.c
clif_skillinfoblock()
skill[id].flag==1ȂoȂXL
(/char)
char.c
mmo_char_tostr()
skill[id].flag{lvlۑ

--------------
//0585 by kalen
EscriptC
npc_town_guid.txt OύX

--------------
//0584 by ސl
EJ[hXLC
(/map)
pc.c
pc_calc_skilltree() cardXLYꂳ鏈lj
pc_skill()

--------------
//0583 by kalen
EscriptC
npc_event_doll.txt Ẳblj
npc_town_guid.txt ̈ēv̉摜\ł悤ɏC
{IɍŐVjROŖȂłB

--------------
//0582 by PRevEv
E580̃oOCB
(/map)
skill.c
skill_use_pos() CB
--------------
//0581 by ސl
Eꍂݒ֘AC
(/map)
map.c
map_waterheight()
map_readwater()
map_readmap()
waterlist[512] -> *waterlistɂāAmallocŃmۂ悤ɏCB
map_readallmap()
free(waterlist);lj

EoO񍐃Xbh̏Cpb`荞
(conf/)
npc_town_refine.txt Z~RC
(db/)
item_db.txt 1161,oC

--------------
//0580 by PRevEv
Et[LXg(LXeBOU͕s”\)
(/map)
clif.c
clif_parse_WalkToXY() CB
pc.c
pc_calcstatus() CB
skill.c
skill_castend_id()Askill_castend_pos()Askill_use_id()Askill_use_pos() CB
--------------
//0579 by A̐l
EOCe
conf/login.c
auth_dat\̂statelj
mmo_auth֐C
mmo_auth_new֐C
mmo_auth_sync֐C
mmo_auth_init֐C

̒lύXc[APB͖{łiG
--------------
//0578 by ސl
EoO񍐃Xbh̏Cpb`荞݂Ȃǁithanx to 邳,Athefans,sage,zupportj
help.txt @go̐ƏC
(conf/)
npc_mob_job.txt 4ڂTab؂ɏC
npc_water.txt ꍂC
(db/)
item_db.txt 640,...,{ pet 1155; },{},,ɏC
mob_db.txt 1162,RAFFLESIA,tVA...C

--------------
//0577 by
E@R}hljC
atcommand.c
atcommand() @itemresetR}hlj @goR}hCiA}cERljj
atcommand_config_read() ɍ킹itemresetgpxwlj

doc/conf_ref.txt
conf/atcommand_athena.conf itemresetgpxwlj
help.txt @itemreset̐lj@go̐C

-------------
//0576 by V&S
ES[XgOJ[hƃo[X[J[ȟʂtɂȂĂ̂C
{ bonus bDefEle,7; }S[XgOJ[h(O)
{ bonus bDefEle,8; }o[X[J[h()
̂ɏC
{ bonus bDefEle,7; }o[X[J[h()
{ bonus bDefEle,8; }S[XgOJ[h(O)

|S̏dʂC

--------------
//0575 by ސl
Et@C"conf/npc_water.txt"Œ肾̂C
iconf/map_athena.confnpc:ɏĂt@C݂Đꍂݒ肷悤Ɂj
map.c
struct waterlist[512]; VKljB}bvt@CƐꍂLB
map_waterheight() VKljB̍ԂB
map_readwater() t@C݂waterlistݒ肷悤ɏCB
map_readmap() map_waterheight()ĂԂ悤ɏCB
map_config_read() "npc"map_readwater(w2);ljB

--------------
//0574 by

ET[o[Snapshot
Econf/shop_*.txt̓econf/npc_town_*.txtɓ

--------------
//0573 by Jazz

Emap penalty, nomemo, noteleport, nobranch optionݒB
Emap T[o[ cpu𖳌L邱Ƃ邽߂ script Yt. cygwin‹ō쐬Ǝ܂.
(/conf)
mapflag.txt ljB
(/tool)
mapcheck.sh ljB

--------------
//0572 by ސl
E"conf/npc_water.txt"̑4Őꍂݒ
@iƂꔻ肪܂ł̂‚ȂƂāEEEj
(/conf)
npc_water.txt TvCB
E4Ő̍ݒ肵܂B
EȂꍇ̃ftHgl3ɂȂ܂B
(/map)
map.c
Eꍂݒ֐ map_readwater() ljB

--------------
//0571 by code
VÃtB[hMOB̔zuƃ[v|Cg̐ݒ̏C
VÃpb`ɛĂ܂܂Ă̂mF̂śẴ[vmobzu

conf/npc_monster35.txt
mob̔zu

conf/npc_warp_amatsu.txt
@@ Vwarp point̐ݒu

conf/npc_warp_gonryun.txt
warp point̐ݒu

conf/npc_town_amatsu.txt
@@ bIɃveOVÍ`^veOĂ̐ڑNPC

--------------
//0570 by code
VÃtB[hMOB̔zuƃ[v|Cg̐ݒłB
conf/npc_monster35.txt
mob̔zu

conf/npc_warp_amatsu.txt
@@ warp point̐ݒu

conf/npc_town_amatsu.txt
@@ bIɃveOVÍ`̐ڑNPC

--------------
//0569 by _

E0561@jobcange ł́o[h_T[ɂƗh~pc_jobchange()ł悤ɕύXB
E@R}h@partyljBp[eB閽߂łB؍Ƃgƃp[eB鎞~܂̂ŗՎIɂgăp[eBĂB
E̔fCB
E}bvtOwaterall_waterljBڂnpc_water.txtQlĂB
iz_dun0x͂Ă܂̂ő͖̂߂ĂB}bvtOwaterall_waterĂȂƃZtype3łƂĔF܂BĐ炯iz_dun0204܂ł͑SĐƂĔF悤all_waterĂ܂B(ȊO͕@Ȃ̂...)
Ebattle_athena.confɍڒljBꕔWeissQlčłB
EeXgĂȂ܂B
(/conf)
atcommand_athena.conf CB
battle_athena.conf CB
map_athena.conf CB
npc_water.txt ljB
(/doc)
conf_ref.txt CB
(/map)
atcommand.hAatcommand.c CB
battle.h CB
battle.c
battle_config_read() CB
pc.c
pc_jobchange()Apc_stop_walking() CB
npc.c
npc_parse_warp()Ado_init_npc()Anpc_parse_mapflag() CB
mob.c
mob_ai_sub_hard() CB
pet.c
pet_food() CB
skill.c
skill_check_condition() CB
map.h
struct map_data CB

--------------
//0568 by ސl

EANAxlfBN^ꔻȂ
EEH[^[{[ꔻiread_gat(m,x,y)==3ŐƔj
skill.c
skill_castend_nodamage_id()
case AL_HOLYWATER: ANAxlfBN^i擾j
skill_check_condition()
case AL_HOLYWATER: ANAxlfBN^iꔻj
case WZ_WATERBALL: EH[^[{[iꔻj

--------------
//0567 by

EARCg̃ANAxlfBN^igp̂ݖj
Ev[Xg̃AXyVIAZ[W̃tC`[ŃXLgpɃACe
E~XgXJ[hɃZ[W̑΁n^[㩂ȂoOC

(/map)
skill.c
skill_check_condition() C

--------------
//0566 by pC

E0563̃XLԈĂ̂ŏCB͂&ςꍇ
@ʼn悤ɂB

# pc_checkallowskill ɂ‚(ÔYĂ̂Łc)
@ꉞ̊܂݂ƂreturnԂ悤ɂĂ܂A݂(߂ł)gĂ܂B
@݂͋RmENZC_[炢XLgp̕퐧܂񂪁AoĂȂ
@ƂȂ̂ŁA(2ʂ3H)oĂ炱Ń`FbNĂB

(/map)
pc.c
pc_checkallowskill() C

--------------
//0565 by ސl

E}bvړɖOȂ悤ɏC
EOCɖ\悤ɏC
(/common)
mmo.h
i0x8000Ȃ̂Łjshortintւ̃LXgȂǂ
lƂȂĂ܂unsigned shortɏC
struct item
short equip; -> unsigned short equip;
(/map)
clif.c
clif_itemlist() ACeXĝ̖‚łɖ`FbN
clif_arrowequip() Vv
pc.c
pc_equipitem() C

--------------
//0564 by gt

E@model̕ߕs”\CB
E@modelŁAIׂnY̔`ɕύXoȂCB
@LύX_ɍ킹help.txt̏CB

--------------
//0563 by pC

EMOB̈ÈŃXLHɉ񕜂Ȃ̂CBcȂ񂾂ǁAKȒlȂ̂
@łⒾقƓԂɂĂ܂
@A܂邩܂B
E2HQƃXsANCbPgpɕςꍇ͉悤ɕύXB

(/map)
skill.c
skill_castend_damage_id() CB
skill_status_change_timer() CB
pc.c
pc_checkallowskill() V݁B
pc_equipitem() CB
pc.h
pc_checkallowskill() V݁B

--------------
//0562 by huge

E|ȊOłł悤ɖ߂܂B
ȆKp̂|݂̂ɏCB

pc.c
pc_equipitem() CB
pc_calcstatus() CB

--------------
//0561 by ސl

ELinuxłRpCł悤
(/map)
skill.c
skill_castend_damage_id() ϐdx,dy̐錾ʒuύX
Makefile
LIBS -lm lj

E@jobcange ł́o[h_T[ɂƗh~B by (no name)
atcommand.c
@jobchange,@charjobɐʃ`FbNlj

// iiXC
Eclif.catcommand.hQxincludeĂ̂ň폜B
Ep[eB[bAMhbł@R}h`FbN悤ɏCB
(/map)
clif.c
clif_parse_PartyMessage()Aclif_parse_GuildMessage CB

--------------
//0560 by pC

E0559 athena-start Unix Like OS ł悤Ƀt@CB

--------------
//0559 by rowla

Eathena.shSʓIɏAathena-startɁBathena-start startŊJnAathena-start stopŃT[o[~BcygwinŃeXgA*BSD|Linuxł͖eXg(‹Ȃ)B

--------------
//0558 by _

Eubcr[g|𑕔ĂȂƔłȂ悤ɕύXB(蓮͕Ɋ֌WȂg܂B) eXgB
Egbv̏dCB(̂͒mȂ100ɂȂĂ̂10ɏCB݂ɑq̕\10010101łB)
E|ŎgXL̏ꍇȂ̂dlƊoĂ̂Ŗ`FbNȂ悤ɏCB
ENXLOi̕\pbVuɕύXB
E}bvtOZbg鎞dummyȂĂZbgł悤ɏCB
(mapflag nomomo dummymapflag nomemołvȂ悤ɕύXB)
eXgB
(/db)
item_db.txt CB
skill_db.txt CB
(/map)
skill.c
skill_check_condition()Askill_additional_effect() CB
skill_status_change_start() CB
npc.c
do_init_npc() CB

--------------
//0557 by huge

EA|̂ݑł悤ɏCB
E|𑕔OAO悤ɏCB
EXL‚CB
EA|𑕔ĂƂ̂ݔ悤ɏCB(eXg)

pc.c
pc_equipitem() CB
pc_unequipitem() CB
skill.c
skill_additional_effect() CB
skill_check_condition() CB

--------------
//0555 by _

EׂCƃv[g{bNXAẪoOCB
E@R}h@refineA@produceCB
ET[o[IPDNSg悤ɕύXB(łYare
ĂłB)
EXeB[vZύXMVPACeύXB
EXNPC𗘗pɂWuollvZύXB
lWuol = ln(*XLx) * shop_exp / 100
EقƂǃeXgĂȂ̂ŃoỎ”\܂B
help.txt CB
(/conf)
atcommand_athena.conf CB
battle_athena.conf CB
(/db)
item_db.txt CB
(/doc)
conf_ref.txt CB
(/char)
char.c
do_init()Acheck_connect_login_server() CƏCB
(/map)
mob.c
mob_damage() CB
pc.c
pc_getitemfromcart()Apc_steal_item() CB
pet.c
pet_return_egg()Apet_get_egg()Apet_unequipitem() CB
script.c
buildin_getitem() CB
skill.c
skill_produce_mix() CB
storage.c
storage_storageget() CB
atcommand.c CB
map.c
map_config_read() CƏCB
chrif.c
check_connect_char_server()Ado_init_chrif()Achrif_setip() CƏCB
npc.c
npc_buylist()Anpc_selllist() CB

--------------
//0554 by NOCTURNE
ET[o[SnapShot
Etoo/addaccount̍폜
Ehelp.txt̍XV

--------------
//0553 by Ӓ

EladmiñoOCƋ@\lj
EL[[hɂAJEg@\lj
EVFR}hƂĎgpł悤ɃvvggȂ[hlj
Elj@\ɂ‚ĂladminĂ
E ladmin--makesymlinkɂAV{bNNƂaddaccount
쐬邽߁AȑOaddaccount͍폜Kv܂B
̃V{bNN(Cygwinł̓V[gJbg)ƁA
Âaddaccount͎Isnapshotɂ͊܂܂ȂʼnB

(tool/)
ladmin
@\ljƏC

EAJEg쐬łȂoOC
EladminAcheckversiongploginT[o[\oOC
EGMAJEgӂID邽߂START_ACCOUNT_NUMύX
(GMAJEg͔dlɂȂĂ܂Ah~̂)

(login/)
login.h
START_ACCOUNT_NUM5000002000000ɕύX
login.c
7532(ؒf)pPbg̏C
mmo_auth_new()C

EbackupobNAbvt@Cpet.txtlj
(tool/)
backup
t@CljC

--------------
//0552 by _

E萫グׂ̏Cł{Ɉ萫オ
ǂ͕słB
EPVPɂNCAgCB
atcommand.c
@pvpoffA@pvponA@gvgonA@gvgoff CB
script.c
buildin_pvpon()Abuildin_pvpoff()Abuildin_gvgon()Abuildin_gvgoff() CB
clif.c
clif_pvpset() CB
skill.c
skill_attack()Askill_unit_onplace()Askill_unit_onout() CB
skill_unit_ondelete() CB

--------------
//0551 by Kalen
EDBC
db/create_arrow_db.txt
SourceIDɃ\[g܂B

--------------
//0550 by huge

E쐬XL

clif.c
clif.h
clif_arrow_create_list() lj
clif_arrow_created() lj
clif_parse() C

pc.c
pc_search_inventory() C

skill.c
skill.h
skill_arrow_db() lj
skill_readdb() C
skill_castend_damage_id() C

db/create_arrow_db.txt lj
db/skill_db.txt C

܂db͖łB

--------------
//0549 by Kalen

Emap_athena.conf
IWiXNvgAGߌXNvg𐮓
shop3.txtlj

EeNPCljC
npc_event_yuno.txt [lj]Wm[Cxg(5GET)
npc_cTower.txt [lj]nňNPC
npc_town_yuno.txt [C]䎌C

npc_event_carnival.txt [lj]IJ[joCxgNPC

--------------
//0548 by huge

E𑕔̕\oOCB
clif.c
clif_arrowequip() CB
pc.c
pc_equipitem() CB

Ƃ́A}bvړ邽тɑOꂿႤ_łˁEEEB

--------------
//0547 by _

E萫グׂ̏CƍׂCB
EXLjbg̔Ăԃ[łȂ悤ɕύXB
map.c
map_foreachinarea()Amap_foreachinmovearea() CB
map_foreachobject() CB
block_free_max3200050000ɕύXB
pc.c
pc_calcstatus() CB
skill.c
do_init_skill()Askill_unit_timer()Askill_status_change_clear() CB
skill.cAbattle.cAbattle.h
struct battle_configsanctury_typesanctuary_typeɕύXB
(pXyԈႢŏCB)
battle_athena.conf
sanctury_typesanctuary_typeɕύXB
conf_ref.txt
sanctury_typesanctuary_typeɕύXB

--------------
//0546 by qo^.^o

conf/npc_shop2.txt
DohA_Tp̕BRh̕퉮Ŕ̔ĂB
DNp̕BJsgꃊiC@Ŕ̔ĂB

--------------
//0545 by _

Eubc̃_[WŕUA蓮ŕʂɂȂ悤ɕύXB
EI[gubcoOCB(ővƂ...)
map.c
block_free_max1600032000ɏCB
block_list_max40965120ɏCB
battle.c
battle_weapon_attack() CB
skill.c
skill_attack()Askill_castend_damage_id() CB

--------------
//0544 by Diex
Eҗ爢Ceւ̃R{B
ECeAG̔wɈړ悤ACB
EOĩ_[WCB
(/map)
skill.c
skill_castend_damage_id() CB
skill_check_condition() CB
skill_use_id() CB
pc.c
pc_attack_timer() CB
pc_authok() CB
battle.c
battle_calc_weapon_attack() CB
battle.h
struct Battle_Config CB
map.h
struct map_session_data CB
(/conf)
battle_athena.conf CB

͂肢ăR{qÂ炢łB̂߈Cւ̃R{͂ȂÂ
Ă܂iꎞIɂłjBqÂ炯battle_athena.conf̂قŃfC
Ԃ傫Ă݂ĂB
挩ĂċCÂ̂łACe͖җÃXL
ɕςĂ悤Ȃ̂łB͖{łAC܂ł̃R{̃pPL^
ǂȂAbvĂ炦Ȃł傤Hڍׂ킩莟AC܂B

--------------
//0543 by _

Eubc̃_[W𕪎U悤ɕύXB
Eʂ̃AJEgłGMAJEgȂ悤ɕύXB
(OɎꂽȂȂ̂Ŗ߂ł...)
E芪ƈꏏɎʂ悤ɕύXB(ƏdȂ
”\܂B) eXgB
EMVPol\Ďۂɂ͓ĂȂCB
(/login)
login.c
mmo_auth_new() CB
(/map)
skill.c
skill_castend_damage_id() CB
battle.c
battle_calc_misc_attack() CB
mob.c
mob_damage() CB
mob_deleteslave()Amob_deleteslave_sub() ljB

--------------
//0542 by _

EI[gubcoOCB(xv̂͂...)
EɎgq[ł͌oȂ悤ɕύXB
EXNPC𗘗pɂWuollvZύXB
lWuol = ln() * shop_exp / 100
ɂȂ܂B
loggƂŋĂolȂ悤ɕύX܂B
(/map)
battle.c
battle_damage() CB
skill.c
skill_attack()Askill_castend_damage_id() CB
skill_castend_nodamage_id CB
npc.c
npc_buylist()Anpc_selllist() CB
map.c
map_foreachinarea()Amap_foreachinmovearea()Amap_foreachobject()
CB(債Cł͂ȂłB)
(/conf)
battle_athena.conf CB
(/doc)
conf_ref.txt CB

--------------
//0541 by huge

E܂Ƃ߂ĎĂ悤ɏCB
E|ōUƂɁAĂ悤ɏCB

itemdb.c
itemdb_search() C
itemdb_isequip() C

battle.c
battle_weapon_attack() C
battle_calc_weapon_attack() C

clif.c
clif.h
clif_arrow_fail() lj
clif_parse_EquipItem() C

--------------
//0540 by _

EoOCƖ肠肻ȏCB(WZ_FIREPILLARƃubc
I_E͂ȂȂ͂...)
map.c
map_foreachinarea()Amap_foreachinmovearea() CB
skill.c
skill_unitsetting()Askill_delunitgroup() CB
pc.c
pc_damage() CB
battle.c
battle_damage() CB
npc.c
npc_parse_mob() CB
mob.c
mob_spawn_dataset() CB

--------------
//0539 by _

Eclif_pvpset()}bvAREA}bvݒł悤ɕύXB(pvp̎̏0535ȑO̕ɖ߂܂Bɓ]Ă悤ȋC܂...)
clif.hAclif.c
clif_pvpset() CB
clif_parse_LoadEndAck() CB
script.c
buildin_pvpoff() CB
buildin_pvpon() CB
atcommand.c CB
EUrŃACeEƍU~܂悤ɏCB
pc.c
pc_takeitem() CB
E0535gɂȂĂ邪͋ɊԈႢłB
E0537ŐY܂X^[defmdef10000ȏɐݒ肷ΑSĂ̍U1_[WɂȂ郂X^[ɂȂ܂BăX^[def
mdef10000ȏ̏ꍇdef 100Amdef 99ɕ\悤ɕύXB{Idl
ɂmob_db.txtCĂB

--------------
//0538 by huge

EOgD[X͈͍UɏC
ETvCYA^bN (L͈͂āAłĂ̂ȁH)
EobNX^ủ
{IłĂlb𕷂āAꏊw肶Ȃ
^QĂǂ̂ŕύX܂Bi₷̂ (^^;
܂Amob̌ɋ邩ǂ͓̔Ă܂B

Ebattle.c
battle_calc_weapon_attack() C

Eskill.c
skill_additional_effect() C
skill_castend_damage_id() C
skill_check_condition() C
skill_use_id() C
skill_castend_nodamage_id() C

Eskilldb.txt
obNX^u̎ނ[ꏊ][G]֕ύX

--------------
//0537 by _

EXeB[oOCbattle_athena.conf̍ڒljAdlύXƍׂCłB
(XeB[͌vZɖ肪̂ŏCĊmXɗƂ܂B)
battle.h
finger_offencive_typefinger_offensive_typeɏCB(pXyԈႢŏC܂B)
struct battle_configrestart_hp_rateArestart_sp_rate ljB
battle.c
battle_calc_weapon_attack()Abattle_calc_magic_attack() CB
skill.c
skill_attack() CB
clif_skill_nodamage()ɃXLx𑗂悤ɕύXB(M̎wEɂCB)
clif.c
clif_skill_estimation() CB
conf_ref.txt
finger_offencive_typefinger_offensive_typeɏCƏljB
mob.c
mob_ai_sub_hard()Amob_target()Amob_damage() CB
pc.c
pc_steal_item() CB
atcommnad.cAatcommnd.h
@R}h@gvgon , @gvgoff ljB
battle_athena.conf
finger_offencive_typefinger_offensive_typeɏCƏljB

--------------
//0536 by hogefuga3 (Athena staff)

EVGRFt@CtH[}bgΉ
@- Athena staff l̍쐬ꂽpb`Kp܂B
XV̓̕pb`~XɂȂ̂Ŏ蓮őgݍ݁B

iύXj
common/
grfio.c

--------------
//0535 by _

E0533̖肪肻ȕSďCBCS`FbNĂȂ̂ŏCt@C...
EXNvgsetmapflagnosave ljB
setmapflagnosave }bvAZ[u}bvAW(XAY)
nosavetOonɂ܂B
Ebattle_athena.confɒljƈꕔdlύXB(ڂconf_ref.txtQlĂB)
EX^[defmdef10000ȏ̏ꍇSĂ̍U(NeBJ܂߂)1_[WɂȂ悤ɕύXB(gbvubc̏ꍇ10000ȏ̏ꍇ̂1ɂȂ܂B) ƃLmRɂP_[WŒ͍폜܂B(X{Ił1Œł͂ȂłBɂグ_[W͂̂܂܏o܂̂... Œ肵̂Ȃdefmdef10000ɂĂB͂̓NX^Ɉׂɍ낤Ƃł...)
Eg̎ACeɂXL͎gpł悤ɏCB
ȆCB(C̒̕ɃeXgĂȂ܂B)
(/doc)
conf_ref.txt CB
(/conf)
battle_athena.conf CB
(/map)
battle.h CB
battle.c CB
mob.h CB
mob.c CB
skill.c CB
npc.c CB
pc.c CB
script.c CB
clif.c CB
chrif.c CB

--------------
//0534 by Diex

ER{VXe
map/
battle.c
battle_weapon_attack() CB
clif.c
clif.h
clif_combo_delay()@֐ljB
map.h
map_session_data@ϐljB
pc.c
pc_authok()@ϐljB
pc_attack_timer()@CB
skill.c
skill_castend_damage_id()@CB
skill_check_condition@CB
skill_use_id@CB
db/
skill_db.txt@CB

jҗ爢CePɂ͂܂‚Ȃ܂B
CePAPCMOB̔w(?)ɈړĂۂ̂łA
@@ւ̏񂪑܂B񋟂肢܂B

--------------
//0533 by

EƃLmRɂP_[WŒ
battle.c battle_weapon_attack() battle_calc_attack() C
battle.c battle_get_mobid() lj
mob.c mob_makedummymobdb() mob_readdb() C

EXLOɃǔŗLԍob̂hcԍ\
ibattle.c battle_get_mobid() lĵł̂‚łɁj
mob.c skill.c ̕ύXӏi
i"MOB %d" "PC %d" ŌΕύXӏ킩邩Ɓj

En^[㩂gXL㩂悤ɂ
batttle.c skill_check_condition() C
iWF̗pۂƂĂ񂾂Ǐg͗ĂȂj

ETN`A}OkX̃_[Ws푰ɍēxC
0532ōĂьɖ߂Ă܂̂Ȃ܂B
A񐔁lɂ͎Ă܂iĂɂ͂܂j

ȏB
؂\̌l^ł̂ŌIɉʂĂł悢̂BBB
@ɖL肾CȂĂƊłB

--------------
//0532 by _

ECSR`FbNĂȂ̂ŏCt@C...
EmapflagnopenaltyljBgp@
mapflag nopenalty dummy
łB@\͂̃}bvŎ񂾎oȂ悤ɂ܂B
Emapflagpvp_nopartyApvp_noguildAgvgAgvg_nopartyljB
pvp_nopartyPVP[hœp[eBɍUȂApvp_noguildPVP[hœMhɍUȂAgvg̓V[Y[hɁAgvg_noparty̓V[Y[hœp[eBɍUȂłB
E“ĂȂ^C}[͑S-1ɂȂ悤ɕύXB
E΂CB
E}bv[hCȂCB
EcȅCB
E}bv[hƎ񂾂ӂ肪悤ɕύXB
EPVPύXB
EÖ؂̎}ŏo郂X^[̃x荂͏oȂ悤ɕύXB
E|[Vsc_start SC_SpeedPot0,1,0;sc_start SC_SpeedPot0,1800,0;̂悤ɕύXBSC_SpeedPotȞ̐l͎ԂłB(Pʂ͕b)
E@R}h@pvp@pvponɕύX@pvpon@pvpoffA@gat̋@\ύXB
Ebattle_athena.confpvp폜B
Ebattle_athena.confdeath_penalty_typeljB
EyieB̓Kp񂾎玀񂾌ナX^[gɕύXB(Uŕƌo܂B{I̎dlȂCɂȂ̂ŕύX܂B)
EXNvgsetmapflagAremovemapflagApvponApvpoffAgvgonAgvgoffljB
setmapflag }bvA}bvtO^Cv
w肵}bvtOon܂B(pvpAgvgpvponAgvgonłł̂Ŏw肵Ă삵܂BnosavȅꍇƕGɂȂ̂őΉĂ܂B)
removemapflag }bvA}bvtO^Cv
w肵}bvtOoff܂B(pvpAgvgpvpoffAgvgoffłł̂Ŏw肵Ă삵܂Bnosave”\łB)
pvpon }bv
w肵}bvPVP[hɂ܂B
pvpoff }bv
w肵}bvPVP[h܂B
gvgon }bv
w肵}bvV[Y[hɂ܂B
gvgoff }bv
w肵}bṽV[Y[h܂B
SẴXNvg̓͊mFĂ܂̂ŒӂĂB
ETN`AA}OkXGN\VY̏0529ɖ߂܂B
̒ł̓TN`A͐l̐܂B(x14
1xɈl‘܂B)
Ě㏭CB(͂...)
(db/)
const.txt CB
item_db.txt CB
(conf/)
battle_athena.conf CB
(doc/)
conf_ref.txt CB
(map/)
clif.hAclif.c CB
mob.c CB
pc.hApc.c CB
skill.c CB
pet.c CB
npc.c CB
map.hAmap.c CB
battle.hAbattle.c CB
atcommand.hAatcommand.c CB
script.c CB
makefile CB

--------------
//0531 by qo^.^o

conf/npc_turtle.txt
D^[gAChɍsATo𗎂ĖC
Dnpc_turtle.txt508s
set Zeny - 10000,0; --> set Zeny,Zeny-10000; C

--------------
//0530 by RR
EXLuTN`AvōUΏۂAfbg/푰s/푰ɕύX
EXLu}OkXGN\VYvōUΏۂAfbg/푰s/푰ɕύX
EXLuTN`Av̉񕜉񐔂lJEgɕύX
skill.c
skill_unit_onplace()C
skill_unit_onout()C

̎dlōĂ͂łcB

--------------
//0529 by Ӓ

EMOBXLuq[vgpƃT[o[ꍇC
EXLuTN`AvōUΏۂsAfbg/푰ɕύX

skill.c
skill_unit_onplace()C
skill_castend_nodamage_id()C

EOCT[o[̃AJEgf[^x[Xێc[Yt
PerlȂ̂ŎsɂPerlKvłB
gp@Ȃǂ̓GfB^ŊJČĂB
gǂ킩Ȃl͎oȂقłB

ɗRAJEg쐬̃c[gĂB
addaccount̓pPbg̓spX[h̐‚̂ŁB

AJEg폜ĂLN^[f[^AqɃf[^A
̑̃AJEgȊÕf[^͏܂B肪OCꍇ
ؒf͂܂񂪁A񂩂̓OCłȂ͂łB
i‚܂́APlogin-server̃AJEgĂ邾łj

(login/)
login.c
parse_admin()ljAparse_login()C
(doc/)
admin_packet.txt
VKljBǗpPbg
(tool/)
ladmin
login-server administration toolPerlXNvg


--------------
//0528 by RR
EXLuq[vgpۂɉ񕜗ʂɔႵWuollł悤ɕύX
ElnEƂXNPC𗘗pۂɃWuollł悤ɕύX
EƂbattle_athena.confŒ”\ɂ܂Bݒ0{iKpj
Emap_athena.confɂĂڂNGXĝ̂ĂȂ̂ŃRgAEgȂljB

map_athena.conf

battle.c battle_config_read()
battle.h Battle_Config
battle_athena.conf
ȏAbattle_athena.confp߂ɕύX

pc.c pc_heal()
߂lhp+spɁB߂l𗘗pĂ镔Ȃ̂Ŏg킹ĖႢ܂BoON炷݂܂B

skill.c skill_casted_nodamage_id()̃q[ɂăWuoll悤ύX

npc.c npc_buylist()
npc_selllist() ύX
Ƃ̌ˍskill.hincludeB


l̓XpWuollłAvZ͂܂lȂ̂ʼnŁB
vZ̓ACew@ * XLxifBXJEgj/ ((1{300/ACe) * 4000)
ACep@ * XLxiI[o[`[Wj / ((1{500/ACe) * 4000)łB
ɖꏏɍw邱ƂŌol𑽗ʂɉ҂Ƃ”\łˁcB
ǂȂv‚ύX肢܂B

Ƃœ]ENPCꕔԂĂłCȂłł傤H

--------------
//0527 by _

E0526̃oOCB(eXgׂ̈ɕςĂꂽ܂܃AbvĂ܂̂łB)
skill.c CB
pc.c CB
mob.c CB
clif.c CB

--------------
//0526 by _

E0525̃UNV񂾃LɎgȂoOCB(eXg͂Ă܂񂪎͂łB...)
skill.c CB
clif.c CB

--------------
//0525 by _

Edmotion̊Ԃ̓LȂ悤ɕύXB(eXgĂ܂B)
EeĨ_[W\^C~OCB(xC܂...)
EobNXCfBO̎Ƀ[Vo悤ɕύXB(XLgp
0.2bɃXLgppPbg𑗂悤ɕύX܂BOɂĕςȓ”\܂B)
E0524̏CB
EnCfBOĂ鎞R񕜂Ȃ悤ɕύXB
E0519ŊԈconf̏CƍׂCB
map.h
struct map_session_datacanmove_tickcanact_tickɕύXB
skillcanmove_tickcanmove_tickɕύXB
skill.c CB
pc.c CB
pc.h CB
clif.c CB
battle.c CB
battle.h CB
mob.c CB
mob.h CB
char_athena.conf CB
map_athena.conf CB

--------------
//0524 by huge

E[O glhCu
clif.c
clif_parse_WalkToXY()
pc.c
pc_calcstatus()

ǂ̂炢x̂Ȃ̂ŁAbI
speed += speed * (20-XLx)/40
ƁA܂B{Idl܂C肢܂B

--------------
//0523 by NOCTURNE

Enpc_event_rental.txtɃNZC_[p̃yRyRǗlj
--------------
//0522 by gQ

Emob_db.txtWm[̃f[^ɏC

--------------
//0521 by Ӓ

EmapT[o[ɌqȂC
clif.c
clif_parse()̏C

--------------
//0520 by Ӓ

EcharT[o[Óuset map X.Y HOGE.gatv\ȂȂ܂
ςɁAuset map M from XX.YY.ZZ.WW:PP (CC maps)v
Ƃӂɉ‚̃}bvZbg\悤ɂȂ܂B

char/char.c
parse_frommapC

EmapT[o[ɉΉ
ENPC̃}bvT[o[ϐ͎IԂł͋L܂BLׂϐ
NPC}bvm͓mapT[o[œׂłB
炭PC̃O[oϐ͋LłƎv܂(eXg)
EbIɓ悤ɂȂ̂ŁAss邩܂B
ɁAp[eB/Mh/q/ybg/WisȂǂinterT[o[g@\
쓮邩S`FbNĂ܂B
Eurecv map on XX.YY.ZZ.WW:PP (CC maps)vƂO\܂B
͑mapT[o[S}bṽXgAmapT[o[
ɎMꂽƂӖłB

(char/)
char.c/char.h
parse_frommap()C
mapif_sendallwos()lj
(map/)
map.c/map.h
map_setipport()C
struct map_session_datastateowaitingdisconnectlj
chrif.c/chrif.h
FXlj
clif.c
waitingdisconnectPȂpPbg𖳎悤ɂ
pc.c
pc_setpos()Ci}bvT[o[ύXȂǁj
pc_setnewpc()C

--------------
//0519 by _

ET[o[snapshotƐFXCB
E񂾃LɍUoOCB(eXgĂ܂B{Ɏǂ񍐂肢܂B)
E0517̃ACXEH[̏ύXB
EeIX^[g悤ɕύXB(eXgĂ܂B񍐂肢܂B) łƃ[̎gpʂ܂B(10Mオ悤łB)
E{X̎芪{Xƈꏏɍs悤ɕύXB(eXgĂ܂̂łǂȓ邩͊mFĂ܂BU󂯂ĂȂ̂Ƀ{Xׂ̗珟ɗ邩ǂ̊mF肢܂B)
ȆׂCB
client-packet.txt CB
map.h
AREA_SIZE1520ɕύXB
struct map_session_dataAstruct mob_dataAstruct skill_timerskill CB
map.c
map_quit() CB
clif.h
clif_changemapcell() CB
clif.c
clif_getareachar_skillunit()Aclif_clearchar_skillunit()Aclif_changemapcell() CB
skill.c
skill_unitsetting()Askill_unit_onlimit()Askill_castend_pos2() CB
skill_castend_nodamage_id()Askill_check_condition()Askill_attack() CB
skill_timerskill()Askill_addtimerskill()Askill_cleartimerskill() CB
̑CB
skill.h
skill_addtimerskill()Askill_cleartimerskill() CB
pc.c
pc_movepos()Apc_walk()Apc_authok() CB
mob.c
mob_spawn_dataset()Amob_spawn() CB
mob_changestate()Amob_damage() CB
mob_ai_sub_hard_mastersearch()Amob_ai_sub_hard() CB
̑CB
battle.c
battle_calc_weapon_attack()Abattle_weapon_attack() CB
̑CB

--------------
//0518 by Kalen
EEvent_pumpkin֘ÃtOsC

--------------
//0517 by _

EACXEH[Ő蔲CƏCB(MpPbg̒񋟂肪Ƃ܂B)
clif.h
clif_changemapcell() ljB
clif.c
clif_changemapcell() ljB
skill.h
SC_STEELBODY8487ɕύXB
skill.c
skill_unitsetting()Askill_unit_onlimit() CB
skill_status_change_end()Askill_status_change_start() CB
client_packet.txt CB

--------------
//0516 by _

EX^[̃eIɂI_EՎɖhŒu܂B(eXg͂Ă܂B) X^[̃XLɂ‚Ăƕ͕sł̂ŕ͂ɏCĒu܂B
EXLwe̎dlbattle_athena.confŌ߂悤ɕύXB(0515̕ƂȂ̂...)
skill.c
skill_castend_pos2() CB
battlc.hAbattle.c
battle_configfinger_offencive_type ljB
battle_calc_weapon_attack() CB
battle_athena.conf CB
conf_ref.txt CB

--------------
//0515 by _

EXLeIƎweCƃpPbgCA0512̗ƂCƏ̎dlύXłB
EwȅꍇĂȊȂƎvčłBȑO̕{IɂĂȂ猳ɖ߂܂B
EeI1͈̔͂5*5Z(range = 2)łB
EACegppPbgVɕύXGtFNgoȂ͏oȂ悤łB(FXGtFNgĂ݂͎gĊmFłǂˁB)
E0512hitrate10000ȏŕKł͂Ȃ100000ȏŕKł̂ŃR[h̏Ĉɂ͋C‚ĂB
Ebattle_athenaɐݒ肳Ă镐̐ƃybg̕ߊlm̌vZ@ς܂B(CɂKvȂłǂˁB)
skill.h
skill_addtimerskill()Askill_cleartimerskill ljB
skill.c
skill_attack() fixAskill_use_id()Askill_use_pos() CB
skill_castend_damage_id()Askill_castend_nodamage_id() CB
skill_timerskill()Askill_addtimerskill()Askill_cleartimerskill ljB
skill_castcancel()Askill_castend_pos2()Askill_unitsetting() CB
skill_produce_mix()Ado_init_skill() CB
mob.c
mob_damage() CB
battle.c
battle_calc_weapon_attack() CB
map.h
struct skill_timerskill ljB
struct map_session_data CB
map.c
map_quit() CB
pc.c
pc_authok() CB
pc_damage() CB
clif.c
clif_parse_WalkToXY() CB
clif_useitemack() CB(: Kalen)
pet.c
pet_catch_process2() CB
skill_db.txt
CSP10ɕύXB(lbǧł10̂ŕύX܂B؍ł15ƕ\܂...)
client_packet.txt
01c8̕ύXłBKalen񋟂肪Ƃ܂B

--------------
//0514 by Kalen

EscriptC+lj

conf/npc_event_pumpkin.txt (VK)J{`Cxg
conf/npc_town_guide.txt (C)Junóu+vACRJ[C
conf/npc_town_lutie.txt (ꕔlj)J{`CxgɉeNPC̉blj

--------------
//0513 by RR

E]EɑSĊO悤ɂ܂B֐ʒu̕ύXĂȂ̂ŁAЂƂ炨ȂĂ邩܂B̊‹(win2k cygwin)ł͕Cł̂ł̂܂܂ɂĂ܂BB
Em[rX̎Sł́AőHP̂Q̂Pŕł悤CB(XLɂ镜͖mF)
EfXyieBɂolljBbattle_athena.confɂāAύXł悤ɐݒBol͏_ȉ؂̂ĂȂ̂ŁAKvolႢɂ͂傤ǂ́Ƃɂ͂Ȃ܂B
battle.h
Battle_Configdeath_penalty_basedeath_penalty_jobljB
battle.c
battle_config_readdeath_penalty_basedeath_penalty_jobǂނ悤ɏCB
pc.c
pc_makesavestatus() CB
pc_damege() CB
pc_jobchange() CB
battle_athena.conf
death_penalty_base,death_penalty_jobljB

--------------
//0512 by _

EɂȂ肻ȕ̏CƐVpPbg̑ΉCłBoO܂B(ȂԈُɂȂĂ̏CłB)
athena.sh CB(‚I•ʂɎsĂ̂ŋC‚܂łB)
makefile
DPACKETVER23 ɏCBW[mȌ̑ĝȂ3ɂĎgĂB(̈ȑOȂ21)
clif.c
DPACKETVER=3ɑΉ(̏0x1140x1deɕϊ0x11f01c9ɕϊ̂ݑΉ)
clif_skill_damage3() 폜B
clif_skillcastcancel() ljB
clif_skill_damage()Aclif_getareachar_skillunit()Aclif_skill_setunit() CB
clif_fixmobpos()Aclif_fixpetpos()Aclif_fixpcpos() CB
ɏCB
clif.h
clif_skill_damage3() 폜B
clif_skillcastcancel() ljB
battle.c
battle_calc_weapon_attack() CB
hitrate10000ȏɂΕKɂȂ悤ɕύXB(̎dlł̓X^[̕KUȊO͕KɂȂ܂B)
ɏCB
client_packet.txt
VpPbgljB
pc.c
pc_spiritball_timer()Apc_delspiritball() CB
pc_damage()Apc_skill() CB
skill.h
SC_EXPLOSIONSPIRITS8986ɕύXB(86 = 0x56)
SC_DELUGE8689ɕύXB
skill.c
skill_castcancel()Askill_use_id()Askill_use_pos() CB
skill_check_condition() CB
skill_castend_damage_id()Askill_castend_nodamage_id CB
skill_status_change_end()Askill_status_change_start() CB
skill_db.txt
C̏SPCB(O15{IɂĂ݂ł̂...)
mob.c
mobskill_use_id()Amobskill_use_pos() CB
map.c
map_quit() CB
atcommand.h
atcommand.c
@R}h@spiritballljB(@\͎g΂킩܂B1000ȏ͓ȂłBpN܂̂...)
atcommand_athena.conf
CB
conf_ref.txt
CB
E0x196pPbgɐVljĂ̂ŏԕωɒڂɊ֌WȂSC_xxxx̔ԍ𒲐Kv܂B(SC_EXPLOSIONSPIRITSɂΉ܂B) skill_status_change_end()Askill_status_change_start()clif_status_change()Ătype͈̔͂64(0x40)ɂȂĂ邪ljĂ镨ɍ킹ďCKv܂ljĂ镨SĂ킩킯łȂ̂SC_EXPLOSIONSPIRITSɂΉ܂Bx͔g̉mɌ܂B̓f[^‚܂łB
VpPbgɑΉƂĂ܂񂪕słB
COhV̎COhV̎̃GtFNgo悤ɂׂ01c8gĂ݂܂ʖڂłBclient_packet.txt̃f[^ł͉NȂ̂ʼn{IŃCOhV̎COhV̎g̃pPbg񋟂Ă܂񂩁HS 00a7̌00a8̂Ƃ01c8̂̊mF00a8̌01c8̂̊mFłΉƂȂƎv܂...
01c9̌ɗ?.81b킩΃ACXEH[𐠂蔲łƎv܂...
񋟂肢܂B

--------------
//0511 by Diex

Ewe̍U񐔏CB
ECePAC𖳎AɂȂ悤ɏCB
EgpAMDEF\ĂȂoOCB
EC̏SPCB
pc.c
pc_calcstatus() CB
battle.c
battle_calc_weapon_attack() CB
skill.c
skill_check_condition() CB

skill_db.txt CB

--------------
//0510 by Diex

EOi̕\oOC
EweCeĂĂoOC
map.h
struct map_session_dataspiritball_oldϐljB
skill.c
skill_check_condition() CB
clif.c
clif_skill_damage3() CB
battle.c
battle_weapon_attack()Abattle_calc_weapon_attack CB

--------------
//0509 by

Enpc_warp.txt
v遨vtB[hɂȂĂ̂A
v遨@L[ɏCB
vtB[hvɂȂĂ̂vtB[h@L[ɏC

--------------
//0508 by _

EoOCƑACACD̏CCłB(x͑̐lɂCƌ܂B)
E񂾃LɌolCB(eXg͂Ă܂BǂȂ̂񍐂肢܂B)
pc.h
pc_addspiritball()Apc_delspiritball() ljB
pc_is50overweight() CB
pc.c
pc_gainexp() CB
pc_insert_card()Apc_item_identify() CB(債CႠ܂...)
pc_authok() CB
pc_addspiritball()Apc_delspiritball() ljB
pc_spiritball_timer() ljB
do_init_pc()Apc_calcstatus()CB
pc_spirit_heal() ljB
pc_natural_heal()Ɋւ镨̏CB
map.h
struct map_session_data CB
map.c
map_quit() CB
map_addflooritem() CB
clif.h
clif_spiritball_int()clif_spiritball()ɕύXB
clif_spiritball_ext() 폜B
clif.c
clif_spiritball_int() clif_spiritball()ɕςďCB
clif_spiritball_ext() 폜B
clif_set01e1() ljB
clif_getareachar_pc() CB
skill.h
SC_CALLSPIRITS 폜B
skill.c
SC_CALLSPIRITS 폜B
skill_castend_nodamage_id()Askill_check_condition() CB
skill_status_change_start() CB
EɗACe܂ł̎Ԃݒł悤ɕύXB
battle.hAbattle.c
battle_config_read() CB
conf_ref.txt CB
battle_athena.conf CB

--------------
//0507 by Diex
0505̏C
EOĩGtFNg

--------------
//0506 by hoenny
S̓IɏC
ZCW̃XLACeՂ悤ɏC
(XLDB zeny, spiritball, item, equipꂽԂȂėՎI ...)

--------------
//0505 by Diex

ECeP̃_[WC
Eҗ̃_[WC
Ewe
E
EZDEFƌZMDEF90ɌŒ肳Ă̂ZDEFƏZMDEF90ɂȂ悤ɏC
EOiiR{͖j
map/clif.c
map/clif.h
clif_skill_damage3()lj
map/pc.c
map/skill.c
map/battle.c
CEyђlj
ivZ+ Acolyte Maniax +Qlɂ܂Bj

--------------
//0504 by _

Eatcommand.c CB(2ljłB)
atcommnad_gm_onlynoȂĂgpxݒ0ɂR}hGMȂLłg܂BeXg͂Ă܂B

--------------
//0503 by nabe

EBCLinuxpɂƕύXȂ
conf/map_athena.conf
npc_event_doll.txt,
npc_turtle.txt,
//npc_pota.txtڒlj
conf/npc_pota.txtljisociẽ_W|^qj
conf/npc_shop.txt
CY[h폤l̉iC
conf/script_athena.conf
0499ł̕HC
login/login.c
#include lj
map/script.c
buildin_getequipname()
Bj[mallocC
buildin_getequipisenableref()
B”\CiAthefans̏ɂĂ݂܂j
map/skill.c
skill_check_condition()ϐ錾ʒu̕ύX̂

--------------
//0502 by _

EJv̑qɂbattle_athena.confbasic_skill_checkɂĊ{XLȂĂgp邱Ƃł悤ɏC܂B(vẽJv̂݊mFB)
ENFXgXL̎擾0492̂łB0481skill̍Ōオ,2Ȃ,0Ə̂ł̂0492,2ɂȂĂ̂,0ɏC܂B
EXNvggetbaseskillcheckbaseskillcheckɕύXƎŏC܂߂̌ɂȂ̐lȂꍇ̓XNvg쓮Ȃ̂Ŏgpꍇbaseskillcheck(0)ɂĎgȂƐʂ𓾂邱Ƃł܂B
(ڂnpc_town_kafra.txtQƁB)
npc_event_skillget.txt CB
npc_town_kafra.txt CB
script.c CB
EGM_account.txtɎeXgׂ̈ɎgĂ500000Ă̂ō폜܂B(GM_account.txtR͎ɃAJEgGMɂ邱Ƃł悤ɂׂłB‚܂GMƂĕ\ȂĂGMƂĐFȌgƂł܂BGMp̉ENbNR}h͎g܂... łpĂ͂Ȃ݂Ȃł...)

--------------
//0501 by hoenny

E500̖_C
-HP񕜗͌,SP񕜗͌
map/pc.c
pc_natural_heal_hp()C
pc_natural_heal_sp()C

500SP񕜗͌
--------------
//0500 by hoenny

ECm̑
-{Iɍ 10bƂɉ񕜂܂.
-ʂ 50%I[o[ꍇ 20bƂɉ񕜂܂.
ECm̋CD
-̏Cm̟z”\ł.
ECm̋
-Ԃłׂ͂ẴANeBuXLgƂłȂł.
db/skill_db.txt
CDC
C
map/pc.h
pc_is50overweight()lj
pc_is90overweight()lj
map/pc.c
pc_calcstatus()C
pc_spheal()C
pc_hpheal()C
pc_natural_heal_hp()C
pc_natural_heal_sp()C
pc_natural_heal_sub()C
map/skill.c
skill_check_condition()C
skill_castend_nodamage_id()C
skill_status_change_start()C

--------------
//0499 by _

ET[o[snapshotƃoOCB
EXeB[RC̃[jʂX^[x*10 + rand(100)ɕύXB
ELXeBO^CȂXL̓^C}[gȂ悤ɕύXB
EJ[h̎gpɂ}bvI_EhׂɏCB(x͂...) Ċg勾悤ȂƂł̂ŏCB(͎I_E܂ł͋NȂ悤ł...)
ELɃ}bṽ[hI܂Ńybg̃f[^Ȃƃ}bvICB(őȂƂȂNȂłǂˁB)
EI[go[T[NAd̃ACRƃ`FbNKp悤ɏCB
E|[V̓KpԕύXB܂ł̓Xs[hAbv|[VŗDŎnCXs[h|[VAŌオo[T[N|[V̂łԂtɕύX܂B
EACeŎgXL̓LXeBO^CƃfBC0ɂȂ悤ɕύXB
EACeŎgXL̃xitem_dbɐݒ肵Ă郌x荂ȂoOCB
pc.h
pc_move()pc_movepos()ɕύXB
pc.c
pc_steal_coin()Apc_insert_card()Apc_item_identify()Apc_authok()A
pc_calcstatus()Apc_checkweighticon()Apc_damage() CB
skill.c
skill_castend_pos2()Askill_check_condition()Askill_use_id()A
skill_use_pos() CB
pet.c
pet_recv_petdata()Apet_change_name() CB
map.h
struct map_session_dataskillitemlv ljB
script.c
buildin_itemskill() CB
clif.c
clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos()A
clif_parse_LoadEndAck() CB
mob.c
mobskill_use_id()Amobskill_use_pos() CB

--------------
//0498 by hoenny

D茩悤ɏC(ՃXLgp̎Ղ悤ɏC)
DXLcegp̎Ղ悤ɏC
doc/client_packet.txt
0x1d0lj
map/map.h
sdstructure spiritballlj
map/clif.h
clif_spiritball_del() -> clif_spiritball_int()C
clif_spiritball_cre() -> clif_spiritball_ext()C
map/clif.c
packet_len_table[]C
clif_spiritball_del() -> clif_spiritball_int()C
clif_spiritball_cre() -> clif_spiritball_ext()C
map/pc.h
pc_item_steal() -> pc_steal_item()C
pc_coin_steal() -> pc_steal_coin()C
map/pc.c
pc_item_steal() -> pc_steal_item()C
pc_coin_steal() -> pc_steal_coin()C
pc_calcstatus()C
map/skill.c
skill_check_conditon()C

--------------
//0497 by _

E0491̃XLcẽoOCƃXeB[ƃXeB[RCAXib`[̏CAmob_target̃oOCB
EAAp[eB̎Ɋ{XL`FbN悤ɏCB(battle_athena.confŃ`FbN邩ǂ߂邱Ƃł܂B)
Jv̑qɂ̓XNvgŐ邵܂B
EXNvggetbasicskillcheckljB
gp@ getbasicskillcheck
߂lbattle_athena.confbasic_skill_checkłB0̏ꍇ͊{XL̃`FbNȂ1̏ꍇ͊{XL`FbN̂Ӗ܂B
skill.c
skill_castend_pos2() CB
skill_additional_effect() CB
pc.c
pc_move() ljB
pc_item_steal()Apc_coin_steal() CB
pc.h
pc_move() ljB
map.h
struct mob_data CB
mob.c
mob_spawn() CB
mob_target() CB
clif.c
clif_pcinsight()Aclif_pcoutsight() CB
clif_parse_ActionRequest()Aclif_parse_Emotion()A
clif_parse_TradeRequest()Aclif_parse_CreateParty()A
clif_parse_ReplyPartyInvite() CB
battle_athena.conf CB
conf_ref.txt CB
skill_db.txt
XeB[̎˒31ɏCB
battle.hAbattle.c
battle_configbasic_skill_check ljB
battle_config_read() CB
trade.c
trade_traderequest() CB
script.c
buildin_getbasicskillcheck() ljB
map/makefile CB
XeB[ƃXeB[RČvZ͓KɍłB{I̕ǂȂ̂SR킩Ȃ̂...

XeB[ = (X^[̃ACedrop * (Lx*0.5 + dex*0.4 +XLx*5))%
XeB[RC = (XLx + (Lx - X^[̃x)*0.3 + dex*0.2 + luk*0.2)%
Xib`[ = (5.5 + XLx*1.5 +XeB[̃XLx)%

{ǏvZ킩͏񋟂肢܂B
XeB[RC̃[j̗ʂ̓X^[̃x*100ɂȂĂ܂Bɂ‚Ă񋟂肢܂B
cȅꍇg㕁ʂɕOɂ̓ybg̑ȂoO܂킩Ȃ̂ŕu邱Ƃɂ܂B
{XLȂo郁bZ[W͖wǍ킹Ă܂p[eBɓ鎞Ɋ{xȂɍȂ̂Ńp[eBȂ({XLx7̕)ƕ\ĊUɂ͋₳ꂽƕ\܂B

--------------
//0496 by hoenny

DWZ̃eIXg[
DXeB[RCC
db/skill_db.txt
eIXg[C
map/pc.c
pc_coin_steal()C
map/skill.c
skill_castend_pos2()C

--------------
//495 by nini

EARЎ蕀A蕀łȂƂCЎ蕀A蕀A݊
map/skill.c
skill_check_condition()@C

OĈƂ݊YĂ悤łB

--------------
//0494 by qo^.^o

conf/mpc_warp.txt
Dn^]EnoĂȂC

--------------
//0493 by gQ

EscriptC
npc_town_comodo.txt Rhēv폜(npc_town_guide.txtƏdĂ̂)
npc_town_guide.txt Wm[ēvlj(viewpoint̐Fc)
npc_town_kafra.txt Wm[Jvnpc_town_yuno.txtړ
npc_town_refine.txt Wm[Bnpc_town_yuno.txtړ
npc_town_yuno.txt ēvƃJvƐB폜
npc_turtle.txt bC

--------------
//0492 by Kalen

EscriptC+lj

conf/npc_event_doll.txt (VK)
conf/npc_turtle.txt (VK)T֘ANPC+TNGXg(qC)lj

conf/npc_event_skillget.txt (C)}u̕s+ւtab폜etc..
conf/npc_town_alberta.txt (C)TurtleAтq폜(Event_dollֈړ)
conf/npc_town_guide.txt (C)䎌ȂύXĂ̂ŁAC


--------------
//0491 by _

EXLce(؍NCAgł͋|g[e)B(Cẽ`FbN͂Ă܂B)
pc.h
pc.c
pc_can_reach() ljB
skill.c
skill_check_condition()Askill_castend_pos2() CB
skill_db.txt
ceCB
Escript.c
set_posword() CB
lŃeXg͍ςł܂̐lɐ邩ǂ͖mFłB
ςȂ̂ǂ񍐂肢܂B

--------------
//0490 by nabe

EꏊXLGtFNgŃ}bvI邱Ƃ̂CB
clif.c
clif_skill_poseffect()
unsigned char buf[16];Aunsigned char buf[32];ɏCB

--------------
//0489 by _

E0483̃oOCBbattle_athena.confquest_skill_learnKp悤ɕύXƖ肪̏CB(eXgς)
pc.c
pc_calc_skilltree()Apc_skill() CB
atcommand.c
@lostskill CB
EJ[h̎gpɂ}bvI_Eh߂ɏCB(J[h̎gpɂ}bvI_EČłȂ̂Ŗ{Ɏǂ͕s...)
pc.c
pc_insert_card() CB
Epc.h
pc_ishiding() CB

--------------
//0488 by hoenny

ERG̃XeB[RC
EXeB[C
(XLFxX`[ꍇ܂X`[邱ƂłȂ.ăXL̎X^[͍U悤ɏC.GtFNg͐̎o悤ɏC.)
db/skill_db.txt
XeB[RCC
map/pc.h
pc_coin_steal()lj
map/pc.c
pc_coin_steal()lj
pc_item_steal()C
map/skill.c
skill_castend_nodamage_id()C

--------------
//0487 by hoenny

E485̖_ƏC
map/pc.c
pc_item_steal()C
map/skill.c
skill_castend_nodamage_id()C

--------------
//0486 by qo^.^o

db/class_equip_db.txtC
􂯂n̏AR鑾z̏AĂ镗̏AҎ^Av[Xg͑邱ƂłȂC

--------------
//0485 by hoenny

E RG̃Xib`[
E XeB[C
E IXJ݂̎ skill_check_conditionŏԂ`FN悤ɏC
map/pc.h
pc_ishiding()lj
pc_item_steal()lj
map/pc.c
pc_item_steal()lj
map/skill.c
skill_castend_nodamage_id()C
skill_additional_effect()C
skill_check_condition()C

--------------
//0484 by Ӓ

EoĂȂNGXgXLɃXL|CgUC
pc.c
pc_calc_skilltree()ŃNGXgXL̃`FbNlj
skill.c
skill_readdb()inf2ǂނ悤ɏC

EyRyRRAt@R̃ACROCɂ͕\ȂC
clif.c
clif_parse_LoadEndAck()C

--------------
//0483 by _

E0482̓KpB
npc_event_skillget.txt CB
script.c CB
skill.c CB
pc.c CB

--------------
//0482 by Ӓ

ENGXgXL̃XNvgC
EXNvggetskilllvĂԂƃ}bvT[o[oOC
(conf/)
npc_event_skillget.txt
o邾ϐgȂ悤ɏCieXgj
(map/)
script.c
buildin_getskilllv()C

EXeB[Ŏs̃GtFNgύX
EMOBɂ͂P񂵂XeB[łȂ悤ɏC
(map/)
skill.c
skill_castend_nodamage_id()C
map.h
struct mob_datasteal_countolj
mob.c
mob_spawn()CAsteal_count0ɏ悤

EChD̗ьHP32767𒴂ƃT[o[oOCieXgj
(map/)
pc.c
pc_calcstatus()C

--------------
//0481 by _

E̓Kpɂ͋C‚ĂB0478̌Ӓ̕ Athena.txt̃f[^`ύXɃNFXgXLo悤ɍłBĂŒɌӒ񂪓AbvĂꂽ̂łf[^͕ςȂƎvĎ̕Abv܂Bӂ邱Ƃ0478athena.txt͎gȂƌƂłB0478O̕gĂB
Eskill_db.txtinf2ljĂgăNFXgXLǂ𔻒fdg݂łB
skill.h CB
skill.c
skill_readdb()CƏCB
skill_get_inf2() ljB
skill_db.txt CB
skill_tree.txt CB(0478O̕)
clif.c
clif_skillinfoblock() CB
char.c CB(0478O̕)
Ebattle_athena.confquest_skill_learnljB
battle.h CB
battle.c
battle_config_read() CB
battle_athena.conf CB
E/resetskillbattle_athena.confquest_skill_learn̐ݒɍ킹quest_skill_learnyes̏ꍇ̓XL|CgɉZquest_skill_learnnoȂ烊Zbg͂邪XL|CgɉZ܂B
pc.c
pc_skill()Apc_resetskill() CƏCB
pc.h CB
atcommand.c CB
atcommnad_athena.conf CB
EXNvgskillR}hŃNGXgXLô͓łŌ̃tO20ɕςĂ܂̂ŒӂĂB
npc_test_skill.txt CB
npc_event_skillget.txt CB
conf_ref.txt CB
client_packet.txt CB

--------------
//0480 by Kalen

EEventskilllj
conf/npc_event_skillget.txt

Emap_athena.confύX
warp.txt̓ǂݍݗDxύX
prt_castleAEP̃[vƈقȂꏊɕύXꂽꍇ
ɓǂݍ񂾕D悳̂ŁAEP̍̂낵
conf/map_athena.conf

--------------
//0478 by Ӓ

***
Athena.txt̃f[^`ύX!! (Iɕϊ܂)
obNAbvYꂸ!
Data format of athena.txt is changed!! (convert automatically)
DONT FORGET BACKUP!!
***

ENGXgXL
EXNvgŃXLx`FbNł悤
EXNvgskillR}hŃNGXgXLo܂B
gp@ skill XLID,XLLV[,tO]
tO͏ȗ”\ŁAȗƂPw肵ƂɂȂ܂B
PőiɂꎞIȏKAQŃNGXgɂPvIȏKłB
PvIȏK̏ꍇAskill_tree.txtɈˑ܂
EgetskilllvR}hlj
gp@ getskilllv(XLID) ߂l̓xłB0ŖKB

(conf/)
npc_test_skill.txt
Tv
(db/)
skill_tree.txt
NGXgXLƂĕKvXLID-1ݒB
(char/)
char.c
tOathena.txtɕۑ悤ɁB
ȑǑ`̃f[^ǂݍ߂܂B
(map/)
pc.c/pc.h
pc_skill(),pc_calc_skilltree()ȂǏC
script.c
buildin_skill(),buildin_getskillid()ȂǏC

E@questskill,@lostskilllj
E@questskill XLID ŃNGXgXLo܂B(NGXgXL̂)
E@lostskill XLID ŃXLY܂B(NGXgXLȊOOK)

atcommand.c/atcommand.h
struct Atcommand_Configlostskill,questskillolj
@questskill,@lostskilllj

--------------
//0477 by nabe

Eꕔϐ̐錾ʒu̕ύX̂݁iLinuxŃRpC₷悤ɁjB
atcommand.c,battle.c,clif.c,mob.c,npc.c,skill.c

--------------
//0476 by nabe

Econf/ Ɛ
conf/map_athena.confCB
tortoise.txtnpc_town_alberta.txtɈړB
npc_script2.txt̃RhKChnpc_town_comodo.txtɈړB

EnpcL𒝂Ƃ̃oOC
map/script.c
buildin_strcharinfo()ŃLp̃
staticɊmۂĂ܂Ă̂AmallocɏCB

--------------
//0475 by hoenny

D_̃XeB[B
Mh̎GyEՂ悤ɏCB
map/guild.c
guild_create()CB
guild_created()CB
map/skill.c
skill_castend_nodamage_id()CB

--------------
//0474 by _

E0471̐̎\镶̐ݒmap_athena.confscript_athena.confɕύXB
script.c
do_init_script() CƏCB
script.h CB
script_athena.conf ljB
map_athena.conf CB
map.c
map_config_read() CB
EÂAv[g{bNXƏdlύXB
_ŃACe𓾂镨ɃftHgŏoACeݒł悤ɕύXB̎dlł1000܂ŃACeIȂftHgACeo悤ɂȂĂ܂BftHgACe0̏ꍇ̓ACe𓾂܂B
ݒ肷m*1000*10000ɕύXBitem_~.txt̏C͂Ă܂BNĂB(͖{)
itemdb.c
temdb_read_randomitem() CB
itemdb_searchrandomid() CB
item_purplebox.txt item_violetbox.txt ɏCB
item_giftbox.txtAitem_scroll.txt ljB(move񂠂肪ƂB)
item_db.txt
ÂAv[g{bNX CB
Etrade.c
trade_tradecommit() CBpc_delitem()g悤ɕύXB
eXg͂Ă܂̂Ŗ肪񍐂ĂB

--------------
//0473 by Kuro

Eclass_equip_dbꕔC
db/class_equip_db.txt

--------------
//0471 by hoenny

B̎o镶ς邱Ƃł悤ɂ܂.(map_athena.confŒ߉”\)
C̐sD̎ېH\}ΏC
conf/map_athena.conf
refine_posword:ljB
map/map.c
map_config_read()CB
map/script.h
do_set_posword()ljB
map/script.c
do_set_posword()ljB
buildin_getequipname()CB
map/skill.c
skill_status_change_start()CB

--------------
//0470 by _

E̎΂xCB(͓x悤Ɍ邾Ń}bvړƐ\܂...)
pc.hApc.c
pc_delitem() CB
npc.cAscript.cAstorage.cApet.c
pc_delitem()SďCB
skill.c
skill_produce_mix() CB

--------------
//469 by gQ

Enpc_mob_job.txtAnpc_monster.txtAnpc_monster30.txtAmob_db.txt̃XC
Eitem_db.txt̉񕜃ACẻ񕜗ʂWm[̂̂ɏC

--------------
//468 by Kuro

ENGXglj
conf/npc_event_ma_sword.txt

--------------
//467 by nini

EBB茕łȂƂCׂĂ̕
EAR蕀łȂƂCЎ蕀A蕀A݊
EXsANCbP𑄂
ELXgLZȂ̂ɃOhNXA[ÕXgbvV[Ylj
Eubcr[gLXgLZȂȂĂ_C
map/skill.c
skill_use_id()@C
skill_check_condition()@C
E2-2EXL̃LXgEfBClj
db/cast_db.txt


--------------
//466 by hoenny

ECePC(Cy spՂ悤)
E~C̎Ce悤ɏC(Mr.NO NAMEl̃pP񂠂肪Ƃ܂.CepP񂪕sł.)
Ep̉He|[g1Agp̎,II[o[Ȃ悤ɉ߂ŏC
doc/client_packet.txt
0x1e1pPlj
map/battle.c
battle_calc_weapon_attack()C
map/clif.h
clif_spiritball_cre()lj
clif_spiritball_del()lj
map/clif.c
packet_len_table[]C
clif_spiritball_cre()lj
clif_spiritball_del()lj
clif_changemap()C
map/skill.c
skill_castend_nodamage_id()C
skill_check_condition()C

--------------
//0465 by _

EUNVƃnCfBOAubcr[g̃oOCB(ubcr[g͕񍐂͂Ȃ̂ł͂肪̂ŏCB)
skill.c
skill_use_id() CB
skill_castend_nodamage_id() CB
E0455NPCɖ߂܂B
npc_event_ice.txt CB
npc_event_potion.txt CB
npc_town_geffen.txt CBi454̕ɖ߂܂Bj
E0451̃}bvR}gAEg܂BKvȕ̓R}gAEgȂĎgĂB
map_athena.conf CB
EUNV0442̖ŃnCfBOAubcr[g0445̖łB0445̏CŃXLԍenumŐ錾ɕςĂ܂ɗƂ悤łB(nCfBOAubcr[g͂̂łB)O̔ԍ\[XƔׂĖ肪镔͏CKv܂BƖʓ|ł...

--------------
//464 by gQ

ENXL̕ɂ‚ďC(XɏĂ̂ljłB
skill.c
skill_use_id()C
cast_db.txt
NXLlj

--------------
//463 by Ӓ

E462̃oOC
ENPCSHOP̕ssC
EREADME̊ԈႢCiwarpwaitingpcwarpwaitingroomɂȂĂj

map.h
struct npc_datachat_id̈ʒuC

--------------
//462 by Ӓ

ENPC`bg쐬
Ewaitingroom߂NPC`bg쐬܂B
waitingroom "`bg",l,Cxg łB
Cxg͐lőɂȂƂɋNCxgŁAȗ”\B
Ewarpwaitingpc߂ŁA`bgɂPCS[vł܂B
warpƓŁAwarpwaitingpc "}bv",x,y łB

map.h
struct npc_datachat_dataC
script.c
buildin_waitingroom(),buildin_warpwaitingpc()lj
chat.c/chat.h
FXC
clif.c
clif_getareachar_npc()Aclif_joinchatok()ȂǏC

ENPCOnInitCxgT[o[NɌĂԂ悤ɁB
EGNX|[gƂNPCƕ\NPCʁXɐݒ”\ɁB
ENPC̃Cxg͏dłȂ߁AGNX|[gpNPCgA
NPCłʂNPCƂĎʂł悤ɂȂ΂Ȃ܂B
(ACxgsȂꍇ͂̕Kv͂܂B)
Enpc_*.txtscript߂NPC̖Oݒ肷ƂA
u\::GNX|[gvƂƁA\閼OƁACxgp
GNX|[g閼OʁXɎwł܂B
\SʁXNPCŃCxg𓮍삳ƂɎgp܂B
E₱̂PVPnpcXNvgăC[W͂łB

npc.c/npc.h
npc_parse_*()̏C
npc_event_do_oninit(),npc_event_do_oninit_sub()Ȃǒlj
map.c/map.h
do_init()npc_event_do_oninit()ĂԂ悤
struct npc_dataC

EXNvggetmapusersAgetareausers̒vIȃoOC
EY}bv݂ȂꍇA}bvT[o[̂CB
E}bv݂ȂƁA-1Ԃ悤ɂB

script.c
buildin_getmapusers(),buildin_getareausers()C

Epvp̃XNvgC
E`bg[悤ɂ

(conf/)
npc_pvproom.txt
SĂNPC̃GNX|[g(pvp??r)ݒ
OnInit:waitingrooms悤

--------------
//461 by Kuro
EARCg]ENGXgꕔC
conf/npc_job_aco.txt

--------------
//460 by sagitarius
Eitem_db̊ԈႢC
4032,Ambernite_Card,Ao[iCgJ[h,6,20,,10,,2,,,,,32,,,,{},{},,C

--------------
//459 by hoenny
EAhibVgp̎`FbN()
EOld_Blue_Box̊mƂ񍐂ɂďC
EScript.c0455ȑOƂň(NPCɍ킹ďCĂ)
ECePC(Cł, m͂悭Ȃł.)
ECm̒~C,̉.(CePgp̎~C,Ԃ`FbN܂. )
EyRyRɏɁAADPDԈƏC(oO𒼂Ă, OƂɕς邹ł܂C)
̊OɂC悤Ȃ̂ɊoȂł.ČΎwEĂ.
conf/npc_event_ice.txt
checkweightC
conf/npc_town_geffen.txt
checkweightC
db/item_purplebox.txt
Old_Blue_BoxC
map/battle.c
battle_calc_weapon_attack()C
map/pc.c
pc_spheal()C
pc_calcstatus()C
map/script.c
buildin_checkweight()C
map/skill.h
SC_ EXPLOSIONSPIRITSlj
map/skill.c
SkillStatusChangeTable[]C
skill_castend_nodamage_id()C
skill_check_condition()C

--------------
//458 by Kuro
EARCg]ENGXglj
conf/npc_job_aco.txt
bȂ̂œKɂĂ܂B܂ANPC̊O̕ςȂ̂œKɂĂ܂B
͏CĂĉB

--------------
//0457 by Kalen

EPVP֘ANPClj
conf/npc_pvp.txt
conf/npc_pvproom.txt

--------------
//0456 by _

EX^[̍ŏUԂCB
X^[̍ŏUԂ܂łmob_dbaDelaygĂ܂aMotionɕύX܂B܂łmob_dbaMotion̓S~łx̓S~ł͂܂BaMotion΃X^[̍Ũ[V̑OɃ_[WoĂȂȂ͂łB
mob.c
mob_changestate() CB
EACełȂ̗Rɓ郁bZ[Wo悤ɕύXB
pc.c
pc_additem() CB
Ejob_db1.txt̂ŖɂȂ.,ɏCB

--------------
//455 by Mr.NO NAME
ENPCƂ̃ACe┃֌WScriptoオ
@NPCf[^(npc_event_making.txtAnpc_town_geffen.txt)ɏAȉCB
conf/npc_event_ice.txt
npc_event_potion.txt
npc_town_geffen.txti454ȑO̕ɖ߂܂Bj
map/script.c
buildin_checkweight()CB

--------------
//454 by Kuro
EQbtFb艮Ŕo悤ɏC
conf/npc_town_geffen.txt

--------------
//0451 by code
E XłNCAgɑΉ(NCAgdata.grfadata.grfƂgrf-files.txtadatâƂɏĂ)
common/grfio.c
grfio_setadatafile()lj
/grfio.h
grfio_setadatafile()lj
conf/map_athena.conf
NCAg̃}bvǂݍނ悤ɕύX
/npc_warp_a.txt
}bṽ[v|Cg̐ݒ(ƂĂ邩)
/grf-files.txt
NCAgdata.grfadata.grfƂēǂݍނ悤ɐݒ
adata: ɋLq
NCAg
@ttp://www.castledragmire.com/ragnarok/
@肩肵ĂB

--------------
//0450 by hoenny
E RC
E RpVfBXJEg
E fBXJEgEI[o[`[WC(ꍇvZ@ԈƂ𒼂܂.)
E SC(fȎKp悤)
E CC(Ў蕀ȎKp悤)
E {SU悤ɏC
map/pc.c
pc_calcstatus()C
pc_modifybuyvalue()C
pc_modifysellvalue()C
map/battle.c
battle_addmastery()C
db/mob_db.txt
{SC

--------------
//0449 by _

EςɂȂCB
const.txt
bAtkbDef ljB
battle.c
battle_calc_weapon_attack()ɖ߂܂B(0445̕)
map.h
map_session_dataɖ߂܂B(0445̕)
pc.c
pc_calcstatus() CB
pc_bonus() CB
item_db.txtɖ߂܂B(0446̕)

--------------
//0448 by hoenny
EC(pc_walk() pc_calcstatus()Ɉړ)
Eő及ʏC
map/pc.c
pc_calcstatus()CB

--------------
//0447 by 䂤
E񓁗Ȇ𐳂K
EATK̏オJ[ȟʂ𕐊TCYCȂ̒グɕύX
EATKEDEF̏オJ[ȟʂ̓K̎dύX

map.h
map_session_datacatk(J[hATK)lj

pc.c
pc_calcstatus()
ATV̓񓁗̍UxC
XNvgɂ鑮EK悤ɂ
̑𐳂K悤ɂi|̑Dj
AׂĂ̍UɓK܂
J[hATK̏lj

battle.c
battle_calc_weapon_attack()
J[gATKグ_[WƂČvZ悤ɂ

item_db.txt
J[h bonus bAtkAbDef 폜
ɁAƓlATKDEFݒ
iύXOitem_db2.txtƂĂ̂ŁAsΖ߂Ăj


--------------
//0446 by hoenny
E~XgXJ[hB
EXLgp̎WFXg[B
EXLgp̎`FbNB(n}[tH[C悤Ƃ...)
En}[tH[͈̔͂ a5Z(S25Z)C
map/skill.c
skill_check_condition()CB
skill_castend_pos2()CB

E~XgXJ[hCB
db/item_db.txt

--------------
//0445 by Aya

E{ASPDƌvZCB
db/job_db1.txt
map/pc.c
ESPWƌvZCB
db/job_db1.txt
map/pc.c
EXLenumŐ錾Ag悤ɕύXB
map/skill.h
map/battle.c
map/pc.c
map/skill.c
EJo[̃XLIDX[|CYɂȂĂ̂CB
map/skill.c
EW͌ɃJ[hʂKpĂ̏CB
map/pc.c
E[ugbvAXvOgbvA|CYANg̃^[QbgCB
db/skill_db.txt
EGMAJEgjROclientinfo.xmlljB
conf/GM_account.txt
EwarningCB
map/party.c
ELZF؎login_id2̓`FbNȂ悤ɕύXB
login/login.c
Eobject_def.batȊOSt@C̉sR[hLFɕύXB
E*.cnft@C*.conft@CɖOύXB

--------------
//0444 by _

EGMR}h@R}hɃR}hʂɎgpxݒł悤ɕύX@R}hCB(@where@dayA@night̏CƑ̃LɎgR}h̏ꍇGMxȏ̏ꍇgȂ悤ɏCB)
atcommand.h CB
atcommand.c CB
clif.c CB
map/makefile CB
map.c
do_init() CB
conf/atcommand_athena.cnf ljB
EׂCB
pc.c
pc_setghosttimer()Apc_skill() CB
script.c
buildin_skill() CB
Econf_ref.txt CB
Eitem_db.txt
ޏ̑zCB

--------------
//0442 by Ӓ

E|[V
ELvEƔ͍s܂

(db/)
const.txt
SC_SpeedPot0,SC_SpeedPot1,SC_SpeedPot2lj
item_db.txt
|[ṼXNvglj
(map/)
skill.c
skill_status_change_start()C
pc.c
pc_calcstatus()C

EPvPVXẻ
Epvp}bvł͎IɁAPCpvptOonAʒʒmȂǂs܂B
E}bvpvptO‚Tvnpc_pvp.txtƂēYtĂ܂B
Epvp̏ڂ[悭킩Ȃ̂ŁÂ悤ɂĂ܂B
Eŏ̎_5_A|1_A|-5_B
E0_ȉPC̓UNV|Ȃ
EGMpvp}bvɂĂɃT[NoȂ悤łB
iNCAg̎dlHj
Epvp}bv@pvpoff/@pvpƋxeAxe߂ł܂A
gpׂł͂܂B

(conf/)
npc_pvp.txt
pvptOTvB
nosavetO󂯕tnpcȂǂljƂ悢ƎvB
(map/)
clif.c
clif_parse_LoadEndAck()C
npc.c
npc_parse_mapflag()C
skill.c
skill_castend_nodamage_id()C
pc.c
pc_damage()C
atcommand.c
pc_damage()CɔC
battle.c

ȆC
E@pvpoff/@pvpŏʂT[N̕\߂
E@jumptoŃXy[X̓LN^[wł悤
E@kamibR}hi•V̐j
EPVP̂ƂɁAΏۂG̃XLgpAGs悤

skill.c
skill_castend_id()œG
atcommand.c
eR}hC

--------------
//0440 by ̐l

E{ƂČȂӖ͂Ȃ܂
@pc.cuXNvgɂXLv኱ύX
J[hɂXLꎞK̍ۂł1xȏݒł悤ɒv܂B

@PɕςĂ܂ł̂
@Kvɂ킹ďCĉB

--------------
//0439 by hoenny
ECeP̏CB
db/skill_db.txt
EX^[̏CB
map/clif.c
E؂̎B
map/pc.c

--------------
//0438 by `̐l
EÖ؂̎}gꏊmobXNvg琧”\
@mapflagnobranchƂ΂̃}bv͌Ö؂̎}gps‚ɂȂ܂B
map.h
enumMF_NOBRANCH ljB
npc.c
npc_parse_mapflag() CB
pc.c
pc_useitem() CB
\[XĂ܂EEE.
׋sł

--------------
//0437 by gQ
Eitem_db.txt̉p啝CB(stƂłȂ̉p‚̊Ԃɂ
@ɂȂĂ̂ł𒼂‚łɑ̕C܂B
܂ႤOɂȂĂ̂܂A̕Ǝv܂B
Eitem_purplebox.txt{Ǝdlۂ쐬(̂Ȋ
EAx^ƃCY[hNPCC

--------------
//0436 by hoenny
Emorocc Ώl̏C
conf/npc_shop.txt
En}[tH[̎(Alchemist\[XQƂ肪ƂI)
map/skill.c
ȑOɕ͒̂!
Ct܂.

--------------
//0434 by Avethes

E^[gACh֍sNPCC
Em[NPCC
iÕoO݂͂܂łj

--------------
//0433 by _

EoOCB
̂͂킩Ȃskill.cskill_readdb()ςɂȂĂ̂ŏCB(Cł͂܂...)
skill.c
skill_readdb() CB

--------------
//0432 by _

E0429ňꕔ̃ACẽXLoȂCB
clif.c
clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() CB
Eskill.c
skill_use_id() CB(債Cł͂ȂłB)
Eitem_db.txt̕CBݒ肪{ł͂Ȃꍇۑ鎞ɂ͋C‚܂傤B
EUꂽX^[̔CBn߂Ă̍UX^[̍UfBCɊ֌WȂ100msɂȂĂ̂ōUfBCɍ킹悤ɕύXB(xƎvꂽ܂...)
mob.c
mob_changestate() CB
EIɐڑől߂悤ɕύXB
char.c CB
conf_ref.txt CB
char_athena.cnf CB

--------------
//0430 by Avethes

Emob֌WBقƂǃeXgB
{Ɖb񂪑ΏCB

--------------
//0429 by _

EMh̃xAbvL̃xAbv̂悤ɕύXB
int_guild.c
guild_calcinfo() CB
guild_next_exp() ljB
exp_guild.txt CB(xオȂ悤ɂxexp0΂ȏɃxオȂȂ܂B)
EXNvgresetstatusAresetskill ljB
pc.c
pc_resetskill() CB
script.c
buildin_resetstatus()Abuildin_resetskill() ljB
E0425̑ŏCB
clif.c
clif_parse_ CB
EV[gJbgɊoĂXLxȏ̃XLo^ĂĂoĂXLx܂ł̃XLg悤ɕύXB
clif.c
clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() CB
E̍ő吔10‚ɕύXB(܂łgׂ̈̕łB܂@\͂܂B)
mmo.h
struct mmo_charstatusmemo_point310ɕύXB
char.c
mmo_char_tostr() CB
Emob,c
mob_once_spawn()Amob_summonslave() CB(ʂɈӖCႠ܂...)
E@monster R}hōWw肵ȂX^[ꂩɏWďôL10*10}XȓɃ_Ō悤ɕύXB
atcomand.c CB

--------------
//0428 by Avethes

Econf/npc_smilegirl.txt
X}C}XNK[XNvgB
0427̂ƂCB
񋟂ꂽess̍WɔzuBiNONAME񋟂肪ƂIj

--------------
//0426 by Ӓ

EACe̖Odata.grfǂݍނ悤ɂ
itemdb.cITEMDB_OVERRIDE_NAME`ȂΓǂݍ݂܂B
ITEMDB_OVERRIDE_NAME_VERBOSEitemdb.txt̃foOpɂǂB
ʂ͕ςKv͂ȂƎv̂battle_configɂ͓Ă܂B

itemdb.c
itemdb_read_itemnametable()lj
do_init_itemdb()C

Ef[^x[Xǂݍݕ̕s萫̏C(\vI݂ł)
ȂĂȂDBiitem_value_db.txtȂǁj̃t@CȂꍇ
I肷錻ۂĂꍇ͂ŒĂ邩܂.

skill.c
skill_readdb()NULL|C^`FbNlj
itemdb.c
item_readdb()𕡐ɕB
_ACef[^x[X̓ǂݍݕP‚ɓZ߂B
do_init_itemdb()C

EׂoOC
E[v|[^̊J܂ł̕b

skill.c
skill_unitsetting()C

ȆCiby ^Mj
db/job_db1.txt
傱ƏC
db/job_db2.txt
2-2ȆȂJob{[iXlj(Ql:R.O.M 776)
conf/npc_town_kafra.txt
I[NDOƒYzOɃJvzu(얢mF)
conf/npc_shop3.txt
W[m̔NPC(E)
conf/npc_town_yuno.txt
W[mNPC(EǁB얢mF)

--------------
//0425 by _

E0419ŏYꂽłXL[jO|[VSP񕜃ACeɂʂ悤ɕύXB
Ex̓oOCCłBIȂ肻ȏ̏Cƃe|[g̎񂾂܂܈ړł0419ŃANeBuX^[̐UCAł̂ɑ̐lɂ͎񂾂悤ɌȂ̏CłBeXg͂܂{Ɏǂ͕słB񍐂肢܂B
pc.c
pc_attack_timer()Apc_damage()Apc_walk() CB
map.c
map_quit() CB
mob_db.txt
rbOtbgmodeC(ANeBuɂȂĂ)
clif.c
clif_parse_WalkToXY()Aclif_pcoutsight()Aclif_pcinsight()A
clif_getareachar_pc()Aclif_getareachar_mob()Aclif_getareachar_pet() CB
mob.c
mob_ai_sub_hard_activesearch()Amob_ai_sub_hard_mastersearch()A
mob_walk() CB
pet.c
pet_walk() CB

--------------
//0424 by hoenny

ENbv{[iX SP 10lj
db/item_db.txt
Ewarp_test_yuno.txt npc_warp30.txtɊ܂, ƏC
conf/npc_warp30.txt
ẼT[o[Ă悤ɏC
/startNbv

--------------
//0420 by gt

EEP 3.0ł̃J[hʕύXɉ͈͂őΉB
@قڑSĂ̕ύX_ɂ‚āAoCĂ܂B
@ATKCKpĂ悤Ȃ̂ŒljĂ܂B(AhCȂ)

--------------
//0419 by _

E0414ŏYꂽł MOBmode0x20(32)𕜊܂B{XȂĂmode0x20ĂꍇʂMOBł񂾂ӂj܂B
(̏@\͂ꂾłB{IAI݂ł...) S[Xg̓{Xłj邱Ƃ͂ł܂B
Ǝ芪AIŎ芪^[Qbg傪^[QbgĂȂƎ傪芪̃^[Qbg^[Qbg镔R}gAEg܂B(ꂪ{IɂĂƎv܂̂...)
E‚AÂF̔AÂJ[hŏoACet@CŐݒł悤ɕύXB
script.c
buildin_getitem() CB
item_db.txt
‚AÂF̔AÂJ[hCB
item_bluebox.txtAitem_purplebox.txtAitem_cardalbum.txt ljB(gpx̕łBǂ̃ACeo悤ɂ邩͎Őݒ肵ĎgĂBNCAg𗎂ƂACe͏oȂ悤ɐݒ肵ĂB)
itemdb.h
struct random_item_data ljB
itemdb.c
itemdb_searchrandomid()Aitemdb_readdb() CB
Emob.c
mob_target()Amob_ai_sub_hard() CB(肪肻ȕCB)
Epc.c
pc_itemheal()Apc_walktoxy_sub() CB
Eybg̏oMOBƓ悤ɕύXB
clif.c
clif_spawnpet() CB
pet.c
pet_change_name() CB
E0418CB(if̏CłB)

--------------

//0418 by hoenny
E /mm(/mapmove) /nb /b /bb /resetskill /resetstate GM ߌgp̐
clif_parse_MapMove ,clif_parse_ResetChar ,clif_parse_GMmessage C
map/clif.c

--------------
//0417 by ꂠ

E0412item_db.txtȂĂ̂C

--------------
//0416 by gt

EWm[ӂ̃[v`ƓG̔zuB
@[v`npc_warp30.txtƂAlj`ɂĂ܂B
@G̔zuɂ‚Ănpc_monster.txtƂ͓Anpc_monster30.txtƂĂ܂B
@肪悤łΓĉB
EL`t@Cljɏ]map_athena.cnfύXB
E@goR}hփWm[ljB
@v]悤Ȃ̂Œlj܂B

--------------
//0415 by ̐l

E͖SROG~IJXbh Lv02ł̎_̐ɏ]
@X^[`f[^኱ύXĒ܂B
Eߋnpc_monster.txtʏ}bvieBGjɂT^|AA\j𒊏o
@Vɍunpc_x-masmonster.txtvɈړ]
EL̏Cɂ킹map_athena.cnfCB
@map_athenaɃRgAEgԂŁunpc: conf/npc_x-masmonster.txtvlj܂B
@Kvɂ킹ăRgAEgĉB

--------------
//0414 by _

EstrcasecmpstrcmpiɕύXB
Edbݒt@Cǂގ// R}gAEgƂĔF悤ɏCB
EybgƗꂷƃybg悤ɕύXB(L2{̑xœ܂B)
E[gX^[ACe^[QbgU󂯂ĂUĂȂCB
EX^[AIύXB܂łtraget_idgŃX^[UUdg݂xattacked_idg׍UĂU悤ɕύXB
̎dlƓX^[UēꍇU󂯂̏ɂȂX^[͂‚ėȂȂĂ܂B{I̎dlɂĂ邩ǂ͕sł̂ŏ񋟂肢܂B(attacked_id͂‚ZbgׂłB΍􂪂Ȃ킯łȂł{I̎dlmȂ̂...)
E[̎gpʂ炷struct mob_datastruct npc_dataύXB(0412
map-server̃[̎gpʂ164???KBytes0414ł152???KBytesɂȂ܂Bق̏ł͂܂Ǝv܂̂...)
ES[Xg^CB
}bvړe|[gAɓGɑ_ȂԂd͂ł̓S[Xg^CĂł܂B̃S[Xg^C̎łB
battle_athena.cnfŎԂݒł܂BԂ0ɂƃS[Xg^C͍쓮܂B̃S[Xg^C͍UsAXLgpAACegpƂȂȂ܂B
char/int_guild.c
char/int_party.c
conf/battle_athena.cnf
db/mob_db.txt
doc/conf_ref.txt
login/login.c
map/atcommand.c
map/battle.c
map/battle.h
map/clif.c
map/itemdb.c
map/map.c
map/map.h
map/mob.c
map/npc.c
map/pc.c
map/pc.h
map/pet.c
map/skill.c CB(db/mob_db.txt//ꂽł...)
CSĊoĂ܂̂Ńt@Cm点܂B

--------------
//0412 by

EX^[`f[^({)̍Đ
@ f‚ŎwÊɂ‚đ͈̂̔͂ŏC
snapshot387̃o[Wx[XɏC܂B
conf/npc_monster.txt

EACe̒`啝C
(root)
item.list
(db/)
item_db.txt
item_value_db.txt

E}bvf[^̒`ŃRgAEgĂWm[֘A}bṽRgAEg
conf/map_athena.cnf

--------------
//0411 by _

EIsnapshotłBlogin_portAchar_portAmap_port̐ݒ肪ȂĂ
ftHg6900A6121A5121g悤ɕύXB
Elogin.cAchar.cAchrif.cAclif.c CB
Econf_ref.txt CB
Elogin_port6900瑼̕ɕςꍇclientinfo.xmlςKv܂B

--------------
//0410 by _

GMpENbNj[uinamejgpҋIvB(eXg͂Ă܂B@R}h̓eXgς݂ł...)
0407EXPɊւCɖ肪炵̂ŏC܂Bx̓eXgς݂łB
GM̃AJEgIDݒł悤ɕύXGMxʂɕ悤ɕύXB
(GM̃xɂ@R}hɐ‚łĂ镨@kickA@kickall݂̂ɂȂĂ܂B)
Epc.c
pc_readdb()Apc_gainexp()Apc_nextbaseexp()Apc_nextjobexp()A
pc_checkbaselevelup()Apc_checkjoblevelup() CB
pc_isGM()Apc_read_gm_account() ljB
Epc.h
pc_isGM() CB
pc_read_gm_account() ljB
Eexp.txt
xオȂl9999999990ȉɕύXB
xグׂɕKvEXP999999999ȏɂ邱Ƃ”\B
Eclif.c
clif_GM_kickack()Aclif_GM_kick()Aclif_parse_GMKick() ljB
Eclif.h
clif_GM_kickack()Aclif_GM_kick() ljB
Eatcomand.c
strncmpistrcmpiɕύXB
@kickA@kickall R}hljB
@kick <L>
ȊÕL̐ڑIB(GMx
ႢLɂgȂBGMł͂ȂLGMx0)
@kickall
IɐڑĂSẴL̐ڑIB(
GM܂߂) I_Ep̃R}hłBGMx99Ȃ
gȂB
Econf/GM_account.txt ljB
GMƂĔFAJEgIDݒ肷t@CłB
Emmo.h
DEFAULT_WALK_SPEED140150ɕύXB(ꂪ{IɂĂ鐔l
݂ł̂...)
struct gm_account ljB
Eclient_packet.txt
pPbg0x00cd ljB
Elogin_portcnfœǂނ悤ɕύXB(6900|[gςƃNCAgFłȂ͗lȂ̂ŖʂȂƂ܂...)
char.cAlogin.cAchar_athena.cnfAlogin_athena.cnf CB
Eʂ̃AJEg쐬łGMɂȂȂ悤login.cύXB
Elogin/makefileAmap/makefile CB

--------------
//0408 by Ӓ

E405̐VR}hȑOatcommand.cɎ荞݂܂B
E@kamiC
E@kill,@recall,@charjob,@revive,@charstats,@charoption,@charsave,
@night,@day,@doom,@doommap,@raise,@raisemap,@charbaselvl,@charjlvl
ljbZ[W{ɕύXC

atcommand.c
ljƏC

Eꕔ̃XĽʎ
Esg̃W[Nt[hAChD̗ьAK^̃LXA
tC`[AtXgEF|ACgjO[_[A
TCY~bNEF|

map.h
struct skill_unitrangeljB
skill.c
FXC
skill.h
enum̏CȂ
--------------
//0407 by _

Eybg̃oOCB(ōČłȂ̂ŖɂȂ肻ȏC܂B)
Eybg̈ړxpet_dbɒljB
pet.h
struct pet_dbspeedljB
pet.c
pet_catch_process2()Aread_petdb() CB
pet_db.txt
ړxljB
(R}gAEgĂ̂̓W^XƃAXłBߊlp
ACe݂邱ƂƃptH[}X邱Ƃl
lj\̕ƍl܂B̕ߊlp̃ACe
ƃNCAg𗎂܂̂ŒӂĂBljĂ
䎌̓|̕ł̂... ߊlp̃ACeȊO͓Kɓꂽ
łB)
Epc.cAclif.c
pc_equipitem() CB
clif_parse_EquipItem() CB
pc_equipitem()̖ӒACẽ`FbNclif_parse_EquipItem()
ړ܂B(ybg̑܂̂...)
Ex99ȏɂ悤ɕύXƐEƕʂɃx[Xx̌Exݒł悤ɏCB
map.h
MAX_LEVELljB
pc.c
pc_nextbaseexp(), pc_nextjobexp() CB
pc_readdb() CB
Eexp.txt CBEƃxƓ悤Ƀx[XxEXPe[u3܂BxAbv~߂xexp999999999ɂ΂ȏヌxオ܂B‚܂noviceA1EƂ2EƂ̃x[Xx̌EႤ悤ɐݒł܂Băx[Xx99ȏɏオ悤ɂ邱Ƃł܂B(exp.txt̏CKvł{IƈႤ悤ɐݒ肵ꍇɏCĎgĂB)
Eɂ񕜂battle_athena.cnfŐݒł悤ɕύXB
attr_fix.txt CB
battle.h
struct Battle_Configattr_recover ljB
battle.c
battle_config_read() CB
battle_athena.cnf CB
Econf_ref.txt CB
Eclient_packet.txt CBybgpPbgljƏCB

--------------
//0402 by Ӓ

E400̃oOꕔC
E|ĂȂXLʂɂXe[^XvZsĂ܂oOC
EʏCF܂Ōʂ̌vZ̏CŁAgȂXL͎g܂B
XsANBbPAvBfXA푾ۂ̋A
[z̃ATVNXAJAsg̃W[Nt[hA
ChD̗ьAT[rXtH[[AK^̃LX
EʒljF܂Ōʂ̌vZ̒ljŁAgȂXL͎g܂B
n~OAYȂŁcAj[xO̎w(탌x)A
G^[iJIXAhSmW[
Eʕtn͂ƂłXL͑SĎgpłȂ悤ɏC
EUnXL͂قƂnjĂȂ̂łԂoOłB
ESĖeXgłB镔CłB

map.h
MAX_STATUSCHANGE128ɏC
pc.c
pc_calcstatus()C
skill.c/skill.h
enumC
skill_status_change_start()C
battle.c
battle_calc_weapon_attack()ȂǏC

--------------
//0400 by AppleGirl

Can Someone Help Me.
2-2 Skills added.
All The Mastery Skills.
SpearQuicken,Providence
New Bard Skill Assassin Cross Of Sunset
Providence
Frost Joke
Apple of Idun
Service For You
Meteor Strike (Different Style)
Assassin Cross Of Sunset (not tested)
All Masteries Done
Providence
Musical Strike
Throw Arrow
Frost Weapon << (Problems with elements)?
Flame Launcher << (Problems with elements)?
Seismic Weapon << (Problems with elements)?
Lightning Loader << (Problems with elements)?
Spirit Recovery
Potion Pitcher (Tato)
Axe Mastery (Tato)
Spear Quicken
Not Totally Working:
Combo Finish
Quadruple strike
Triple Attack
(skills in skill.c) (need to be finished.)
CP_ARMOR
CP_HELM
CP_SHIELD
CP_WEAPON
STRIP_HELM
STRIP_WEAPON
STRIP_SHIELD
STRIP_ARMOR

* KȘa *
2-2EXLlj܂
SĂ̏CXLAXsANCbPAvBfXA
[z̃ATVNXieXgjAW[NAChD̗ьA
T[rXtH[[AeIXgCNiႤjA
~[WJXgCNAAtXgEF|(肠H)
t[`[(V)ATCY~bNEF|(V)ACgjO[_[(V)
A|[Vsb`[
Sɂ͓ȂXLF
җA‘SgAOi
(skills in skill.c) (Kv)
P~JA[}[`[WAP~Jw`[WA
P~JV[h`[WAP~JEF|`[WA
XgbvwAXgbvEF|
XgbvV[hAXgbvA[}[

* !! CAUTION !! by Ӓ*
400ɂ̓oOʂɊ܂܂Ă܂BӂĂB
there are many many BUGS in this update(400) !! Be careful !!

--------------
//0399 by Ӓ

EMOBXLgpsC
EsMOBҋ@̃XLgpłȂC
EXL(skillused)ǂ̃XLɂĂoOC
EړMOBnjĂC

mob.c
mob_ai_sub_hard()C
mobskill_event()C
mobskill_use()C
skill.c
skill_attack()C

EMOBXLꕔ
E(GtFNg?)AA^oRzA͈͍U
HPzQ(ʏ/@ji񕜃GtFNg?j

(db)
skill_db.txt
X[LOȂǂC
(map/)
skill.c
skill_castend_damage_id(),skill_castend_nodamage_id()C
battle.c
battle_calc_misc_damage()C

EӒACełȂȂ܂
EӒACeɃJ[hȂȂ܂

pc.c
pc_equipitem(),pc_insert_card()C
clif.c
clif_use_card()C

Ebattle_athena.cnfMOB̔zu`ł悤ɂȂ܂
EzuPMOBɂ‚Ă͓Kp܂
EvZ̔zuP̏ꍇPɏC܂B

(conf/)
battle_athena.cnf
mob_count_ratelj
(doc/)
conf_ref.txt
C
(map/)
battle.c/battle.h
struct BattleConfig mob_count_rate olj
npc.c
npc_parse_mob()̏C

E{[OobV肪PCłƂ肠悤ɂȂB

skill.c
skill_castend_damage_id()C

EwX쐬Cxg̏C

(conf/)
npc_event_making.txt
AGx(606)AG(704)ɁB

EpPbgC

(doc/)
client_packet.txt
0199pPbgC

--------------
//0397 by

EX^[`f[^({)̐
Enpc_monster25.txtnpc_monster.txtɃl[Ae𐮗(mob:13450)
ĚyʔłƂnpc_monster_lite.txt쐬(mob:11959)
EL̏Cɂ킹map_athena.cnfC

--------------
//0395 by Ӓ

E芪MOB̍sC
EANȂǂňړłȂꍇɋ߂ÂȂ悤ɏC
EbNĂƎɋߊ鏈Ȃ悤ɏC
E傪e|[gƒǂ悤ɏC(t10x10}Xx)
Ê΂ɂƂ̓_sȂ悤ɏC

mob.c
mob_ai_sub_hard_mastersearch()C
mob_can_move()lj
mob_ai_sub_hard()C

EMOB̍sC
EXLgpfBĈC
Er̂ȂXLtimergȂ悤ɏC(S΍)

mob.c
mobskill_use(),mobskill_use_id()C

EMOBG[V̎
EG[V̎ނ킩Ȃ̂͑Sāu!vɂȂ܂B
Ăf[^𖄂߂ĂƂꂵłB

(db/)
mob_skill_db.txt
‚MOB̃G[V̍ڂ̒l1ɎނꂽB

(map/)
skill.c
skill_castend_nodamage_id()C
clif.c/clif.h
clif_emotion()lj

EpPbg.txtclient_packet.txtɉC

(doc/)
client_packet.txt
G[V̐lj

Eǂ芪MOB̎ނ͌Âf[^ۂłB
MOBł͎艺ƈႤMOB݂łˁB
ڂlmob_skill_db.txt𒼂ĂƁB

--------------
//0393 by

EcharIłloginĨ|[gݒ6900ɌŒ肵AύXłȂ悤ɂ
@(loginŃ|[g6900ŒɂȂĂ̂charɍ킹܂B)
char/char.c
conf/char_athena.cnf
doc/conf_ref.txt

--------------
//0392 by Ӓ

EMOB̍sC
Êlast_thinktickĂȂC
EɊ֘APC߂ɂĂ蔲sC
iǂ珉̃oO͗lH ̃oOƁA
V蔲̎dl^bOgŎcĂ͗lj
E芪MOBpAIlji܂łj
EMOB̃XLfBCXLڂƂɎ‚悤ɕύX
EXLfBC傫ȍڂł̓I[o[t[ĂC

map.h
struct mob_data skilldelayzɂunsigned intɕύX
mob.h
struct mob_skillcasttime,delayintɕύX
mob.c
mob_ai_sub_hard_mastersearch()lj
mob_changestate(),mob_delete(),mob_catch_delete(),mob_damage(),
mobskill_use(),mobskill_use_id(),mobskill_use_pos(),
mobskill_castend_id(),mobskill_castend_pos(),
mob_ai_sub_hard(),mob_ai_sub_lazy()ȂǏC

EMOBXL̎艺ƃX^[
Emob_skill_db.txt̏ύXiŌɒlP’ljA芪MOBIDj
E芪MOB킩Ȃ̂̓RgĂ܂
킩l͓͂낵肢܂B
E݂͎芪͈x|畦Ȃ܂B
E{Xe|[gĂ芪͒ǂ܂B
E{IłǂȂĂ̂mȂ̂ŁAԈĂꍇ͋ĂB

(db/)
mob_skill_db.txt
艺Ȃǂ̃f[^C

(map/)
skill.c
skill_castend_nodamage_id()C

--------------
//0391 by _

Eybg̈ړɃptH[}Xƃybg~悤ɕύXB
(ybg̈ʒu邽ߏC܂B)
pet.c
pet_performance() CB
E񂾃X^[͂ǂȍsƂȂ悤ɕύXB(ŖG
X^[ȂȂƂł...)
mob.c
mob_changestate(),mob_delete(),mob_catch_delete(),mob_damage(),
mob_ai_sub_hard(),mob_ai_sub_lazy() CB
EPCANPCAACegID͈̔͂𒲐B
ACe0500000܂łPC500000100000000ANPC
(X^[܂߂)11000000021܂łɂȂ܂B
(-܂߂ƂƔ͈͂LȂ܂ɂ܂ł͕KvȂ
v܂̂...)
map.h
MAX_FLOORITEM lj(ςƏACe̍ő吔ς
Ƃł܂B100000ɂȂĂ܂B͕K
500000ȉɂĂBȂƐǂ
ۏ؂ł܂B)
map.c
map.hɍ킹ďCB
npc.h
START_NPC_NUM ljB
npc.c
npc.hɍ킹ďCB
login.h
START_ACCOUNT_NUMEND_ACCOUNT_NUM ljB
login.c
login.hɍ킹ďCBEND_ACCOUNT_NUMȏaccount
Ȃ悤ɕύXB
EJ[g{[Vɕ팤QKp悤ɕύXB
(ǂ͌ɖ߂ƂɂȂ܂...^^;)
battle.c
Damage battle_calc_weapon_attack() CB
Emob̃XLgpbattle_athena.cnfŌ߂悤ɕύXB
mob.c
mobskill_use() CB
battle.h
battle.c
struct Battle_Configmob_skill_useljB
battle_athena.cnf
mob_skill_useljB(ݒ肵ȂnołB)
Ebattle_athena.cnf
mobdœǂ߂Ȃ悤npc: conf/npc_monster.txt폜B
(ŐVnpc_monster25.txtȂ̂...)

--------------
//390 by Ӓ

Eo[W񏊓ύX
EMODo[W`ł悤ɂȂ܂Bڍׂversion.hB
CƂA傫ȍXVƂȂǂɕύXĂB
Eo[Wcheckset eofOoȂ悤ɃpPbg7532ljB

(common/)
version.h
MODo[W`ł悤ɁB
(tool/)
checkversion
MODo[W\悤ɁB
(login/char/map)
login.c/char.c/clif.c
MODo[W̏ljA
pPbg7532iؒfjljB

ȆFXC
E܂܂C΂łA܂oĂ܂B
EMOBXLslavelt,attackpcgtieXgjB
EMOB̎艺̂߂̋@\lji܂ł܂jB
E͈̓XLʔ͈͂ɎSPCƎIoOCB
EMOBcoȂcȂĂ炢ȁB

(map/)
mob.c/mob.h/map.h/battle.c
FXlj

(db/)
mob_skill_db.txt
[gƁAύXXL̃RgOB
iύX͖{IœĂȂ炵̂RgOĂ܂B
肪ꍇ͍ĂуRgĂj

--------------
//389 by

E388̕ύX
o[Wcommon/version.h̒萔gp悤ɕύX

--------------
//388 by Ӓ

Eo[W񏊓c[Yt
PerlȂ̂ŎsɂPerlKvłB
gp@Ȃǂ̓GfB^ŊJČĂB
gǂ킩Ȃl͎oȂقłB

o[WmFpŕAT[o[̐mFpƂ񂶂ł
pPbg7530/7531̏ڍׂ̓\[XĂB

(tool/)
checkversion
o[WmFc[PerlXNvg

(login/)
login.c
pPbg7530/7531̏lj
(char/)
char.c
pPbg7530/7531̏lj
(map/)
clif.c
pPbg7530/7531̏lj

E384ȑOathena.txtǂݍ߂悤ɂ܂
Econvertʓ|ȐlB
Eǂݍ߂ۏؖBobNAbvYꂸɁB

(char/)
char.c
384̕œǂݍ߂Ȃf[^384ȑO̕悤ɁB

Econf_ref.txt/help.txt/getaccountC
help.txt
petR}h̐lj
(doc/)
conf_ref.txt
pet֘A̐ݒ̐lj
(tool/)
getlogincount
\̏C

--------------
//387 by
EconftH_NPC`f[^̐
ȉ̃t@C폜܂
npc_kafraJ.txt
npc_mind_prtmons.txt
npc_script2J.txt(npc_event_mobtim.txtɓ̂)
npc_testJ.txt(قړƂ@R}hŏo邽)
npc_warp25.txt(npc_warp.txtɓ)

ȉ̃t@C̖OύX܂
npc_monster3.txt -> nop_monster2E.txt
npc_monster3J.txt -> npc_monster25.txt
npc_monster.txt -> npc_monsterE.txt
npc_monsterJ.txt -> npc_monster.txt
npc_sampleJ.txt -> npc_sample.txt
npc_script3j.txt -> npc_script2.txt
npc_script25J.txt -> npc_town_lutie.txt
npc_shop1J.txt -> npc_shop_test.txt
npc_shop2J.txt -> npc_shop_mobtim.txt
npc_shop3J.txt -> npc_shop2.txt
npc_shop.txt -> npc_shopE.txt
npc_shopJ.txt -> npc_shop.txt
npc_testJ.txt -> npc_test.txt
npc_warp3.txt -> npc_warp2.txt
npc_warp4.txt -> npc_warp25.txt

E}bv`̒lj
Wm[Abvf[gŒlj}bvƁA؎IƎ(?)̃NCY][
(RhAbvf[g)ƓVÃAbvf[g̃}bv`lj
݁AƂɖ̂ɊւĂ̓RgAEgĂ܁B
conf/map_athena.cnf

--------------
//385 by Ӓ

EMOB̍sC
E蔲ňړȂ[hMOBC
EMOB|ƂAspawnȒlɂȂꍇC
iMOBȂȂ肪Cꂽ͂j
EMOB̃[vŏꏊ1000񎸔s猳̏ꏊɏo悤ɏC
EMOBrɓ|ƁA^C}[폜悤ɏC

mob.c
mob_delete(),mob_catch(),mob_damage(),
mob_ai_sub_lazy(),mob_ai_sub_hard()ȂǏC
mobskill_deltimer()lj

--------------
//0384 by _

EybgB
v蒷܂BʼnC
oĂȂ肪܂... ŔÖׂmapchar̃t@C͑S
܂߂ăAbv܂B
makefileathena.sh͎gĂ镨łB
Yare-launcher͎gĂ܂񂪂‚I̎st@CŎsĂ܂̂...
char/char.cAchar/char.hAchar/inter.cAchar/makefile CB
char/int_pet.cAchar/int_pet.h ljB
map/makefile CB
map/intif.cAmap/intif.hAmap/map.cAmap/map.hAmap/mob.cAmap/mob.hA
map/npc.cAmap/npc.hAmap/battle.cAmap/battle.hAatcomand.cAmap/pc.cA
map/clif.cAmap/clif.hAmap/script.c FXCB
map/pet.cAmap/pet.h ͖wǂ̕ɏ܂B
common/mmo.h CB
db/pet_db.txt CB
db/item_db.txt CB(gїz@bpet XNvgĂ̂
ꂽł...)
doc/INTERIpPbg.txt̖Ointer_server_packet.txtɕύXƃybg
ۑɎgpPbgljB
* x̃ybgɂLt@C̍\ςȑO̕ƌ݊łȂ
̂ tool/convert.c lj܂B
PƂŃRpCł܂̂ŃRpCƎsăL
t@CϊĂBȂƃLSт܂̂...
* ybg̐ex0ɂȂƃybg͂̏œȂȂ肻̏Ԃő
}bvɈړ邩Iƃybg͏ł܂Bꉞybg̓
‚ō̂ł{IɂĂ邩ǂ͂킩܂B
* ړxxybg̏ꍇ߂Ƃ‚ėȂȂ܂Bł
̏ꍇ}bvړĂƂ‚ė܂B
ł͂܂B
* ړxybg̓LɈړ܂B{I̕ǂȂ̂
킩Ȃ̂Ńybg̈ړ̓X^[̈ړxňړ
悤ɂ܂B
Ebattle_athena.cnf
pet_catch_rate ljB
ybg̕ߊl{ݒ肵܂B(ݒ肵Ȃ100)
{IɃybg̕ߊlɎgĂ
(pet_db.txt̕ߊl + (Lx - X^[x)*0.3 + luk *0.2)
* (2 - X^[̌HP/X^[̍őHP)
ɂȂ܂BȂɍł̂Ŗ{IƂ͂Ȃ
Ⴂ邩m܂B(X^[HP点Ό炷ߊl
オdg݂ł...)
pet_rename ljB
ybg̖OύX邩ǂ߂܂B(ݒ肵Ȃno)
yes͉xłO̕ύX”\B
no͈xύXƂύXs”\ɂȂ
pet_hungry_delay_rate ljB
ybg̕鎞Ԃ̔{łB(ݒ肵Ȃ100)
{ƕȂ܂
mvp_exp_rate ύXB
łstruct mob_dbmexpper̓S~ɂȂĂ̂(MVP EXP
MVPACeȂꍇ̂ňӖ܂B)
MVP EXP̗ʂ̔{ɂȂ悤ɕύXB(mob.cC)
Echar_athena.cnf
autosave_time ljB
ۑ鎞Ԃ߂܂B(ݒ肵Ȃ300)
dʂ͕błB(t@Cɕۑ鎞Ԃ̊ԊułB)
Emap_athena.cnf
autosave_time ljB
ۑ鎞Ԃ߂܂B(ݒ肵Ȃ60)
dʂ͕błB(LIɃf[^𑗂鎞Ԃ̊ԊułB
t@Cɕۑ鎞Ԃ̊ԊuႠ܂B)
Einter_athena.cnf
pet_txt ljB
ybg̃f[^ۑt@C߂܂B(ݒ肵Ȃpet.txt)
E@makepet R}hljB
ybg̎ɂ@itemō͎gĂʂɂȂ܂̂
gėĂB
@makepet <X^[ID or ID>
E@petfriendly R}hljB
@petfriendly <>
ybgAĂ鎞Ƀybg̐exύXB(0~1000)
E@pethungry R}hljB
@pethungry <>
ybgAĂ鎞Ƀybg̖xύXB(0~100)
E@petrename R}hljB
@petrename
ybgAĂ鎞Ƀybg̖OύXł悤ɕύXB
Eint_guild.cAint_party.c ǂݍރt@CɃG[ĂvO
Iɐiނ悤ɕύXB
Epc_walk 123 != 1234 ̃G[oȂ悤
if((i=calc_next_walk_step(sd))>0) {
sd->walktimer=add_timer(tick+i/2,pc_walk,id,sd->walkpath.path_pos);

if((i=calc_next_walk_step(sd))>0) {
i = i/2;
if(i <= 0)
i = 1;
sd->walktimer=add_timer(tick+i,pc_walk,id,sd->walkpath.path_pos);
̂悤ɕύX܂B
ticklɂȂ̂ĥłłǂȉeo邩
ς킩܂B
pc.cAmob.cCB
ł̏CĂAŃNbN肷ƃL΂炭
~܂悤łB(ybĝƎv܂ybgȂĂ
̂ő̌...)
* doc/code_ref.txthelp.txt͖ʓ|̂ŏCĂ܂B
Egm_all_skill: yes2-2̃XL\悤ɕύXB(͂܂...)
pc.c
pc_calc_skilltre() CB
EJ[g{[Ṽ_[WvZCB
팤dvZĂ̂ŏCB
battle.c
Damage battle_calc_weapon_attack() CB

--------------
//381 by Ӓ

EMOB̍sC
EPĈȂ}bvMOB͎X[v悤ɂȂ܂
EPĈ}bvMOB͕ȊOɁAX悤ɂȂ܂
i܂ptH[}Xɉe邩܂FdȂ邩j
E蔲ŃubN̗Ls悤ɂ܂
iHPMOBCHj
E[gXLgp@\

mob.c/mob.h
mob_ai_sub_lazy(),mob_ai_sub_hard()C
MSS_LOOTlj,mob_readskilldb()C

EMOBXL̑ύX܂B

map.h
struct mob_data def_eleolj
mob.c
mob_spawn()def_eleZbg悤ɕύX
battle.c
battle_get_element()def_eleǂނ悤ɕύX
skill.c
skill_castend_nodamage_id()C

EN@O}CǍʔ͈͂oƌʂ؂悤ɂȂ܂

skill.c
jbgnC

--------------
//380 by `̐l

EJ[gH[Ṽ_[WvZ
battle.cύXB

CHRISA肪Ƃ܂B
mbNobNłȂāAĂ܂iG

--------------
//379 by CHRIS

EJ[gH[V̎
skill.cbattle.cύXB

E}OiuCNɃmbNobNljB
battle.cύXB

i\[XM̂͏߂ĂȂ̂ŁALĂ邩ǂ܂񂪁Ał͏o܂Bj
ivO֌W̏Ђ𔃂ĕ׋ď߂ĘM̂łEEEBKo}XIBj

--------------
//377 by Ӓ

EMOB̍sC
E߂PĈȂMOBX[vdl~߂܂B
EPĈȂ}bvMOB͑SȂȂ܂B
EPĈ}bvŁA߂PĈȂMOB͎X悤ɂȂ܂B
ȆׂƂC
iptH[}Xɉe邩܂FdȂ邩j

mob.c
mob_randomwalk()lj
mob_ai_sub_lazy(),mob_ai_sub_hard()CȂ

EXLC
EMOBe|[gł悤ɂȂ܂

mob.c
mob_warp()lj
skill.c
skill_castend_nodamage_id()C

EXe[^Ẍُꕔ/C
EPC/MOBƂɑx̌ʂ悤ɁiAGI̕\͕ς炸j
EPC̃GWFXAC|VeBI}kXAx㏸̌ʂC
EMOB2HQAAhibVAGWFXAC|VeBI}kXA
x㏸/AOAAubVOȂǂ̌ʎ
EAAX^̕Kʎ
ẼNeBJ{ʎ
EÍ̖A𗦌ʎ
E􂢂ATKʁALUKʎ

battle.c
battle_get_*()C
battle_calc_weapon_damage()C
mob.c
mob_get_speed(),mob_get_adelay()lj
pc.c
pc_calcstatus()C

Eitem_value_db.txtŃACẻiݒł悤ɂȂ܂
Eif[^I[o[Chł悤ɂ܂B
Eitem_db2.txtpӂKv܂B

(db/)
item_value_db2.txt
item_db2.txt̉if[^B
item_value_db.txtɃl[Ɠǂݍ݂܂B
(map/)
itemdb.c
itemdb_readdb()C

EÖ؂̎}gMOB̖O 0 ɂȂ̏C

(db/)
item_db.txt
Ö؂̎}̃f[^C

--------------
//375 by Ӓ

EMOBpXĽʂ‚
iUAłȂǂ̒ljʕt^UAtUA@ŌU
KUAh䖳UA_ATKUȂǁB
A**SeXgĂ܂**B

(db/)
skill_db.txt
MOBpXL̃f[^C
mob_skill_db.txt
lj
(map/)
skill.c
skill_castend_damage_id()C
skill_status_change_start()C
skill_additional_effect()C
battle.c
battle_calc_weapon_attack()C

EXLC
EEH[^[{[œGłĂƒ[VC

skill.c
skill_status_change_timer()C

EMOBf[^ςȂ̂Ŗ^ṽf[^x[X𗬗pĂ݂
Ef[^̕яƂSȂł

(db/)
mob_db.txt
^vmob_db.txt

Eeconf̃t@XYt
܂Ńt@XȂ̂ŁAHowToȂ񂩂͏Ă܂B

(doc/)
conf_ref.txt
conf̃t@X{


--------------
//373 by Ӓ

EMOBXLgp@\
EXLgp̏̓vC[Ƌp(skill.c)łB
EssƎv̂ŕ񍐂肢܂B
Emob_skill_db.txt𖄂߂ĂlWB
̃f[^́uOiN̂܂vQlɂĂ܂B

(db/)
mob_skill_db.txt
MOBXLf[^x[X()
eXgp̃f[^Ă܂B
(map/)
mob.c/mob.h
mobskill_*ljȂC
map.h
struct mob_data skill* lj
skill.c/skill.h
skill_castcancel()XLjbgMOBɑΉ
battle.c
battle_calc_damage()ȂǏC

EMh̃XLGȂC
E‚̂܂ɂpc_skillupÂ̂ɕςĂ̂ŏC

pc.c
pc_skillup(),pc_checkskill()C

--------------
//368 by Ӓ

EMOBn̏CȂ
EMOBG͈͓PC/ACe𓙊mŃbN悤ɂȂ܂
iANeBuA[gF܂܂ł͊YubÑNXg̏Ȃǂ
ˑĂj
E˒͈͓ABs”\nтPCMOBbNƁA
MOB~ȀŖ\ꂾ肷̏C
EMOBbNIWȂǂœBs”\ɂȂꍇAbN悤ɁB
EAEGISœG̈ړvZĈړs”\ȂAAthenaŌvZ悤
EbNƂɐb̏Œ~悤ɂ
EsxMOBƂ܂Ȃ/̕sJnC܂
E[g֘AC

mob.c
mob_ai_sub_hard*()C
mob_can_reach()lj

EXLgpɃ^[QbgubN̗Ls悤ɏC
EAt̃_[WvZɂȂẴoO𖂖@vZɏC

skill.c
skill_castend_id()C
skill_status_change_timer_sub()C


----------
//364 by
Eȉ̃pPbg̐ύX
doc/pPbg.txt
R 006a .B
R 0081 .B

E363ŃrhwarningosC
map/guild.h

--------------
//363 by Ӓ

EMh̏C
EOCĂȂPCǕƃ}bvIoOC
Eo[ljɒljꂽPCMh\ɒljȂC
EMhɓCʃLvPCEނ/ǕƕʃL
EނĂ܂ꍇoOC
Eo[̂ɉU悤Ƃƃ}bvIoOC

(char/)
int_guild.c
guild_calcinfo(),mapif_parse_GuildAddMember()C
(map/)
guild.c
guild_member_leaved(),guild_member_added()
guild_recv_info(),guild_break()C

--------------
//362 by Ӓ

EMhU

(char/)
int_guild.c

(map/)
guild.c/guild.h
guild_break(),guild_broken(),guild_broken_sub()Ȃǒlj
clif.c/clif.h
clif_guild_broken(),clif_parse_GuildBreak()lj
intif.c/intif.h
intif_parse_GuildBroken()lj

--------------
//361 by

E360ł@heal̕ύXԈႢ
map/atcommand.c

--------------
//360 by

E353̏C폜
E@healŕύX̒l}CiXɂȂȂ悤ɏC

--------------
//359 by

Eclass_equip_db.txt̕C

--------------
//358 by Ӓ

EOCdelete_timer̃G[oȂ悤ɂ
pc.c
pc_authok()̏C

EMh֌W̏C
EoUɍől̊mFs悤
Ef[^ʒm‚C

(char/)
int_guild.c
FXC
(map/)
clif.c/clif.h
clif_guild_inviting_refused()clif_guild_inviteack()ɉ
guild.c/intif.c
FXC

E@guildlvupR}h쐬BMhxł܂B

(char/)
int_guild.c
FXC
(map/)
atcommand.c
@guildlvuplj

EMakefikecleanC

(char/ map/ login/)
Makefile
E폜st@C̃pX ../athena/ ../ ɏC

--------------
//357 by Ӓ

Epc.c̕C
t@CAbv̂Â֎~܂񂩁H
̖ʓ|܂B

pc.c
̏C

Ep[eBMhɊUꂽԂŃ}bvړ⃍OAEgƁA
Uۂ悤ɏC

pc.c
pc_setpos()C
map.c
map_quit()C

EI-AthenaVXe(B-NSJ)AthenapɉēYt܂
vO̐./tooltH_ł͂Ȃ./ɂ܂B
athena.sh̕ςstartŋNmapIĂ10bxŕ܂
vZX́umapvŒׂĂ܂̃vZXɔƂ
umap-servervȂǂɕςĂ݂ĂB

start
mapIVXẽVFXNvg


--------------
//0356 by _

Eathena.shgȂĂYare-launcherg悤ɕύXB(Ă܂
ꉞ܂Bł̏ꍇlogin-server.exelogin-server.exɓo^Ă܂
Yare-launcherlogin-server.exeĎs肪܂Bathena
ł͂܂...)
comm/makefileȊOmakefileSĂCB
athena.shCB
st@C.,/athena tH_[Ȃ./ tH_[ɍ܂B
E VKaccount̋e邩ǂlogin_athena.cnfŌ߂悤ɕύXB(
YareCVSQlłB)
login.c
int mmo_auth() CB
login_athena.cnf
new_account ljB
Echar.cAlogin.cAinter.cAmap.cAbattle.cňꕔstrcmpstrcmpiɕύXB

--------------
//355 by 䂤

E葕l񓁗ɏC
@i_[WvẐ݂Ōړ͕ύXȂj

map.h
map_session_dataɍp̕ϐlj

battle.h
battle_get_attack_element2()lj

battle.c
battle_get_attack_element2()lj
battle_calc_weapon_attack()
@񓁗̏ljC
@NeBJ_uA^bNɔ肷悤ɏC
@ߏ萸B̒lj_[W𐸘B_[W̎ɏ悤ɏC
@i͓Ǝɒׂ̂ŊԈÔ\j

pc.c
pc_calcstatus()ɍp̕ϐɒl鏈lj
pc_equipitem()̓񓁗̏ꏊ̂C

--------------
//353 by

EYare-launchergƂo悤Makefileathena.shύX

--------------
//352 by Ӓ

ErɃNCAgImapȈC
skill.c
skill_castend_id(),skill_castend_pos(),skill_castend_map()C
map.c
map_quit()C


Ef[^obNAbvp̃c[Yt
PerlȂ̂ŎsɂPerlKvłB
gp@Ȃǂ̓GfB^ŊJČĂB
gǂ킩Ȃl͎oȂقłB
f[^ĂӔC͎܂

(tool/)
backup
f[^obNAbvpPerlXNvg

--------------
//0351 by _
skill.c
skill_use_id()ɉrX^[̏ύXB(UԈȊȌꍇ
rŗDɂ܂B)
mob.c
mob_ai_sub_hard_castsearch() rX^[d
̂ō폜B
mob_ai_sub_hard() rX^[dȂ悤ɕύXB
pet.c - 0344ɖ߂܂B(C͏͂Ăɂ܂B)
pet.h - 0344ɖ߂܂B
char.h
CHAR_CONF_NAME ljB
char.c
do_init() s鎞t@C͂ĂȂCHAR_CONF_NAME
g悤ɕύXB
map.h
MAP_CONF_NAME ljB
map.c
do_init() s鎞t@C͂ĂȂMAP_CONF_NAME
g悤ɕύXB
login.exeAchar.exeAmap.exeathenatH_[ɃRs[㖼O
login-server.exeAchar-server.exeAmap-server.exeɕύXYare-launcherg
Ƃł܂BgƎIxɎIɍĎsĂ܂B

--------------
//0345 by _
ELXeBOTmB
mob.c
mob_ai_sub_hard_lootsearch() CB
mob_ai_sub_hard() CB
mob_ai_sub_hard_castsearch() ljB
mob_target(), mob_ai_sub_hard_activesearch() {XX^[
mvpolɂĔF悤ɕύXB
mob_ai_sub_hard_linksearch() CB
mob_attack() 񂾂ӂAnCfBO`FbN悤ɕύXB
mob_readdb() CB
Epet.h
MAX_PET_DB100ɕύXB
Epet.c
read_petdb() CB

--------------
//0344 by@ߋ̐li1
E@ybgт̂قFXC
E@ybga

pet.c
pet_calcrate(struct map_session_data *sd);
ybg̊lmvZ
pet_food(struct map_session_data *sd);
ybgaVXe
pet_hungry_change( int tid, unsigned int tick, int id,int data );
ybg郍WbN
pet_status_int(struct map_session_data *sd);
exvZ
pet_status_hungry(struct map_session_data *sd);
xvZ
pet_status_1a3(struct map_session_data *sd);
pPbg1a3ݒ֐
pet_initstate(struct map_session_data *sd);
ybg߂Đ܂ꂽƂ̏Xe[^Xݒ
pet.h
int pet_calcrate(struct map_session_data *sd);
int pet_food(struct map_session_data *sd);
int pet_hungry_change( int tid, unsigned int tick, int id,int data );
int pet_status_int(struct map_session_data *sd);
int pet_status_hungry(struct map_session_data *sd);
int pet_status_1a3(struct map_session_data *sd);
int pet_initstate(struct map_session_data *sd);
lj
clif.c
clif_pet_emotion(int fd,struct map_session_data *sd)
aƂɃG[Vs
clif.h
clif_pet_emotion(int fd,struct map_session_data *sd);

--------------
//0341 by _
E[gX^[B
map.h
LOOTITEM_SIZE20ɏCB
struct mob_dataint lootitem_count ljB
mob.c
mob_spawn() CB
mob_ai_sub_hard_lootsearch() ljB
mob_ai_sub_hard() CB
struct delay_item_drop2 ljB
mob_delay_item_drop2() ljB
mob_damage() CB
battle.h
struct Battle_Configint monster_loot_type ljB
battle.c
battle_config_read() CB
battle_athena.cnf
monster_loot_type: 0 ljB({I0ɂȂĂ܂B
0̏ꍇLOOTITEM_SIZE܂ŃACeHׂĂ
܂ACeHׂđÕACedlłB
1̏ꍇLOOTITEM_SIZE܂ŃACeHׂ
ACeHׂȂȂ܂B

--------------
//0340 by _
EmvpoOCB
mob.c
mob_damage()jɕς͂̕ɌƂ܂̂
C܂BmvpACeŕςȕoȂȂ͂łB
Eclass_equip_db.txt
EUC-JISS-JISɕύXB(Ӗ͂܂񂪑̃t@C
SS-JIŜ...PȂ~Xł...)

----------
//339 by

E338KpԂŃrhG[sC

----------
//338 by ߋ̐li1

E@pet_db.txtɑΉ܂B
E@pet_db‚vȌɏC܂B
E@ybg̖OύX鎖o܂
E@ybgɃANZT[‚鎖o܂B
E@݃ybgais

(map/)
clif.c/clif.h
E pet֘Å֐قڏCyђlj܂B
E clif_parse_EquipItem()Ńybgpł邩ǂ̔sĂ܂
E clif_parse()C܂B

battle.h/battle.c
E@battle_config.pet_rateϐ𑝂₵܂Bmobɑ΂闑̊l
@@ݒ肷鎖”\ƂȂ܂

pet.c/pet.h
E pet_initstate(struct map_session_data *sd);
@̃ybgXe[^Xݒ肷֐ł
E pet_npcid(struct map_session_data *sd,int egg_name_id);
@ybgɊ蓖Ăꂽnpc_idԂ܂
E pet_itemid(struct map_session_data *sd,int mob_id);
@X^[ID痑IDo܂
E pet_equip(struct map_session_data *sd,int equip_id);
@ybg̃ANZT[ł
E pet_unequip(struct map_session_data *sd);
@ybg̃ANZT[ł
E pet_calcrate(struct map_session_data *sd);
@lmvZs1or0Ԃ܂B
E pet_food(struct map_session_data *sd);
@ybgalĂłB܂ɓ삵܂B
E read_petdb()
@pet_db.txtǂݍpet_db[]ɒl֐ł

E do_init_pet()
@mapIłтpet_db[]g悤ɂׂ
ybg񏉊֐łB

map.c/map.h
E@BL_PETϐ܂
E@mapI̎do_init_pet()Ăяo܂B

mmo.h
E@s_pet\̂ɕϐljBLN^[ybg̃f[^ێׂ̃VXe
@̈׍ϐ͂̂‚Ǒ\

npc.c
P܂B

(conf/)
battle_athena.cnfɗ̊lmpet_rate܂B

----------
//337 by Ӓ

EMh̒ljƏC
EMhɌol[ƁA[EXPُȒlɂȂoOC
EMh̓GΊ֌W̒lj

guild.c/guild.h
guild_payexp()̏C([EXP)
guild_opposition()lj
guild_allianceack(),guild_reqalliance(),
guild_reply_reqalliance()̏C
clif.c/clif.h
clif_guild_oppositionack(),clif_parse_GuildOppositionlj

EfBCԂdex̉e󂯂邩ǂbattle_athena.cnfɏ悤

(conf/)
battle_athena.conf
delay_dependon_dex lj
(map/)
skill.c
skill_delay_fix()̏C
battle.c/battle.h
struct Battle_Configdelay_dependon_dexlj
battle_config_read()̏C(ǂݍݏςĂ܂)

--------------
//0336 by _
EXLCfACB
Eclif.c
clif_skill_damage()Aclif_skill_damage2() CfA킹ďCB
(XL▂@ɂȂƃ[VoȂpPbg
‚Ȃ̂ŊSႠ܂B)
clif_parse_ActionRequest()Aclif_parse_UseSkillToId()Aclif_parse_UseSkillToPos()
XLfBC̎ɃbZ[Wo悤ɏCB
EobNXebvAIfIRB
Eskill.c
skill_castend_damage_id()ɂXLobNXebv̏
skill_castend_nodamage_id()Ɉړ܂B
XLobNXebv̏clif_skill_damage2()ĂԂ̂clif_fixpos()
ĂԂ悤ɕύXB(Ń_[W̃[Vo
ړł܂B)
obNXebvƋԂ悤ɕύXB
skill_produce_mix() IfIRKpB탌x3ȏ̎
XLx*1%{[iXƂĐmɕt܂B
GjE̊mljB
Eskill_db.txt - obNXebvnk01ɕύXB(XLԍ150̕łB)
Eproduce_db.txt IfIR,GjEljB(͖{Iɂ͂ȂłB
ăNCAgɂ͕KvȃACe\܂B)
IfIRg镨ɂ邽߂ɒlj܂B
IfIȐꍇ̓IfIR3‚ƐΒY1‚Kv
GjE̓GjE3‚ƐΒY1‚KvłB
Epc.c CB
pc_heal()pc_percentheal() CB
pc_gainexp() Mhexp[鎞exp}CiXɂȂȂ悤
CB2ˆȏ̃xオ悤ɕύXB
ő僌xȏɃxオȂ悤ɏCB
pc_checkbaselevelup()Apc_checkjoblevelup() ljBxAbv
`FbN܂B
pc_itemheal() ljBACegVITƃXLɂă{[iX
tłBXL[jO|[VB
Epc.h
pc_checkbaselevelup(),pc_checkjoblevelup() ljB
pc_itemheal() ljB
Escript.c - XNvgfixhealBitemhealljBhealfixheal̋@\
悤ɕύXB
buildin_fixheal() buildin_heal()̕ɖ߂܂B(‚܂
buildin_heal()buildin_fixheal()ɂȂ܂B)
buildin_itemheal() ljBACeɂ񕜂͂ĂԂ悤ɂ
B
buildin_heal(){[iX̌vZB
Eitem_db.txtA item_db2.txt - healitemhealɕύXB
Emob.c
mob_damage() 0335mvpɏԈႢ܂̂ŏC܂B
Eskill.h
MAX_SKILL_PRODUCE_DB64100ɕύXB


//0335 by _
Echar/char2.c̈ꕔRETCODEKpĂȂ̂łCB
Echar/char2.cparse_char()ŃLɖ肪肻ȏCB
Echar/cha2.c,login/ login2.cchar/cha.c, login/login.cɕύXB
Echar/makefile,login/makefileύXB
Emakefilecommon/mmo.hύXOSFRETCODE
Kp悤ɕύXB
Ecommon/grfio.cgrfio_init()CB(R[hƂꂢ(H)
ł,,,)
ECfABăAeByCgB
Emap/clif.c
clif_parse_LoadEndAck() ؍NCAg̃pb`ɍ킹ďύXB
(}bvςxɕƃV[hȂȂ邽߂łB܂
{NƂ͊֌W܂...)
clif_skillinfoblock() up͂ȂƎv̂ŏ܂BXL|Cg
256A512̎XLc[\ȂƂ
܂B
clif_guild_skillinfo() 悤up܂B
clif_birthpet() pc_delitem() ĂԂ悤ɕύXB
clif_damage() CfAɑΉ悤ɕύXB
Emap/pc.c
pc_percentheal() }CiXĂ悤ɕύXBCB
pc_heal() CB
natual_heal() CB
do_init_pc() natual_heal̏Cɍ킹ĕύXB
pc_calcstatus() |𑕔ĂȂƃV̖ڂKpȂ悤ɕύXB
gXgB
pc_damage() CfAɑΉ悤ɕύXB
Emap/pc.h
pc_checkoverhp(), pc_checkoversp()ljB
Emap/map.h
MAX_PC_CLASS+1ɁB
Emap/atcomand.c
comandcommandɕύXB
strncmpstrcmpiɕύXBăR}h啶Aʂ
KvȂȂ܂B
Emap/npc.h
npc_parse_mob()ljB(Ӗ͂܂...)
Emap/temdb.c
itemdb_readdb()class_equip_db.txtǂނ悤ɕύXB
Edb/class_equip_db.txt ljBőNXw肵܂BȂꍇ
item_db.txtɂjobg܂B܂܂Ă镨͊Sȕł͂Ȃ
gp̕łB
Emap/skill.c - skill_status_change_start() CfA̎Ԃ𐳂ύXB
Emap/battle.h
battle_configexp_ratebase_exp_rateɕύXB,job_exp_rateljB
battle_get_mexp()ljB
Emap/battle.c
battle_configexp_ratebase_exp_rateɕύXB,job_exp_rateljB
battle_get_mexp()ljB
battle_calc_magic_attack()ύXB_[AfbhŃ{X̔Fmvp
expł悤ɕύXB
Emap/mob.c
mob_readdb() base_exp_rate,job_exp_rateɑΉB
mob_readdb() {X̔Fmvpolł悤ɕύXB
mob_damage() mvp鎞̏ύXBd50%zƏ
悤ɕύXƐFXB
Econf/battle_athena.cnf
base_exp_rateA,job_exp_rateljB
E0308ŖYꂽ
‚AÂJ[hAÂF̔̎gpœꂽACe
ĂȂȂACeɗƂ悤ɕύXB
͂ł0302œKpB

----------
//334 by C}{RIS

EՂ낾332.txtpet_db.txtƂēB

EeeLXgt@C̃~XC
Eattr_fix.txt@C}CiXɓēG񕜂CB
̉񕜎dlɖ߂ꍇattr_fix.txtl[Aattr_fix_old.txtattr_fix.txtɃl[ĉB
Emob_db.txt@X^[̓{ꖼ{IƓB
Ecast_db.txt@rԁAfBC{IƓB

----------
//333 by Ӓ

EMh@\lj
EMh̓Ɠ

(char/)
inter.c/int_guild.c
pPbg/Mhlj
(map/)
clif.c/clif.h
clif_guild_reqalliance,clif_guild_allianceack,
clif_guild_delalliance,clif_parse_GuildRequestAlliance,
lif_parse_GuildReplyAlliance,clif_parse_GuildDelAlliancelj
iMh֌W̃pPbgj
intif.c/intif.h
Mh֌W̃pPbglj
guild.c/guild.h
Mh֌W̏lj
map.h
struct map_session_dataguild_alliance,guild_alliance_accountlj

EMhGu̕ύX}bvIċNȂƗLɂȂȂoOC

guild.c/guild.h
guild_emblem_changed̏C

----------
//331 by ߋ̐li1

EybgVXeC(x25%)

EeߊlpACeꂼΉGɑ΂Ďgp邱Ƃ
@ɓ悤ɂȂ܂B
EeߊlpACeΉȂGɎgpꍇ̓[bgKs܂B
Eybguɕ\悤ɂȂ܂B
EybgENbNƃj[o悤ɂȂ܂
EFX댯ȗvfC܂B(ACe̐̌̃oO𒼂܂)

(db/)
item_db.txt
eߊlpACeɑΉ悤petR}h𐳂܂B

(common/)
mmo.h
s_pet ybg\̂pet_item_idlj

(map/)
clif.c
clif_birthpet()CBAID擾悤C
ɂāAnpc_pet֐܂B

clif_spawnnpc()CiWBUFPOS(buf,36,nd->bl.x,nd->bl.y)ƁAl2636֕ύX܂)
ɂăybguɕ\悤ɂȂ܂B

npc.c
npc_pet()CB

pet.c/pet.h
ybg֘Aׂ̍Ȋ֐ɂ܂Ƃ߂ׁAlj܂B
݂̓ybg̔֌W܂Ƃ߂Ă܂B

script.c
ɑ傫ȏC͂܂B
----------
//330 by ߋ̐li1

EybgVXe(xQO)
EGɑ΂ĕߊlpACegp鎖”\ƂȂ܂B
@(܂nĂȂŜݎgp”\AGɂ‚Ă|̗ɓ܂B)
Ee헑ɑ΂ăybg\鎖ł܂AȂxʊO
@łȂƃybg\܂B
@(炭ybg\̍ۂɍsĂNPCXe[^XĂȂ)
E\ꂽybgptH[}Xs܂B

(db/)
item_db.txt
gїz@gp”\ bpetR}h(gїz@gp)
u܂nĂȂSvgp”\ petR}h(mobɑ΂Ďgp”\ɂ)
(common/)
mmo.h
s_pet@ybg\̒lj
mmo_charstatus@ybg\̐錾ϐlj(pet)
(map/)
clif.c/clif.h

int clif_catchpet(struct map_session_data *sd,int pet_id);
void clif_ruletpet(int fd,struct map_session_data *sd);
int clif_judgepet(struct map_session_data *sd,int target_id);
int clif_sendegg(struct map_session_data *sd);
void clif_listpet(int fd,struct map_session_data *sd);
int clif_birthpet(struct map_session_data *sd,int pet_id);
void clif_menupet(int fd,struct map_session_data *sd);

ȏ̊֐ljybgɊւ鏈sĂ܂B
([bgAI𑋁AptH[}XÂقFX)

npc.c/npc.h
int npc_pet(struct map_session_data *sd,int name_id);
ybg\ׂ̈̊֐lj
(̊֐Ńybg̕\sĂ܂BK؂ɏCĂ)

script.c
int buildin_catchpet(struct script_state *st);
int buildin_birthpet(struct script_state *st);
lj܂BXNvgpet,bpetlj܂B
----------
//329 by Ӓ

EMh@\lj
EMhւEXP̏[
EMhxAbv
EMhXL̊U

(db/)
exp_guild.txt
Mhx̌olf[^x[X
(common/)
mmo.h
GBI_*,GMI_*̒`̒ljȂ
(char/)
int_guild.c
EXP⃌xAbvAXLAbvljȂ
inter.c
pPbglj
(map/)
guild.c/guild.h
Mhlj
intif.c/intif.h
MhpPbglj
clif.c
clif_guild_skillinfo()C
clif_guild_skillup()lj
pc.c
pc_skillup()ŃMhXL̏ꍇguild_skillup()ĂԂ悤
pc_gainexp()ŏ[EXP̂߂guild_payexp()ĂԂ悤

EMh@\C
EMho[OC⃍OAEgƁA
OC̃Mho[ɃMhnpPbgȂȂC

guild.c
guild_recv_memberinfoshort()̏C

----------
//328 by Ӓ

EMh@\̒ljȂ
EǕ@\iǕLĉ”\ꕔ񂪃_~[j
EXL̕\i\łBグ͏o܂j

(common/)
mmo.h
struct guild_explusion̕ύX
(char/)
int_guild.c
Ǖlj
Mh`FbNȂǒlj
(map/)
guild.c/guild.h
MhXL֌W̃ANZTȂǒlj
clif.c
clif_guild_skillinfo()̏C
clif_guild_explusionlist()lj

E^[Afbh{XnAfbhMISSɂȂoOC
E^[Afbhs̃_[Wg܂

battle.c
battle_calc_magic_damage()̏C

----------
//327 by
Eole[uɂPӏԈႢ̂ŏC
db/exp.txt

----------
//326 by
EcharI̐VI,eiX̃tOݒł悤ɂ
EcharI̎I̒16oCgɂȂĂ20oCgɏC

(login/)
login2.c
parse_login()̏C
login.h
struct mmo_char_serveȑC
(char/)
char2.c
check_connect_login_server(),do_init()̏C
(conf/)
char_athena.cnf
@ Echar_maintenance1ɂƃOCľ(_)‚
@ Echar_new1ɂƎȊO[V]‚
(doc/)
pPbg.txt
E̕ύXɔꕔC

----------
//325 by Mind Twist(224&0293)
EG(NPC)XL̒ljic[ɒlĵ݁j
db/skill_db.txt
EMhXLς炸sč`Ȃ̂ȁH

----------
//324 by non

Emob̃^[QbgړC
Emob̈ړxDB甽f悤

(map/)
mob.c
mob_ai_sub_hard()̏C

E΂ߔC
EFWł̎΂ߔ͈͂{Idl

(map/)
map.c
map_calc_dir()̏C

----------
//322 by Ӓ

EOCɕKp[eB[珜oOC
E0318́up[eBꂽ̂Ɂ`vł̏C~X

(char/)
int_party.c
p[eB[̃bZ[Wɉslj
(map/)
party.c
party_check_member()̏C

EMhbCȂ
(char/)
int_guild.c
Mh̃bZ[Wɉslj
(map/)
guild.c/guild.c
guild_send_message(),guild_recv_message()Ȃǒlj
intif.c/intif.h
intif_parse_GuildMessage()Ȃǒlj
clif.c/clif.h
clif_guild_message(),clif_parse_GuildMessage()Ȃǒlj
clif_guild_basicinfo()̃pPbg015001b6ɕύX

EobNXebv̂lj
Egƃ_[WP悤Ɍ܂B(ۂ̓_[WOł)

skill.c
skill_castend_damage_id()C

------------------
//321 by@ߋ̐li
E|ʂ̂ݎ(X_݂͑邪oǍʂo)
map/clif.c map/clif.h
clif_itemlist()lj
̒ŋ|Ɋ蓖ĂpPbgԍ0x8000Ƃ鏈lj

clif_arrowequip(struct map_session_data *sd,int val); //self
ljB̒ŋ|pPbgsĂ܂
map/pc.c
pc_equipitem()@|lj

cꂽ_F
E@Ȃ
E@OƖPɂȂ
E@Ă\Ȃ(pos̐ݒĂȂׂ)
E@𑕔łȂ(̖𑕔ȂΑ̌ʂɂȂ܂

----------
//320 by
Eȉ̃pPbg̃G[R[h̐lj
doc/pPbg.txt
R 006a .B
R 0070 .B
R 0081 .B

----------
//319 by mk
ENPCƂ̉bɑύXAACeAXLgpłȂ悤ɂ܂
map/clif.c
esd->npc_id`FbNĂ܂

Eꕔ̔蕨łBɑӏȂoOC
map/script.c
buildin_successrefitem ̃R[hC

EJ[hɂljʂшُϐ̏C
map/skill.c
CfbNXlԈĂƎv̂ŏCiSC_POISON -> SC_STONEj

E{EOobV̉AOgD[X̎gplj
E{EOobVB΂Ă̂
@battle.c blewcountRgAEg܂
EOgD[X̎gpinCfBOJ^[j`FbNlj
@Ȋő̃XLgpljĂ悢̂ȁH
Eskill_blown ̐΂^[QbgƂ̈ʒudȂĂƂ
@_ł͂ȂLN^[֐΂悤ɕύX܂
map/skill.c
skill_castend_damage_id()ύX
skill_check_condition()ύX
skill_blown()ύX

EATV񓁗ɊւC?
Eꗗdrag&dropɗ肪Ԃ}[LO悤ɏC
@ATVł͕푕ӏɂȂ悤item_equippointύX
@ɔpc.cpc_equipitemC
Et_[W\Ă݂܂
@܂ƂɃ_[WvZĂȂ̂ōU񐔂̊mFł
EJ^[njƍUMISS𖳗\
(map/)
itemdb.c (itemdb.hAclif.cApc.c)
itemdb_equippoint() ύX i񓁗lj
(int nameid) -> (struct map_session_data *sd,int nameid)
ύXɔ錾(itemdb.h)ƌĂяo(clif.c ,pc.c)ύX
pc.c
pc_equipitem(), pc_checkitem()`FbNC
battle.c
battle_calc_weapon_attack(),battle_weapon_attack()
ɂ܂̃_[WvZ͍sĂ܂
(J[hAKp)EƓ_[WčECKpĂ܂
J^[njƍ_[W~X@(pPbg?)킩Ȃ̂
vZ̃_[W-1̏ꍇAdamage=0𑗂悤ɂĂ܂
Ƃ悢@̂łC肢܂

EŠvZLukł͂ȂFlee2Ŕf悤ɏC
map/battle.c
battle_calc_weapon_attack()

(db)
item_db.txtAitem_db2.txt
ïꕔ{[iXʂlj
mob_db.txt
^łĂ̂C
܂ModeDropɖ_邩܂

----------
//0318 by Ӓ

EzPTƂPTɑȂPCƎI\oOC

mob.c
mob_damage()EXPzC

Ep[eBꂽ̂ɏĂ悤ɌoOC
EYLOAEgԂ̎ɏǍACʃL
p[eBɏȂAɌ̃LŃOCƁA
Ɏsăp[eBɏ܂܂łƂĂ܂C

party.c
party_check_member()̏C


----------
//0317 by nabe

Eu`񂩂v܂Bv̖OɂȂĂ̂C
trade.c/clif.c/clif.h
clif_traderequest()Ŏ̃Ln悤ɕύX

----------
//0316 by nabe

E蕐𐸘BƕЎ葕ɂȂoOC
script.c
buildin_successrefitem()ŁA蕐̏ꍇɑӏ`FbN

----------
//0315 by Ӓ

EPCSPAWN^C~OύX
E}bvړ(OC)A[fBOISPAWN悤ɁB
E[hɍUꂽ肵ȂȂ܂B
EMh/p[eBǂݍݑOɖOpPbg
C͂łB

pc.c
pc_setpos()map_addblock,clif_spawnpčĂяo~߂B
clif.c
clif_parse_LoadEndAckmap_addblock,clif_spawnpcĂԂ悤ɁB

EinterIpPbg̏dȖC
ExɃpPbg𑗐MłȂꍇA[vɊׂC

(char/)
char2.c
parse_frommap()C
inter.c
inter_parse_frommap()C
(map/)
chrif.c
chrif_parse()C
intif.c
intif_parse()C

EMh̋@\lj
El̃Gu悤ɁB
EOC̎̃Gu悤ɁB
EEނł悤ɁBiǕ͂܂łj

<pPbg͏W>
E016c,016d,0163,015cȂǂ̏ڍׂȏ
EMhXLID킩lAĂقłB
158,205,331蒲ׂ܂_Ȗ͗lB

(common/)
mmo.h
MAX_GUILD36ɁB
(char/)
int_guild.c
Eނ̃pPbgύX
inter.c
pPbgC
(map/)
clif.c/clif.h
clif_set0078,clif_set007b̏C
clif_guild_belonginfȍC
clif_guild_skillinfolj
guild.c/guild.h
EނȂǂ̏lj
intif.c/intif.h
EނȂǂ̏ljȂ


----------
//0314 by

EcharImapI̎I30Ɉグ
login/login.h
char/char.h

Emap_athena1.cnfmap_athena.cnfɃl[
@ɔAathena.shύX

EpPbg͎doc/Ɉړ


----------
//0313 by Ӓ

EMh̋@\lj
EMhU/EeύX/o[̖EύXȂ
Eguild.txt̏܂ς܂AÕf[^ǂݍ߂͂łB

<pPbg͏W>
E016c,016d,0163,015cȂǂ̏ڍׂȏ
EȊOPC̏MhIDʒmpPbg

(common/)
mmo.h
struct guild ύX
(char/)
int_guild.c/inter.c
lj/pPbglj
(map/)
guild.c/guild.h/intif.c/intif.h
lj
clif.c/clif.h
Mh֌W̃pPbglj

Ehelp.txtC
help.txt

E0311ɂ镶C
README
map/pc.c

----------
//0312 by

E@hR}h@helpɕύX
Eǂݍރ}bvf[^̒`ύX

----------
//0311 by tk44
EAssassin 񓁗AASPDC
- map\pc.c
pc_equipitem(), pc_calcstatus(), pc_checkitem()

E񓁗QvZC܂

----------
//0310 by Ӓ

EOf[^ɎgsR[hmmo.hŐݒ”\
(common/)
mmo.h
RETCODEʼnsR[h𕶎Œ`܂B
WindowsnCR/LFȂ̂"\r\n",UNIXn"\n"łB
ʂɐw肵ȂĂAthenâ͖Ȃ삷͂łB
(login/)
login2.c
(char/)
char2.c/int_storage.c/int_party.c/int_guild.c
ۑsR[hRETCODEˑɕύXB
sR[hɈˑɓǂ߂悤ɏCB

ENCAgsȃpPbg_v悤
E#define DUMP_UNKNOWN_PACKET 1 Rg΃_v܂B

clif.c
spPbg̏Ń_vljB

EMh@\̒lj
EGuύX/mύX
Eguild.txt̏ς܂AÕf[^ǂݍ߂͂ł

(char/)
int_guild.c/inter.c
MhpPbgApPbg
(map/)
guild.c/guild.h
@\lj
intif.c/intif.h
Mh֌WpPbglj
clif.c/clif.h
Mh֌WpPbglj

----------
//0309 by C}{RIS

E{EOobV͈͍U܂B
Eveɑi̔NPClj܂B
map_athena1.cnf
npc_shop1J.txtRgAEgΖɏo܂B
EACe̖OIDeLXgt@CYtBiitem.listj

----------
//0308 by _
ER񕜂̃vOC܂B
ővƂł...
pc.c
pc_natural_heal()CB
pc_percentheal()CB
pc_checkskill()CBXLȂꍇ0Ԃ悤
ύX܂B.ct@CCKv܂̂
C܂B
E4lڂ5lڂ̃LȂCB
En߂iCtƃRbgVc‚悤ɕύXB
ELOOK_SHEILDLOOK_SHIELDɏCB
Emmo_charstatussheildshieldɏCB
E.logt@Caccount.txtt@CnotepadŊJƗ񂪑Sqł
CB
EԂɂď悤ɕύXB
map.c
do_init()CB

ɕύXt@C܂SoĂ܂̂...

----------
//0307 by Ӓ

EVKPC̏ʒuchar_athena.cnfɏ悤ɂ
start_point: }bv,x,y ̂悤Ɏw肵܂B
<> start_point: new_1-1.gat,53,111

(char/)
char2.c

EMḧꕔ@\
EMh쐬炢܂
EU/E/U/̕ύX/Gu/mȂǂׂ͂Ėł

<؎ȗv]>
Mh֌W̃pPbg񂪑SR܂B킩l͋ĂB
݂̂܂܂ł̓Guƍm炢łȂ”\cB

(common/)
mmo.h
Mh֌W̍\̂ƒ萔lj
(char/)
inter.c
pPbglj
int_guild.c/int_guild.h
ۂ̏lj
(map/)
map.h
struct map_session_dataɃMh֌W̃olj
guild.c/guild.h
VKljBMh@\p
pc.c
pc_authok()ŃMhAguild_request_info()ĂԂ悤ɁB
clif.c/clif.h
MhpPbglj
intif.c/intif.h
MhpPbglj

E0303ł̏CuMAXHPȂǂT[o[ƃNCAgŁ`vɖ߂
EVPCƂɐHPȂǂvZĂ悤ɂȂ̂
߂ĂC낤Ɨ\B
EOCɏdʌxoĂ܂߁B

pc.c
pc_authok()̏C

E͈͎w蕦̏C
Eł邾w肵Ɠ悤
(QȂǂɂ镦WQ̉sAỎʂg)

mob.c
mob_once_spawn_area()̏C

----------
//0305 by
EVKPC̈ʒuSҏCɕύXB
EmapIcharIɐڑłȂs̏CB

----------
//0304 by _
ER񕜂̗ʂƎԂύXB؍IɓKpĂ镨ł{ɂ
KpĂ͂łB(... Ă܂̂ł킩܂B)
HP͖4b 1 + vit/6 + max_hp/200 񕜁A
SP͖8b 1 + int/6 + max_sp/100 񕜂܂B
EXLHP񕜗͌ɂ񕜂
XLx*5 + max_hp/50ɕύXB
EXLSP񕜗͌ɂ񕜂
XLx*3 + max_sp/50ɕύXB
EXLړHP񕜎B
̏~܂Ă̂Ɣׂ1/4̗ʂ񕜂܂B(Ԃ͓łB)
Evitintɂĉ񕜎ԂZȂ̂ł͂Ȃ񕜗ʂ܂B
EőHPƍőSP̌vZύXB
map.h
int inchealtick̕ςint inchealhptick; int inchealsptick;ljB
int parame[6] ljBőSP̌vZׂ̈̕őɂďオ
p[^B
pc.c
pc_hpheal(),pc_spheal(),pc_natural_heal_sub(),pc_natural_heal()
̃R[hɏ܂ꉞɓ܂
̃R[hɉeȂǂ͂킩܂B
pc_additem()CB
hp_coefficientintdoubleɕύXB
pc_calcstatus()pc_readdb()CB
job_db1.txt
EƂ̌vύX܂B(NZC_[̃f[^
SȕႠ܂B)

Echar2.cύXB
char2.c
make_new_char()ύXB(HPSPS
񕜂Ă悤ɕς܂B)
parse_char()CB؍̃NCAgŌqĂ
ُ킪Ȃ悤ɂ܂B(0x187pPbg̏ꂽ
ł... Yare玝ĂłB)
Estrcmpidefineatcomand.hmmo.hɈړ܂B
atcomand.h, mmo.h CB
E񕜃ACegp鎞vitƃXLHP񕜗͌ɂ{[iXt
悤ɕύXB{[iX
񕜗 *(1 + HP񕜗͌XLx*0.1 + vit/100)
ɂȂ܂B
ECOhV̎ƃCOhV̎B(񕜂͂܂GtFNg
o܂Bitem_dbŃ^CvςĂʖڂłB)
script.c
buildin_fixheal()buildin_percentheal()ljB
buildin_fixheal()buildin_heal()XLvitɂĉ񕜗ʂς
dlɂȂ̂Ōbuildin_heal()̖OςłB
buildin_percentheal()͓͂ꂽ%ƂHPSPőHP
őSP %䗦ɉ񕜂܂B
XNvgfixheal A percentheal ljBgp@healƓłB
fixhealvitƃXLHP񕜗͌ɂ{[iXȂ
percentheal ͌̐ %ɔF܂B
pc.h
pc.c
pc_percentheal()ljB
item_db.txtAitem_db2.txt
COhV̎ƃCOhV̎ύXB

----------
//0303 by Ӓ

E*.grf̃pXmap_athena.cnfɂ悤ɂB
Emap_athena.cnfɁudata_grf: ../data/data.grfv
usdata_grf: ../sakurai/sdata.grfv̂悤ɃpXwł܂B
Egrf-files.txtꍇ̐ݒ肪D悳܂

(common/)
grfio.c/grfio.h
grfio_setdatafile(),grfio_setsdatafile()ljB
data_file,sdata_filet@C[JȃO[oϐɕύXB

E@stpoint,@skpointɕlw͈̔̓`FbNlj
E@zenyR}hlji[j[̒j
E@str,@agi,@vit,@int,@dex,@lukR}hlji{p[^j

atcommand.c
@stpoint,@skpointC
@zeny,@str,@agi,@vit,@int,@dex,@luklj

E}[iCggƂڂĂC
E퐻̃R[h𑽏ύX
EޗACeCfbNXɕĂꍇɑΉ
iRŒE𒴂ƕʃCfbNXgdlĈŁj
Esɂɒʒm悤ɂ

skill.c
skill_check_condition()̏C
skill_produce_mix()̏C

E퐻mconft@CŔ{wł悤ɏC

(conf/)
battle_athena.cnf
weapon_produce_ratelj
(map/)
skill.c
skill_produce_mix()̏C

EATKTCY␳e[uOǂݍނ悤ɂ
EBm/B{[iXȂǂOǂݍނ悤ɂ
Eߏ萸B{[iXɂlj_[W

(db/)
size_fix.txt
TCY␳e[u
refine_db.txt
B֌Wf[^
(map/)
pc.c
pc_readdb()œǂݍ
battle.c
battle_calc_weapon_attack()ɉߏ萸B{[iXlj

EMAXHPȂǂT[o[ƃNCAgňႤlɌoOC
OC̃Xe[^XvŽʂ𒼂ɑM悤ɂ

(map/)
pc.c
pc_authok()łpc_calcstatus()̃tO0ɂ
pc_calcstatus()̃tOp[^͖gpH

Eitem_db́uE҃X|cvuE҃X[cvɏC
(db/)
item_db.txt/item_db2.txt
E҃X[c̖̕ύX

EOCl𒲂ׂc[Yt
PerlȂ̂ŎsɂPerlKvłB
gp@Ȃǂ̓GfB^ŊJČĂB
gǂ킩Ȃl͎oȂقłB

(tool/)
getlogincount
OClPerlXNvg

----------
//0302 by _
EACe mB
S̏ꍇ
(20 + base_level*0.3 + DEX*0.2 + LUK*0.1 + vXLx*6)%
|SƑ΁Â̏ꍇ
(10 + base_level*0.3 + DEX*0.2 + LUK*0.1 + vXLx*5)%

((2.5 + base_level*0.15 + DEX*0.1 + LUK*0.05 + vXLx*5 +
~ - ΂Ɛ̂) * (1 - (탌x - 1)*0.2) +
XL팤x*1)%
~: Ȃꍇ -5%ŋ~ 0%AIfIR̋~
2.5%A̋~ 5%AGyE̋~ 7.5%
΂Ɛ̂: ΂ꍇ 5%ōX
̂̐ * 5%𑫂܂B
ɂȂ܂ƊmႷC܂̂
base_level*0.3 + DEX*0.2 + LUK*0.1base_level*0.5 + DEX*0.4 + LUK*0.3
base_level*0.15 + DEX*0.1 + LUK*0.05base_level*0.4 + DEX*0.3 + LUK*0.2
xɕςm܂B
skill.c
skill_can_produce_mix() skill_produce_mix() CB
produce_db.txt
̂XLΐKvɕύXB
E*.grfݒufBNg̓ǂݍނ悤ɏCB(Yare
񂾕ł...)
grfio.c
grfio_init()CB
grf-file.txt
VKljBgrft@CfBNgݒpB
Eǂݍރ}bv̍ő吔512ɏCB
mmo.h
MAX_MAP_PER_SERVER384512ɏCB
Epc.cpc_search_inventory()ljB
@\item_id̃ACeĂ邩ǂmF
ĂꍇindexԂB
item_id0̏ꍇ͋󂯂Ă鏊indexԂB
pc_additem()pc_takeitem()CB
EGMR}h@stpoint@skpointljB
@stpoint - Xe[^X|CgグB
@skpoint - XL|CgグB
atcomand.c
CB
atcomand.h
strcmpiLinuxłg悤ɏCB

----------
//0301 by Ӓ

EőHP32767𒴂ƈُȒlɂȂ̏C
ELv99𒴂ƂGtFNgo悤ɂ(ɂ͌Ȃ͗l)
EzuMOBɂCxgŃCxgSoCgȏƂ‚
EteleportɎfA`bgގAqɕۑ悤ɂ

pc.c
pc_calcstatus()̏C(HPvZ)
pc_setpos()̏C(fȂ)
clif.c
clif_set0078(),clif_set007b(),clif_spawnpc()̏C(Lv99GtFNg)
npc.c
npc_parse_mob()̏C

E@hhelp.txtǂ߂ȂƂɗoOC
E@lvup/@joblvupŕlLv_E”\ɂȂ

atcommand.c
@h,@lvup,@joblvup̏C

Ee|[gȂǂ̏ŃGtFNg̏C

skill.c
e|̏ŃGtFNgύX

EԈُɊւXNvg [sc_start][sc_end]B
EPOTA΃n[uȂǎ
E{[iXf[^lj

(db/)
item_db.txt/item_db2.txt
{[iXf[^lj
POTA΃n[uȂǂ̃XNvglj
(map/)
script.c
buildin_warp()ŏŃGtFNgύX
buildin_sc_start(),buildin_sc_end()lj

----------
//0299 by Ӓ

ENPCCxgŃGNX|[gꂽxwł悤ɂ
NPCXNvgOn`Ŏn܂郉x`ƁAGNX|[g܂B
NPCCxg"NPC(orCxg)::x"ƂƁA
w肵xsł܂B
x24oCgȓɂĉB
ƃvOIɃłBC\
<>
NPCutestṽXNvg OnEvent: ƃx`ꍇA
NPCCxgutest::OnEventvŎwʒusł܂B

(conf/)
npc_test_ev.txt
xw̃Tv傱ƒlj
(map/)
script.c/script.h
script_get_label_db()Ȃǂ̒ljB
parse_scriptscriptlabel_dbɃxf[^lj
npc.c/npc.h
npc_event_export()Ȃǒlj
npc_parse_scriptŃxf[^GNX|[g
map.h
struct map_session_data eventqueuẽCxg̃TCY
50oCgɂB

EAGIDEXɂASPDvZ̍ől180190ɕύX
pc.c
pc_calcstatus()ASPDvZC

Eskill_db.txt/cast_db.txt̓ǂݍ݂skill.cɕύX

pc.c
pc_readdb()̏C
skill.c
skill_readdb()̒lj

EACe
m肪łBK܂B

(db/)
item_db.txt/item_db2.txt
ACeɑΉigїpnzFAƂȂǁj
produce_db.txt
VKljBXgB
(map/)
skill.c/skill.h
struct skill_produce_dblj
skill_readdb()produce_db.txtǂނ悤
clif.c/clif.h
clif_skill_produce_mix_list(),clif_parse_ProduceMix()lj
script.c/script.h
pR}h[produce]쐬B
͐plŁA1-4퐻(Lv)A16z


----------
//0298 by Ӓ

ELoginĨpX[hÍ^CvFł悤ɕύX
login.hPASSWORDENC3ɂƎF܂B
ŏpasswordencryptŃ`FbNAs
passwordencrypt2Ń`FbN܂B

(login/)
login2.c/login.h
ÍpX[h̏ƍC

EAJEg쐬c[Yt
PerlȂ̂ŎsɂPerlKvłB
gp@Ȃǂ̓GfB^ŊJČĂB
gǂ킩Ȃl͎oȂقłB

(tool/)
addaccount
AJEg쐬c[PerlXNvg

EXL̒ljC
Et@C[EH[̉񐔐O[v烆jbgɏC
EN@O}CA iG̈ړxAL̕\l͕ωj
EEH[^[{[i삪̂sj
EtXgm@iGtFNgǂ킩Ȃ̂œKj
Exm_Xgi͈͂Ƃǂsj
Ev{bNAI[go[T[NA̍~A܂AΓ̎
EG`g|CY̓ŕt^

** ŏԂ͌ڂŌʂ͖

(db/)
skill_db.txt
܂/Γ/EH[^[{[ȂǏC
(map/)
skill.c/skill.h
FXC
mob.c/mob.h
mob_target()ljBMOB̃^Qp
battle.c
battle_get_*()nCȂ
pc.c
pc_calcstatus()C

----------
//0297 by Ӓ

ELoginIpX[hÍɑΉ
Íkey͎INɈx쐬܂B

****
ÍpX[hgĂꍇ́AAJEg쐬ł܂B
AJEgꍇclientinfo.xmlҏWȂǂāA
pX[hÍȂNCAggKv܂B

(login/)
login2.c/login.h
ÍpX[h̃pPbglj
Íkey̐lj
md5calc.c/md5calc.h
VKljBmd5vZp


EXLgpfBCDEXfȂ悤ɏC
skill.c
skill_delay_fix()̏C

ESꕔ̏Ԉُ̌ʂC
pc.c
pc_damage()ŎSpc_calcstatus()ĂԂ悤ɏC
atcommand.c
S{邽@diełpc_damageĂԂ悤ɏC


----------
//0295 by Ӓ

ENCA[gbvȂǂɃXLgƃ}bvȈC

battle.c
battle_get_*()ȂǂBL_PC,BL_MOBȂƂ̏lj
skill.c/skill.h
skill_unit_ondamage()lj

E21Mz𒴂ACeNPCňƂOC,DCvZŒliȂoOC
DCł20MzAOCł70Mz𒴂ACedouble^ɂČvZ܂

pc.c
pc_modifysellvalue(),pc_modifysellvalue()̏C

----------
//0294 by Ӓ

EXNvgR}hŃGAwMOB߂쐬
areamonster "}bv",x0,y0,x1,y1,"MOB\",MOBclass,,"Cxg"
Ww肪(x0,y0)-(x1,y1)̔CӃ|CgɂȂ邾őmonster߂Ɠł

script.c
buildin_areamonster()lj
mob.c/mob.h
mob_once_spawn_area()lj

EACXEH[̎I
UłȂȂǂ̖͂̂́AIł͂Ƃ肠܂B
ANCAgɐis”\GApPbg킩Ȃ̂ŁA
IłIW̉荞݂sꍇłANCAgł͂蔲Ă
悤Ɍ܂B

skill.c
YljȂ

----------
//0293
E2-2ẼXLRg̏Ciꕔljj
(db/)
skill_db.txt
skill_tree.txt


----------
//0292 by Ӓ

ESHOP NPCɘb|NPCȂȂ̂܂ƂȁHCPart2
EłȂC

map.h
struct map_session_data npc_shopidolj
npc.c
npc_click()ȂǏC

EXNvgߒlj
EwGÃ[U[̏
getareausers("}bv",x0,y0,x1,y1)
w}bv(x0,y0)-(x1,y1)ɂPC̐vZ
EwGÃ[U[̃[v
areawarp "]}bv",x0,y0,x1,y1,"]}bv",x,y;
w}bv(x0,y0)-(x1,y1)ɂSPCw}bv(x,y)ɓ]B

script.c
buildin_areawarp(),buildin_getareausers()lj

EXLC
Ee|[ggpɁue|[g!!vƋԂ悤ɁB
EXg[J[X̐Ⴂ̂C

skill.c
skill_castend_nodamage_id()C

----------
//0291 by Ӓ

EXNvgߒlj
ENPC̗L؂ւ悤ɂȂ܂
disablenpc "NPC"ŖAenablenpc "NPC"ŗLB
NPCdĂƂ͕̓słB
Ƀ[v|Cg𖳌ƂɎg܂B

E^C}[̃JEgύXXNvgߒlj
addtimercount "Cxg",~b
ŁA^C}̊΂܂ilw肵Č炷Ƃo܂j

EAiEX̊g
mapannounce "}bv","AiEX",tO
Ŏw}bvɃAiEX𗬂܂BtO0ʼnFA16ՂłB
areaannounce "}bv",x0,y0,x1,y1,"",tO
Ŏw}bv(x0,y0)-(x1,y1)̃GAɃAiEX𗬂܂B
tOmapannounceƓŁA0ʼnFA0x10ՂłB

(conf/)
npc_test_arena.txt
Tv̏C
(map/)
script.c
buildin_disablenpc(),buildin_enablenpc(),
buildin_mapannounce(),buildin_areaannounce(),
buildin_addtimercount()̒lj
npc.c/npc.h
NPC̗Llj
map.h
struct npc_dataflagolj(1rbgڂtO)
clif.c
clif_getareachar_npc()̏C
pc.c/pc.h
pc_addeventtimercount()lj

ESHOP NPCɘb|NPCȂȂ̂܂ƂȁHC
SHOP NPCƎłCxgN悤ɂȂ܂B
RO̎dl̂߂̂悤Ȍʂŗ܂B

npc.c
npc_click()̏C

EXLbhgbvŎccC
skill.c
skill_blown()clif_walkok()ȂǂĂԂ悤ɁB
skill_unit_onplace()clif_fix*pos()폜B

----------
//0290 by Ӓ

EXNvgMAPILϐg悤ɂȂ܂B
ϐ$ŊJnƁAMAPȊSŋLϐɂȂ܂B

t̖łAPCglobalreǵuIvƂuîv
ϐłāAMAPILϐ̂قIăC[Włc

script.c
mapval_db`
buildin_set(),buildin_input()̏C
do_init_script()lj
map.c
do_init()do_init_script()ĂԂ悤ɁB

ECxgL[܂
EL[TCY͂QłBKvȂ瑝₵܂B

Tv[ev_doeXg]Ɠ悤ɂȂƎv܂B

map.h
struct map_session_dataeventqueueolj
npc.c
npc_event_timer()lj
script.c
run_script()ENDŃL[̏lj

EXNvgŃ^C}[gpł悤ɂȂ܂
gp@́Aaddtimer ~b,"Cxg" Ń^C}[ljA
deltimer "Cxg" Ń^C}[폜B

(common/)
timer.c/timer.h
get_timer(),addtick_timer()lj
(map/)
map.c/map.h
struct map_session_dataeventtimerolj
map_quit()pc_cleareventtimer()ĂԂ悤ɁB
pc.c
pc_addeventtimer(),pc_deleventtimer(),pc_eventtimer(),
pc_cleaereventtimer()lj
pc_authok()eventimeȑ
script.c
buildin_addtimer(),buildin_deltimer()lj

EXNvg̒lj
Egetusers,getmapusers,killmonster̒lj
getusers(x)̓[U[Ax=0PCMAP,1=SMAP,8=NPCMAPB
getmapusers("}bv")͎w}bṽ[U[B
killmonster "}bv","Cxg"ŊỸ}bvɂA
ỸCxg쓮w胂X^[Sč폜B
EannounceR}hg
tO0x08rbg1Ȃ}bvGAvZPCłȂNPCg

mob.c/mob.h
mob_delete()lj
script.c
buildin_getusers(),buildin_getmapusers(),
buildin_killmonster()lj
clif.c/clif.h
clif_GMmessage()̈ύX

ECxgTvlj
ȒPȃA[ĩTvljB

(conf/)
npc_test_ev.txt
]̃Tv̏C
npc_test_arena.txt
ȒPȃA[ĩTv
[v|Cg̖R}hȂǂKvƎvB

ESHOP NPCɘb|NPCȂȂC

npc.c
npc_buylist(),npc_selllist()C

----------
//0289 by Ӓ

ECxg쓮^XNvg̏CȂ
ENPCɘb|ĂƂ̓Cxg悤ɂȂ܂
=>L[ɓȂǂ̏ƎvB

̊֌WŁATv[ev_doeXg]NPCNbNĂ
IDG[oĉN܂BCxgL[Β͂B

npc.c
npc_event(),npc_click()npc_id`FbNlj
script.c
Inpc_idNA悤

EXNvgR}h[announce]̒lj
EGMbZ[WɂannounceB
1͕A2̓tOŁA
tỎʂSrbg0=SāA1=}bvA
2=ʓA3=̂݁A4=}bvIɑMB
tÔSrbgڂ͐FtOŁA0x10=A0x00=F

script.c
buildin_announce()̒lj
clif.c
clif_send()SELF̏lj
clif_GMmessage()̈ύX
intif.c
intif_GMmessage()̈ύX

E֎~Ae|֎~AZ[u֎~}bvwł悤ɂȂ܂B
ENPCŁAmapflagƂ^CvŁAO nomemo A noteleport
ƃe|֎~Bnosave ŁAɃZ[u}bvƍWwB

ڂ͓conf/npc_test_ev.txtQƁB

(conf/)
npc_test_ev.txt
C
(map/)
map.h
struct map_data flag,savemap,savex,saveyolj
npc.c
npc_parse_mapflag()lj
do_init_npc()̏C
pc.c
pc_memo()Ń֎~ǂmF
pc_makesavestatus()ŃZ[u֎~Ȃ}bvύX
pc_randomwarp()Ńe|֎~ǂmF
skill.c
e|ƃ|^Ńe|֎~mF


Et@C[EH[ŗCcƂ

skill.c
Ƀ`FbNlj
skill_blown()ɗ錴ۂ̔̂ŏC

----------
//0288 by Ӓ

E锭Ɂuubcr[g!!vƋ΂ȂȂ܂
skill.c
skill_attack(),skill_additional_effect(),
skill_castend_damage_id()̏C

ECxg쓮^XNvgLqł悤ɂȂ܂
EX^[|ƂɃCxgXNvg𓮂悤ɂȂ܂

NPC`scriptŕ\NX-1ɂƃCxgɂȂ܂B
NPC`monsterɃCxgݒł܂B
XNvgmonsterR}hɃCxgNljB
ڂ̓TvĂB
^C}[ŃCxgN悤ɂ悤ƎvĂ܂B

ł́ANPCEBhE쒆ɃCxgāA
̃Cxg̃XNvgNPCEBhEoƖ肪N܂B
̕ӂ͍̉ۑƂƂŁB

(db/)
item_db.txt/item_db2.txt
monsterR}h̕ύXɂCiÖ؂̎}jB
(conf/)
npc_test_ev.txt
Tv
(map/)
npc.c
npc_event()lj
npc_parse_script()C
npc_checknear()C
clif.c
clif_getareachar_npc()C
map.h
struct mob_datanpc_eventolj
mob.c/mob.h
mob_once_spawn()̈ύX
mob_damage()ŎSɃCxgN悤
atcommand.h
mob_once_spawn()̈ύX
script.c
buildin_monster()̏C

----------
//0287 by Ӓ

EX^[XLłgo65535zĂƐȒlȂoOC

clif.c
clif_skill_estimation()̏C

EÖ؂̎}ACeŃNCAg\[XG[o肪C܂
EÖ؂̎}ACeŏłGwł悤ɂȂ܂

(db/)
mob_branch.txt
”\ȓG̃Xg
(map/)
mob.c/mob.h
struct mob_datasummonflagoljB”\B
mob_once_spawn()̏C
mob_readbranch()̒lj
do_init_mob()mob_readbranch()ĂԂ悤ɁB

E‚AÂF̔܂B
ꕔ̖ACeo܂Bitem_db.txtɂf[^Ă܂B
XNvggetitemŕ̒lw肷ƁA̐ΒltOƂ
_ɃACeI܂B

(db/)
item_db.txt/item_db2.txt
ỸXNvgC
(map/)
script.c
buildin_getitem()̏C
itemdb.c/itemdb.h
itemdb_searchrandomid(),itemdb_searchrandomid_sub()lj

Erf[^̈ꕔC
(db/)
cast_db.txt
x㏸Ȃǂ̏C

ENPČCȂ
(conf/)
npc_*.txt

----------
//0286 by Ӓ

EX^[XLŃNCAgoOC
clif.c
clif_skill_estimation()̏C

ErX^[ȂƂC
skill.c
skill_use_id(),rAŒǐՋ13ɐݒ肷悤ɁB

EXNvgR}h[warp]ŃZ[u|Cgړ⃉_ړ”\ɂȂ܂
EnG̉HẢHACe܂
XNvgwarpŃ}bv"SavePoint""Random"wł܂B

(db/)
item_db.txt/item_db2.txt
nG̉HẢH̃XNvgC
script.c
buildin_warp()̏C

E@monsterR}hɂMOBȂ悤ɂȂ܂
EXNvgR}h[monster]MOB𔭐邱Ƃł悤ɂȂ܂
EÖ؂̎}ACe܂

XNvg monster }bv,x,y,MOB,MOBID, łB
}bv"this"̏ꍇAXNvgsvC[̂}bvA
x,y-1ȂvC[̍Wiǂ炩݂̂낦邱Ƃ”\jA
MOB"--en--"̏ꍇA{̉pꖼɂȂA"--ja--"̏ꍇA
{̓{ꖼɂȂ܂BMOBID-1̏ꍇAKIDɂȂ܂B

(db/)
item_db.txt/item_db2.txt
Ö؂̎}̃XNvgC
(map/)
mob.c/mob.h
mob_once_spawn()lj
mob_setdelayspwan()ŕ֎~ljB
npc.c/npc.h
npc_get_new_npc_id()lj
script.c
buildin_monster()lj
atcommand.c
@monsteȑC

E@itemR}h̏CiiȂǂ̖j

atcommand.c
@item̏C

----------
//0284 by Ӓ

EQƉUłȂȂ܂
EΒnXLQɎgpłȂȂ܂

path.c
path_search(),can_move()̏CAcan_place()̒lj
battle.c/battle.h
battle_check_range()ljA˒ƏQB
battle_weapon_attack()battle_check_range()ĂԁB
skill.c
skill_use_id()Askill_use_pos()battle_check_range()ĂԁB
mob.c
mob_ai_sub_hard()̏C

Er/NX^[܂
skill.c
skill_use_id()ɉrX̏lj
mob.c
mob_ai_sub_hard_linksearch()̒lj
mob_ai_sub_hard()ɃNC

----------
//0283 by ꂠ
EUNV̏C
0282ŐĂobɃÛɁA
łobɂ̓UȂȂ
̂C܂B

----------
//0282 by Ӓ

EXL̏Cƒlj
ELGGC\̃GtFNg̖CB
EUNVĂPCɂ͊|Ȃ悤ɂȂ܂
E^[Afbh/UUNVBOSSɂ͌Ȃ悤ɂȂ܂
Et@C[EH[̃qbg
EXg[KXg̎
A{IƈႢ͊m݂̂ŁAőqbgȂǂςłB

skill.c
skill_castend_nodamage_id()̏C
Xg[KXg̏lj

EXLjbgɈӒnɂȂĈS`FbNljB
iȂȂ͉HHj

map.h
MAX_SKILLUNITGROUP32ɑ₵
skill.c
skill_status_change_*()NULL`FbNlj
battle.c
battle_calc_damage()ɐ`FbNlj
map.c
map_freeblock_unlock()ɃbN`FbNlj

ȆC
EPC̍őHP30000ɐ܂B
EPC̉񕜏C܂
E΂̏C
E0281item_db.txt̕ύXitem_db2.txtɂKp

(map/)
pc.c
pc_heal(),pc_calcstatus()̏C
path.c
path_blownpos()̏C
(db/)
item_db2.txt
0281̖OCȂǂKp

----------
//0280 by Ӓ

EǗ҂̃VXe쐬
"conf/login_athena.cnf"̍쐬AǗ҃pXAGMpX̐ݒB
AJEgƂA
၄ ID: hoge_M Pass: foobar@admin
̂悤ɁApX[ȟɁu@Ǘ҃pXvKvɁB
login_athena.cnfadmin_pass̗΁A܂ł̂悤ɂ‚܂B
ȉꍇAadmin_pasš낾łȂAsƏĂj

(login/)
login.h
ݒt@C̃ftHglj
login2.c
AJEg쐬̂ƂC
ݒt@C̓ǂݍݒlj

E@GMR}h
Au@gm GMpXvƂĎg܂B
GMpXlogin_athena.cnf̂̂łB
I̍ċN̕Kv͂܂񂪁A
NCAg̓OKv܂B

Ӂ
AJEg̑SẴLPT甲ĒuĂB
܂Aqɂ̃ACe͑SoĒuĂB
ȂƃS~f[^c܂B

(login/)
login2.c
AJEgIDύXlj
(char/)
char2.c
AJEgIDύXlj
(map/)
chrif.c/chrif.h
chrif_changegm(),chrif_changedgm()lj

E@pvpoffR}h
clif.c/clif.h
clif_pvpoff()lj
atcommand.c
@pvpoff̏lj

ȆqɃf[^͕ۑȂ悤ɕύX
(char/)
int_storage.c
inter_storage_save()Astorage_tostr()C

E@memoR}hljB
Cӂ̋LɃ悤ɂȂ܂B

atcommand.c
@memȍlj


----------
//0279 by Ӓ

EXLjbg̖΍
Ƃ肠Ђ`FbN܂B

skill.c
skill_unit_timer_sub(),skill_unit_move_sub(),
skill_delunit()Ƀjbg̐ljB
skill_unitgrouptickset_search(),skill_unitgrouptickset_delete()
skill_delunitgroup()NULL|C^`FbNljB

EXL̒ljƏC
e|[gA[v|[^̎
LGGC\MOBɊ|ƗoOC

(db/)
cast_db.txt
[v|[^̉rԐݒ
(map/)
map.h
struct skill_unit_groupvalstr|C^ɕύX
clif.c/clif.h
clif_parse_UseSkillMap(),clif_skill_warppoint()A
clif_parse_Memo(),clif_skill_memo()lj
skill.c/skill.h
skill_castend_map(),skill_unit_onlimit()̒lj
skill_unit_*n̏낢ljB
skill_status_change_start()̃LG̏C
pc.c/pc.h
pc_randomwarp(),pc_memo()lj

----------
//0278 by nabe

EXL|CgUƂɃXe[^XXV
pc.c
pc_skillup()pc_calc_skilltree()̑pc_calcstatus()
EʑC
pc.c
pc_calcstatus()̏ʑɂmax_weightskill*1000

----------
//0277 by nabe

EtiiJ[gAAyRj̕tO
(conf/)
npc_event_rental.txt
AyRtXNvgR}hύX
(map/)
battle.c
battle_addmastery(),battle_calc_weapon_attack()
yRyRR掞̑U͕␳
clif.c
clif_parse_CartOffclif_parse_RemoveOptionɕύX
pc.c/pc.h
pc_calcstatus()ŃJ[gAyRyRɂ鑬xωvZ
pc_setoption(),pc_setcart()
pc_setfalcon(),pc_setriding()lj
pc.hpc_isfalcon(),pc_isriding()}Nlj
script.c
buildin_setfalcon() t
buildin_setriding() yRyR

----------
//0276 by nabe

EBNPC
(conf/)
npc_town_refine.txt
BNPCXNvgt@CVKlj
(map/)
pc.c/pc.h
B̕\percentrefinery[5][10]lj
script.cĂ΂֐
pc_percentrefinery() B
pc_equipitemindex() iCfbNX
lj
script.c
buildin_getequipname() iBj[pj
buildin_getequipisequiped() `FbN
buildin_getequipisenableref() iB”\`FbN
buildin_getequipisidentify() iӒ`FbN
buildin_getequiprefinerycnt() iBx
buildin_getequipweaponlv() iLV
buildin_getequippercentrefinery() iB
buildin_successrefitem() B
buildin_failedrefitem() Bs
lj

EXNvgWeight,MaxWeightp[^lj
const.txt
Weight,MaxWeightlj

EXNvgł̃L\ύX
(conf/)
npc_job_merchant.txt/npc_job_thief.txt/npc_town_kafra.txt
mes "$charaname"; mes strcharinfo(0); ɕύX
(map/)
script.c
buildin_strcharinfo()lj

----------
//0275 by Ӓ

EMVP̎
MVP̔ɂdmgloggĂ܂BȂ킿^_vZΏۂłB
_͍lĂ܂B
ol͖œAmłɃACe܂B
ACe͕ɓ邱Ƃ܂B

clif.c/clif.h
clif_mvp_effect(),clif_mvp_item(),clif_mvp_exp()lj
mob.c
mob_damage()MVPlj

EXL̒ljƏC
E}OiuCNAA[V[
E΂nXLꕔgpȂoOC
E_uXgCtBÕ_[WvZC
EUntXLőfȂC
EꏊwXLUȂrłC

battle.c
battle_calc_weapon_attack()̊YClj
skill.c
skill_castend_damage_id()ɏlj
skill_use_pos()ɍU~lj

EJ[hXLJ[hOĂgp”\ȖC
pc.c
pc_calc_skilltree()C

EACehbvAexp{Ȃǂ̒@\lj
battle_athena.cnfŒł鍀ڂ܂B
ڂ͂QƂĂB

(conf/)
battle_athena.cnf
mvp_hp_rate,item_rate,exp_rate,mvp_item_rate,mvp_exp_ratelj
(map/)
battle.c/battle.h
ڂǂݍނ悤ɏlj
mob.c
mob_db.txtǂݍݎAf[^𒲐鏈lj

----------
//0274 by Ӓ

EXL̒lj
XLbhgbvAh}CAuXg}CANCA[gbvA
t[WOgbvATh}AANXlA

ⓀȂǂ̊m͓KłB
㩔̃GtFNgo܂BĂo킩܂B
킩l͋ĂB͖{I㩔̕ς݂
pPbgf[^ł̂ŋĂB

(db/)
skill_db.txt
̏C
(map/)
skill.c

battle.c/battle.h
battle_calc_misc_damage()̊Y
battle_stopwalking()lj
clif.c/clif.h
clif_fixpcpos()lj
clif_parse_WalkToXY()ɃANœȂ鏈lj
mob.c
mob_ai_sub_hard()ɃANœȂ鏈lj

EȂǂ̃NeBJ{[iX1/10ɂȂĂoOC܂
battle.c
battle_calc_weapon_attack()ɒljvZ鏈C

Eubcr[ǧvZSRႤoOC܂
battle.c
battle_calc_attack()BF_MISC̏uԈĂ̂C

ESWƃj[}UȂǂȃW̍UłhłC
battle.c
battle_calc_damage()̃WC

EI[o[gXgƃEF|p[tFNVPToɂ悤ɏCB
ʂ͎gp҂PToňႢ͂܂B

skill.c
skill_castend_nodamage_id()̏CB

----------
//0273 by Ӓ

ELN^[茶eo肪C܂
E΂XL󂯂ƔĂ
E΂߈ȊO̕sŔĂ

map.c
map_foreachinmovearea()̏CB
skill.c
skill_blown()ɕ\͈͍XVljB
mob.c
mob_walk()ŕIƂɈʒuđM悤ɏC
pc.c
pc_walk()ŕIƂɈʒuđM悤ɏC

EXL̒ljƏC
t@C[EH[At@C[s[̎
TN`Ał̃mbNobNC

(db/)
skill_db.txt
t@C[s[Aubcr[g̃qbgC
(map/)
skill.c
skill_blown()ɑΏۂ̌ɂmbNobNlj
̑KvȏꏊC
mob.c
mob_walk(),mob_attack()Ōۑ
pc.c
pc_walk(),pc_attck()Ōۑ
map.c
map_calc_dir()ljBΓIȕ߂


ENeBJ퓬ɌvZĂȂoOC܂
battle.c
battle_calc_weapon_attack()ɒljvZ鏈lj


Eh䃆jbgiSW/j[}jGɉeyڂǂ
battle_athena.cnfŐł悤ɂȂ܂
ftHǵuyڂȂvłB

(conf/)
battle_athena.cnf
defunit_not_enemylj
(map/)
battle.c/battle.h
struct Battle_Config defnotenemyoljB
battle_read_config()̏CB
skill.c
skill_unitsetting()SW/j[}̏C

EtFJ[hAłroOC
irIOɕΖ@CɂȂ܂j

pc.c
pc_damage()ŎSskill_castcancel()ĂԂ悤ɏC

EG菈ɃoÔC
battle.c
battle_check_target()̏C

----------
//0272 by Ӓ

EXL̒ljƏC
EZCteBEH[Aj[}܂B
E[hIuo[~IɌʔ͈͊O͈͓ɓĂƂA
G̋ʖU肪C܂B
ETN`A̎˒C܂B
E͈͖@œ|GHP0Ŏcꍇ肪C܂B

(db/)
skill_db.txt
ZCteBEH[ƃTN`A̎˒8ɕύX
(map/)
skill.c
skill_unit_onplace(),~ondelete(),~onout()ȂǂɁA
ZCteBEH[ƃj[}̏ljB
skill_unit_move()Ƀ^[Qbg̓GljB
skill_unit_timer_onplace(),~ondelete()Ƀjbglj.
skill_clear_unitgroup()ljBjbgO[v̑S폜B
battle.c
battle_calc_damage()ɃZCteBEH[ƃj[}̏ljB
map_foreachinarea()ȂǏC
map.c
map_quit()skill_clear_unitgroup()ĂԂ悤ɁB

EXL̐΂
seT_[ATN`AAXsAX^uA
{[OobVA`[WA[̐΂

path.c/map.h
path_blownpos()lj
battle.c/battle.h
struct Damageblewcountolj
battle_calc_*_damage()blewcountZbg悤ɁB
skill.c/skill.h
skill_blown()ljB΂B
skill_attack()skill_blown()ĂԂ悤ɁB
skill_attack()flag̐΂rbg͖gpɁB

Es̃X^[ɍUƂAX^[ɃfBC悤ɂȂ܂
iŨ[V̒xlĂȂ̂ł܂ӖȂHj

(map/)
mob.c/mob.h
stateMS_DELAYljB
mob_damage(),mob_timer()Ȃǂ̏C

Es̃X^[ɍUƂAʒủ}u
i܂ʒu͂悤łj

clif.c/clif.h
clif_fixmobpos()lj
mob.c
mob_attack()clif_fixmobpos()ĂԂ悤ɁB

ȆC
pc.c
pc_stop_walking()path_len悤ɁB

----------
//0271 by ꂠ

EPTɊւďC
ɂĂLƌȂoOC

----------
//0270 by Ӓ

EXL̒ljƏC
[hIuo[~IATN`AA}OkXGN\VY

(db/)
skill_db.txt
}OkX̃qbgA
TN`Ȃ
(map/)
map.h
struct map_session_datȁC
clif.c/clif.h
clif_skill_setunit(),clif_skill_delunit()A
clif_getareachar_skillunit(),clif_clearchar_skillunit()lj
clif_pcoutsight(),clif_pcinsight(),clif_getareachar()C
skill.c/skill.h
YقǑύXBɃXLjbg֘AB
pc.c
pc_authok()skillunit,skillunittick悤ɁB
pc_walk()skill_unit_move()ĂԂ悤ɁB
mob.c
mob_spwan()skillunittick悤ɁB
mob_walk()skill_unit_move()ĂԂ悤ɁB
battle.c/battle.h
battle_calc_magic_attack()C
battle_check_target()C
map.c
map_foreachobject()ȂǏC

E܂oOCȂ
Emob񕜂ȂC

battle.c
battle_damage()C

----------
//0266 by Ӓ

E@vZ̏C
@{_[WɊ|Ă̂MATKɂ悤ɂ܂B
cƂĂ̂ȁHႤȂ狳ĂB

battle.c
battle_calc_magic_attack()̏C

EXL̒lj
TCgAAtA[hIu@[~I

[hIuo[~I͂R̔莞ɉr‚܂cB
clif_skill_damage()typeFXςĂ݂܂ǂ܂܂B
l͒ĂƂꂵłB
i[AЂƂ{̓OtBbN̂ȂXLjbg
ݒuāÃjbgIDŃ_[W^̂HHj

(db/)
skill_db.txt
[hIuo[~ĨqbgR10ɕύXB
(map/)
skill.c
skill_status_change_timer_sub()ljB
skill_status_change_*()ɏljB

Eblock̃̈Š
map_foreachinarea,party_foreachsamemapʼnĂƂ
block`FC폜ƁA܂Ȃ”\CB
ɁAblockƊ댯ȖCB

EforeachŊ֐ĂԑOblock`FCOĂȂ`FbNB
EforeachɓƂɃbNăȂ悤ɂB
̓[U[freeȂmap_freeblockɂĉ悤
vOKvBi[vĂ΂”\̂֐
ꍇ̂ƂŁAʂfreełBj
Emap_foreachinmoveareaɂ‚Ă͉ǂĂȂA
̃[vblock폜邱Ƃ͂肦ȂĈłƂB

͍zǂłāA݂̕s肳𒼂̂ł͂ȂB
i݂foreachŃĂȂc͂Ȃ̂ŁB
AXLjbgȂLjꎞIuWFNg𑽗pn߂ƌʂj

map.c
map_freeblock(),map_freeblock_lock(),~_unlock()ljB
map_delobject()free()map_freeblock()ɒuB
map_foreachinareaŃbNƈS`FbNB
party.c
party_foreachsamemap()ŃbNƈS`FbN


EXLjbg@\
ݒuñXL̂߂̋@\Bۂ̃XL̎͂܂łB

skill.c
Ȃ񂩂FXlj܂B
map.c
do_init()do_skill_init()ĂԂ悤ɁB
map.h
struct skill_unit,skill_unit_groupȂǒljB
map_session_datȁȂǁB

ȆׂƂCƎvǖY܂B

----------
//0264 by nabe

E$charaname𒝂NPCƘbAmapI邱ƂoOC܂B
script.c
replacestr()̂蒼܂B

----------
//0263 by nabe

EIXJݒɃJ[gACeołȂ悤C
pc.c
pc_putitemtocart(),pc_getitemfromcart()ɁAIXlj

EIXACew̃`FbNlj
vending.c
vending_purchasereq()ŏX̏lj

----------
//0261 by Ӓ

Eg勾ACOhV̗t܂
XNvgitemskillR}h쐬BꎞIɃXLgpł܂B

(map/)
script.c
buildin_itemskill()̒ljȂǁB
skill.c
ACeXLȂSPȂǂȂ悤ɏC
clif.c/clif.h
clif_item_skill()̒ljB
(db/)
item_db.txt/item_db2.txt
XLgpACẽXNvgC

Ep[eBXL̎
A[XA}OjtBJ[gAOAAAhibV
ʓ̃p[eBSɌʂyڂ悤ɂȂ܂B

skill.c
skill_castend_nodamage_id()̊Y̏C
party.c
party_foreachsamemap()̏C

EXL֌W̏C
LGGC\ɂȂĂ̂CB
Xg[J[XŃGtFNg݂ȂoOCB

(db/)
skill_db.txt
LGGC\CC
(map/)
skill.c/skill.h
skill_check_condition()ljBXLgp̈{B
skill_castend_nodamage_id()ŃXg[J[XC

EXNvg̃R[h𐮗
get_val()const.txt̒萔ł悤ɏCB

(map/)
script.c
get_val()̏Ciconst.txttype==0̒l”\Ɂj
bonus(),bonus2()Ȃǂ̏CB
(db/)
const.txt
type=1łKv̂0ɁB
item_db.txt/item_db.txt
const.txt̕ύXɔCB

----------
//0260 by Ӓ

E퓬֌W̐ݒ肪t@CɏɂȂ܂
mapȊ2Ƀt@Cݒ肳ĂƁAgA
ݒ肳ĂȂꍇ "conf/battle_athena.cnf"g܂B

ƁAꉞ͈͍UXLɂ‚ĐB
IPVPɐݒ肳ĂꍇAp[eBoȂPCɂ͈͍U
܂Bȏꍇ̓p[eBgނAPVPoffɂĉB
PVPoffłA@pvppvptOꂽl̊Ԃł͍U܂B
AxpvponɂƁAO܂on̂܂܂Ȃ̂ŒӁB

(conf/)
battle_athena.cnf
ɐĂ̂ŊeDȂ悤ɏĂB

(map/)
battle.c/battle.h
struct Battle_Config̒`B
battle_config_read()ȂǒljB
skill.c
CASTFIX,DELAYFIX̔p~Battle_ConfigɂC̒ljB
atcommand.c
@pvpR}hpvptOZbg悤ɁB
iIݒ̏PVPoff̎AlpvponɂĂ퓬”\j
map.c/map.h
struct map_session_datapvp_flaglj
do_init()battle_config_read()ǂނ悤ɁB

E퓬֌W̃R[h܂
battle.c/battle.h
battle_weapon_attack()ljB
battle_calc_weapon_attack()̈ύX
battle_calc_attack()ljbattle_calc_*_attack(){B
skill.c/skill.h
skill_weapon_attack(),~_magic_~(),~_misc_~()̔p~A
skill_attack()Ɉ{B
pc.c/mob.c
Ubattle_weapon_attack()Ɉ{B

EACeӒXL
l̃XL̕łBዾ͂܂łB

skill.c
XLlj
pc.c/pc.h
pc_item_identify()lj
clif.c/clif.h
clif_item_identify_list(),clif_item_identified()lj
clif_parse_ItemIdentify()lj

EXLf[^x[X̃RgC
(db/)
skill_db.txt
l̃XL̃RgĂ̂C

----------
//0259 by ꂠ
Emob_db.txt̏C
TX^[BOSS̃Xe[^X
TXɓKɃhbvt܂B
{IƈقȂ镨𗎂Ƃꍇ܂B

----------
//0258 by Ӓ

Ep[eBňxɂeɖ߂ȂoOC
(char/)
int_party.c
mapif_parse_PartyChangeOption()̔C

EXL̒ljiɔ͈͍Unj
ip[r[giUΉjAt@C[{[A
T_[Xg[AwuYhCuA
ubcr[gi鍞݁jAX`[NE
XLepO

(db/)
skill_db.txt/skill_tree.txt
ꕔC
(map/)
battle.c/battle.h
battle_check_target()ljBΏۂɂȂ邩B
battle_calc_magic_damage()̈ύXB_[WUljB
battle_calc_misc_damage()ljB
battle_calc_weapon_damage()CB
clif.c/clif.h
clif_skill_damage(),clif_skill_damage2()̈ύXB
clif_skill_poseffect()ljB
skill.c/skill.h
skill_weapon_attack(),skill_magic_attack()ɔɏZ߂.
skill_area_sub()ljB͈̓XLpB
skill_area_sub_count()ljBskill_area_sub()pAGJEgB
skill_castend_damage_id()CBƏljB
skill_castend_nodamage_id()CBƏljB
skill_misc_attack()ljB
skill_additional_effect()Cij
skill_castend_pos()CB
skill_castend_pos2()ljB

E|ōUƂvZDEXłȂSTRgCB
battle.c
battle_calc_weapon_damage()CB

----------
//0257 by Ӓ

Eitem_db.txt̐EƃtOƁAJ[h̑tOC
iI-Athenãf[^Qlɂċ@BIɃRo[g܂B
I-AthenaɂȂíA炩ɕςȂ̂͏C܂A
mȂ̂āAقƂǕułB
J[h́ApJ[h̑0ɂȂĂ̂2()ɏCB
蕐̏ꍇ͕ʂɔ肵Ă̂ŗ蕐Ȃ͂B

(db/)
item_db.txt/item_db2.txt
YC

EJ[hlj
X^Ȃǂ̒ljʁAւ̑ϐnAI[Nq[[J[h

(db/)
item_db.txt/item_db2.txt
XNvg̏C
(map/)
map.h
struct map_session_dataaddeffȂǂ̃olj
pc.c
pc_calcstatus()Apc_bonus2()̏C
pc_attack()skill_additional_effct()ĂԂ悤ɁB
skill.c/skill.h
skill_additional_effect()ŃJ[hɂ锻lj
skill_status_change_start()őϐtB
battle.c
battle_calc_weapon_attack()ŃI[Nq[[J[h
iNeBJϐj̏lj

E𔻒̏C
U҂PC̏ꍇAő喽XTȂɂ܂B
battle.c
battle_calc_weapon_attack()C


ES
ւĂȏĂ܂vZKłB

battle.c
battle_calc_weapon_attack()ɏljB

EqɂJ܂܃OAEgƂmapIł͊JςȂɂȂĂC
storage.c
storage_storage_quitsave()C

E@item,@monster,@produceŖOwł悤ɕύX
pꖼA{ꖼǂłOKBp̏ꍇ͑啶ʂ܂B

atcommand.c
YC
itemdb.c/itemdb.h
itemdb_searchname(),itemdb_searchname_sub()lj
mob.c/mob.h
mobdb_searchname()lj

E@refineŏグ鐔lwł悤ɕύX
atcommand.c
YC

E@produceɂ鐻̃GtFNg𐳂̂ɏC
clif.c/clif.h
clif_produceeffect()lj
atcommand.c
YC

EIXXLgp̏C
skill.c
skill_castend_id()łȂAskill_castend_nodamage_id()
IXJ݂ĂԂ悤ɂB

Estricmp̕ςstrcasecmpg悤ɂ
i_WIN32__EMX__`Ăstricmpg܂j

(char/)
int_party.c
(map/)
itemdb.c/mob.c
}N`̏CȂ

EXLC
OgD[XnCfBOŎgȂC
팤̖C

skill.c
skill_use_id()̏C
pc.c
pc_calcstatus()ŕ팤ɏ]ĖC

----------
//0256 by nabe

EIXACew̃oOC
clif.c
clif_vendinglist()Ŕ؂ꂽACe͕\Ȃ悤

----------
//0255 by nabe

EIXACew̃oOC
vending.c
vending_purchasereq()zeny,weightC

----------
//0254 by nabe

EIX
vending.c/vending.h
VKljBIXC
skill.c
skill_castend_id()ɘIXJ݃XLlj
clif.h/clif.h
IX֘ApPbglj
map.h
struct map_session_dataɁA
int vender_id;
int vend_num;
char message[80];
struct vending vending[12];
lj

----------
//0253 by Ӓ

Estricmp`G[ł‹p̏C
G[oꍇAint_party.c̍ŏ̃}N`̃RĝA
ǂ炩OĂ蒼Ă݂ƁA܂B
ňALɂ炤܂͂Bi啶ʂ悤ɂȂ܂j

(char/)
int_party.c
Rgς݂̃}N`lj

----------
//0252 by Ӓ

EJ[ḧꕔ
iXe[^XωSʁA푮AXL͂łɎς݁j
hArԕωAUϐA푰ϐA푰lj_[WA
lj_[WATCYlj_[WAMAXHPAMAXSPAgpSPωnA
tFAhCNAzA[̋RmA峁AIVXJ[h

(db/)
const.txt
bonusp̒萔ljAbonus2̒萔lj
item_db.txt/item_db2.txt
J[h̃XNvglj
(map/)
map.h
struct map_session_datahprateȂǑolj
script.c
bonus2R}hlj
buildin_bonus2()lj
pc.c/pc.h
pc_bonus2()lj
pc_bonus()̏lj
pc_calcstatus()Ŋeljȍs悤ɂA
hpratesprateɏ]max_hp,max_sp̒悤ɕύXB
pc_makesavestatus()ŃIVXJ[hC
skill.c
skill_castfix()castrateɏ]ArԂ𒲐B
skill_castend_id()dsprateɏ]AgpSP𒲐B
skill_castend_nodamage_id()ŃJ[hClj
battle.c
battle_calc_weapon_attack()ŃJ[hClj
battle_calc_magic_attack()ŃJ[hClj
battle_damage()ŃtFJ[hClj

EXe[^XU̕\̖C
STRグĂATKςȂAINTグĂMATKςȂC

map.h
struct map_session_datamatk1,matk2olj
pc.c
pc_calcstatus()̏C
clif.c
clif_initialstatus()̏C
battle.c
battle_calc_magic_attack()̏C


----------
//0251 by nabe

E0250̃oOCȂ
J[gtɃOC܂̓}bvړɃJ[gtƁA
J[g̒g2{̗ʂɕ\Ă܂Ă̂CB
J[g̃ACeXV悤ɏCB
pc.h/pc.c
pc_iscarton()}Nlj
pc_cart_additem(),pc_cart_delitem()ɂꂼ
sd->cart_num++;sd->cart_num--;lj
clif.c
clif_parse_LoadEndAck()ŁA
J[gtĂƂ̂݃J[g𑗐M悤ɂ

----------
//0250 by nabe

EJ[gOFFA`FWJ[gB
(map/)
pc.c/pc.h
pc_setcart()lj
script.c
buildin_setcart()lj
XNvgR}husetcart;vŃJ[g‚
clif.c/clif.h
clif_parse_CartOff()ljBiJ[g͂j
clif_parse_ChangeCart()ljBi`FWJ[g̃J[gIj
(conf/)
npc_town_kafra.txt
J[gT[rXusetcart;vɒu


----------
//0249 by Ӓ

Ep[eB̃f[^x[X̖o邾}悤ɁB
p[eBɏĂf[^̌AljɎsƂɒEނȂǁB

(char/)
int_party.c
party_check_conflict(),party_check_conflict_sub(),
mapif_parse_PartyCheck()lj
inter.c
pPbgXg0x3028lj
INTERIpPbg.txt
pPbg0x3028lj
(map/)
party.c/party.h
party_check_conflict()ljB
party_invite()œAJEg`FbNs悤ɁB
party_member_added(),party_send_movemap()
party_check_conflict()ĂԂ悤ɁB
intif.c/intif.h
intif_party_checkconflict()lj

Ep[eB̍WAgoʒm
ω΂PbɈ񑗐MB

map.h
struct map_session_dataparty_x,~_y,~_hp̂Rolj
party.c/party.h
party_send_xyhp_timer_sub(),party_send_xyhp_timer(),
party_send_xy_clear(),party_send_hp_check()ljB
party_recv_movemap()sd->party_*悤ɁB
clif.c/clif.h
clif_sendPARTY*tOLɁB
iPARTY,PARTY_SAMEMAP,PARTY_AREA,PARTY*_WOŜUj
clif_party_xy(),clif_party_hp()ljB
pc.c/pc.h
pc_authok()sd->party_*悤ɁB
pc_walk()Ńp[eBoEɓĂƂ
party_hp悤ɁB

Ep[eBexpz
party.c/party.h
party_share_exp()lj
mob.c/mob.h
mob_damage()Ōzlj

EXL̏Cƒlj
obVAsA[X̖C
sA[X̃TCYɂ񐔕ϓivC[͒^Ɖj
obVA\jbNuẼX^ʎ
Xg[J[XAtXg_CoACxiA
AXyVIAG`g|CYAbNXfr[i

skill.c
skill_additional_effect()lj
skill_castend_damage_id()YC
skill_castend_nodamage_id()YC
skill_use_id(),skill_use_pos()ŃXLgpłȂƂ
Ȃ悤ɏCB
battle.c
battle_calc_weapon_attack()̊YC
battle_get_dmotion(),battle_get_attack_element()C
clif.c
clif_mob007b(),clif_mob0078optionȂǂ𑗂悤ɏC
pc.c
pc_attack(),pc_walktoxy()ōss”\ȂƂ͉Ȃ悤ɁB
mob.c
mob_stopattack()C
mob_ai_sub_hard()ōss\ȂƂ͉Ȃ悤ɁB

EU˒̔lj
肪ړē͂ȂƂ́AړpPbg𑗐M

clif.c/clif.h
clif_movetoattack()lj
pc.c
pc_attack()Ŏ˒A͂ȂȂclif_movetoattack()ĂԁB

----------
//0248 by nabe

Ep[eB쐬ɊɃp[eBɏĂꍇ̏lj
party.c
party_create()ɁAɃp[eBɏĂꍇ
clif_party_created(sd,2)lj

EfBXJEgAI[o[`[WvZ
pc.c
pc_modifybuyvalue()Apc_modifysellvalue()ŒlivZ


----------
//0247 by Ӓ

Ep[eB
z͐ݒ肵Ăۂɂ͌zĂȂB
p[eBXL͂܂ɂȂ

(char/)
int_party.c/int_party.h
܂ƂɎ
inter.c
pPbgXglj
INTERIpPbg.txt
p[eB̃pPbglj
(map/)
party.c/party.h
VKlj
map.c/map.h
struct map_session_dataparty_sendedolj
do_init()do_party_init()Ă
map_quit()party_send_logout()Ă
intif.c/intif.h
p[eB֘A̕lj
clif.c/clif.h
p[eB֘A̕lj
clif_parse_LoadEndAck()party_send_movemap()Ăяo
pc.c
pc_authok()party_request_info()ĂԂ悤ɂA
party_sended悤ɁB

ErWQꂽƂʏʼnr߂悤ɏC
(map/)
skill.c
skill_castcancel()ʼnr~pP(Ă̂ȁH)𑗐M

EUƓGĂȂC
(map/)
map.h
struct mob_datamin_chaseoljiŒǐՋj
mob.c
mob_attack()min_chase13ɏ
mob_walk()min_chase13傫Ȃ班ˆĂ
mob_ai_sub_hard()min_chaseɂǐՂ𔻒fA
U󂯂min_chaseމ䋗+13ɐݒ

----------
//0246 by Ӓ

EJ[g
map.h
struct map_session_datacart_weightȂǂSƒolj
pc.c/pc.h
pc_cart_additem(),pc_cart_delitem(),
pc_cart_putitemtocart(),pc_cart_getitemfromcart()lj
pc_calcstatus()ŃJ[gdʂȂǂ̏vZ
clif.c/clif.h
clif_cart_itemlist(),clif_cart_equiplist(),
clif_cart_additem(),clif_cart_delitem(),
clif_parse_PutItemToCart(),clif_parse_GetItemFromCart()lj
clif_parse_LoadEndAck()ŃJ[gAeM
clif_updatestatus()SP_CARTINFOŃJ[g𑗂悤
clif_parse_MoveFromKafraToCart(),~ToKafraFromCart()lj
storage.c/storage.h
storage_additem(),storage_delitem()lj
storage_storageadditemfromcart,~getitemtocart()lj
storage_storageadd(),storage_storageget()ŁA
storage_additem(),storage_delitem()ĂԂ悤ɕύX

EXLrfBCȂǎ
clif.c
clif_parse_WalkToXY()skilltimerɂړ”ۂlj
clif_parse_UseSkillToId(),clif_parse_UseSkillToPos()
canmove_tickɂU”ےlj
skill.c/skill.h
skill_castcancel()lj
skill_use_id(),skill_use_pos()ŃfBCԌvZсA
canmove_tick̐ݒ
battle.c
battle_damage()skill_castcancel()̌Ăяolj

E0245̃ACef[^x[XC̒ʏ퉿iŗp
(db/)
item_db.txt
item_db2.txtɑOitem_db.txt̉i}[WłB

----------
//0245 by ꂠ
܂ɂāACł݂̂łB
Eitem_db2.txt̏C
TV̌ʂ܂B
EBU[h𑕔łȂ̂C
EBU[h}WVnbgAƂ񂪂X
łȂ̂C
----------
//0244 by ꂠ
Emob_db.txt̏C
TX^[̃f[^܂B
AԈĂ镔Ȃ肠܂B
Speed,Delay͓KłB
܂A킩Ȃ̂͊؍ł̃f[^Ȃ̂
MdefƂُɍCB
----------
//0242 by Ӓ

E֘A̕ύXƏC
Ɏgϐmmo_charstatusmap_session_dataɈړ܂

(common/)
mmo.h
struct mmo_charstatus֌W̃o폜
(map/)
map.h
struct map_session_dataɎ֌W̃olj
trade.c
\̂̕ύXɂ킹ďC
map.c
map_quit()ŎȂLZ悤ɂ

EJ[h̑gݍ킹
pc.c/pc.h
pc_insert_card()ŃJ[hۂɑ}
clif.c/clif.h
clif_parse_UseCard(),clif_parse_InsertCard()lj
clif_use_card(),clif_insert_card()lj

Eꕔ̃J[hʎ
XLKJ[hAXe[^X{[iXJ[hȂǁB

(map/)
map.h
struct map_session_dataɑJ[hp̕ϐlj
pc.c/pc.h
pc_calcstatus()ŃJ[h̏lj
ID̃J[hς݂邽߂̊֐A
pc_equip_card(),pc_equip_wcard(),pc_equip_dcard()p

EdʃI[o[//RACR̕\
(map/)
pc.c/pc.h
pc_checkweighticon()ljAdʂ̃ACR
clif.c
clif_updatestatus()ŏdʑMpc_checkweighticon()̎s
clif_changeoption()őƋR̃ACR

E0241̃ACef[^x[XC̒ʏ퉿iŗp
(db/)
item_db.txt
item_db2.txtɑOitem_db.txt̉i}[WłB


----------
//0241 by ꂠ
EACef[^x[X̏C
ṼOtBbNقȂ̂C
̌ʂ̎
iEiԈĂ̂C
łĂƂŊԈႦB
eXg܂肵Ă܂B
ƁA꒲łpӂĂ܂B

item_db2.txt
Tɂ킹Ē

----------
//0240 by nabe

E܂B
(common/)
mmo.h
struct mmo_charstatus
int trade_partner;
int deal_item_index[10];
int deal_item_amount[10];
int deal_zeny;
short deal_locked;
lj
(map/)
clif.c,clif.h
clif_traderequest() : 0xe5iv󂯁j
clif_tradestart() : 0xe7ivj
clif_tradeadditem() : 0xe9ĩACeljj
clif_tradeitemok() : 0xeaiACeljj
clif_tradedeal_lock() : 0xeciokj
clif_tradecancelled() : 0xeeiLZj
clif_tradecompleted() : 0xf0ij
ljB
trade.c,trade.h
trade_traderequest() : v𑊎ɑ
trade_tradeack() : v
trade_tradeadditem() : ACelj
trade_tradeok() : ACelj(ok)
trade_tradecancel() : LZ
trade_tradecommit() : (trade)
Bꂼclif.c::clif_parse_Trade*Ă΂B


----------
//0238 by ꂠ

ExύXɊւďC
atcommand.c
xύX̕C
ňꉞ݂H
pc.c
‚łɂł
x㏸ŕsxオ悤ɂB
ꉞ݂łKȂ̂
ȂƂ낪΂肢܂B

----------
//0236 by nabe

EXNvgmenuŔ񂾐Œmenuƌ듮삷oOC܂B
script.c
gotǒRERUNLINEɑΏ邽߁A
goto,menuŔ񂾌ɂ́Ast.state==GOTOrerun_posXVB


----------
//0233 by nabe

EACe𑕔ۂ̑lj܂B
pc.c
pc_equipitem()ɑiʔALVAEƔjlj

EdʔXNvgR}hlj܂B
if (checkweight(ACeID,ACe))
ł̃ACe~ʂ擾ł邩ǂł܂B
script.c
buildin_checkweight()lj

EXNvglߍ킹athena dev-2.1.1pɈڐA܂B
map_athena1.cnf
npc_event_*.txt CxgNPC
npc_job_*.txt ]ENPC
npc_mob_job.txt ]EpX^[
npc_town_*.txt NPC


----------
//0232 by Ӓ

E{[iX܂
{[iXɎgXNvg(bonus,skill)
XNvgI-Athenãf[^găRo[g܂B
i܂J[hɂ͑ΉĂ܂j

(common/)
mmo.h
struct skillflagoljiJ[hXLǂj
(map/)
map.h
struct map_session_dataatk_eleȂǂ̃olj
enumSP_ATKELEMENTȂǒlj
pc.c
pc_bonus()̎Apc_skill()lj
script.c
buildin_skill()̒lj
buildin_bonus()̏C(const.txt̒萔g悤)
clif.c
clif_skillinfoblock()̏C(J[hXL͏グȂ)
(db/)
const.txt
bonusɎg߂̒萔lj
item_db.txt
W̃f[^ɑXNvglj
item_db2.txt
0213ő꒲ꂽf[^ɑXNvglj

Er֌W̃oOC܂
(map/)
skill.c
skill_use_id(),skill_use_pos()C
(db/)
cast_db.txt
ljiubcr[gȂǁj

EUKp悤ɂȂ܂
Ê̏CKp悤ɂȂ܂
map.h
struct map_session_datastarolj
pc.c
pc_calcstatus()ő
battle.c
battle_get_element(),battle_get_attack_element()C
battle_calc_weapon_damage()̊YC

E񑕔MATK+15%Kp悤ɂȂ܂
battle.c
battle_calc_magic_damage()̊YC

ẼLN^[\悤ɂȂ܂

ƂẮAmapĨLN^f[^x[XāA
݂ΑԐMA݂ȂcharIɉvoB
̂ƂAOvĂNCAgIDf[^x[Xɓo^B
charI疼Of[^ƁAΉf[^x[XɖOZbgA
vĂNCAgɖOԐMB
̓LID𕡐̃NCAgvĂꍇA
ŌɗvĂNCAgɂԐMȂA
ԐMȂNCAg͐bɍĂщv𑗂Ă
iĂ̂ƂmapI瑦ԐMĵő傫Ȗ͂ȂB

pPbg0x2b08,0x2b09mapIcharIʐMĂ܂B

(char/)
char.h
UNKNOWN_CHAR_NAME`iLf[^ƂɕԂ閼Oj
char2.c
parse_frommap()ɃpPbg0x2b08̏lj

(map/)
chrif.c/chif.h
chrif_searchcharid()lj
chrif_parse()0x2b09̏lj
map.c
f[^x[X charid_db 錾
struct charid2nick錾Bnick͖OA
req_id0ŖOς݁A0ȊOŖʼn҂̃ubNID
map_addchariddb()ljBf[^x[X֖Oo^AvɕԐMB
map_reqchariddb()ljBvƂf[^x[X֒ljB
map_charid2nick()Ńf[^x[X̌
do_init() charid_db ̏lj
clif.c/clif.h
clif_parse_SolveCharName(),clif_solved_charname()lj


----------
//0231 by nabe

EXNvg mes "$charaname"; ƏƃL̖Oׂ@\ljB
script.c
buildin_mes()
mes$charanameL̖Oɒu鏈ljB
lɂĕϐ̒lȂǂmesŕ\悤ɂ邱Ƃ
ł܂Aɂ‚Ă͖łEEEB
Ƃ肠
mes Global_Val;
̂悤ɒڏƂőΏĂB

EGɍUꂽƂmapI邱Ƃ̂CB
battle.c
battle_calc_weapon_attack()
fBoCveNṼXL`FbNA
pc_checkskill(sd,22)A
pc_checkskill(tsd,22)ɁB

----------
//0230 by nabe

E𗦑XLXe[^XɔfB
pc.c
0228łpc_calcstatus()̉𗦑ɖ߂flee𑝉B
battle.c
battle_calc_weapon_attack()hitratevZʼn𗦕ۏ؂vZB
EO[oϐB
@ '@''l'Ŏn܂Ȃϐ́ASăO[oϐƂ݂Ȃ܂B
mmo.h
struct mmo_charstatus
int global_reg_num;
struct global_reg global_reg[GLOBAL_REG_NUM];
ljB
pc.c
pc_readglobalreg(),pc_setglobalreg()ljB
script.c
get_val(),buildin_input(),buildin_set()
O[oϐ̂߂̏ljB
char2.c
mmo_char_tostr(),mmo_char_fromstr()
O[oϐ̂߂̏ljB

----------
//0229 by Ӓ

EꕔXL̎/C
fBoCveNVAf[xCAr[XgxC
GiW[R[gCi@ɂUɂ̓XLȂ悤ɏCj
UnXLCiGtFNgʏUXLɕύXj

battle.c
battle_addmastery()ŃxCnlj
battle_calc_damage()ŃGiW[R[gC
skill.c
skill_castend_damage_id()̕UnXL̕C

EGUvZPĈ̂ƈ{
PCvsPCAPCvsMOBAMOBvsPCAMOBvsMOB(!?)P‚̊֐ŌvZł܂

battle.c/battle.h
battle_calc_weapon_attack()C
battle_calc_weapon_attack_pc(),~mob()폜
mob.c
mob_attack()ŌvZbattle_calc_weapon_attack()g悤ɏC

Erԃf[^Ȃꍇ̃ftHg̉rԂOɕύX
܂ł͂PbɂĂ܂AobVƂȂ̂ŁB
iobVƂ̃f[^pӂ΂ȂĂłj

pc.c
pc_readdb()1000msZbĝ~߂

EUĂȂoOȂC
mob.c
mob_attack()̎˒CYĂ
mob_ai_sub_hard()Ŏ˒O̎Aړ̓G
^[QbgO悤ɂ


----------
//0228 by nabe

E_uA^bNSkillIDCB
battle.c
battle_calc_weapon_attack_pc()
pc_checkskill(sd,49) -> pc_checkskill(sd,48)ɁB
E𗦌zɕ\Ȃ
pc.c
pc_calcstatus()łfleẻ𗦌㕪폜A
mob.c
mob_attack()hitratevZʼn𗦌vZB
E峁A峎A峗Y𐳏퉻B
npc_monster3J.txt
mob_db.txtɍ킹āAԂ񐳂ƎvIDɏCB
1006 -> 1051
峎 1017 -> 1053
峗Y 1021 -> 1054
EfobObZ[W̏YiHj폜B
pc.c
printf("pc.c 63 clif_clearchar_area\n");RgAEg

----------
//0227 by Ӓ

Eꕔ̃XLʂ܂
HP񕜌ASP񕜌A}OjtBJ[gA
nCfBOAN[LOA񂾂ӂA}蓖

map.h
struct map_session_data inchealtick olj
pc.c
pc_spheal()Ń}OjtBJ[glj
pc_natual_heal_sub()ʼn񕜌XLlj
pc_authok()inchealtick悤ɕύX
pc_walk()incheaktickĐݒ肷悤ɕύX
pc_walk()ŃN[LȌI𒲍悤ɕύX
pc_walktoxy()ŏԂɂĈړs”\ɂ
skill.c/skill.h
skill_status_change_start(),~timer(),~end()ɏlj
skill_check_cloaking()ljAN[LȌI
battle.c/battle.h
battle_stopattack()lj
battle_calc_weapon_attack()ōU~߂鏈lj
mob.c
mob_ai_sub_hard()ōU~߂鏈lj

EʏUAMOBAPCpɁB
pc.c
pc_attack_mob(),pc_attack_pc()폜
pc_attack()ɍUlj

EX^[̍s̈ꕔ
ANeBAAړȂAUꕔ

mob.c
mob_ai_sub_hard()ɍslj
mob_ai_sub_hard_activesearch()ljA߂PCւ̍G

EI[o[gXg̑{100{ɂȂĂoOC܂
battle.c
battle_calc_weapon_attack()ŁAYC


----------
//0226 by Ӓ

ςeXg͂܂肵Ă܂

Eꕔ̃XLʂ܂
xAGWFXALA[
C|VeBI}kXATtMEAJo[AOA
ӂ낤̖ځAV̖ځAW͌A𗦌A
ʑAEh{CXAAhibVAI[o[gXg
EF|p[tFNVA}LV}CYp[AQgp

(map/)
map.h
struct map_session_datawatk2,def2Ȃǒlj
pc.c
pc_calcstatus()ɃXLClj
atk2ȂǂM悤ɕύX
battle.c/battle.h
battle_get_def2()ȂǑlj
battle_calc_weapon_damage()œGZh̏
battle_get_def2()ɕύX
battle_calc_magic_damage()œGZ@h̏
battle_get_mdef2()ɕύX
battle_calc_weapon_damage()ŃXLClj
skill.c/skill.h
skill_use_nodamage_id()̊Ylj
skill_status_change_start()̊Ylj
clif.c
clif_updatestatus()atk2Ȃǂ̏lj
clif_initialstatus()atk2Ȃǂ̈ύXAaspdȂǑMlj

EB_[WC/BhCKp܂
(map/)
pc.c
pc_calcstatus()watk2def̒ljvZlj
battle.c
battle_calc_weapon_damage()watk2_[Wɒlj

EinterĨpPbg͕̒vIȖ肪C܂
TCP/IPvOłĂ͂ȂƂ̂܂܂Ă܂(
interĨpPbgf[^inter.cɎ‚悤ɏC܂B

(char/)
inter.c/inter.h
pPbgf[^ inter_*_packet_length[] lj
pPbg`FbN inter_check_length() lj
mapif_parse_*()RFIFOSKIPȂɕύX
int_storage.c/int_storage.h
mapif_parse_*()RFIFOSKIPȂɕύX
int_party.c/int_guild.c
dlύXɑΉύX
INTERIpPbg.txt
pPbgXglj

EƂC
(char/)
inter.h
inter_cfgName"conf/inter_athena.cnf"ɏC
char2.c
char.exeQȗAinter_cfgNameg悤ɏC
(db/)
cast_db.txt
z[[Cg̉rԒljifBC͓Kj
ڂllj

----------
//0225 by Ӓ

Ȃ񂩂ȂM܂ς炸eXg͂܂肵Ă܂B

EXLgp̕ϐύX
悭ŏpӂĂ܂ˁB

map.h
struct map_session_datacast_*폜
skill.c
cast_*̕ϐskill*ɕύXB

EXe[^XُXL̏ljiʂ͖j
AXe[^XُɊ|ƂB
ʂ͂܂ȂB

skill.c/skill.h
skill_status_change_start(),~end(),~timer(),~clear()ljB
ꂼXe[^Xُ̊JnAIA^C}ASB
map.c/map.h
map_quit()skill_status_change_clear()ĂԂ悤ɂB
struct map_session_datasc_data,sc_countljB
struct mob_datasc_data,sc_count,option,opt1,opt2ljB
pc.c
pc_authok()sc_data,sc_count悤ɂB
pc_setoptionclif_changeoption()̈ύXB
pc_damage()ŎSskill_status_change_clear()ĂԂ悤ɁB
mob.c
mob_spawn()sc_data,sc_count悤ɂB
mob_attack()battle_calc_damage()ĂԂ悤ɂB
mob_damage()ŎSskill_status_change_clear()ĂԂ悤ɁB
battle.c/battle.h
battle_get_*()ljB
battle_calc_damage()ljBŏIIȃ_[WvZpB
battle_calc_magic_attack(),battle_calc_weapon_attack()
battle_calc_damage()ĂԂ悤ɂB
clif.h/clif.c
clif_status_change()ljBXe[^XُACR\pB
clif_changeoption()̈ύXB
atcommand.c
clif_changeoption()ĂłQňύXB
@dieskill_status_change_clear()ĂԂ悤ɁB

E}OkXGN\VY̏KԈĂ̂CB
db/skill_tree.txt
YCBibNXG[ei̕KvLvPɁj

EANeBuȓG͍UƂX^[Qbgς悤ɂȂ܂
mob.c
mob_ai_sub_hard()̍UꂽmF镔
ANeBuȂ25%̊mŃ^[Qbgς悤ɕύXB

Eꕔ̃XLʂ܂
LGGC\AGiW[R[gAbNXG[eiA
z[[CgAUNVA^[AfbhAX^[

skill.c/skill.h
skill_castend_nodamage_id()ɃXL̏ljB
skill_castend_*_id()̈ύX
battle.c
battle_calc_damage()ɃXL̏ljB
battle_damage(),battle_heal()̈ύX
battle_calc_weapon_damage(),battle_calc_magic_damage()ύX
clif.c/clif.h
clif_skill_estimation()ljBX^[񑗐Mp
pc.c
battle_calc_weapon_damage()ĂяöύX

Estorage.txtꍇinterIIdlύX܂
(char/)
int_storage.c
inter_storage_init()Ńt@Cǂ߂ȂexitĂ̂C


----------
//0224
E2-2ẼXLc[ɒlj܂i͂܂łj
(db/)
skill_db.txt
skill_tree.txt


----------
//0223 by Ӓ
EJvqɂinterIɑΉ܂
܂܂łstorage.txt͂̂܂܎g܂B
interIp̐ݒt@CƂconf/inter_athena.cnfg܂B
iݒt@Cchar.exȇQő̃t@Cwł܂j

JvqɂinterI̊Tv

interIstorage.txt̑Sf[^BmapI̓AJEgv܂
̃AJEg̑qɃf[^ȂBNCAgqɂJv
ƂAmapI͑ΉAJEg̑qɃf[^interIɗvB
interIf[^͂ƃNCAgɑqɃf[^𑗂B
qɂ̏o̓NCAgmapIԂ̒ʐMōsB
NCAgqɂ‚邩IƁAmapI͊YAJEg
qɃf[^interIɑB̂ƂinterỈ҂ɃNCAg
qɃN[Y𑗂BinterI͑qɃf[^󂯎ƁA
S̃f[^t@CɕۑāAmapIɐXe[^XԂB
mapI͐Xe[^X𖳎B(fobOpɉʂɏo͂邾)
interIIɂqɃf[^t@CɕۑB

mapIaccount2storageŐVqɃf[^ƂA
łɕ‚ĂqɃf[^̃g܂킵ق
ߖł邩Hi͎Ă܂j

(common/)
mmo.h
struct storage map/storage.h ړB
interImapIŎgp邽߁B
(char/)
char2.c
do_final()쐬AImmo_char_sync()ȊOinter_save()
ĂԂ悤ɂiinter_*_save()͑SĂ΂܂j
inter_init()char.exȇQ"conf/inter.cnf"
ĂԂ悤ɂiathena.shinterIRtBOt@Cwł܂j
inter.c/inter.h
inter_storage_init(),inter_storage_save(),
inter_storage_parse_frommap()ĂԂ悤ɁB
inter_init()ɃRtBOt@C̈tB
inter_config_read()ljARtBOt@C
qɂƃp[eB[AMh̃t@Cǂݍ݂܂B
int_storage.c/int_storage.h
VKljBqɕinterI@\B
int_party.h/int_party.c/int_guild.h/int_guild.c/
t@Cϐ̐錾lj
INTERIpPbg.txt
qɃpPbg̉lj

(map/)
storage.h/storage.c
storage_fromstr(),storage_tostr()char/int_storage.cɈړB
do_init,do_finalł̃t@CړB
do_final()͏ȂAdo_init()͕ϐ݂̂ɕύXB
storage_storageopen()ł͒Pintif_request_storage()ĂԂɁB
storage_storageclose()intif_send_storage()lj
storage_storage_quitsave()ljBNCAgI
JvqɂJĂintif_send_storage()ĂԊ֐B
intif.h/intif.c
intif_parse_LoadStorage(),intif_parse_SaveStorage(),
intif_send_storage(),intif_request_storage()lj
map.c
map_quit()storage_storage_quitsave()ĂԂ悤ɁB

(conf/)
inter_athena.cnf
VKljBinterIp̃RtBO[Vt@C


----------
//0221 by Ӓ

EXL^[QbgIDłȂC
clif.c
clif_parse_UseSkillToId()IDWORDƂĈĂ̂LONGɏC

EXLrԂƑ\Aі@nXL̑C
_[WC battle_attr_fix() ŌvZ܂B
atk_elem͑̂܂܁Adef_eleḿilv*20{jłB
rԂskill.cCASTFIX̒lς邱ƂŔ{𒲐ł܂

pc.c
pc_readdb()cast_db.txtattr_fix.txt̓ǂݍݒlj
skill.c/skill.h
struct skill_db cast,delayljÃANZTlj
XLrԂ skill_get_cast() ŏ悤ɂ
battle.c/battle.h
attr_fix_table`
battle_attr_fix()ljACvZ
nANZT(battle_get_element()Ȃ)lj
battle_calc_magic_damage()ɑClj
cast_db.txt
VKljBrԂƃfBC̃f[^x[X
SRȂ̂ŁANlj]B
attr_fix.txt
VKljBCe[u

Eq[̎
clif.c/clif.h
clif_skill_nodamage()ljAxn񕜂̃GtFNg
skill.c/skill.h
skill_castend_damage_id()Askill_castend_nodamage_id()ljA
UnƎx/񕜌nŊ֐𕪂
q[vZ}N skill_calc_heal() lj
battle.c
battle_calc_magic_damage()Ńq[̃_[WvZlj


----------
//0220 by ꂠ

0216̏C
HIŤvẐŏCĂ݂܂B
ԈĂ炲߂ȂB

Ebattle.c
256sڂ
hitrate=battle_get_hit(&sd->bl) - battle_get_flee(&sd->bl) + 80;
ԂÂghsƎ̂ekddŌvZĂĈ
hitrate=battle_get_hit(&sd->bl) - battle_get_flee(target) + 80;
ɏC܂B


----------
//0218 by Ӓ

ۂɕUăeXgĂȂB

EmapIUpinterI@\‚Ă݂î߂̊gj
charIinterI񐶂܂BmapIԂ̒ʐMɗp܂B
mapI𕪎Uďł悤ɂ邽߂̋@\łB
partyguildɂƖɂĂ邩ƁB

qɂ̎interIɈړׂ܂B
ǂ̃LN^[ǂmapIɂ邩@\邩B

gpPbgID͈ȉ̂悤ɂȂ܂
mapI=>interI̓pPbg0x3000`
interI=>mapI̓pPbg0x3800`
pPbgꍇ́AINTERIpPbg.txtɏĂ

̋@\ɂ郁bg
mapIUɂΉł
̋@\ɂfbg
interIoȒSĂ̖߂̓쑬x
iinterI܂œn߁j
IƃNCAg𓯂PCŎgĂƂ‚炢

(char/)
char2.c/char.h
mapif_sendall()ljiSMAPIɃpPbg𑗂j
mapif_send()ljiMAPIɑFtj
parse_frommap()inter_parse_frommap()ĂԂ悤ɂ
(interImapI͕charIɊ񐶂ƂɂȂ)
inter.h/inter.c
VKljBinterI̒jB
inter_parse_frommapMAPĨpPbg͂܂B
int_party.h/int_party.c/int_guild.h/int_guild.c
VKljB̂߂̗\Bp[eBMh@\p
initŃf[^ǂŁAsaveŕۑׂH
save͂܂Ă΂ȂBparseŃpPbǵB
common/mmo.hŃp[eB[Mh̍\̂
`KvƎvB
INTERIpPbg.txt
pPbg̃Xg

(map/)
intif.h/intif.c
interIƒʐM镔B
inter_parse()interĨpPbg͂܂B
interIփf[^𑗂Ƃinter_fdg܂B
chrif.h/chrif.c
chrif_parse()inter_parse()ĂԂ悤ɂ
iintif.cinterI͕charI͕Ɋ񐶂ƂɂȂ)

E@kamiR}hinterIoRɕύX
ƂĂ͎̂悤Ȋł
NCAgmapIinterISmapISNCAg

(char/)
inter.c
mapif_GMmessage()lj
(map/)
intif.h/intif.c
intif_GMmessage()lj
intif_parseGMbZ[W̏lj
clif.c/clif.h
clif_GMmessage()̈ύX
atcommand.c
@kamiintif_GMmessage()ĂԂ悤ɂ

EWisinterIoRɕύX
ƂĂ͎̂悤Ȋł

NCAgmapIinterIS}bvI(A)
[A]
1.̐lmapĨNCAg
@@@@V@@ @interImapINCAg
2.̂ȂmapIinterIiBj
[B]
1.SmapIinterI mapINCAg
2.(S͉ĂȂƂ́ASmapỈ҂)

̂GɂȂĂ܂ˁB

(char/)
inter.c
struct WisList `iWisf[^̃NXgj
add_wislist(),del_wislist(),search_wislist(),
check_ttl_wislist()lj,NXg֐Q
mapif_wis_message(),mapif_wis_end()lj
(map/)
intif.h/intif.c
intif_wis_message(),intif_wis_end()lj
intif_parse_WisMessage()lj,intif_parse()Ă΂悤
clif.c/clif.h
clif_wis_message(),clif_wis_end()lj
clif_parse_Wis()ύX,intif_wis_message()ĂԂ悤ɂ

EXLgp̃qbg/SP̃oOC
skill.c
skill_get_sp(),skill_get_num()ŎQƂzCfbNXlv-1ɂ


----------
//0216 by Ӓ

‚ǂeXgقƂǂĂȂ̂ŁAoOʂB

E0213̏CĤ悭킩ȂƂC
itemdb.c
RpCʂȂ̂itemdb_equipoinẗXgύX

EAthena dev 2.1.1̓Kp
dev-2.1.1œKpꂽCKp܂

timer.c
2.1.1̂̂ƍւ
script.c
C_NE: ̏C̓Kp
README
Ō͂̕2.1.1̂̂ɍւ

EXLf[^x[X̏C
ꕔ̏SPqbgȂǂCB

skill_db.txt
Y̏C

EXLU̎ύXlj
obVA}[iCgA_uXgCtBOAsA[X
XsAu[AXsAX^uA{[OobV
\jbNu[AOgD[X Ȃǂ̎ύX

ip[r[gA\EXgCNA
t@C[{gAR[h{gACgjO{gAA[XXpCNA
seT_[ Ȃǂlj
iSāA͈͍UXe[^XُȂǂ͖j

pc.c/pc.h
0213̕ύXȂƂɂ
pc_attack_mob()̏CAvZbattle_calc_weapon_attack()ɔCA
̌vZʂKp邾ɕύX
clif.c/clif.h
clif_skill_fail(),clif_skill_damage(),clif_skill_damage2()lj
ꂼgpsAgpGtFNgA΂tgpGtFNg
skill.c/skill.h
0213̕ύXȂƂɂi_[W{vZj
skill_castend_id()SP/ZenymFƏljA
ޕʂɏljB
battle.c/battle.h
VKlj
UvZpbattle_calc_weapon_attack(),
@UvZpbattle_calc_magic_attack()p
ioƂAMOBPCvZ”\Ȃ͂j
t@C₵Ƃӌc()


----------
//0214 by ꂠ
E_uA^bNƂCB
EXL̈ꕔ
obVE}[iCgE_uXgCtBOEsA[X
XsAu[EXsAX^uE{[OobV
\jbNu[EOgD[XȂǂłB

KȂ̂łǂAs邩܂B
ƁAeXg܂肵Ă܂̂łƂ낪C肢܂B
ɂ肪蒼肢܂B
ύXe͈ȉ̒ʂłB

clif.c,clif.h
clif_skill_damage()lj܂B

pc.c,pc.h
pc_attack_mob()̈’ljB
_uA^bN̂Őɓ삷悤ɏCB

skill.c
ꕔXL̎Ă݂܂B


----------
//0213 by ꂠ
E0208́R}hŏC
atcommand.c
@itemԐw肪ꍇAP‚ɂ悤ɂB
@itemID̎w肪ꍇAACe肵ĂƂɂȂ
̂C
itemdb.c
item_db.txtSell̍ڂX̒liƂĂ݂B
item_db2.txt
ɃJ[h⃌AACe̓X艿ili{Ȋɂ
Ắ݂Bgpꍇitem_db.txtƍւĂB


----------
//0208 by nabe

ER}hB
atcommand.h,atcommand.c
قI-AthenáR}hłA@GMPVP͖łB
help.txtĂ܂B
GMiAJEgID704554`704583jpɂɂ́A
atcommand.c̊ỸRgAEgĉB
clif.h,clif.c
clif_displaymessage()
clif_GMmessage()
clif_heal()
clif_resurrection()
clif_pvpon()
clif_pvpset()
clif_refine()
lj܂B
clif_parse_GlobalMessage()atcommand()Ăł܂B

EƂCB
script.c
{buildin_openstorage,"openstorage","s"},

{buildin_openstorage,"openstorage",""},
ɏC܂B


----------
//0206 by Ӓ
EXLc[/XLgp@\̎
mmo.h
MAX_SKILL𑝂₵
char2.c
mmo_char_fromstr()
mmo_charstatusskill̃CfbNXɃXLԍg悤ɂ
=>XĽ̂߁iɃgpʂj
pc.h/pc.c
pc_skillup(),pc_calc_skilltree()lj
pc_checkskill()ύXiCfbNXXLԍɁj
pc_readdb()skill_db.txtǂނ悤ɂ
pc_authok()cast_timer悤ɂ
pc_calcstatus()pc_calc_skilltree()clif_skillinfoblock()
ĂԂ悤ɂ
clif.c/clif.h
clif_skillinfoblock(),clif_skillcasting(),
clif_skillup()lj
clif_parse_SkillUp(),clif_parse_UseSkillToId(),
clif_parse_UseSkillToPos()
skill.h/skill.c
t@Clj(map/)
map.h
struct map_session_datacast_*lj
skill_db.txt
t@Clj(db/)
(I-Athena0200skill_info2.txtRo[g)
(XLgpJҌ)
XĽʂꏊskill.c
skill_castend_id(),skill_castend_pos()łB
^[QbggpXL sd->cast_* 瓾܂
XLf[^x[Xւ skill_get_* ŃANZXĂ
ALXeBO^Cf[^x[Xɓ\

----------
//0205 by nabe

Estorage.c̃oOtBNXB
EqɃf[^A}bvINɓǂ݁A}bvIIɏ悤ɕύXB
storage.h,storage.c
storage_init()do_init_storage()ɉB
storage_save()do_final_storage()ɉB
fcloseYĂ̂ljB
map.c
#include "storage.h"ljB
do_final()do_final_storage()ljB
do_init()do_init_storage()ljB

----------

//0203(unofficial) by Ȃ

item_db.txt݂̏̂łB

EACẻ񕜗ʂlj/ύX
ԃ|[V@@@@@@@@@HP 30- 44
g|[V@@@@@@@@@HP 70- 89
F|[V@@@@@@@HP 175-234
|[V@@@@@@@@HP 350-429
‚|[V@@@@@@@@SP 40- 99
Ԃn[u@@@@@@@@@@HP 12- 19
Fn[u@@@@@@@@@HP 21- 29
n[u@@@@@@@@@@HP 80-111
‚n[u@@@@@@@@@@SP 15- 44
S@@@@@@@@@@@@HP 12- 15
oii@@@@@@@@@@@@HP 11- 16
uhE@@@@@@@@@@@@SP 10- 24
@@@@@@@@@@@@@HP 11- 15
ɂ@@@@@@@@@@@@@HP 70- 99
n`̖@@@@@@@@@@@HP 72- 97 / SP 20- 59
~N@@@@@@@@@@@@HP 25- 34
LfB@@@@@@@@@@HP 31- 74
XeBbNLfB@@@@@HP 46-109
SW[X@@@@@@@HP 28- 32
oiiW[X@@@@@@@@HP 27- 33
uhEW[X@@@@@@@@SP 15- 39
jWW[X@@@@@@HP 29- 32
J{`@@@@@@@@@@@HP 14
ybgt[h@@@@@@@@@HP 53- 83
悭ĂNbL[@@@@@@HP 80-177
ЂƂP[L[@@@@@@@HP 251-359
ЂȂ@@@@@@@@@@HP 175-234
H݁@@@@@@@@@@@@@HP 350-429
bhX|[V@@@HP 30- 44
CGX|[V@@@HP 175-234
zCgX|[V@@HP 350-429
@݂AthenałVITXLɂ{[iX͉܂B
@iKpꍇscript.cbuildin_heal֐ɂɎKvj
@ȂAt̃ACẽf[^͓KłB
EÂJ[h(UseScript)
ȆC
@@ЂȂ@@@@@@@@@@dʂȂd0.1ɏC
@@H݁@@@@@@@@@@@@@dʂȂd0.1ɏC
@@o@@@@@@@@@@@d0.1S4Ў茕d100S0茕ɏC
@ȂASell̍ڂ͂邾ʂۂ̂őS܂B

----------

//0202 by nabe

EJvqɂ́uAJEgȂ̂ɋLłȂoOvǂ܂B
eLɑqɃf[^͖̂ʂĈŁA
AJEgIDŊǗ悤ɎdlύX܂B
‚łɁAqɃf[^͑Sstorage.cł܂ȂA
charI͊֗^Ȃ悤ɂ܂B
ɔAchar_athena.cnf,mmo.h,char2.c͌ɖ߂܂B
܂AqɃt@Ćgstorage.txthɌŒ肵Ă܂B

ρAlĵ͎̃t@CłB
map/storage.h,
map/storage.c,
map/clif.h,//ύX
map/clif.c,//ύX
conf/char_athena.cnf,//ɖ߂
common/mmo.h,//ɖ߂
char/char2.c,//ɖ߂
map/itemdb.h,//itemdb_equippoint()錾ύX
map/itemdb.c,//itemdb_equippoint()錾ύX
map/pc.c,//itemdb_equippoint()錾ύX

----------

//0201 by nabe

EJvqɂ܂B

XNvgĂяoɂ́AXNvg
openstorage;
ƂĂB
TvƂnpc_kafraJ.txttĂ܂B
npc_script3J.txt̊Yς܂B

char_athena.cnf
stor_txt:
őqɃt@Cw肵Ă܂B

ρAlĵ͎̃t@CłB
map/Makefile,
map/storage.c,
map/storage.h,
map/clif.c,
map/clif.h,
map/script.c,
char/char2.c,
common/mmo,h
ڂ́ALt@C̃RgȂǂQlɂĂB

EJvqɎɔAmap_athena1.cnf܂B

ESẴRgEUCSJISɕϊ܂B

----------

Athena Dev. v2.1.1 Released: Middle July, 2003
(c) 2003 Athena Project.
http://project-yare.de/

1. Athena(Aei)ɂ‚
2. ̃[Xɂ‚
3. Kvȕ
4. g
5. ݂̎dl
6. j
7. Ɛӎ
8. W
9. English


1. Aeiɂ‚
AeiƂ2003N1΂ɂł0052.lzhx[XƂčĂG~[^̈‚łB
{IȃCZX̓IWiGPL̉ɔzzĂׁA
ɏ]GPL̉zz‚܂B
/*
ǔłzzꍇ͕KREADMEĂB
ǂ̂(athena@project-yare.de܂)ĖႦƏ܂B
oCî݂̔zzGPLᔽł̂"K"\[XYtĂB
*/
̊mF͈ȉ̒ʂ̂ݍsĂ܂B
// ɓۏ؂̂ł܂
ΏCPU: Intel Pentiumn // PentiumIIȏŊmF.
FreeBSD 4.8R, 4.6.2R
Linux RedHat 7.3
cygwin + gcc 3.2 20020927 (prerelease)
JURL: http://project-yare.de/


2. ̃[Xɂ‚
̃[X͑O(V2.1)lJł̃[X݂̂łB
2.1ɔ׉L̓_CĂ܂B
map̃ftHgݒ肪؍data.grf̂ݐɓ삷悤ɂȂĂ_
common/timer.cmap/script.c̊‚̃oO

vUpdatêł͂܂񂪊e̔fōsĉB


3. Kvȕ
data.grf //sdata.grf͕Kvɉ
account.txt //݂Ȃꍇathena.sh܂
conf/*.cnf //MappCharp̓ނ܂
conf/npc*.txt //npcݒpt@CłB̃t@Cɕ邱Ƃ”\łB
db/*.txt //ACeAjobȂ


4. g
> tar xvfz athena-d?.?.tar.gz
> cd athena-d?.?.tar.gz
> make
> vi conf/char_athena.cnf //IP(127.0.0.1)̕‹ɍ킹ĕύXĂ
> vi conf/map_athena.cnf //A܂mapݒȂǂ́Ãt@Cōs܂B
> ./athena.sh
Ls"Ԃ"N܂B

⑫:
conf/npc_sampleJ.txtɂ̓XNvg̏ɂ‚ĐFXȐLڂĂ܂B
AƎMapݒsĂ݂lAXNvgM肽͎QlɂĂB
AĴ߃XNvg̎dlύX”\łB
command.txtɂ͎ς݂̓R}hɂ‚Ă̐LڂĂ܂B


5. ݂̎dl
{IƔׂĂ(Ⴆ΃voA|ACeEȂȂ)_́A
SČ݊JɈ̂łB
ƂăLN^nyуX^[ñoO񍐂͖”\łB

oO񍐂ɂ‚ĕKB
ɂ񍐗pev[ggĕ񍐂ĒƏ܂B
񍐐̓G~‚̊JXɂłB
---- Athena v 2.0 (stable or develop) ----
ygcc verzgcc -vsɕ\e
yVXezFreeBSD, Linux(fBXgr[W), cygwinȂ
yezmapĂ܂̕\ĂfobOȂNj̓IɏĂB
yez̓IɂǂȑsĂB
------------------ END -------------------
z̓evɉmap.coreȂcoret@CUploaderɃAbvĒƂł
Map̏Ԃɂcore̓feʂɒӂĂB
/*
mFł324‚قmapf[^ǂݍ܂ƁA
40MB߂coret@Cfo܂ @FreeBSD
cygwin̏ꍇstackdumpƂt@CɂȂ邻łB
Acoret@CȂǂgzipkȂǂΑ啝ɏȂ܂B
}30MBcoret@C2.9MBقǂɂȂ悤łB
ł̂ŁAAbv[hꍇgzipkȂNJesĂB
*/

̃[XłȂHISTORY쐬ƑʂɋLqKvȈ׏ȗĂ܂B
// Ɩ{Ɍ\܂̂ŁddB


6. j
񂱂AthenaJłoɓĊӂX(ԕs)
Lemming (Project YARE)
0052 (Uploader)
35 (G~JX)
Johan Lindh(Author of memwatch)
YARE forumNPC쐬X
weissBBS̗lXȏt@C쐬X
ŌɁA.coret@CB


7. Ɛӎ
Athena Project͈Athena̓Ɋւۏ͍ؓs܂B
‚܂AAthena͖ۏ؂łB
athena@project-yare.deɓE쓙Ɋւ鎿Ȃǂ𑗂Ă؂ł܂B
AthenapƂɂ萶QE蓙̐ӔC͈Athena Project͕܂B


8. W
athenåJɎQ//ƂAB
X͋M̎Q҂Ă܂B
// ŐVł~ʼn狦͂ĒȂƂ͂fł;-)
[Wv: vO}(2-3l)]
N: s
: s
: {ꂪ”\
e: CC++ɂJB(Ƀlbg[NDB̌oLW!)
[Wv: |(?l)]
N: s
: s
: {Apꂪ”\
e: AƈAljAɑA(^C)ANA֕ATCgȂǂ̖|
A: athena@project-yare.de GS܂ŁB


9. English
This release is just fixed some bugs in timer.c, script.c and map_athena1.conf.


(c) 2003 Athena Project.