--------------------
//1092 by lizorett
EŨpXASY{IƓɂȂ悤ύX
EXg[KXgA[hIu@[~Id˂ꍇAЕ炾_[W
󂯂悤C(dlsȂ̂ŐɌjbgU悤ɂĂ܂)
EACeȂꍇAACegpĂGtFNg\Ȃ
C
EZ[teB[EH[gpɃAhXsƂȂꍇC
Emap_getcell/map_setcell̎dlύX
E1085̃rbg}bvΉ̍Ղ̏
E1088̃ACXEH[̕ύX߂({Iɍ킹)
ESpf(npc.c)C(For English User Forum >>54)

 () map_athena.conf̃}bvLbVwsp[^ύXĂ܂

	(conf)
		map_athena.conf	- read_map_from_bitmapread_map_from_cache ɕύX
						- map_bitmap_pathmap_cache_fileɕύX
	(src/map)
		map.h			- Z^Cv̕ύX(CELL_CHKHIGH,CELL_CHKTYPE)A
						폜(CELL_SET*)
						- skill_unit_group_ticksetoύX(group_id -> id)
						- rbg}bv֘A̋Lq̍Ղ폜
		map.c			- map_getcell() Z^Cv̕ύXƎ኱̃R[hύX
						- map_setcell()1084ȑO̎dlɖ߂ACELL_SETNPC
						tOǉ
						- map_cache֘Aׂ̍ȏC
		npc.c			- Spf(is_zenkaku)𐳊mɍs悤ύX
						- map_getcell()̃Z^Cv̕ύXɒǏ]
		pc.c			- ACeȂꍇAgp̃GtFNg\
						ȂC
						- map_getcell()̃Z^Cv̕ύXɒǏ]
		skill.c			- Xg[KXgA[hIu@[~Id˂ꍇ
						Е炾_[W󂯂悤C
						- Z[teB[EH[gpɃAhXsƂȂꍇ
						C
						- map_getcell()̃Z^Cv̕ύXɒǏ]
		skill.h			- ֐`ύX
		path.c			- ŨpXǉ(path_search_long)
						- map_getcell()̃Z^Cv̕ύXɒǏ]
		battle.c		- ŨpXgp悤ύX

--------------------
//1091 by End_of_exam

@Ӂ@

@̃pb`͉eGȂ̂ŁA͐TdɍsĂB
@status.c / h ւ́̕A֐̒uɗ߂łA
@vʃoOł\܂B

EXpQeB΍̈ƂāAXe[^XvZAԈُɊւ镔
@status.c / h ƂĕBbattle.c 39KB , skill.c 41KB ,
@pc.c 38KBړł܂BXłAXLgpUȂǂ
@̗݂₷邽߂ɂ́Abattle.c / skill.c ̒g
@炷Kvƍl߂łB

	battle_get_*          => status_get_*
	skill_status_change_* => status_change_*
	pc_calcstatus         => status_calc_pc
	pc_calc_sigma         => status_calc_sigma
	pc_getrefinebonus     => status_getrefinebonus
	pc_percentrefinery    => status_percentrefinery

Ebattle.c , script.c ̊߂߂
Enpc.c ̉ύX߂ANUL t悤ɂ
Escript.c ̃~X𒼂ijump_non_zero => jump_zero@ӖtɂȂĂ܂cj
Eskill.c ̕C ̃Rg~XC
EWIN32ŃRpCAőڑl60lɐĂoOC

	(/)
	athena.dsw , athena.dsp , bcc32_make.bat , src/login/login.dsp
	src/char/char.dsp , src/map/map.dsp
		RpC̕ύX

	(src/map/)
		̕ɍ킹ăRpCG[̏oȂ悤ɏC

--------------------
//1090 by Sapientia
E`bg֗̂̕߂ɋԒǉ (Mh`bgƋ敪邽߂ɃEF`MV̑O [Ԃ]t)
Eatcomand_athena.conf  onlymes  0Őݒ肵ĊFg悤Ɋ
  IWiȂ̂ŃftHg GMgƂł悤ɐݒ肵܂.
E@mes [] Ŏgp

	(src/map)
		atcommand.c	atcommand_charkami ǉ
		atcommand.h
		clif.c		clif_onlymessage ǉ
		clif.h
	(src/conf)
		atcommand_athena.conf	onlymes ǉ
		help.txt	@mes ǉ


--------------------
//1089 by 
EVC.NET2003ŃRpCƑʂɌxôC
Ȇobt@I[o[t[ׂ̍oOC

	(src/char)
		int_guild.c xӏC

	(src/map)
		atcommand.c, battle.c, clif.c, itemdb.c, pc.c, pc.h, script.c, skill.c
			xӏC
		npc.c xӏƃobt@I[o[t[C

--------------------
//1088 by Sapientia
EEBUhXL Icewall ̃LN^[⃂X^[Ƃɐݒu邱Ƃh~
E[hiCgXL Berserk gp̎ HP 1/3ɂȂΉ񕜂oOC

	(src/map)
		pc.c	Berserk C
		skill.c	Icewall C

--------------------
//1087 by End_of_exam

E}bvLbVɈk@\ǉ(1MBɏk܂悤ł)
Enpc.c ̊߂C(Xbh Part14 , 111)
Emap_athena.conf ̃RgAEgC(AthenaGkXbhPart7 , 146)
EWindows p̋NXNvgǉĂ݂(eAthena ̂ɉj

	(/)
		win32_start.bat		Windows p̋Nt@C

	(src/map)
		map.c	k@\̒ǉ
		npc.c	߂C

	(src/common)
		grfio.c		decode_zip , encode_zip ̃GNX|[g
		grfio.h		decode_zip , encode_zip ̃GNX|[g

	(conf/)
		map_athena.conf		C

--------------------
//1086 by End_of_exam

1085̃oOC܂B
uĂ߁[AP珑₪āvƂ˂݂͊قĂ܂B

Ef[^\̑ύX(map.c)
	}bv폜ǉĂ悤ɕύX
	}bvLbV쐬ɋIƍċNɕsɂȂoOC
	ktO̒ǉiv̂sBcompress^ɂƁÃ݂\[X
	ǂ߂ȂȂ܂Bj

EȂ񂩏Փ₵̂ŁArbg}bvPp(map.c map.h)
	npc_touch_areanpc : some bug@oĂ -> sH
	炭ʍs\肪ݒ肳ĂȂۂłłB
	read_map_from_bitmap ̐ݒȂƃOCɗoOC

ELbVɑSẴ}bv΁Agrf ł삷悤ɕύXB(grfio.c map.c)

	(src/map)
		map.c	oOC
		map.h	oOC

	(src/common)
		grfio.c		t@CȂexit Ă΂Ȃ悤ɏC

--------------------
//1085 by zalem
E}bvf[^̓ǂݍ݂̓rbg}bvt@CsȂ悤ȋ@\ǉ

		grft@Cxrbg}bvt@C쐬ĈȌ͂
	쐬ꂽrbg}bvtH[}bg̃t@C}bvǂݍ
	Ƃ@̂邱ƂɂāAmap-serverオ鎞}bvǂݎ
	̂Ɋ|鎞ԂقƂǂȂȂA܂1int32̃Z񂪊i[ł
	ŁAmapɊւ郁gpʂR߂܂Ō̂(̂
	xCPU̕S傫Ȃ)AǉĂ݂B
		conf/map_athena.confread_map_from_bitmapIvVŗp
	ǂwłẢɂmap_bitmap_pathŃt@CύX
	(ftHgdb/map.info)
		܂eXgiKȂ̂ŁA͂Td(ꉞLinuxŁA낢
	eXgĂ݂...)

Emap_getcell()4Ԗڈ̒ǉmap_setcell()4Ԗڈ̕ύX
		
		֐̗pӐ}킩₷悤ɁAĂꂩ̕ύXeՂɂ
	߂ɁAmap_getcell()map_setcell()̂ꂼ4Ԗڂ̈ǉAύXĂ݂A
	map_getcell()4Ԗڂ̈map.hŒ`ĂCELL_CHK񋓌^Amap_setcell()
	4Ԗڂ̈map.hŒ`ĂCELL_SET񋓌^Ƃ悤ɕύX.܂A
	FeatureɑΉ邽߁Amap_getcell()|C^ɕύXB
		
	ȕύX_F

	src/map/map.h   read_gat(),read_gatp()}N̕ύX
			񋓌^ CELL_CHK,CELL_SETǉ,map_getcell(),map_setcel()p
			map_data\̂Ƀo[int* gat_fileused[MAX_CELL_TYPE+2]ǉ
	src/map/map.c	map_getcell()֐^|C^ɕύX,map_getcellp()read_gatp()
		     ̂߂ɒǉ,ۂɉ̎l̊֐̂ǂɎwmap_read_flagɂ
		     	map_getcell_gat(),map_getcell_bitmap()	ǉ
		     	map_getcellp_gat(),map_getcellp_bitmap()	ǉ
		     	map_setcell()	ύX
			map_createbitmap()	ǉ
			map_readmapfromfile()	ǉ
			map_readallmap()	ύX
			map_config_read()	ύX
			do_final()	ύX
	ȉ*.ct@Cmap_getcell(),map_setcell(),read_gat(),read_gatp()ďoׂĕύX
	src/map/atcommand.c
	src/map/mob.c
	src/map/npc.c
	src/map/path.c
	src/map/pc.c
	src/map/pet.c
	src/map/skill.c
			
	conf/map_athena.conf	read_map_from_bitmap,map_bitmap_path	ǉ

--------------------
//1084 by lizorett
Eoll̃oOC(oO񍐃Xbh part7 >>134)
	(src/map)
		mob.c	olvZC

--------------------
//1083 by End_of_exam special thanks to lizorett
E\Pbg̃fXgN^̒ǉ
		(common/socket.c common/socket.h login/login.c char/char.c map/clif.c map/chrif.c)
	\Pbg鎞̗̏ꂪύXɂȂ܂B܂Ń\Pbgꍇ́A
	܂session[fd]->eof ^ɂAp[Y[`Ō㏈iȂǁj
	Ă܂BłAclose(fd); QdɎsăT[o[Ȃǂ
	oOĂA̗ꂪ݂ɂƂRAsocket.c 
	Sď悤ɕύX܂B\Pbg鎞̎ȗ͎̒ʂłB

	1. \[Xsession[fd]->eof = 1; 
	2. socket.c session[fd]->destruct() Ă΂
	3. ̉㏈(socket.c delete_session)

	close(fd) ́Asession[fd]->eof = 1; ɒu܂(#define)B
	܂Adelete_session() 𖾎IɌĂԕKv͂܂B

E}bvIz̃ACedupeC(map/map.c map/pc.c map/chrif.c)
	\PbgؒfɑqɃf[^̃LbV悤ɕύX
	QdOCɃ}bvT[o[ꍇɂؒfł悤ɏC

EÂo[WŃOCmapIoOC(map/clif.c)
	clif_parse() 

	if(packet_db[cmd].len==0) {
	-> if(cmd<MAX_PACKET_DB && packet_db[cmd].len==0) {

Egcc ŃRpCtimer.c warning ôC(common/timer.c)
	timer.c:116: warning: `check_timer_heap' defined but not used

	(src/common/)
		socket.c	\Pbg̃fXgN^ǉ
		socket.h	\Pbg̃fXgN^ǉ
		timer.c		warning C

	(src/map/)
		clif.c		\Pbg̃fXgN^ǉ
		chrif.c		\Pbg̃fXgN^ǉ
		map.c		}bvIz̃ACedupeC
		pc.c		}bvIz̃ACedupeC

	(src/char/)
		char.c		\Pbg̃fXgN^ǉ

	(src/login/)
		login.c		\Pbg̃fXgN^ǉ

--------------------
//1082 by lizorett (2004/12/18) special thanks to l@
En{XɖɕύX
E1079̕ύXNULL`FbNǉ
EJ[ȟʂȂXLɃG`gfbh[|CYʂȂ
 ɕύX
EG`gfbh[|CY̌ʂɍ肪ڂȂ悤ɕύX
ETNt@CX
EXg[KXg̃mbNobNXLwʒu𒆐SƂ悤ύX
EXL̎˒1Zꂽꏊw肵ăXLgƉNȂ
 C
Eol̔zC(_[W^lȂꍇAŃ_[WꍇɌo
 lȂȂĂ)
EĂȂӏւ̃XgbvXLs悤ύX
Epb`AbvXbh Part 6H>>116,>>125,>>126 ̃t@CÔ߃}[W

	(db/)
		skill_db.txt, skill_cast_db.txt, skill_require_db.txt
					- TNt@CX̋LqC/ǉ
	(src/map/)
		battle.c	- G`gfbh[|CY̕ύX
					- TNt@CX̎
					- Xg[KXg̃mbNobNύX
					- n{XɖɕύX
		skill.h		- SC_SACRIFICEǉ
		skill.c		- TNt@CX̎
					- skill_castend_damage_id()MG_FROSTDIVER/MG_STONECURSE
					 NULL`FbNǉ
		mob.c		- ol̔zC
		script.c	- ʂɏoĂt@C}[W(>>125)
		npc.c		- ʂɏoĂt@C}[W(>>126)
	(src/common)
		core.c		- ʂɏoĂt@C}[W(>>116)

--------------------
//1081 by End_of_exam
Eu[v\̕ĂvƂv]̂ŁA
@for , while , do - while \𓱓BlIɗ]v͖Ǝv̂łcB

EelseSɉ͂łĂȂoOCB
Eswitch break; ꏊɂĂ̓RpCG[ɂȂoOCB

	(src/map/)
		script.c : \gBFXB

	(doc/)
		script_ref.txt : ̏Cɍ킹ĕύXB

--------------------
//1080 by End_of_exam

EXNvg if - else if - else \ , switch \ɑΉ܂B
@dlXg\ł̂ŁA܂ł茩₷XNvgƎv܂B
@if(aa) { aaa(); } else if(bb) { cc; if(dd) { ee() } else { ff(); } }
@ɔA__ n܂ϐ⃉xpƁAss\܂B

EXNvgɐV֐(select֐Emenu߂̊֐)ǉ܂B

	(src/map/)
		script.c : \g
		npc.c : npc_perse_script ̏C( { , } ̃lXgɑΉ )

	(script/)
		npc/town/npc_town_alberta.txt : J goto Ă̂ŏC
		sample/npc_debug_pota.txt     : switch , select gď
		                                (fobOɎg킹ĖႢ܂)

	(doc/)
		script_ref.txt : ̏Cɍ킹ĕύX
--------------------
//1079 by Yuuki
EΉɃXg[J[XgƐΉ
EFDŃXLǉʂgƕX_[WŐɊĂxX肪̂ŃXLǉʂ킸 
EBBŐΉXȂoȌC(Ǝ̃_[WgĂ̂ŏĐK̃_[Wɖ߂) 
EfBC0̃XLadelay/2ǉ(GITSgČ؂ʍłꂪ߂ʏU͂₩̂) 

	(src/map)
		skill.c

--------------------
//1078 by End_of_exam

EVisual C++ 6.0 / bcc32 ŃRpCo悤ɏC(ʓrzlib.dll Kv)
E1074͌Ԃɂ܂BFXƂflт܂B

@Ӂ@
	̃o[W̊SȓmF͂Ă܂ilňɂĂjB
	{iIȉ^pɓݐ؂Oɂ́AKmF悤ɂĂB
	ꍇɂẮARpCoȂAsȓɂȂcX̖肪N邩
	܂񂪁ÂƂ́AAQĂɁAl\̍~Ղ҂悤肢܂B

 肢 
	̃pb`SłɂĂAgp|[g𓊍eĂW܂B
	pb`JłɁAʂwarning CĂꂽȁ`AƎvĂ݂B

   (/)
		bcc32_make.bat , bcc32_clean.bat
			bcc32 ŃRpC / N[@ȒPɂ邽߂̃ob`t@CB

		athena.dsp , athena.dsw , src/login/login.dsp , src/char/char.dsp , 
		src/map/map.dsp
			Visual C++ p̃vWFNgt@C & [NXy[X

	(src/)
		RpCo悤ɐFXCB

	(src/common/timer.c)
		Ǝ̎蔲ASYiQ\[gj̗po[WB

--------------------
//1077 by sylpheed
ET[o[XibvVbg
EL荞
Xbh Part14-41 Plala
oO񍐃Xbh part7-68 ...

1074͎荞ł܂B

--------------------
//1076 by mare
E؍m̒ʂAXƃW^X̃GT̕ύXB
EGM̃AuJ^upXL̃tOĂ̂ŕB
EubNX~XMhɃv[Xg̏ꍇ̃ZtǉB
ENX`FWőSĂ̎wID{Xo悤ɁiȂĂƂȂj
	(db)
		pet_db.txt
	(conf)
		battle_athena.conf
	(script/npc/job)
		npc_job_10blacksmith.txt
	(src/map)
		mob.c
--------------------
//1075 by kag
E|p̎wт̌ʎ̕z
Eʂ͂ƂȂ̂item_db̏C͂Ă܂B
E1075Ԃł̂ȂƎvB

    (db)
		const.txt
			bWeponAtk=1073bWeponAtkRate=1074ǉ

    (src/map)
        battle.c
			int battle_get_baseatk()C
			static struct Damage battle_calc_pc_weapon_attack()C
		map.h
			int weapon_atk[16],weapon_atk_rate[16];
			SP_WEPON_ATK,SP_WEPON_ATK_RATE, // 1073-1074ǉ
        pc.c
			memset(sd->weapon_atk,0,sizeof(sd->weapon_atk));
			memset(sd->weapon_atk_rate,0,sizeof(sd->weapon_atk_rate));ǉ
			
			pc_bonus2() C
	(doc)
		item_bonus.txt
			bWeponAtk,bWeponAtkRate,bHPDrainValue,bSPDrainValue@ǉB

--------------------
//1073	by LP@@
EARXL̈ꕔyуTCgXL̏C({ɂ͍ɗ锤H@2004/12/06)
x͈ړxʂAVOiNVX͐ADEFʂ̑ʂ
͂肵Ȃ̂ŘMĂ܂B
   (src/map)
		battle.c
			f[xCAfBoCveNVvZCB
		skill.c
			AtATCg̗L͈͂Ci10x10At5x5,TCg7x7jB

   (db)
		skill_cast.db
			ANAxlfBN^̉ryуfBCCB

//1072	by kag
E]XL𒆐SɏC
    (src/map)
		battle.c
			@͑XLx*5%ɏCB
			ɖATKȂȂ悤ɏCB
			I[u[h̒ǉ_[W100ɏCB
			o[T[N̗^_Q{ɂȂ悤ɏCB
			wbhNbV̌vZCB
			XpCsA[X̌vZCB
			vbV[̌vZCB
			ǍvZCB
			\[hWFNg̔˗XLx*15%ɏCB
			A[oJ̌vZCB̑悤ɏCB
			t@RATǧvZCB拭tOłP_ɂȂ悤ɏCB
			ubcr[g拭tOłP_ɂȂ悤ɏCB
			fXg[VKAJ[hȂ悤ɏCB
			AVbhe[h䖳AKAAJ[hȂ悤ɏCB
		skill.c
			@͑0.7b̌ŒrǉB
			LP@@ ̃AXLGdsǉB

	(db)
		skill_db.txt
			CErWQł悤ɏCB
		skill_cast_db.txt
			vbV[̉rAfBCǉB
			ҌՍdhR̃fBCǉB
			CtũfBCǉB
			t@RATg̉rAfBCǉB
			EChEH[ÑfBCAԂύXB
			A[oJ̉rAfBCǉB
			NGCgfbh[|CỸfBCǉB
		skill_require_db.txt
			I[u[h̏SPCB
			RZg[V̏SPCB
			@͑̏SPCB	
			ip[oJ̏SPCB
			vbV[̏SPCB
			TNt@CX̏SPCB
			ҌՍdhȐSPCB
			WFNg\[h̏SPCB

//1071 by ICO
Enpc_job_09wizard.txt,npc_job_16sage.txtC
E芪nXLgpۂ̋C

    (src/map)
		mob.c
			芪̏nXLK^C~OύX
		skill.c
			nXL̔C

//1070 by sylpheed
Ehbṽ[gƂ̒ǉ
  hbvݒ1`9 10`99 100`999 1000`10000Ōʂɔ{ƍŒ/ōl̐ݒ肪\ł
E@weather 0 Ȃ̂C
E]񎟐EHP/SP25㏸
hbv{eAthenãACeޖ̐ݒڐAĂǂ̂ł
ޖƃ[g̊J傫ꍇA܂ӖȂ
̂悤Ȍ`Ń[gڍאݒǉĂ݂܂B
mob_dbMyɃhbv̕ύXłƎv܂B

weather 0Ȃ̂͗Rǂ킩Ȃ̂
悤ɏCłɁAJtO
o悤ɒǉĂ݂܂B

]HP/SPɊւẮA]ĂĂ񎟐EɂȂĂȂꍇ
͂Ȃ悤Ȃ̂ŁÂ悤ɎĂ݂܂B
wedding_modifydisplay: yes ̎ɃhX/^LV[h𑕔
Ă܂܂
킩C肢܂orz

	(src/map)
		atcommand.c
			@weather֘ȀC(case 0s悤ɏC)
			JtOꍇo悤ɂĂ݂܂(JPŎg邩s)
			(}bvړȂƓV󂪏Ȃ̂ragexe̎dlȁH)
		battle.c
		battle.h
		mob.c
			item_rate_details֘Aǉ
		pc.c
			]񎟐EHP/SPől25%ǉ
			]ĂĂ񎟐EłȂꍇHP/SP͖̂悤ł
	(conf)
		help.txt		C
		msg_athena.conf	112ǉ

	(doc)
		conf_ref.txt	C
		help.txt		C

//1069 by lizorett (2004/11/26) special thanks to l@
Eg_E̎
E@͑r̂閂@ŗLɂȂȂC
Emap-server_ȄC(Xbh Part13 >>55)
Emap-serverɕsIDŃOCchar-server_ȄC
ETtMErXLŎȂC
EdĖғŏԂƂȂȂ悤C
E}OiuCÑ_[WC
Eo[TNHP/SPzAłȂǂ̃_[W󂯂悤C
ESPzʂĂC(b)
E@helpɃL[[h@\ǉ

	(src/map)
		battle.c	- }WbNp[ɂMATK̎
					- Zjpc_break_equip()ɏ
					- HP/SPzC
		map.h		- j̒`ǉ
		pc.c		- pc_break_armor()/pc_break_weapon()AVK̑j
					֐pc_break_equip()ɓ
					- @͑̃R[h폜(battle.cōs)
					- HP/SPz֌W̕ϐ̏ǉ
		pc.h		- ֐`C
		skill.c		- g_Eɂ鑕j
					- @͑ɊւC
					- dĖғŏԂƂȂȂ悤C
		clif.c		- map-server_ȄC
		atcommand.c	- @helpɃL[[hǉ("@help jobchange"Ȃ)
	(src/char)
		char.c		- char-server_ȄC
	(db)
		const.txt	- bUnbreakableHelm, bUnbreakableShieldǉ
		skill_cast_db.txt
					- g_ȄԈُ펞Ԃݒ

//1068 by huge
EatcommandǉƁAeAthena炢ڐAB(help.txtQ)
EGML@Ŏn܂锭Â܂ܕ\悤ɂB(GMx0̃R}h͎s)
EVCR}hɍ킹āAmapflagݒł悤ɁB
EscriptǉƁAeAthenaڐAB
EHP{SP{battle_athenaŐݒł悤ɂB
ESLAGMɂ͈ʒuEHPʒm悤battle_athenaŐݒł悤ɂB
EhNhbvɂāAbattle_athenaŐݒł悤ɂB
EGM̃ACehbvɂGMx𐧌ł悤ɂB
EfBeNeBOXLCB
ftHg̓{NCAgƁAJŗ܂B

	(conf/)
		atcommand_athena.conf	C
		battle_athena.conf	C
		help.txt	C
		msg_athena.conf	C

	(doc/)
		help.txt	C
		script_ref.txt	C
		conf_ref.txt	C

	(src/map/)
		atcommand.c
		atcommnad.h
			guild.h party.hǂޗlɏC
			is_atcommand() C
			atcommand() C
			ڐAEVKR}hɂĂ help.txt mFĉB
		battle.c
		battle.h
			hp_rate,sp_rate,hp_meter,bone_drop ǉ
		clif.c
		clif.h
			clif_spawnpc() C
			clif_hpmeter() ǉ
		guild.c
		guild.h
			guild_searchname() ǉ
			guild_searchname_sub() ǉ
		map.h
			VɊւflagǉ
		npc.c
			npc_parse_mapflag() C
		party.c
		party.h
			party_searchname() ǉ
			party_searchname_sub() ǉ
		pc.c
		pc.h
			pc_calcstatus() C
			pc_damage() C
			pc_walk() C
			pc_can_drop() ǉ
		script.c
			gmcommand	ڐAǉ
			dispbottom		ǉ
			getusersname		ǉ
			recovery		ǉ
			petinfo		ǉ
			checkequipedcard		ǉ
			getexp	폜(setg悤ɂĉ)
		skill.c
		skill.h
			skill_castend_pos2() C

	{AthenaGkXbhPart7 >>54 肳̕
	LqRꂪ炷܂B
--------------------
//1067 by kai
EfBeCeBIɂq[񕜗ʑ̌ʂC
EAhoXhJ^[̏C
EPvPɂAXveBǏʂC

	(src/map)
		skill.c
			2120s@heal += heal*(skill*2)/100; //fBeCeBȈC

		battle.c
			1723s@damage += dmg*(10+(skill * 2))/100; //AhoXhJ^[̏C

			2598`2599A3580`3582s@AXveBȈC
				if(map[target->m].flag.pvp)Ƃ_[WvZ2/3ɏC

--------------------
//1066 by lizorett (2004/11/17) special thanks to l@
Efbh[|CY쐬
EG`gfbh[|CY
E\EuCJ[
Ebattle_weapon_attackŖ̒l߂oOC
EgpSP̕ύXׂ̍C

	(db)
		const.txt       - ғ(SC_DPoison)ǉ
		item_db.txt     - ΃n[u,΃|[V,\ɖғłʂǉ
		produce_db.txt  - fbh[|CY̍ޗ̒`ǉ
		skill_cast_db.txtG`gfbh[|CYA\EuCJ[
						̒`C/ǉ
		skill_db.txt    - \EuCJ[/G`gfbh[|CY/
						fbh[|CY쐬̒`C
						- ip[oJ̃qbgC
		skill_require_db.txt
						- G`gfbh[|CYŖ̕rgp
						悤ɏC
						- \Eu[J[/eIATg̎gpSPC
	(src/map)
		battle.h		- battle_config.cdp_rateǉ
		battle.c        - \Eu[J[
						- eIATgɃJ[hʂȂ悤ύX
						- 4213s̏Ŗ̒l߂oOC
						- battle_config.cdp_rateǉ
		skill.h			- fbh[|CY쐬̍ޗ7Ȃ̂ŁAe[u
						ǉBޗ̍ő吔defineŕύXł悤C
						- SC_DPOISON(182)/SC_EDP(183)ǉ
		skill.c			- ғŌʂǉ
						- fbh[|CY쐬
--------------------
//1065 by End_of_exam

ET[o[]rɎbΏ
Ecalc_index(path.c)̕ssC

	(common/)
	timer.c
		TIMER_MIN_INTERVEL(^C}[̍ŏC^[ojǉ܂B
		ɔAdo_timer() ̖߂l̍Œ 10ms  50ms ɕύX܂B

		select10msȓɏIȂƁAX^[ʏ҂ȂǂɁA
		NCAg̃pPbgɔȂȂ͗lłB
		[JeXgiX^[ʏҁjĂ݂ƂA25msɕύX_
		P܂AɂĂ50msłs\܂B
		̏ꍇ́ATIMER_MIN_INTERVEL𑝂₵ėlqĂB

		ľۂƂāÃNCAgڑƃT[o[ȂȂ
		Ƃ̂܂Ãpb`ɂĂxP邩܂B

	(map/)
	map.h : MAX_WALKPATH
		path.c  calc_indexssN(48*48-1 = 1000 1111 1111(b)) ߁A
		MAX_WALKPATH 48  32 ɕύX܂B(32*32-1 = 0011 1111 1111(b))

		#define calc_index(x,y) (((x)+(y)*MAX_WALKPATH) & (MAX_WALKPATH*MAX_WALKPATH-1))
--------------------
//1064 by nameless
EGCC 3.3.0/3.3.10/0=ϐől̖΍(int:65535/long:4294967294)
E@hEhEh䂪KpȂC
Eip[oJP̖@̃R[hɏCA􂢌ʂ

	(src/map)
		skill.c
			442`448s s[<][>]ɏC
			512`519s s[>][<]ɏC
			529`538s RpCoO̒@Ɨ/*`*/̕
			           gcc̃o[Wɍ킹ĐE
			           ĂB3.3.2͒Ă悤ł
			1857s     ip[oJǉ
			660`664s ip[oJ̎􂢌ʂǉ
	(src/char)
		char.c
			CĂȂC܂B

--------------------
//1063 by 
Ěʎ
EJ[hɂAUHP/SPzʂEɉelɏC({Idl)
  (left_cardfix_to_rightyes̎̂݁BnoƏ]ʂ)

    (db)
        const.txt
            bHPDrainValue=1071bSPDrainValue=1072ǉ
        item_db.txt
            EquipScriptbonus2 bSPDrainValue,100,3ǉ

    (src/map)
        battle.c
            battle_weapon_attack() C
        map.h
            short hp_drain_value,sp_drain_value,hp_drain_value_,sp_drain_value_;ǉ
            SP_HP_DRAIN_VALUE,SP_SP_DRAIN_VALUE, // 1071-1072ǉ
        pc.c
            pc_bonus2() C

--------------------
//1062 by nameless
EpPbgMł̌둗MC
EoO񍐃Xbh part7 ̎荞݁EC >> 56,57,58
Efix1059̎荞
EnCEBỸlCp[oJ̎(eA荞)
ECPUœKR[h̏C(athlonn)Eǉ(l/Linux Zaurus)

    (/)
		Makefile
			athlonnœK̏C
			l(Kuro-Box 200MHz[PPC 603x])
			l(Kuro-Box 266MHz[PPC 604x])
			Linux Zaurus (SL-C7xx)
			̍œKR[hLq

    (db)
		skill_cast_db.txt
			400,500,1200:1600:2000:2400:2500,0,0 //HW_NAPALMVULCAN#ip[oJ#
    (src/map)
		clif.c
			clif_parse() C
    (src/char)
		char.c
			1367s cmd = RFIFOW(fd,0);ǉ
    (src/map)
		skill.c
			switch(skillid)case HW_NAPALMVULCAN:ȉ20sقǒǉ
--------------------
//1061 by lizorett (2004/11/9)
EsȃMhXLpPbg󂯂ꍇmap/charT[o錻ۂC
EsȃpPbg󂯂ꍇcharT[o錻ۂC
EL폜charT[o錻ۂC
EԂŐłƁA邽悤Ɍ
 (Oƌ)C
EXib`[̃XLs\Ȃ悤ɂłݒǉ
Ef{[Ṽx(10x)ύXłݒǉ

    (src/common)
		mmo.h
			MhXLenumǉ(src/map/skill.hړ)
    (src/map)
		skill.h
			MhXLenum폜(src/common/mmo.hɈړ)
		guild.c
			guild_checkskill XL͈̔̓`FbNǉ
			guild_skillup XL͈̔̓`FbNǉ
		skill.c
			skill_additional_effect display_snatcher_skill_fail̏ǉ
			skill_castend_nodamage_id devotion_level_differencȅǉ
		battle.c
			display_snatcher_skill_fail,devotion_level_differencȅǉ
	(src/char)
		int_guild.c
			guild_checkskill XL͈̔̓`FbNǉ
			mapif_parse_GuildSkillUp XL͈̔̓`FbNǉ
		char.c
			parse_char sȃpPbg󂯂ꍇɂ̓_v悤C
			char_divorce i<MAX_INVENTORYj<MAX_INVENTORYɕύX
	(conf)
		battle_athena.conf
			display_snatcher_skill_fail,devotion_level_differenceǉ
--------------------
//1060 by mosya
EX^[XLrɍWYNC
EMOBAIύXBOq^QĂ̂ɁAqɍUɂ䂭̂C
	(src/map)
		mob.c
			mob_ai_sub_hard() ύX
			mobskill_castend_id() ύX
			mobskill_castend_pos() ύX
			mobskill_use_id() ύX
			mobskill_use_pos() ύX
--------------------
//1059 by SPDFMember
EeAthenaQlɃ[hDBnǉ܂B
	(conf/)
		atcommand_athena.conf
			reloaditemdb
			reloadmobdb
			reloadskilldbǉ
		help.txt
			reloaditemdb
			reloadmobdb
			reloadskilldb̐ǉ
		msg_athena.conf
			89
			90
			91ǉ		
	(src/map)
		atcommand.c
			reloaditemdb
			reloadmobdb
			reloadskilldbǉB
		atcommand.h
			AtCommand_ReloadItemDB,
			AtCommand_ReloadMobDB,
			AtCommand_ReloadSkillDB,ǉ
		itemdb.c
			static int itemdb_readdb(void);ǉ
		itemdb.h
			void itemdb_reload(void);ǉ
		mob.c
			void mob_reload(void)ǉ
		mob.h
			void mob_reload(void);ǉ
		skill.c
			void skill_reload(void)ǉ
		skill.h
		 	void skill_reload(void);ǉ
--------------------
//1058 by lizorett
EMhqɃACeMAX_STORAGEȏ゠ƎoȂ̂C
	(src/map)
		clif.c
			clif_parse_DropItem item_index/item_amount͈̔̓`FbN폜 
								(pc_dropitem Ń`FbN)
			clif_parse_MoveToKafra item_amount̃`FbN폜
								(storage_*storageaddŃ`FbNĂ)
			clif_parse_MoveFromKafra item_index/item_amount̃`FbN폜
								(storage_*storagegetŃ`FbNĂ)
		pc.c
			pc_dropitem n/amount͈̔̓`FbNǉ
--------------------
//1057 by BDPQ
EEH[^[{[̃_[W{ImllɏCB
  [ MATK+SkillLv*30  MATK*(1+SkillLv*0.3) ]

	(src/map)
		battle.c
			battle_calc_magic_attack ύX [ 3848sڂ ]

--------------------
//1056 by robert
Ԃ͕̂s@ǂ
	(src/map)
		clif.c	
			clif_parse_DropItem
			clif_parse_MoveToKafra
			clif_parse_MoveFromKafra
--------------------
//1055 by Nameless
EeCPUɑ΂R[hœKIvVݒ(S27) GCC 3.3.1 
EPentium 3̃IvVSSE2ɂȂĂ̂
EH}ArobertPacket̎荞(lɊ)

	(/)
		makefile
			i486/586/p54c/mmx/P3/P4/Cele
			k6/k6-2/k6-3/athlonn
			Via C3(Eden)
			PowerPC/G4n

	(src/map/)
		clif.c
			clif_parse_MoveToKafra{}
			R[h荞

--------------------
//1054 by Nameless
ECygwinŃRpCathenaڑ53`58lt߂Őڑs\ɂȂoO

	(src/common/)
		socket.h
			#ifdef CYGWIN
			#undef FD_SETSIZE
			#define FD_SETSIZE 4096
			#endif
		ȏ̍s폜
	(/)
		makefile
			OS_TYPE = -DCYGWIN
				
			OS_TYPE = -DCYGWIN -DFD_SETSIZE=4096
		ɏC

		#optimize for Athlon-4(mobile Athlon)
		#CFLAGS += -march=athlon -mcpu=athlon-4 -mfpmath=sse

		#optimize for Athlon-mp
		#CFLAGS += -march=athlon -mcpu=athlon-mp -mfpmath=sse

		#optimize for Athlon-xp
		#CFLAGS += -march=athlon -mcpu=athlon-xp -mfpmath=sse

		#optimize for pentium3
		#CFLAGS += -march=i686 -mcpu=pentium3 -mfpmath=sse -mmmx -msse2

		eCPU̍œKǉgcc3.1ȏgĂꍇ#O
		čœKsƂłƎv܂B

	makefileŃZbgĂȂƁARpC̍ۂɈꕔ
	  FD_SETSIZEȂĂ܂oO(?)炵Aڑl
	  60lŐڑs\Ă܂܂B

--------------------
//1053 by TEILU
EpPbgp[T[^C}[ďoɕύXłݒ̒ǉ
EB̉۔łcaɂǂ̂悤ȐݒĂANZT
  BłȂsC

	(conf/)
		map_athena.conf
			packet_parse_time: 0 ǉ
	(src/common/)
		core.c
			packet_parse_time ǉ
			main() ύX
		socket.c
			parsepacket_timer() ǉ
		socket.h
			parsepacket_timer() ǉ
	(src/map/)
		map.c
			packet_parse_time ǉ
			map_config_read() ύX
		script.c
			buildin_getequipisenableref() ύX

--------------------
//1052 by
ꏊŌR}hǉB
	GMR}hǉ
	@who+	ꏊ

	(conf/)
		atcommand_athena.conf
			who+: 1 ǉ
	(/src/common/)
		version.h
			Ver 1051->1052 ύX
	(/src/map)
		atcommand.c
			ATCOMMAND_FUNC(whop);  ǉ
			{ AtCommand_WhoP,"@who+",0, atcommand_whop }, ǉ
		atcommand.h
			AtCommand_WhoP, ǉ
--------------------
//1051 by Plala
EyRyRR掞MAX Weight𑝂₹悤ɂ܂B
battle_athena.confŐݒ\łB

	(conf/)
		battle_athena.conf
			riding_weight ǉ
	(map/)
		battle.c
			battle_config.riding_weight ǉ
		battle.h
			int riding_weight; ǉ
		clif.c
			clif_parse_RemoveOption ύX
		pc.c
			int pc_calcstatus ύX
				1415sd->max_weight +=battle_config.riding_weight; ǉ
	(common/)
		version.h
			Ver 1050->1051 ύX
--------------------
//1050 by code
EeV󑀍R}ȟ
@misceffectŌĂяoɊȒPɓV󑀍s悤
NCAgˑ͗tł͂ȂJłAԈႢ܂(^-^;

	(src/common/)
		version.h
			Ver 1049->1050 ύX
	(/src/map)
		atcommand.c
			AtCommand_Rain{} ύX
			AtCommand_Snow{} ύX
			AtCommand_Cherry{} ύX
			AtCommand_Fog{} ύX
			AtCommand_Maple{} ύX

--------------------
//1049 by code
EAt2̓V󑀍R}hǉ܂B
tɊւĂ̓NCAgˑȂ̂jROƗ邩c

	GMR}hǉ
	@fog       
	@maple     t

	(conf/)
		atcommand_athena.conf
			fog: 1 ǉ
			maple: 1 ǉ

		msg_athena.conf
			87: ߂܂B ǉ
			88: t~Ă܂B ǉ
	(/src/common/)
		version.h
			Ver 1048->1049 ύX
	(/src/map)
		atcommand.c
			ATCOMMAND_FUNC(fog);  ǉ
			ATCOMMAND_FUNC(maple);  ǉ
			{ AtCommand_fog,"@fog",0, atcommand_fog }, ǉ
			{ AtCommand_maple,"@maple",0, atcommand_maple }, ǉ

		atcommand.h
			AtCommand_Fog, ǉ
			AtCommand_Maple, ǉ

--------------------
//1048 by code
EJAATN3̓V󑀍R}hǉ܂B
ՓIɒǉĂ܂̂ŃoO邩m܂(

	GMR}hǉ
	@rain       J
	@snow       
	@cherry     TN

	(conf/)
		atcommand_athena.conf
			rain: 1 ǉ
			snow: 1 ǉ
			cherry: 1 ǉ

		msg_athena.conf
			84: J~o܂B ǉ
			85: Ⴊ~o܂B ǉ
			86: TN~点܂B ǉ
	(/src/common/)
		version.h
			Ver 1047->1048 ύX
	(/src/map)
		atcommand.c
			ATCOMMAND_FUNC(rain);  ǉ
			ATCOMMAND_FUNC(snow);  ǉ
			ATCOMMAND_FUNC(cherry);  ǉ
			{ AtCommand_rain,"@rain",0, atcommand_rain }, ǉ
			{ AtCommand_snow,"@snow",0, atcommand_snow }, ǉ
			{ AtCommand_cherry,"@cherry",0, atcommand_cherry }, ǉ

		atcommand.h
			AtCommand_Rain, ǉ
			AtCommand_Snow, ǉ
			AtCommand_Cherry, ǉ

--------------------
//1047 by SVN
EACe̐҂̖Omapchar̃pPbgԈĂ̂C
EdOCchar-server\̂C
EK[fBAGvԊOɉꂽAIDw̃XLAskill_unitȃXLÛC
EOtBeBRangeƂ肠3ɂĂ݂
	(db/)
		skill_db.txt
	(char/)
	char.c
		parse_frommap()
	(map/)
	clif.c
		clif_parse_ActionRequest() ύX
		clif_parse_UseSkillToId() ύX
	mob.c
		mob_gvmobcheck() ǉ
	mob.h
		mob_gvmobcheck() `ǉ
	skill.c
		skill_attack() ύX

--------------------
//1046 by SVN
db/packet_db.txt2004-09-06aSakexepȂ̂ŁAjRONCAgŎgpۂ́u//jRO͂܂ŁvȉRgAEg邩폜Ă

EύX_̂ŏڍׂ̓t@CA֐ƂɋLqĂ܂
E1045ɂ̂܂܏㏑Ă삵܂AgȂt@Cc܂
Escript/ȉ͖OύXĂt@Cʂɂ̂script/̕ύX_QlɂĂ
EXNvgp̊֐▽߂dlύXĂ̂܂
	{Iɂ͌݊͂łAgetgdskilllv()͑𐔎ł͂ȂXL(GD_APPROVALȂ)ɒuKv܂
	getgdskilllv()gĂ/script/npc/gvg_big5/*.* ͒ŕKvȂ̂ō폜Ă
	ǉύXɊւĂ͊Tscript_ref.txtɔfĂ܂Aڍׂscript.c̕ύX_ǂł
Eǉꂽ@R}hɂĂ@helpatcommand.c̕ύX_ǂł
Eǉꂽݒconf_ref.txtQƂĂ
ELqR̕ύX_邩܂

ǉt@ĆuAv
ύXt@ĆuCv
폜t@ĆuDv
ړt@ĆuMv
	/
		C athena-start
			./conf/import ȉNɎ쐬悤ɕύX
			seqR}hgȂ悤ɂFreeBSDł삷悤ɕύX
			start
				łAthenaNĂ鎞͉Ȃ悤ɕύX
				exec ./ _uĂ̂ō폜
			stop
				FreeBSDłVFɖ߂悤ɕύX
			kill
				
		C Makefile
			PACKETDEF  PACKETVER=6 ǉ
			FreeBSD𔻒肵 make  gmake ؂ւ悤ɕύX
			CFLAGS 𕪉ĘM₷悤ɕύX
		C start
			1sڂ̃VFw肪Ȃ̂ύX
			łAthenaNĂ鎞͉Ȃ悤ɕύX
			NmF̏ athena-start ƓɕύX
		bin/tool/
			VFXNvg̉sR[h CRLF  LF ݂̂ɕύX
			C getlogincount
				OCo[W $loginversion ƂĕύXł悤ɕύX
			C ladmin
				AJEgɁu-vg悤ɕύX

		conf/
			D import/
				zz폜(athena-start start Ŏ쐬)
			C atcommand_athena.conf
				shuffle maintenance misceffect ǉ
			C char_athena.conf
				default_map_type default_map_name ǉ
			C help.txt
				ǉ
			C login_athena.conf
				login_version login_type ǉ
			C map_athena.conf
				npc map FXύX
			C mapflag.txt
				ŐVłɍXV
			C msg_athena.conf
				81ȍ~ǉ
			C water_height.txt
				ŐVłɍXV
		db/
			C castle_db.txt
				Mh̎ɔ OnGuildBreak Cxĝ߂ <Event_Name> ǉ
			C const.txt
				GvG̊Jnԓݒł悤ɒǉ
				}bvtO mf_notrade mf_noskill ǉ
				p[^ PartnerId Cart ǉ
				{[iX bBreakWeaponRate bBreakArmorRate bAddStealRate bUnbreakableWeapon bUnbreakableArmor ǉ
				Xe[^Xω SC_WEDDING ǉ
				XNvg getgdskilllv p GD_APPROVAL Ȃǒǉ
			C exp.txt
				]񎟐EBaseLv12ɂȂƂɕKvȌol41481ɏC
			C item_db.txt
			C mob_db.txt
			C mob_skill_db.txt
			C skill_cast_db.txt
			C skill_db.txt
			C skill_require_db.txt
			C skill_tree.txt
				ŐVłɍXV
			A packet_db.txt
				pPbg`t@Cǉ
		doc/
			C client_packet.txt
				VpPbgǉ
			C conf_ref.txt
				Vǉݒ̐ǉ
			C db_ref.txt
				skill_cast_db.txt  list_hp_rate list_sp_rate ŕw肵̋ǉ
			C help.txt
				conf/help.txt lɕύX
			C inter_server_packet.txt
				VKŒǉpPbgǉƎԂƂĂȂC
			C item.txt
				ŐVłɍXV
			C item_bonus.txt
				VKŒǉꂽ{[iXǉ
			C script_ref.txt
				VK߂̒ǉƊ߂̕ύXȂ
			C serverlink_packet.txt
				VKŒǉpPbgǉƊŏĂȂpPbg̒ǉ
		script/
			mob/
				C npc_monster.txt
					ŐVłɍXV
					juwCMobnpc_parse_mob()̕ύXTvɂȂĂ܂
			npc/
				قڂׂĂNPCnpc_function.txtg[U[`֐ƕȂǂŏ
				ړt@CɊւĂ͈ړ̃t@C܂܂Ă̂ňړÕt@Ĉݍ폜Ă
				) etc/npc_etc_cTower.txt ͊܂܂Ă̂ npc_cTower.txt 폜
				M npc_cTower.txt
					etc/npc_etc_cTower.txt
				A npc_function.txt
				M npc_pota.txt
					../sample/npc_debug_pota.txt
				M npc_pvp.txt
				M npc_pvproom.txt
					2t@C
					etc/npc_etc_pvp.txt
				M npc_resetJ.txt
					../sample/npc_debug_reset.txt
				A etc/
					A npc_etc_gefenia.txt
				C gvg/
					ׂev_agit_common.txtg[U[`֐ŏ
					ׂč폜Ă炱̃pb`𓖂ĂĂ
					MhUɍԂ邽߂ev_agit_.txtOnGuildBreakCxgǉ
					D test/
					A ev_agit_common.txt
					D ev_agit_event.txt
					D TEST_prtg_cas01_AbraiJ.txt
					D TEST_prtg_cas01_mob.txt
				D gvg_big5/
				C job/
					]EXNvg̖Onpc_job_[JOBԍ][Wu].txtɕύX
					ׂč폜Ă炱̃pb`𓖂ĂĂ
				C quest/
					M npc_event_arrow.txt
						../../sample/npc_debug_arrow.txt
					A npc_event_hat2.txt
						ju̐VXNvgǉ
		src/
			calloc() realloc() ɗ͊e^ɃLXg悤ɕύX
			calloc()  memset()  \0 𖄂߂Ă̂폜
			calloc() Ȃ̂(TCY*,1)Ŏw肵Ă̂(,TCY)ɕύX
			mۂG[܂Ƃ߂֐ɏ
				malloc()  aMalloc()
				calloc()  aCalloc()
				realloc()  aRealloc()
			strcpy()  strncpy() ɋɗ͕ύX

			char/
				C char.c
					Xy[XŃCfgĂƂ^uœ
					A isGM()
					A read_gm_account()
						GMAJEgKvɂȂ̂Œǉ
					C mmo_char_tostr()
					C mmo_char_fromstr()
						nullpo`FbNǉ
					C count_users()
						KvȂ{}폜
					C char_delete()
						null`FbNǉ
						폜bZ[WR\[ɕ\悤ɂ
						폜ɐڑĂLؒf悤map-serverɒʒm(0x2b19pPbg)悤ɂ
					C parse_tologin()
						C 0x2713
							char-servereiXݒ莞GMȊOȂ悤ɂ
							ڑōőlłGM͐ڑł悤ɂ
						C 0x272a
							0x27300x272aɕύXĔԍl߂
							AJEg폜ɃLꕔȂC
						A 0x272c
							Mlogin-serverɒʒm(0x2b15pPbg)ăeiXԂɂȂ悤ɂ
					A char_erasemap()
						map-serverؒfɑmap-serverɃ}bv̍폜ʒm(0x2b16pPbg)悤ɂ
						ɂ葼map-serverǊ̃}bvɈړ悤ƂāAmap-serverؒfĂA
						pc_setpos()ő݂Ȃ}bvƂƂňړ悤ƂȂȂ̂ŁA
						NCAguiɂ҂ԁvɂȂȂ悤ɂȂ܂
					C parse_frommap()
						map-serverؒfchar_erasemap()s悤ɂ
						map-serverؒfɊǊ̃}bvɃLcĂؒfmap-serverɒʒm(0x2b17pPbg)悤ɂ
						C 0x2afc
							F؎s char_dat[].mapip/mapport  0 ɂ悤ɂ
							Fؐ char_dat[].mapip/mapport map-serverIPAhXƃ|[gɂ悤ɂ
							Fؐɑmap-serverɃLOCƂʒm(0x2b09pPbg)悤ɂ
						C 0x2b02
						C 0x2b05
							R\[ւ̏o͂ɃpPbgԍLq悤ɂ
						C 0x2b08
							pPbgdlύX account_id mapip mapport ʒm悤ɕύX
							map-serverɐڑĂȂׂ͂ 0 ܂
						A 0x2b13
							map-serverNrȂǂŃLOCłȂ悤ɂ server[].active tO𑀍삷
							active = 0 ŃL̓OCłɐؒf
							map-serverNƂ active = 1 ɂpPbgĂ
						A 0x2b14
							char-servereiXԂɂ char_maintenance tO𑀍삷
							login-serverɂʒm(0x272bpPbg)ă[hIʂŃeiX\
							eiXԂłGMȊÕ[U[̓OCł܂
						A 0x2b18
							LN^[̐ؒfmap-serverɒʒm(0x2b17pPbg)悤ɂ
					C search_mapserver()
						 struct mmo_charstatus *cd ǉ
						cdnꂽTĂ}bvڑĂmap-serverɖƂɁAŏɌmap-server̍ŏɌ}bvɐڑ悤ɂ
						 char_athena.conf default_map_type: 2 ̎̋ł
					C parse_char()
						C 0x65
							eiXԂ̎GMȊOؒf悤ɂ
							őڑݒ肳Ăčőڑ̂ƂGM͐ڑł悤ɂ
						C 0x66
							char-serverɐڑĂmap-serverlast_pointȂƂɁA
							default_map_type&1 ̎ default_map_name ɐڑ
							default_map_type&2 ̎ ŏɌmap-server̍ŏɌ}bvɐڑ
							łȂ͐ؒf悤ɂ
							R\[ւ̏o͂ɃpPbgԍLq悤ɂ
						C 0x2af8
							}bvɐڑĂLʒm(0x2b09pPbg)悤ɂ
						C 0x187
							S 0187pPbgԐM悤ɂ
					C check_connect_login_server()
						char_portWFIFOLőĂ̂WFIFOWɏC
						8082̊Ԃ󂢂Ă̂l߂ăpPbg8684ɕύX
					C char_config_read()
						default_map_type default_map_name ǂݍނ悤ɂ
					A gm_account_db_final()
						mۂ gm_account_db ̃IɊJ悤ɂ
					C do_final()
						inter.c ȂǑt@C̏I(do_final_*)ǉ
						exit_dbn() dbp̃J悤ɂ
						ڑĂmap-server̃ZbV폜悤ɂ
						do_final_timer()timerI悤ɂ
					C do_init()
						server[].active = 0 ŏ
						read_gm_account() GMAJEgt@Cǂݍނ悤ɂ
				C char.h
					mmo_map_server  active tOǉ
				C int_guild.c
					C mapif_parse_GuildSkillUp()
						Mh|CgȂŃMhXLグ邽߂ int flag ǉ
					C inter_guild_parse_frommap()
						0x303C
							pPbg`ύXflagǉ
					A guild_db_final()
					A castle_db_final()
					A do_final_int_guild()
						IɃJ悤ɂ
				C int_guild.h
					A do_final_int_guild()
						`ǉ
				C int_party.c
					A party_db_final()
					A do_final_int_party()
						IɃJ悤ɂ
				C int_party.h
					A do_final_int_party()
						`ǉ
				C int_pet.c
					A pet_db_final()
					A do_final_int_pet()
						IɃJ悤ɂ
				C int_pet.h
					A do_final_int_pet()
						`ǉ
				C int_storage.c
					A storage_db_final()
					A guild_storage_db_final()
					A do_final_int_storage()
						IɃJ悤ɂ
				C int_storage.h
					A do_final_int_storage()
						`ǉ
				C inter.c
					pPbg`ύX
					A mapif_parse_CharPosReq()
						0x3090pPbgւ̑Ή
						L̈ʒuvmap-serverɒʒm(0x3890pPbg)
					A mapif_parse_CharPos()
						0x3091pPbgւ̑Ή
						L̈ʒuvLɈʒuʒm(0x3891pPbg)
					A mapif_parse_CharMoveReq()
						0x3092pPbgւ̑Ή
						vL܂őΏۂ̃L΂vʒm(0x3892pPbg)
					A mapif_parse_DisplayMessage()
						0x3093pPbgւ̑Ή
						LɃbZ[W𑗐M(0x3893pPbg)
					C inter_parse_frommap()
						eǉpPbgւ̑Ήǉ
					A wis_db_final()
					A accreg_db_final()
					A do_final_inter()
						IɃJ悤ɂ
				C inter.h
					A do_final_inter()
						`ǉ
				C Makefile
					A nullpo.o nullpo.h ǉ
					A malloc.o malloc.h ǉ
			common/
				C db.c
					A exit_dbn()
						IɃJ邽߂ɒǉ
				C db.h
					A exit_dbn()
						`ǉ
				A malloc.h
				A malloc.c
					mۊ֐̂܂Ƃ
				C mmo.h
					C mmp_charstatus
						mapip mapport ǉ
					C guild_castle
						castle_event ǉ
				C Makefile
					A malloc.o malloc.h malloc.c ǉ
				C nullpo.h
					ÂgccŃRpCł悤\폜
				C socket.c
					C recv_to_fifo()
						ėp߂邽߂ read()  recv() ɕύX
					C send_from_fifo()
						ėp߂邽߂ write()  send() ɕύX
				C timer.c
					A do_final_timer()
						IɃJ悤ɂ
				C timer.h
					A do_final_timer()
						`ǉ
			login/
				C login.c
					A login_version login_type
						clientinfo.xmlŎw肷 login_version login_type ŃOCKƂɎg܂
					C parse_fromchar()
						A 0x272b
							server[].maintenance tOύX
							ύXechar-serverɕԐM(0x272cpPbg)
					C parse_admin()
						C 0x7932
							0x27300x272a ɕύX
					C parse_login()
						C 0x64 0x01dd
							login_version login_type 𔻒肷悤ɂ
						C 0x2710
							pPbg̒`Ȃ̂C
							char.c check_connect_login_server ̕ύX𔽉f
					C login_config_read()
						login_version login_type̓ǂݍ݂ǉ
					A gm_account_db_final()
					C do_final()
						IɃJ悤ɕύX
				C Makefile
					A malloc.o malloc.h ǉ
			map/
				C atcommand.c
					RpCIvVmemwatchǂݍ߂悤ɂ
					C atcommand_where()
						map-serverɂL̋ꏊ\ł悤ɂ
					C atcommand_jumpto()
						map-serverɂLɂׂ悤ɂ
					C atcommand_who()
						[ĥׂĂɂL\悤ɂ
					C atcommand_go()
						juẅړ|CgύX
					C atcommand_recall()
						map-serverɂLĂяo悤ɂ
					A atshuffle_sub()
					A atcommand_shuffle()
						PCMOB̃Vbts @shuffle ǉ
					A atcommand_maintenance()
						char-servereiXԂɂ @maintenance ǉ
					A atcommand_misceffect()
						sL0x1f3pPbg𔭐MăGtFNg\ @misceffect ǉ
					A atcommand_summon()
						R[zNXƋŎw肵Mob @summon ǉ
						ꂽMob͑Mob(Pvł͓GPC܂)U܂
						ꂽMobɍUꂽMob͏U܂(oCIvg̃t[Ɠ)
						ꂽMob1ɏł܂
						l^Ȃ̂ŉBR}hƂhelp.txtɂ͋LqĂ܂
				C atcommand.h
					ǉ@R}h AtCommandType ɒǉ
					C msg_table[] Og悤ɂ邽߂extern
				C battle.c
					RpCIvVmemwatchǂݍ߂悤ɂ
					A battle_config.castle_defense_rate
						{IŖhlǂ̂悤ɉe邩̓Iɂ͕Ȃ̂ŁAԂ̖hl𔽉f闦ݒł悤ɂ
					C battle_get_opt1()
					C battle_get_opt2()
					C battle_get_option()
						NPC̃IvVԂ悤ɂ
					A battle_get_opt3()
						opt3Ԃ悤ɒǉ
					C battle_calc_damage()
						ԓMobւ̃_[W͖hlŌZ(_[W*(hl/100)*(castle_defense_rate/100))悤ɂ
						K[fBAɂ̓XL悤ɂ
					C battle_calc_pet_weapon_attack()
					C battle_calc_mob_weapon_attack()
					C battle_calc_pc_weapon_attack()
						xiXvbV[̃_[WvZ悤ɂ
					C battle_weapon_attack()
						Uɂ鑦̎dlύX
						AZj̊mvZ悤ɕύX
						xiXvbV[悤ɕύX
					C battle_check_target()
						src Ȃ ss party_id guild_id擾悤ɏC
						target=BCT_NOENEMY ȃXL JAn~OȂǂPvPAGvG̎ɂPCɉe悤ɂ
						Mobspecial_aiȂMobGƂ݂Ȃ悤ɂ
					C battle_config_read()
						castle_defense_rate ǂݍނ悤ɂ
				C battle.h
					A battle_get_opt3()
						`ǉ
					C Battle_Config
						castle_defense_rate ǉ
				C chat.c
					C chat_createnpcchat()
						 int pub ǉ
						pub=3 ł̓`bg̊Ŕ(0/20)̂悤ȕ\ȂȂ܂
					A do_final_chat()
						ĂȂǂƂ肠ǉ
				C chat.h
					C chat_createnpcchat()
						`ύX
					A do_final_chat()
						`ǉ
				C chrif.c
					pPbge[ug
					C chrif_connect()
					C chrif_changemapserver()
						WFIFOLŃ|[g𑗂Ă̂WFIFOWɏC
					A chrif_recverasemap()
						map-serverؒfꂽƂchar-serverʒmꂽɁAmap-serverǗĂ}bv̏폜悤ɂ
					A chrif_mapactive()
						map-serverN0A1char-serverɒʒm(0x2b13)ċNrɃ[U[OCłȂ悤ɂ
					A chrif_maintenance()
						char-servereiXԂɂʒm(0x2b14)
					A chrif_maintenanceack()
						char-servereiXԂɂ̉
						eiXԂɂ|}bvɒʒm
					A chrif_chardisconnect()
						char-serverɃLؒfꂽƂʒm(0x2b18)
					A chrif_parse_chardisconnectreq()
						char-server̃Lؒfv󂯂āAΏۃLꍇɂ͐ؒf
					C chrif_parse()
						C 0x2b09
							map_addchariddb() ̈ɑΉ
						A 0x2b15
						A 0x2b16
						A 0x2b17
						A 0x2b19
							eVKpPbgɑΉ
					C check_connect_char_server()
						ڑchar-servermap-serveȑoƂʒm悤ɂ
					A do_final_chrif()
						Ichar-serverƂ̐ڑ폜悤ɂ
				C chrif.h
					A chrif_mapactive()
					A chrif_maintenance()
					A chrif_chardisconnect()
					A do_final_chrif()
						`ǉ
				C clif.c
					ׂẴpPbg` packet_db ǂݍނ悤ɕύX
					packet_db.txtύX邱ƂŁAxXύX؍NCAg̃pPbg`ɑΉ₷Ȃ܂
					packet_len_table[]  packet_db[].len ɒu܂
					<time.h> include
					clif_parse_*擪Ő錾悤ɂ
					clif_parse_*RFIFOnŎgĂ2 packet_db[cmd].pos[] ŕ\L悤ɂȂ܂
					pPbgԍ̍ől MAX_PACKET_DB Œ`悤ɂ
					C clif_set0078()
					C clif_set007b()
						pPbg̓e{IƈĂ̂guild_emblem_id,manner,opt3𐳂悤ɕύX
					C clif_class_change()
						MobȊONPCłg悤ɂ
					C clif_mob0078()
					C clif_mob007b()
						K[fBAɃMhGu\悤ɕύX
					C clif_npc0078()
						[v|[^MhtbOɂIvVLɂmap-serverC
					C clif_spawnnpc()
						NPCłHideԂ̎̓pPbg𑗂悤ɕύX
					C clif_quitsave()
						LIchar-serverɐؒfʒm悤ɂ
					C clif_scriptmenu()
					C clif_dispchat()
					C clif_changechatstatus()
						len1oCgǉ
					C clif_updatestatus()
						}i[|Cg𑗐M悤ɂ
					A clif_changestatus()
						͂ɐԃGԂł邱Ƃ𑗐M
					A clif_misceffect2()
						GtFNg𔭐pPbg𑗐M
						@misceffect, misceffect߂Ŏgp
					C clif_changeoption()
						Ԉُ펞ȊO͏ԈُACR\pPbg𑗂Ȃ悤ɂ
						PC̎ clif_changelook() 𑗐M悤ɂ(ߏ֕\pH)
					C clif_traderequest()
						pPbg 0xe5  0x1f4 ɉΉ({Ił̎Zo͕sȂ̂łƂ肠 char_id 𑗐M)
					C clif_tradestart()
						pPbg 0xe7  0x1f5 ɉΉ({Ił̎Zo͕sȂ̂łƂ肠 char_id 𑗐M)
					C clif_getareachar_pc()
						}i[|Cg̎ɂ͐ԃG\pPbg𑗐M悤ɂ
					C clif_getareachar_npc()
						NPCHideԂɑΉ
					C clif_getareachar_skillunit()
					C clif_skill_nodamage()
						̎heal𕉐ɂł悤ɂ
					C clif_skill_setunit()
						OtBeBɑΉ
					A clif_item_repair_list()
						CXLɑΉ悤ƂǃpPbgȂ̂œڍ
					C clif_produceeffect()
						map_addchariddb() ̈ɑΉ
					C clif_guild_skillinfo()
						MhXL JX}\Ȃ悤ɂ
					C clif_callpartner()
						ȂɈ gpɑ̖OԂ悤ɂ
					C clif_sitting()
						 fd ͕svȂ̂ō폜
					C clif_GM_kick()
						tO0ɂ悤ɂ
					A clif_wisexin()
						Wisۋ̉𑗐M
					A clif_wisall()
						WisSۋ̉𑗐M
					A clif_soundeffect()
						SE炷pPbg𑗐M
						soundeffect߂Ŏgp
					C clif_parse_LoadEndAck()
						̃EFfBOhX^LV[h̏ԂOAEgĂ1Ԃ͌p悤ɂ
						ԃGԂ̓OAEgĂOC܂p悤ɂ
					C clif_parse_QuitGame()
					C clif_parse_Restart()
						IłȂ pc_isquitable() ɂ܂Ƃ߂
					C clif_parse_GlobalMessage()
					C clif_parse_Wis()
					C clif_parse_PartyMessage()
					C clif_parse_GuildMessage()
						ԃGԂł͔łȂ悤ɂ
					C clif_parse_ActionRequest()
						MhȂǂ̏ꍇ̓K[fBAGyEȂ悤ɂ
						clif_sitting()̈ύXɑΉ
					C clif_parse_UseItem()
						ԃGԂł̓ACegȂ悤ɂ
					C clif_parse_EquipItem()
						ACej󂳂Ă鎞͑łȂ悤ɂ
					C clif_parse_TradeRequest()
					C clif_parse_TradeAck()
						notrade}bvł͎v𑗂Ȃ悤ɂ
					C clif_parse_UseSkillToId()
					C clif_parse_UseSkillToPos()
					C clif_parse_UseSkillMap()
						noskill}bvł̓XLgpłȂ悤ɂ
						`bg̓XLgpłȂ悤ɂ
						ԃG̓XLgpłȂ悤ɂ
						EFfBOԂł̓XLgpłȂ悤ɂ
					C clif_parse_MoveToKafra()
						itemdb_isdropable()==0 ͑qɂɓȂ悤ɂ
					C clif_parse_GMReqNoChat()
						GMENbNŐԃGt^Eł悤ɂ
					C clif_parse_GMReqNoChatCount()
						{Ił̕ԓpPbg悭Ȃ̂ŉΉ
						{̓AJEgԂ̂ȁH
					C clif_parse_sn_explosionspirits()
						NCAgpPbgɃR\[ɃO\悤ɂ
						BaseLv99ȏ̎0ŏZ\̂
					A pstrcmp()
						clif_parse_wisexin()qsort()Ŏgp
					A clif_parse_wisexin()
						WisۋɑΉ
					A clif_parse_wisexlist()
						WisۃXg\ɑΉ
					A clif_parse_wisall()
						WisSۋɑΉ
					A clif_parse_GMkillall()
						GMR}h/killall(=@kickall)ɑΉ
					A clif_parse_GMsummon()
						GMR}h/summon(=@recall)ɑΉ
					A clif_parse_GMshift()
						GMR}h/shift(=@jumpto)ɑΉ
					A clif_parse_debug()
						packet_db.txt̃foOpɒǉ
						pPbge_v܂
					C clif_parse()
						clif_parse_func_table 폜(packet_db[cmd].funcɓ悤ɂȂ܂)
					A packetdb_readdb()
						packet_db.txtǂݍ݂܂
						tH[}bg pPbgԍ,pPbg[,R}h,R}ḧʒu(:؂ŕw)]
						R}ḧʒu͊eR}hɑΉ֐Őݒ肳Ă̂clif.cǂ܂ȂƕȂȃtH[}bgł
						ύXꂽpPbgpacket_db.txt̖ɒǉ܂
						ÂNCAg𗘗pꍇɂ͕svȒ`𖖔폜΂悢悤ɂ܂
					A do_final_clif()
						IɃZbV폜悤ɂ
					C do_init_clif()
						packet_dbǂݍނ悤ɂ
						IɃZbV폜ł悤 make_listen_port() ̖߂l map_fd ɓ悤ɂ
				C clif.h
					A MAX_PACKET_DB
					A struct packet_db
					A clif_changestatus()
					A clif_misceffect2()
					A clif_callpartner()
					A clif_sitting()
					A clif_soundeffect()
					A clif_item_repair_list()
					A do_final_clif()
						`ǉ
					C clif_class_change
						clif_mob_class_change() ύX
				C guild.c
					C guild_read_castledb()
						castle_event ǂݍނ悤ɂ
					C guild_skillup()
						ύX
						flag=1 ŃMh|CggpȂ悤ɂ
					C guild_broken()
						MhUɏLԂj邽߂ OnGuildBreak Cxgǉ
					A guild_db_final()
					A castle_db_final()
					A guild_expcache_db_final()
					A guild_infoevent_db_final()
					A do_final_guild()
						IɃJ悤ɂ
				C guild.h
					C guild_skillup()
						`ύX
					A do_final_guild()
						`ǉ
				C intif.c
					atcommand.h include
					packet_len_table[] g
					C intif_guild_skillup()
						 flag ǉ
					A intif_charposreq()
						L̏ꏊvpPbg𑗐M
						flag=1 @jumpto
						flag=0 @where
					A intif_jumpto()
						map-server̃L @jumpto o悤ɂ
					A intif_where()
						map-server̃L @where o悤ɂ
					A intif_charmovereq()
						LĂъ񂹂
						flag=1 @recall
						flag=0 ȂɈ
					A intif_displaymessage()
						map-server̃LɃbZ[W𑗂悤ɂ
						(Wisł͂ȂđςȂB@recall p)
					C intif_parse_WisMessage()
						Wisۂ̔悤ɂ
					A intif_parse_CharPosReq()
						L̋ꏊInter֕ԓ
					A intif_parse_CharPos()
						L̋ꏊInter瑗Ă̂
						flag=1 L̏ꏊֈړ(@jumpto)
						flag=0 L̏ꏊ\(@where)
					A intif_parse_CharMoveReq()
						LwʒuɈړ
						flag=1 @recall Ȃ̂GMxrAbZ[W\
					A intif_parse_DisplayMessage()
						wLɃbZ[W𑗐M
					C intif_parse()
						VpPbgǉ
				C intif.h
					C intif_guild_skillup()
						`ύX
					A intif_jumpto()
					A intif_where()
					A intif_charmovereq()
					A intif_displaymessage()
						`̒ǉ
				C itemdb.c
					A itemdb_isdropable()
						ACêĂ邩ǂ̔
					A itemdb_read_cardillustnametable()
						grft@C num2cardillustnametable.txt ǂݍ
						cutincard߂Ŏgp
					C do_init_itemdb()
						itemdb_read_cardillustnametable() ǉ
				C itemdb.h
					C struct item_data
						char cardillustname[64] ǉ
					A itemdb_isdropable()
						`̒ǉ
				C Makefile
					A malloc.o malloc.h ǉ
				C map.c
					C struct charid2nick
						@whoőmap-server̃L\ł悤 account_id ip port ǉ
					C map_freeblock()
					C map_freeblock_unlock()
						dfree()΍NULL悤ɂ
					C map_delblock()
						₷悤ɌJԂgpϐ܂Ƃ߂
					C map_addchariddb()
						charid2nick ̊gɂ킹Ĉ𑝂₵
					A map_delchariddb()
						charid_db L폜(ۂɂip port0)
					C map_quit()
						Ԓ̓OAEgĂ1Ԃ͏Ԃ悤PCO[oϐ PC_WEDDING_TIME ɊJnԂL^悤ɂ
					C map_id2bl()
						₷悤ɏ
					A map_eraseipport()
						map-serverǗ̃}bv map_db 폜
					A map_who_sub()
					A map_who()
						map-serverɂL @who ŕ\悤ɂ
						\Lc邱Ƃ̂͒
					A id_db_final()
					A map_db_final()
					A nick_db_final()
					A charid_db_final()
					C do_final()
						IɃJ悤ɕύX
				C map.h
					A MAX_WIS_REFUSAL
						WisۃXg̕ۑől
					C struct map_session_data
						C special_state
							A unbreakable_weapon
								킪΂ɉȂ
							A unbreakable_armor
								Z΂ɉȂ
						A opt3
							ʊOĂL̏
						A areanpc_id
							OnTouchCxgsNPCID
						A wis_refusal[][]
							WisۃXg
						A wis_all
							WisSۃtO
						A break_weapon_rate
							j
						A break_armor_rate
							Zj
						A add_steal_rate
							ǉXeB[
					C struct npc_data
						A opt1,opt2,opt3,option
							PCƓ
						C u.scr
							A src_id
								ĨJp
					C struct mob_data
						A opt3
							PCƓ
						A guild_id
							K[fBAȂǂŎgp
						D exclusion_*
							֘A֐̂ō폜
					C struct map_data
						C flag
							A notrade
								֎~}bvtO
							A noskill
								XLgp֎~}bvtO
					萔̒ǉ
						SP_PARTNER SP_CART
						SP_BREAK_WEAPON_RATE SP_BREAK_ARMOR_RATE SP_ADD_STEAL_RATE
						SP_UNBREAKABLE_WEAPON SP_UNBREAKABLE_ARMOR
					D talkie_mes[]
						`폜
					C map_addchariddb()
						`ύX
					A map_delchariddb()
					A map_eraseipport()
					A map_who()
						`ǉ
				C mob.c
					D mob_exclusion_add()
					D mob_exclusion_check()
						ӖgpĂȂ̂battle_check_target()őpł̂ō폜
					C mob_stop_walking()
						type&4ŖړȈꏊ܂ŋ1iŎ~܂悤ɂ
					C mob_attack()
						MobMobUł悤ɂ
					C mob_target()
					C mob_ai_sub_hard_slavemob()
						mob_exclusion_check()폜
					C mob_ai_sub_hard_activesearch()
					C mob_ai_sub_hard()
						special_mob_aiȏꍇMobG悤ɂ
						[gX^[ڕW̃ACe͖ړȈꏊ܂ŕȂ悤ɂ
					C mob_damage()
						XtBA}CꂽɎȂ̂C
						XtBA}CĎ鎞Ɉړ悤ɂ
						srcMob̎src̃^[QbgO悤ɂ
					C mob_skillid2skillidx()
						CfbNX0n܂̂ɃG[0ԂĂ̂C
						XtBA}CĂȂ͂
					C mobskill_use()
						Ԃł̓XLgpłȂ悤ɂ
					C mob_spawn()
						K[fBAƃGyEԂŔꍇ guild_id ݒ
						opt3  0 ŏ
					C mob_can_reach()
						GvGȊOł̓K[fBA͉Ȃ悤ɂ
					C mob_catch_delete()
						MobƂ̃GtFNg type Ŏwł悤ɂ
					C mob_timer_delete()
						XtBA}CƃoCIvgƂ̓e|GtFNgŏ悤ɂ
					C mob_deleteslave_sub()
						null`FbNOɑĂ镔C
					C mob_class_change()
						clif_class_change() ̕ύXɑΉ
				C mob.h
					C mob_catch_delete()
						`ύX
					D mob_exclusion_add()
					D mob_exclusion_check()
						`폜
				C npc.c
					C struct npc_src_list
						A prev
							ĨJpɒǉ
					C npc_checknear()
						CxgPC̏ꍇɏOKԂĂȂ̂C
					A npc_enable_sub()
						npc_enable() Ă΂Ď͂PCOnTouchCxgs
					C npc_enable()
						flag ɂ鋓ǉ
						flag=2 NPCHideԂ
						flag=4 NPCHideԂɂ
						HideĂNPC͖ɂȂ܂
						Lɂ npc_enable_sub() ĂԂ悤ɂ
					C npc_event()
						G[1Ԃ悤ɕύX
						OnTouchCxgĂ΂ꂽƂ̓CxgȂG[ԂȂ悤ɂ
					C npc_touch_areanpc()
						PCGAʂɉxŝC
						NPCOnTouchCxgꍇɂ͎s悤ɂ
						݊ۂ߂OnTouchCxgꍇ͍܂łƓ悤ɓ܂
					C npc_parse_warp()
						option,opt1,opt2,opt3  0 ŏ
					C npc_parse_warp()
					C npc_parse_shop()
						IDnpc_get_new_npc_id()Ŏ擾悤ɂ
						option,opt1,opt2,opt3  0 ŏ
					C npc_convertlabel_db()
						mیnullǂmFĂȂ̂C
					C npc_parse_script()
						bad duplicate name!G[\sĂȂ̂C
						IJpduplicate src_id }
						IDnpc_get_new_npc_id()Ŏ擾悤ɂ
						option,opt1,opt2,opt3  0 ŏ
					C npc_parse_mob()
						memwatch΍ŃꊇmۂȂ悤ɂ
						X^[ --ja-- --en-- w肷mob_db̖Og悤ɂ
						IDnpc_get_new_npc_id()Ŏ擾悤ɂ
					C npc_parse_mapflag()
						notrade noskill ǂݍނ悤ɂ
					A ev_db_final()
					A npcname_db_final()
					A do_final_npc()
						IɃJ悤ɂ
					C do_init_npc()
						J悤ɂ
				C npc.h
					A do_final_npc()
						`̒ǉ
				C party.c
					A party_db_final()
					A do_final_party()
						IɃJ悤ɂ
				C party.h
					A do_final_party()
						`̒ǉ
				C pc.c
					A pc_numisGM()
						account_idGMǂf
					A pc_isquitable()
						PCIłԂɂ邩ǂf
						1ԂƂ͏IłȂ
					C pc_counttargeted_sub()
						MobԂɂĒl𐳂ԂȂ悤ȋĈŏύX
					C pc_makesavestatus()
						}i[|Cg̏ꍇ 0 ɂ
					C pc_authok()
						wis_all  0 ŏ
						map_addchariddb() ̕ύXɑΉƏɎs悤ɂ
					C pc_calcstatus()
						break_weapon_rate break_armor_rate add_steal_rate  0 ŏ
						Ԃł͕xɂȂ悤ɂ
					C pc_bonus()
						SP_UNBREAKABLE_WEAPON SP_UNBREAKABLE_ARMOR SP_BREAK_WEAPON_RATE SP_BREAK_ARMOR_RATE SP_ADD_STEAL_RATE
						ǉ
					C pc_dropitem()
						ACêĂ邩ǂ肷悤ɂ
					C pc_putitemtocart()
						ACeJ[gɈړł邩肷悤ɂ
					C pc_steal_item()
						XeB[ add_steal_rate Z悤ɂ
					C pc_walk()
					C pc_movepos()
						͈NPCȂƂɂ areanpc_id=0 ɂ
					C pc_checkbaselevelup()
						XpmrxAbvɂXL̃x{Iɂ킹
					C pc_skillup()
						guild_skillup() ̕ύXɑΉ
					C pc_damage()
						XpmrExp99%HP0ɂȂHP񕜂ċԂɂȂ悤ɂ
					C pc_readparam()
						null`FbNOsdgĂ̂C
						A SP_PARTNER
							char_id
						A SP_CART
							J[gĂꍇ0ȏオԂ
					C pc_jobchange()
						}i[|Cg̏ꍇ͐ԃG\悤ɂ
					A pc_break_weapon()
						j
					A pc_break_armor()
						Zj
					C pc_natural_heal_sp()
						Xpmr͔ԂłSPR񕜂悤ɂ
					A gm_account_db_final()
					A do_final_pc()
						IɃJ悤ɂ
				C pc.h
					A pc_numisGM()
					A pc_isquitable()
					A pc_break_weapon()
					A pc_break_armor()
					A do_final_pc()
						`ǉ
				C pet.c
					C pet_data_init()
					C pet_lootitem_drop()
						mۂłǂmFĂȂ̂ŏC
					C pet_catch_process2()
						mob_catch_delete() ̕ύXɑΉ
				C script.c
					ǉ֐̃vg^Cv擪ɒǉ
					buildin_func[]ɒǉ߂֐ǉ
					Zq C_R_SHIFT C_L_SHIFT ǉ
					C parse_subexpr()
						Zq >> << ǉ
					C get_val()
						PĈ̕ϐPCA^b`ĂȂG[o悤ɂ
						PĈ̕ϐsd=NULLꍇɂpc_read*Ŏ擾ɍsȂ悤ɂ
					A buildin_close2()
						XNvg𒆒fClose{^\܂
					C buildin_areawarp_sub()
						RandomłȂSavePointɂ΂悤ɂ
					A buildin_cutincard()
						J[h̃ACeIDw肷邱ƂŃJ[h摜\܂
					C buildin_getitem()
						ύXĊӒ肵Ԃœnǂwł悤ɂ
						account_idw肷邱ƂŁAPCɃACen悤ɂ(pg)
					C buildin_getitem2()
						account_idw肷邱ƂŁAPCɃACen悤ɂ(pg)
					C buildin_readparam()
						Lw肷邱ƂŁAPC̃p[^ǂݎ悤ɂ
					C buildin_getcharid()
						Lw肷邱ƂŁAPC̊֌WID擾ł悤ɂ
					A buildin_getpartymember()
						wID̃p[eBl̎擾ƃp[eB[o[IDzŎ擾ł܂
					A buildin_guildskill()
						MhXLo邱Ƃł܂
					C buildin_getgdskilllv()
						MhXLIDGD_APPROVAL̂悤ȃXLŎw肷悤ɂ
					A buildin_hideoffnpc()
						HideԂNPC\
					A buildin_hideonnpc()
						NPCHideԂɂ
					C buildin_sc_start()
						IDw肵LԈُɂł悤ɂ
					A buildin_sc_start2()
						mwŃLԈُɂł܂(ACXAŎgp)
					A buildin_getscrate()
						ԈُϐvZmԂ
					C buildin_changebase()
						IDŎw肵ĽڂύX邱Ƃł悤ɂ
					C buildin_waitingroom()
						limit=0̎(1/10)\Ȃ悤ɂ
					C buildin_setmapflag()
						MF_NOTRADE MF_NOSKILL ǉ
					C buildin_flagemblem()
						NPCłȂƂmap-serverC
					A buildin_getinventorylist()
						zŏiԂ܂
					A buildin_getskilllist()
						zŏLXLԂ܂
					A buildin_clearitem()
						ACe폜܂
					A buildin_getrepairableitemcount()
						ĂACe𐔂܂
					A buildin_repairitem()
						ĂACeׂďC܂
					A buildin_classchange()
						NPCNX`FW܂
					A buildin_misceffect()
						GtFNg\܂
					A buildin_soundeffect()
						w肵SE炵܂
					C op_2num()
					C run_script_main()
						VtgZqǉ
					A mapreg_db_final()
					A mapregstr_db_final()
					A scriptlabel_db_final()
					A userfunc_db_final()
					C do_final_script()
						IɃJ悤ɂ
				C skill.c
					<timer.h> intif.h include
					Rg̃XLjROdlɏ
					C SkillStatusChangeTable[]
						xiXvbV[ OtBeB  2 ǉ
					C skill_additional_effect()
						xiXvbV[ǉ
						ANXlA폜
					C skill_attack()
						`bgɃXLeȂ悤ɂ(`bgLZ)
						xiXvbV[SkillLv=-1clif_skill_damage()悤ɂ
						̓_[W\Ȃ悤ɂ
					C skill_castend_damage_id()
						AVbhe[ŕj悤ɂ
						xiXvbV[3*3͈͍̔U悤ɂ
						̏ύX
					C skill_castend_nodamage_id()
						sddstsdPCǂ𔻒肷悤ɂ
						Xpmr̉łq[gƉ񕜗ʂ2{ɂȂ悤ɂ
						clif_sitting()̕ύXɑΉ
						C̓pPbgȂ̂ŃRgAEg
						Xgbv`AP~J`XLjbgɎgpꍇAmap-serverC
						N͌AȂׂ̈ɋ]ɂȂ܂̌vZMAX_HP܂MAX_SP炷悤ɂ
						ȂɈ 𑊎̖OԁAݒułȂA{Iɂ
						ANXlAPCĂ鎞Ƀ[ugbvĂPC悤ɂȂȂ̂C
						AR[Ԃ悤ɂ
						xiXvbV[
						ŎԂJn悤ɂ
					C skill_castend_pos2()
						oCIvgAXtBA}C
							pPbgԂύX
							w肵ꏊɐݒu悤ɂ
							ʎԂskill_cast_db.txtŎw肷悤ɂ
							mob_exclusion_add()폜
						OtBeBA1u܂
					C skill_castend_map()
						[v|[^͎ۂ̐ݒuɃu[WFXg[悤ɂ
					C skill_unitsetting()
						OtBeB̃XLjbg1ɏC
						g[L[{bNXAOtBeB̕ sd->message Ɋi[悤ɂ
					C skill_unit_onplace()
						`bg̓XLjbg삵Ȃ悤ɂ(`bgLZ)
						ANXlAɂ鏈skill_additional_effect()ړ
						[v|[^ɏp҂悤ɂ
						fXg[Vɂ镐j悤ɂ
						ANXlAAXpC_[EFbuŃANZXᔽN\̂C
					C skill_unit_onout()
						ANXlAŁu}vȂ߂ɋ߂ʂ肩1b㩂ɖ߂Ă܂̂C
					C skill_unit_onlimit()
						[v|[^Ȍ폜
						ȂɈmap-serverɂĂĂׂ悤ɂ
					A skill_check_condition_mob_master_sub()
						}bvœPCooCIvgXtBA}C̐𐔂
					C skill_check_condition()
						hp_ratesp_rateɕw肷ƏvZMaxl炷悤ɂ
						ȂɈĂȂԂŎggps\悤ɂ
						oCIvgƃXtBA}C̐ݒuskill_cast_db.txtŐݒł悤ɂ
						t@CA[EH[̐ skill_use_pos() ړ
					C skill_use_id()
						oWJGvGł͎gpłȂ悤ɂ
						xiXvbV[͑ΏۂŏԂłȂΎgps
					C skill_use_pos()
						t@CA[EH[̐ skill_check_condition() Ɉړ
					C skill_status_change_end()
						opt3̏ǉ
						Ԃ̏Iǉ
						xiXvbV[ǉ
						ǉ
					C skill_status_change_timer()
						ԂƐԃGԂ̃^C}[Đݒǉ
						Ԃł1bƂɑxω悤ɂ
					C skill_status_change_start()
						opt3̏ǉ
						OtBeB͒ǉŒuÔ͏悤ɂ
						ԂƐԃGԂǉ
						OtBeB͏ԈُJnɃXLjbgݒu悤ɂ
						xiXvbV[͓ɉǉ͂Ȃ
						͉rpPbgő悤ɂ
					C skill_status_change_clear()
						opt3̏ǉ
					C skill_unit_timer_sub()
						[v|[^OԐ؂ɂȂƂɌڂύXĖ{Î悤Ɍʉo悤ɂ
						uXg}CȊO㩂͎Ԑ؂㩂ɖ߂悤ɂ
				C skill.h
					ԈُɃXLAVK̏Ԉُ𑝂₵
				C storage.c
					A storage_db_final()
					A guild_storage_db_final()
					C do_final_storage()
						IɃJ悤ɂ
				C trade.c
					C trade_tradeadditem()
					C trade_tradecommit()
						itemdb_isdropable()ŌłȂACe𔻒肷悤ɂ
				C vending.c
					vending_purchasereq()
						zvZdoubleł悤ɂintŌӂꂵȂ悤ɂ

--------------------
//1045 by TEILU

EXeB[AXeB[RCAXib`[̎sbZ[W
  xP`X̎ɕς̂ŏCB
	(map/)
	skill.c

EB̉ۂTCgɂcaɐݒBirusi쐬gpj
	(db/)
	item_db.txt

Et@CA[EH[𒴂ƂɃXLgps
  o^C~OύXB
	(map/)
	skill.c

EAuJ^upXLgm_all_skillݒ莞ɕ\ł悤ɕύXB
  battle_athena.confgm_all_skill_add_abrayesݒ肷
  XLXgɕ\悤ɂȂ܂B
	(conf/)
	battle_athena.conf
	(db/)
	skill_require_db.txt
	(map/)
	battle.c
	battle.h
	pc.c

--------------------
//1044 by TEILU

E1042@itemidentify̌̐ݒYĂ̂ŒǉB
	(conf/)
	atcommand_athena.conf

EXeB[AXeB[RCAXib`[̎s
  sbZ[W\悤ɕύXB
	(map/)
	skill.c

EACecaɐBۃtÕJǉ
  B̉ۂcaQƂ悤ɏC
	Ƃ肠iAiAi̓ƃANZTȊO
	  iׂ͂ĐB̐ݒłca܂B
	  ca͏CKvɂȂ܂B
	(db/)
	item_db.txt
	(map/)
	itemdb.c
	itemdb.h
	script.c

--------------------
//1043 by dusk
EdoctH_EconftH_help.txt1042(TEILU)̐ǉ
	@itemidentify̐͂VQsڂ@itemreset̉ɁB

EValkyrie Realms 5 (E)̊̏C
	Valkyrie Realms 5 (E)̊Ɩ擾ԃRg΂oĂ̂
	ƊmFł悤ɁB
	 Valkyrie Realms̊eԂɖ߂Ƃ͈Ⴂ܂B
	prtg_cas05.txt̃Mh_Wɓ郌o[ȊO
	getcastledata "prtg_cas05.gat",1,@GIDp5;
	set @GIDp5,getcastledata("prtg_cas05.gat",1);ɏCB

--------------------
//1042 by TEILU

E@healR}hɉnȂƊS񕜂悤ɕύXB
	(map/)
	atcommand.c

E@itemitemidentifyR}h̒ǉ
  Ӓ̏ACeSĊӒ肵܂B
	(conf/)
	msg_athena.conf
	(map/)
	atcommand.c
	atcommand.h

--------------------
//1041 by mare
	FIX NPC Script Command - buildin_getgdskilllv()
        Add NPC Sctipt Command - buildin_agitcheck()
	(script/npc/job/)
	npc_job_wizard.txt
		Ȇ䎌Amrƃv̏ꍇ̕ǉ
-------------------
//1040 by Ӓ

ET[o[Ԑڑ̃pPbg\ǉ
	(doc/)
	serverlink_packet.txt
		inter<->map ȊÕT[o[Ԑڑ̃pPbg\

EdlX Login_ID2 ֌Włɂ傲ɂ
ET[o[Ԑڑ̃pPbgꕔύX
	(login/)
	login.c
		auth_fifo  ip oǉ
		pPbgύXɔύX
	(char/)
	char.c
		auth_fifo  login_id2, ip oǉ
		pPbgύXɔύX
	(map/)
	chrif.c
		chrif_authok()ǉ
		pPbgύXɔύX

EċNXNvg start ɃRgŊȒPȐǉ
	start
		Rgǉ

--------------------
//1039 by Ni+S
	EMh֌W̃XNvg
	L҂̋ȂAWgAMhɏĂȂLȂ
	Mh_WɓĂ܂Ƃs܂

	́AL҂̋ȂAWg̒l0łA
	getcharid(2)ŃMhIDԂ̂łA
	MhɏĂȂLgetcharid(2)0ԂׁA
	lvĂ܂NĂۂł
	LȂ悤ɏC܂

	Et@[}V[/|[V쐬DB
		bhX|[V
		CG[X|[V
		zCgX|[V
	̍ޗÃ|[Vr玎ǂɏC

--------------------
//1038 by Plala
E]ENPC֘ȀdȃoOC
	(script/npc/job)
	npc_job_aco.txt C
	npc_job_merchant.txt C
	npc_job_thief.txt C

	ELNPCœr܂ŃNGXgi߂đ̐Eɓ]EƁA
	Ăѓ]E\_C܂


--------------------
//1037 by Ӓ

** FOR ENGLISH DEVELOPERS **
DO NOT UPLOAD IF YOU DON'T USE JAPANESE ENCODE (SHIFT-JIS) !
WHY WE(JAPANESE) REPAIR ERROR CHARACTER AFTER EVERY YOUR UPLOADING ?
BREAKING IS EASY, REPAIRING IS VERY DIFFICULT !

** pꌗ̊J҂̕({) **
{GR[h(VtgJIS)gCȂAbv[hȂĂI
ȂXi{ljȂ̃Abv[ĥтɕ𒼂Ȃ΂ȂȂłH
󂷂̂͊ȒPłÂ͂ƂĂłI

EŏC
	(map/)
	script.c

EladminPOSIXK{ɁBDigest::MD5Ăsł悤ɏC
Eserverstatus.cgiŁANet::PingĂsł悤ɏC
	(bin/tool/)
	ladmin
	(bin/tool/cgi/)
	serverstatus.cgi

Escript_refŔĂ̂ł킩̂C
	̂script_ref甲Ă(getargȂ)̈ꕔĂђǉ
	** Abv[hƂ͍ŐVpb`̍Abv[h܂傤 **
	(doc/)
	script_ref.txt

Eaccount_making.txtC
	ladminXNvg̃pX
	(doc/)
	accoun_tmaking.txt

--------------------
//1036 by Michael
Eǉ Script Command:
  getequipid(EquipPos);		EquipPos: 1-10
  gettimetick(Type);		Type: 0 SystemTick, 1 TimeSecondTick(0-86399)
  gettime(Type);		Type: 1 Sec, 2 Min, 3 Hour, 4 Weekday, 5, Monthday, 6 Month, 7 Year
  gettimestr("TimeFMT", Len);	TimeFMT: Time format strinf / Len: String Length

	(map/)
	script.c
		buildin_getequipid(); ǉ
		buildin_gettimetick(); ǉ
		buildin_gettime(); ǉ
		buildin_gettimestr(); ǉ

--------------------
//1035 by Michael
Eǉ GVG Script NPC edit from Aegis NPC(Chinese-big5 version), Please someone translate to Japanese.
EC NPC Script Command - buildin_getgdskilllv()
  getgdskilllv(Guild_ID, Skill_ID);

	(map/)
	script.c
		buildin_getgdskilllv() C

--------------------
//1034 by (Pepermint)
	FIX NPC Script Command - buildin_getgdskilllv()
        Add NPC Sctipt Command - buildin_agitcheck()
	(map/)
	script.c
		buildin_getgdskilllv() C
		buildin_agitcheck() ǉ

--------------------
//1033 by Michael
Eǉ NPC Script Command - buildin_getgdskilllv()
  getgdskilllv(Guild_ID, Skill_ID);
  skill_id = 1:GD_APPROVAL,2:GD_KAFRACONTACT,3:GD_GUARDIANRESEARCH,4:GD_CHARISMA,5:GD_EXTENSION

	(map/)
	script.c
		buildin_getgdskilllv() ǉ

--------------------
//1032 by ()
E1031ŉ̂폜Ăbuildin_getitemname()𕜊
EoOXȂǂɏoC𔽉f
ȆׂC

	(map/)
	clif.c
		clif_disp_onlyself() NULL`FbNǉ
	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ɁAmakepetǉB
    makepet ID; ŁAybg쐬܂B
ENPCscriptɁAgetexpǉB
    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 ǉ
	clif.c
	clif.h
		clif_disp_onlyself() ǉ
	pc.c
		pc_gainexp() C
	script.c
		buildin_delitem() C
		buildin_makepet() ǉ
		buildin_getexp() ǉ
	npc.c
		#include C
		npc_selllist() C
	skill.c
		skill_castend_nodamage_id() C


--------------------
//1030 by ()
Emap_athena.confɐVUCRgAEgĒǉ
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 UCǉ
	(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[XLŶmap_quitɔC
	trade.c
		trade_tradecommit() łވȏꍇɃACeȂ悤

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

	(doc/)
	client_packet.txt VpPbgǉ
	(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/cvôƃI[NfBxgƁu/vo܂
EACe682,683gp30bATKMATK炵̂łۂ
Ejob_db2.txtɓ̍s2ŝ폜
E͈͖@ȂǂŃXLjbgɃXe[^XύX悤ƂꍇnullpoôC

	(db/)
	const.txt SC_INCATK SC_INCMATKǉ
	item_db.txt 682,683ɒǉ
	job_db2.txt 2s폜
	mob_skill_db.txt Emotionǉ
	(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֐ǉ
EXNvggetitemname֐ǉ
EitemidAjname𕶎ŕԂ܂
Eڂscript_ref.txtŁB

	script.c
		getitemname()ǉ

--------------------
//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_deletêŒǉĂ݂
	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

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

	(db/)
	produce_db.txt ύX

--------------------
//1023 by ()
E1022ŃGoOnpc_parse_script()߂
EXpCsA[X̏dʒǉ_[WvZƕύX
E@͑̌vZƕύX
EeVbNXĎĝł͂Ȃ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() ǉ
		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() ǉ
	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 01edǉ
	(char/)
	do_final() ύX
	do_init() ύX
	(login/)
	do_final() ǉ
	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() ǉ
		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̔
EUmbalã[v
	D2F̃[v{IgpɕύXBd|CgC
EUmbalaNPCC
	xgpȂꏊ͋ɗ͍폜(-)
	Z[u|CgC
	oW[Wvǉ
	[ǉ
	Aǉ
	JvAēvׂꏊֈړB
	 ꕔEmoɂāAgtɎႦĂ݂Ȃ̂œƎŕς܂B
	 Ă炦Ε܂1828tɂNPC̉beɍEmoô
	NGXgtȌǉ
	@ɂ肷łɏIĂꍇłrɂȂ\܂B
EXpmr]ENPCǉ
	ʂ̃Oɍ쐬܂B
EAP~XgMh̃mȑꍇ̑ΉC(ʂ񂩂̃O)
ENPCǉ
	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() ǉ
		clif_parse_QuitGame() tJn҂͍tɏIłȂ悤ɕύX
		clif_parse_doridori() ǉ
		clif_parse() doridoriǉ
	clif.h ύX
	pc.c
		pc_authok() doridoriǉ
		pc_natural_heal_hp() ĂƂHPRԏC
		pc_natural_heal_sp() ĂƂHPRԏCAdoridoriǉ
	script.c
		buildin_wedding_effect() ǉ


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

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

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

	(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[ǉvoidȊ֐Ă΂ꂽnullpo_retv()ǉ(Ƃ肠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_checkǉ
	(db/)
	item_db.txt wւ𕐊-ANZTɕύXŐV
	(doc/)
	client_packet.txt XV
	conf_ref.txt nullpo_checkǉ
	(common/)
	Makefile ύX
	nullpo.c ǉ
	nullpo.h ǉ
	(map/)
	Makefile ύX
	map.c
		map_config_read() nullpo_checkǉ
	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 鎁̃EoNPCǉ

	(script/npc/town/)
		npc_town_umbala.txtǉ
			CxgfobOl(230`256s)̓RgAEg
	(conf/)
		map_athena.conf town  npc: script/npc/town/npc_town_umbala.txt ǉ

--------------------
//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_typeǉ
	(doc/)
	client_packet.txt {IXbh part3 23 M zqcM6jBw̏ǉ
	conf_ref.txt skill_removetrap_typeǉ
	(map/)
	atcommand.c
		atcommand_go() Eȍoʒu
	battle.c
		battle_config_read() skill_removetrap_typeǉ
	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

--------------------
//1013 by ()
ET[o[XibvVbg

--------------------
//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ʏǉ
	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ۂ鏈ǉ
@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_counterǉ
	npc.c
		npc_click() nullpobZ[WC
	pc.c
		pc_setrestartvalue() nullpobZ[WC
		pc_authok() die_counter̒ǉ
		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ɂĂ܂
@܂Ǎyʉ[hׂ͉啝ɍ팸ł()łA
@̕T[o[̏dȂ܂(ƂĂxCPUΑSRɂȂȂxׂ̕ł)
EVXe^XL
@wւ̓ʈł(Ƃɏo肵܂)
@̂ݖeXgłB
EpXNvg(marriageAdivorce)ǉB
@Emarriage <partner_name>
@@<partner_name>: ̖O
@@߂l: :1@s:0
@@s܂BΏۂ͘b|vC[<partner_name>̃LN^[ŁAǂ炩̏ꍇ͎s܂B
@@1marriageXNvgŐVYVwƐVwVY̌𓯎ɍs܂B
@@܂ÃXNvgŌwւ͗^܂B
@Edevorce
@@
@@߂l: :1@s:0
@@s܂BΏۂ͘b|vC[ŁȀꍇ͎s܂B
@@marriageXNvgƓlɌ݂̗𓯎ɍs܂B
@@܂ÃXNvgƎIɑΏۃLN^[̌wւ͔D܂B

@ǂ̃XNvg̏A2lOCĂȂƐ܂B

	(map/)
	pc.c
		pc_ismarried()Apc_marriage()Apc_divorce()Apc_authok()ύX
		pc_get_partner() ǉ
	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() ǉ
	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
@Ãpb`athena.txt̃o[Wς܂B
@f[^͕̌݊ۂłAÖ׃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() ǉ
	chrif.c
		chrif_divorce() ǉ
		chrif_parse() ύX
	(char/)
	char.c
		char_divorce() ǉ
		char_delete()Ammo_char_fromstr()Ammo_char_tostr() ύX

--------------------
//1007 by ()
ENULL`FbŇ

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

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

	(conf/)
	help.txt jtwCAzǉ
	(map/)
	atcommand.c 
		atcommand go() jtwCAzǉ
--------------------
//1005 by ()
ENULL`FbŇƒǉAʂɕύX̂Ŗ肪o\ł
EEopb`zzꂽ̂@go 12ɃEoǉ
E[hiCg o[T[NƂۂ(ASPDȂǂ͖)
ENEWvV[ ̐ɗԂт̎gptƓɕύX(ʓ͖)
EubVO{Ił̓Xe[^XAbvGtFNĝł̂悤ɕύX
E{IXbh part2 >>145 zzz̕񍐂𔽉f
EX >>143 plala̕񍐂𔽉f

	(db/)
	skill_require_db.txt ύX
	(conf/)
	help.txt Eoǉ
	map_athena.conf Eo֘ÃRgAEg
	(map/)
	atcommand.c NULL`FbN
		atcommand() @mapmoveȂǂŗC
		atcommand_go() Eoǉ
	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͗ǂȂ̂ŉ񕜂悤ɂĂ)
	pet.c NULL`FbN
	skill.c
		skill_castend_nodamage_id() ubVÕpPbgύXAXg[J[Xsɂ͖ɂ
		skill_castend_map() 炢Ƀo[T[NɃXLgȂ悤ɕύX
		skill_check_condition() 
		skill_use_pos() 
		skill_use_id() さ̐ɗԂтǉ
		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() ̐ɗԂтǉ
		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
E0x1c9pPbǧ߂p
ElŐ̂⍇tgpłݒ(player_skill_partner_check)ǉ
	lōtsꍇɂ͒ʏ̃_XƋɂȂ܂
Ev{bN͕sɑ΂ĔȂ悤ɕύX
EFW̐΂ύX
Ef[WɐꔻǉÂmF
EnCfBO̗LԂ@\悤ɏC
EAXyVIsɎgpꍇA40_[W^悤ɕύX
EAXyVIsȊOMOBɎgpĂʂ悤ɕύX
EtA_XAť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_checkǉ
	(db/)
	skill_db.txt AXyVȊ𐹂ɕύX
	(doc/)
	conf_ref.txt player_skill_partner_checkǉ
	(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() AXyVIǉAFWύX
		battle_config_read() ݒǉ
	clif.c
		clif_getareachar_skillunit() ʂ̔f
		clif_skill_setunit() 
	[10011002̊Ԃ̕ύX_]
	skill.c NULL`FbNR
		skill_castend_damage_id() AXyVIǉ
		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
Êő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܂ŉ񕜂(悤Ɍ)C(eXg)
EfXg[ṼGtFNgύX(ɖL)
	(map/)
	skill.c
		skill_count_target() ǉ
		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قŉtp悤ɂ()
Et̓AhuȊOłȂ悤ɕύX()
EtɃ_XȂĂȂǉ({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() _Xfǉ
	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ŕЕƂ̏ǉ
		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() ǉ
		skill_check_condition_use_sub() ǉ
		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 bAddEff2ǉ
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 ǉ
	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
Ë悪ړđΏۂ̈悩甲ĂʂȂ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() ǉ
		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_timerǉB
	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ړ悤ɂ
ẼXLgUnknown skillƕ\邱Ƃ邩܂
ESagẽLXgLZŎ͑ÕXLoĂȂ̏C

	(map/)
	clif.c
		clif_parse_WalkToXY() ύX
	map.h AR[pϐ̒ǉ
	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() ǉ
	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_nightmaredropǉB
	E<gatname><tab>mapflag<tab>pvp_nocalcrank<tab>dummy
	@PvPɂ郉LOvZȂ悤ɂ܂B
	E<gatname><tab>mapflag<tab>pvp_nightmaredrop<tab><item>,<type>,<per>
	@PvPɂĎSꍇA<per>̊mŃACehbv܂B
	@<item>: hbvACeIDw肵܂BrandomƋLqƏi烉_Ƀhbv܂B
	@<type>: hbvACẽ^Cvw肵܂Binventory:i equip:i all:S
	@<per>: hbvmłBŎw肵܂B
	(map/)
	skill.c
		skill_unit_onplace() ύX
		skill_trap_splash() ǉ
	pc.c
		pc_damage() ύX
	npc.c
		npc_parse_mapflag() ύX
	map.h
		map_dataɃoǉ
	(conf/)
	mapflag.txt
		iCgA[hɃhbvݒǉ

--------------------
//0989 by ()
EXvOgbv^ŌSSɎĂ݂B瑊X
EfBeNeBO^ŌɎĂ݂B瑊X
ELXgLZdelete_timerG[ɒǉŃ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Ɍʂǉ(mF)
EuXg}CƃNCAgbvƐԂ悤ɂ
E[ugbv(skill_require_dbŎw肵ACe)ł悤ɂ
E̎ɂ㩂̎Ԑ؂㩂oIWidl̓RgAEg
EuXg}ČʎԂ̂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()ǉ
		buildin_callsub(),buildin_callfunc(),run_func()C
	(doc/)
	script_ref.txt
		ɂĂ̐ǉ

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() ǉ
		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Ɍ蕔ǉ
E0984AthenaGkXbh part3>>92 Michael̏C荞ł
EoO񍐃Xbh part5 >>45ɓ]ڂĂ ˂̏C荞
EoO񍐃Xbh part5 >>54 rarîʂXC荞

	(script/extension/)
	npc_event_kataribe6.txt ǉ
	npc_event_kataribe7.txt ǉ
	(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̂ŏ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]XĹ`
	Xg[J[ WFNg\[h 肪PC̏ꍇ͌ȂΒ˕ԂȂ\
	vtFbT[ CY 12b̌ŒLXg^CǍ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]XĹ`
	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ł{͔͈͍Ȕꍇ͉񕜂Ȃ炵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() ǉ
		pc_spirit_heal_sp() ǉ
		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 Ő݂Ƃ邾
	Xg[J[ WFNg\[h GtFNgƏԈُ펞Ԃ(ۂ̏ԕω͖)
	NEEWvV[ }IlbgRg[ GtFNgƏԈُ펞Ԃ(ۂ̏ԕω͖)
	vtFbT[ tHOEH[ GtFNgƗLԂ
	XiCp[ EChEH[N x㏸QMAYȂłƉ悤ɂ
	XiCp[ gD[TCg QMAYȂłŉ悤ɂĂ݂
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悤ɂ

Ekaleñ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 ǉ
	tbox.txt ǉ

	(/conf)
	battle_athena.conf
		6ڒǉ

	(/map)
	mob.c/mob.h
		mob_attack() C
		mob_counttargeted_sub(),mob_counttargeted() C
		mobskill_use() Cï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ǉ
		enum1ǉ
	map.c/map.h
		map_count_oncell() ǉ 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() ǉ
		sortage_sortitem(), sortage_gsortitem() ǉ
		storage_storageclose(), storage_guild_storageclose() C
--------------------
//0973 by qo^.^o
EXNvgBASELEVEL,JOBLEVELߒǉ
	: set BASELEVEL,1;
	: set JOBLEVEL,1;
	(map/)
	pc.c
		pc_setparam()
		case SP_BASELEVEL: ڒǉ
		case SP_JOBLEVEL: ڒǉ
		
--------------------
//0972 by ()
E]XLGtFNgǉ
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[] ڒǉ
		skill_castend_nodamage_id()  ڒǉ
		skill_status_change_end()  ڒǉ
		skill_status_change_start()  ڒǉ
		
--------------------
//0971 by ()
Eatcommand.hɎcĂjobchange2Ƃ̎c[폜
E]XLGtFNgǉ`sI͂Ȃɒǉ
	GtFNĝ
		nCv[Xg oWJ(HP_BASILICA)
		zCgX~X J[gu[Xg(WS_CARTBOOST)
		XiCp[ gD[TCg(SN_SIGHT)
		WvV[ ̐ɗԂт(CG_MOONLIT)
		pfB SXy(PA_GOSPEL)
	ǉ_[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_[Wǉ͂邯ǂȊO̒ǉʂ͖)
		`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() ڒǉ
		skill_attack() `sIR{ǉ
		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 ()
EhCÑ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ɍڒǉ
@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[Ṽ_[WZoǉB
		battle_configɍڒǉ
	skill.c
		skill_idun_heal()ǉBforeachinareaŏ悤ɕύX
		AVbhe[ƃfXg[V̏ǉB
	atcommand.c
	atcommand.h
		@idsearchǉB

--------------------
//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()ǉA폜CȂ
	int_storage.c/int_party.c/int_guild.c/int_party.h/int_guild.h
		inter_party_leave(),inter_guild_leave()ǉA
		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
		stopCAkillǉ

--------------------
//0967 by Asong
EX^[̎ceB
@ʏ탂X^[̓XLɂtB^[Ȃ̂Ŏco܂B
@ob^X^[ɂ͎co܂B
EX^[XLgpΏۂǉB
@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ȉɈړ])
@ɔMakefilẽpX
Enpc_turtle.txtnpc_town_alberta.txtɓ
EÑR{ɊւfBCύX
Ebattle_config.enemy_critical̃ftHgnoɕύX
E]E𖳌ɂenable_upper_class̒ǉ
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ɍڒǉB
	(map/)
	atcommand.c
		atcommand_mapexit() CB
	pc.c
		pc_steal_item() CB
		pc_show_steal() ǉB
	skill.c
		skill_unitsetting()Askill_unit_onplace() CB
	battle.c
		battle_config_read() CB
	battle.h CB
	(doc/)
	conf_ref.txt Ă̂FXǉB

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

ȆOǉskill_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_BASEǉ
	pc.c
		pc_calc_skilltree() C
		pc_allskillup() C
		pc_readdb() C

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

E@jobchange2, @jobchange3p~ @jobchangeɈǉ @helpQ
	: @jobchange2 10  @jobchange 10 1
El@charjob2, @charjob3p~ @charjobɈǉ @helpQ
	: @charjob2 10 قق  @charjob 10 1 قق
ElɃXNvgjobchange2, jobchange3ߔp~ jobchangeɈǉ script_ref.txtQ
	: jobchange2 10;  jobchange 10,1;
Eǂǉꂽ͏ȗ\łBȂ̂ŁA]m[rX͌̃XNvgœ]ꎟEɓ]Eł܂B
	:	Novice High  @jobchange 10  Whitesmith
		Novice  @jobchange 10  Blacksmith
EXNvg]Ă邩肷邽߂Upperǉ܂BUpper 0=ʏ, 1=], 2={q
	Upper=0̎BaseLevel=99Ȃ]`ƂXNvgNĂ
	̎Ɍ̐EƂ͋LĂȂ̂ŉiϐƂŊ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[ǉAeAthenaQlɊ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 ǉ
	(map/)
	skill.h 萔C
	pc.c
		pc_calcstatus() C
		pc_allskillup() C
		pc_calc_skilltree() C
		pc_readdb() C
	
--------------------
//0961 by Ӓ

EXNvgɃTu[`/[U[`֐@\ǉ
	ڂ̓Tvscript_ref.txtǂłB
	nɑȂ̂ŁAXNvg֌WŃoO邩܂B
	
	(map/)
	map.h/map.c
		struct map_session_data ɃXNvgޔp̃oǉ
		map_quit()C
	script.h/script.c
		FXC(run_script(),run_func())
	npc.c
		npc_parse_function()ǉ
	(conf/sample)
	npc_test_func.txt
		[U[`֐/Tu[eB̃eXgXNvg
	(doc/)
	script_ref.txt
		Tu[eBȂǂ̐ǉ

--------------------
//0960 by ()
E{IXbh part2 >>62 KK̃ANXlAC𓯍
EoO񍐃Xbh part5 >>14-16 rb̃oOC𓯍
EFor English User Forum >>15 Mugendai̎wE0x1d7ĝVal>255ɏC(0xc3Val1oCg0x1d7ĝƔ[)
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ɓ]񎟐ẼXe[^Xdljob_db2-2.txtɋLq
EXNvgjobchange2jobchange3ǉꂼ]EƗ{qE֓]E閽߂ł

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

--------------------
//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() ǉ
		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@charjob3ǉA֌WƂĂ@charjob@jobchangeA@charjob2@jobchange2A(ry
E@mapexitǉAmap-server𗎂ƂR}hłatcommand_athena.confł99ݒɂĂ܂̂Ŏgpɂ͏\ӂĂB

	(map/)
	atcommand.c
		atcommand_character_job2() ǉ
		atcommand_character_job3() ǉ
	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 kingbõf[^ɏC
E]Ěole[uOWNQƂBase99̌ol͕ŝœKɐݒ

	(map/)
	atcommand.c
		atcommand_jobchange() C
		atcommand_jobchange2() ǉ
		atcommand_jobchange3() ǉ
	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
  EEACé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 ǉ
	(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() ǉ
		pet_delay_item_drop2() ǉ
		pet_ai_sub_hard_lootsearch() ǉ
	pet.h C
	skill.c
		skill_castend_pos2() C

--------------------
//0954 by ()
Eobject_del.batŊeserver.exe폜悤ɂ
EFor English User Forum >>11 kingbȍ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
ȆH

	(/)
	athena-start ύX
	(db/)
	mob_db.txt ύX
	(conf/)
	map_athena.conf ύX
	(conf/extension/)
	npc_gldcheck.txt ǉ
	(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 ǉ

--------------------
//0950 by ()
Emob_dbModetOɈȉ̕ǉ
	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
@VXêXe[^XωȊOЂ[悤ɏCB
EtXg_Co[̎dlύXB
@C(}WXev)B
EJo[̎dlύXB
@mANeBuX^[Ɏgpƃ^[QbgZbg悤ɏCB
EN@O}CA̎dlÂŏCB
@t⑮Ɠlrangeŏ悤ɏCB
@DEX/AGỈ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قǈړȂꍇ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̔̔ȉbattle_athena.confŐݒł悤ɏC

	(conf/)
	battle_athena.conf
		vending_max_valueǉ
	(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蕔2T3Tǉ(ǂȂƎ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_limitǉ
	(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_activeǉ
	(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@XǉƏ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
@wGÃhbvACeJEg֐ł

@Fgetareadropitem <mapname>,<x0>,<y0>,<x1>,<y1>,<item>;
@@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() ǉB

--------------------
//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

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

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

--------------------
//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
	Eeathenãf[^̖|Aі^̐̂̃f[^ɍ̂
	  IƂ͔ɈقȂĂƎv܂B
	  uÂvƂg܂񂵁B
	Esjob_2nd.txtƈꏏɓǂݍނƁANPCdȂ̂ŁA
	  job_2nd.txt̊YXNvgRgĂB
	  Ȁꍇ̓Z[Wɓ]EĂ炦Ȃ̂ŒӂĂB
	
	(conf/npc/)
	npc_job_wizard.txt
		ǉ
	(conf/warp/)
	npc_warp_job.txt
		EBU[h]Ẽ[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.confstrǉ
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 ǉ
	(conf/warp/)
	npc_warp_louyang.txt ǉ
	(map/)
	pc.c pc_memo() ύX

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

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

EXNvgǉC
	EsetarrayizփXgjǉ
	EcleararrayizwlŃNAjǉ
	EcopyarrayizRs[jǉ
	Egetarraysizeiz̗Lȗvf߂jǉ
	Edeletearrayiz̗vf폜Ă߂jǉ
	EwarpwaitingpcFlAJEgID}bvϐɃZbg悤ɏC

	(map/)
	script.c
		FX
	(doc/)
	script_ref.txt
		ߒǉȂ
	(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{bÑ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() ǉB
	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ΏiLỈǁ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 ̒ǉBCNt@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
Eťʂ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() ǉB
	battle.h CB
	skill.h CB
	(conf/)
	battle_athena.conf
		item_auto_getڂǉB
	(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
		OnAgitIniťĂяoȂ
	chrif.c
		OnAgitIniťĂяo폜
	(doc/)
	inter_server_packet.txt
		Mhf[^ꊇMpPbg0x3842ǉ

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

ȆC
	(map/)
	clif.c
		clif_parse_GMReqNoChat()ǉ


--------------------
//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̋@\ǉ
	Edetachrid߁ivC[̃f^b`jǉ
	Eisloggedin֐ivC[̃OC`FbNjǉ
	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ꗗɒǉBłɃMhtbÕ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̐ǉ
ECxgNꂽXNvgŃLN^[gpł悤ɂ֐ǉ
	Eattachridiw肵ID̏gpł悤ɂjǉ
	Egetcharidi3ŃAJEgIDł悤ɁjC
	(map/)
	script.c
		script_rid2sd(),buildin_attachrid()ǉ
		XCB
	(doc/)
	script_ref.txt
		G[bZ[W̐ǉAϐ/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̏ô̎荞݁@Ӓ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̖ߒǉC
	EdelwaitingroomiNPC`bgIjĂȂ̂ŏC
	EinitnpctimeriNPC^C}[jǉ
	EstopnpctimeriNPC^C}[~jǉ
	EstartnpctimeriNPC^C}[Jnjǉ
	EgetnpctimeriNPC^C}[񏊓jǉ
	EsetnpctimeriNPC^C}[lݒjǉ

	addtimerȂǂ̓vC[Pʂ̂߁ANPCPʂ̃^C}[܂B
	́AaddtimerȂǂƂ͈ႢAOnTimerXXXƂɃxw肵܂B
	ڂ̓Tvscrit_ref.txtQƁB
	
	(map/)
	map.h
		struct npc_data CAstruct npc_timerevent_listǉ
	npc.c / npc.h
		npc_timerevent(),npc_timerevent_start(),npc_timerevent_stop(),
		npc_gettimerevent_tick(),npc_settimerevent_tick()ǉ
		npc_parse_script()C
	script.c
		buildin_*npctimer()ǉȂ
	(conf/sample/)
	npc_test_npctimer.txt
		NPC^C}[gpTv
	(doc/)
	script_ref.txt
		NPC^C}[֌W̖/֐ǉA萔x̐C

ESagẽ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֖߂@\ǉ
@߂Ƃɕ悤ɏC(TESTscript)
@Ԏ擾::OnRecvCastleXXX𔭓悤ɏC
	(conf/gvg/)
	قƂ.txt

--------------------
//0912 by ()
Ẽt@C̕TEST_prtg_cas01_AbraiJ̕C
EoO񍐃X>>19-20荞
Ê܂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ֈړAî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[Ô݂)
	(map/)
	pc.c pc_calc_skilltree()
	atcommand.c atcommand_model()


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

ENPC`bg֌W̖ߒǉ
	EwaitingroomiNPC`bg쐬jCiCxgNlw\j
	EdelwaitingroomiNPC`bgIjǉ
	EenablewaitingroomeventiNPC`bgCxgLjǉ
	EdisablewaitingroomeventiNPC`bgCxgjǉ
	EgetwaitingroomstateiNPC`bgԏjǉ
	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
		ǉ߂̃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
	

EAthenaDBṽf[^Ƃ肱݁ȂC
	肵Ăf[^ǂ킩܂񂪁B

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

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

EXNvg̃G[`FbN𑝂₵
	E̓rŉsƃ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

Ȇ
	(db/)
	skill_tree.txt
		Sage}蓖

--------------------
//0907 by p
Eatcommand() ̔剻Ђǂ̂Ńt@N^O
  @ R}hǉꍇ́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܂ޖÕ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ȊÕ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ߒǉBMh̏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[^ƂOnRecvCastleP01ǉB
	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ɂĂꉞ̏ǉiRgĂ܂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߂̈ȗȂŉB
	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ϐ̐ǉ
		ϐ̃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()ǉ
		do_final_script()CȂ
	map.c
		map_readmap(),map_readallmap()C

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

EIXoȌC

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

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

EAuJ_ũ_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() ǉB
	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 ǉB
	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()ǉ
	(conf/sample/)
	npc_card_remover.txt
		J[hONPC̓{
		ve̐B̒̍̕ɂ܂

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

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

Eׂ
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ϐ@\ǉ
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_txtǉ
	(doc/)
	conf_ref.txt
		mapreg_txt,help_txt,motd_txtǉ
	script_ref.txt
		^ϐ̐C

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

EmapflagnozenypenaltyǉB
@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[}ȊÕAuJ_uŗLXLSB
@I[gXyɂ̓xAbvȊOS悹܂B(I[gXyxAbv͖eXg)
EAuJ_u
@XLxˑႠ܂B
@SĂ̔_ψłB
@ACeXLgĎĂ̂ňꕔ̎gp𖳎܂iWF㩋Cj
EACeXLLXgEfBĈCB

	(map/)
	skill.c
		skill_castend_nodamage_id()Askill_use_id()Askill_use_pos() CB
		skill_abra_dataset() ǉB
	(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()ĂяöC
		battle_config֘A
	map.c
		map_readallmap(),map_readmap()C
	pc.c
		pc_setpos()C
	skill.c
		mob_warp()ĂяöC
		skill_unit_onplace()C
	(conf/)
	battle_athena.conf
		chat_warpportal,mob_warpportal̒ǉ
	(doc/)
	conf_ref.txt
		chat_warpportal,mob_warpportal̒ǉ

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

Eeconft@Cŕʃt@CC|[gł悤ɂ
	Ẽ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ɂẮǍł͂܂񂪁Aimport߂
	  ͒ǉĂ̂ŁAimport߂Γ܂B
	EVXibvVbgoꍇȂǂɁAconf/importtH_
	  ̂AthenaRs[邾Ŏp̐ݒKpł悤ɂȂ܂.

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

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

	(conf/)
	econft@C̍Ōimportߒǉ
	(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()ǉ
	npc.c
		npc_addsrcfile()C,npc_delsrcfile(),npc_clearsrcfile()ǉ
	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 ǉB
EXNvgguildstorageguildopenstorageɕύXB
Ȇׂ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 ǉB
	(char/)
	makefile CB
	int_storage.h CB
	int_storage.c
		inter_storage_delete()Ainter_guild_storage_delete() ǉB
	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() ǉB
	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^[ϐ@\ǉB
	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_numoǉ
	script.c
		buildin_set(),get_val(),buildin_input(),op_2num()ȂǏC
		op_2str(),op_2()ǉ
	clif.c / clif.h
		01d5pPbgC
		clif_parse_NpcStringInput(),clif_scriptinputstr()ǉ
	pc.c / pc.h
		pc_readregstr(),pc_setregstr()ǉ
	(doc/)
	script_ref.txt
		Zq̐ǉAϐ̐CAinput,menuC
	(conf/sample/)
	npc_test_str.txt
		ϐgpXNvg̗B
		̑AArA͂Ȃǂ̃eXgś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() ǉB
		inter_storage_save_sub()Ainter_guild_storage_save_sub() ǉB
		inter_guild_storage_save()Amapif_parse_LoadGuildStorage() ǉB
		mapif_parse_SaveGuildStorage()Amapif_load_guild_storage() ǉB
		mapif_save_guild_storage_ack()Aguild2storage() ǉB
	int_party.c
		inter_party_init() CB
	int_guild.h CB
	int_guild.c
		inter_guild_init() CB
		inter_guild_search() ǉB
	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() ǉB
		guild_storage_additem() Aguild_storage_delitem() ǉB
		storage_guild_storageadd()Astorage_guild_storageget() ǉB
		storage_guild_storageaddfromcart()Astorage_guild_storagegettocart() ǉB
		storage_guild_storageclose()Astorage_guild_storage_quit() ǉB
	intif.h CB
	intif.c
		intif_send_storage()Aintif_parse_LoadStorage()Aintif_parse() CB
		intif_request_guild_storage()Aintif_send_guild_storage() ǉB
		intif_parse_SaveGuildStorage()Aintif_parse_LoadGuildStorage() ǉB
	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() ǉB
		clif_updateguildstorageamount()Aclif_guildstorageitemadded() ǉB
	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
    (Ô߃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 ǉB
	script.c
		buildin_areawarp_sub() CB
		buildin_openstorage() CB
		buildin_guildstorage() ǉB
	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 ǉB
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ʌ(YumilLoopCASageCastleRandomWarpǉAコ̉ƒǉ)
	ENMhǉ
ENPCFXC
	EXq쐬NPCʃt@CցBꕔǉ(ep2.5ǉ)
	@QlData(R.O.M776): ttp://green.sakura.ne.jp/~youc/ro/data/itemmaking.html#04
	EATVMhC
	E񎟐E]E֌WNPCꕔǉ(ŃRh֍s܂)
	E}X^[AP~Xg̑䎌C
	EAföēvړ&䎌C&C[Wǉ
	EBBSɂĂRhXNvgǉ(event_hat֕U)
	ERNGXg֌WNPCꕔǉ([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ϐ@\ǉ
	Eϐ̃vtBbNX#łB
	Eϐ̌mmo.hACCOUNT_REG_NUMŒ`Ă܂(16)B
	E0881̋sXNvg͂gp悤ɂȂ܂B
	  ĈȑÕ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_NUM2ǉ
		struct mmo_charstatusaccount_reg2_num,account_reg2oǉ
	(login/)
	login.c
		account_regSaccount_reg2ɒu
	(char/)
	char.c
		account_regSaccount_reg2ɒu
	inter.c
		[hAJEgϐ@\ǉB
		inter_accreg*()ǉAaccreg_dbǉȂǁB
	(map/)
	chrif.c/chrif.h
		account_regSaccount_reg2ɒu
		0881ł̃oOC
	intif.c/intif.h
		[hAJEgϐ@\ǉB
	pc.c/pc.h
		pc_*accountreg()=>pc_*accountreg2()ɁB
		pc_setaccountreg(),pc_readaccountreg()ǉB
	script.c
		buildin_set(),buildin_get_val(),buildin_input()C
	(doc/)
	inter_server_packet.txt
		[hAJEgϐ֌W
	conf_ref.txt
		accreg_txtǉ
	
--------------------
//0881 by Ӓ

EXNvgɃAJEgLϐ@\ǉ
	EϐɃvtBbNX#t邱ƂŃAJEgLϐɂȂ܂B
	EAJEgϐ͕ύX_őST[o[Ƀ|Xĝ
	  pɂɏƃT[o[ԒʐM剻܂B
	EAJEgϐ͕ύX_iĂꂪloginIɓ͂_j
	  account.txtɏo܂B
	EO[oϐiiϐǰ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_NUMǉ
		struct mmo_charstatusaccount_reg_num,account_regoǉ
	(login/)
	login.c
		pPbg2728ǉ
	(char/)
	char.c
		pPbg2729,2b10ǉ
	(map/)
	chrif.c
		chrif_saveaccountreg(),chrif_accountreg()
		(pPbg2b10,2b11)ǉB
	pc.c/pc.h
		pc_readaccountreg(),pc_setaccountreg()ǉ
	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 ǉB
Ep[eBɂgXLƃMhɂgXLݒł悤ɏCB
Ȇׂ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 Ӓ

EMFIFÕobt@I[o[t[̐Ǝ㐫̏C
	E2048oCgȏ̃pPbg𑗂ƂAFIFOtɋ߂
	  obt@I[o[t[ɂsANZXNĂCB
	EFIFOtɋ߂ƂWFIFOSETꂽpPbĝĂĂ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()ǉ
	
ET[o[ԒʐMFIFÕ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}NǉB
	(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ƍDĜŏoĂ݂܂B
	NPCscriptŁAopenbank(0);ŗazԂāAɐƏoꂵ܂B
	ڂ̓Tv𓯕̂ŁAQƁB

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

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

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

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

--------------------
//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֘Ȁ̊ǊinterÎ)
Einter_athena.confinter_log_fileڒǉ
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()ǉ
	int_guild.c
		쐬/U//jOɏo
		[NC
	(doc/)
	conf_ref.txt
		C

ET[o[ԊmFpCGIXNvgYtȂ
	EȐӔCڍׂȉA₳ĂX[\L
	EGfB^ŊJ班L
	ECGIݒů{킩ΖȂ͂
	
	(tool/cgi/)
	serverstatus.cgi
		T[o[ԊmFpCGIXNvg
	addaccount.cgi
		C

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

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

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

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

E@R}hitem2killmonster ǉB
EXNvggetitem2killmonsterall ǉB
E쐬ōꂽ҂̖Ot悤ɏCB
Ebattle_athena.confmonster_class_change_full_recoverǉB
EXNvgbWeaponComaElebWeaponComaRace ǉB
EԈႢ_[WvZCB
EbInfiniteEndurȅCfA\Ȃœ悤ɕύXB
EI[gXycastend_nodamage_id()ĂԃXLgpł悤ɏCB
Ȇׂ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() ǉB
	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() ǉB
	atcommand.h CB
	atcommand.c
		atcommand() CB
		atkillmonster_sub() ǉB

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

EXL|[Vsb`[C
EXLM\oOh{Ibl
EXLAuJ_uȂ`R[}
ER[}̕IvVǉ(푰, 番)
EIvVǉ
	(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ɍڒǉB(LIƃOCĨ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)
ȆXL֌Wׂ̍CB
E@R}hƃXNvgǉ܂͌̃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() ǉB
	atcommand.c
		atcommand() CB

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

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

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

Ebattle_athena.confplayer_land_skill_limitAmonster_land_skill_limitAparty_skill_penaly ǉB
Echar_athena.confparty_share_level ǉB
Ȇׂ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̐ݒł܂ÖׂɂĂ܂AIł̃eXgFW̃mbNobN2ŃTN2ł邱ƂmFĂ܂B؍2003N1119pb`O̎Ił͂܂2-2͓KpĂ鏊Ȃ̂Ŗ{ÏႢ͂ȂƎv܂B
ȆXL֌Wׂ̍CB
E0867ŏYBX^[̃q[ŃAfbhX^[UĎł̂Ńq[⃊Ȕꍇ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() ǉB
	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_nofreezeǉB
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 ҂܂

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

	(map/)
	guild.c
		guild_mapname2gc() ǉB
	battle.c
		battle_calc_damage() CB
	script.c
		buildin_getcharid() CB
		buildin_getguildmasterid() ǉB
		[Jvg^Cv錾̈ꕔCAǉB
	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_changeǉB
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 Ӓ

EmobXLgpǉ
	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^[Qbgǉ
	Efriend : 
	Earound : ̎́i݂̎dlł͎81}Xĵǂꂩ
	Earound1`around4 : ̎͂X,25,49,81}X̂ǂꂩ(͈͂𖾎)
	friend͏friendn(friendhpltmaxrateȂ)̂ƂɎgp\B
	aroundn͏ꏊwXLŎgp\B

	(map/)
	mob.c / mob.h
		mob_getfriend*()ǉAmobskill_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_changeǉB
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_typẽ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ƂŉƂĂ܂B
EgƂłb̒m򂪏肭܂łB
Evp̛ziHHjȂĂ邩܂B
	(/map)
		clif.c
			mob_class_change() CB

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

EsĂꎟE]ENGXgǉyс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ՂQuestǉyс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ƂĒǉƂƏCB
	(db/)
	skill_db.txt CB
	(doc/)
	script_ref.txt ǉB
	(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
EnosavëSavePointwłĂȂ̂ŒǉB
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[ḧÍɑΉ
	(login/)
	login.c
		login_session_data쐬AÍkeyNCAgƂɍ쐬Ȃ
	(tool/)
	ladmin
		ver.1.05ɁBftHgŃpX[hÍ悤ɁB
		Í̂߂Digest::MD5W[gp܂B
		Digest::MD5ꍇ̓pX[ḧÍ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_decreaseǉB
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({Ǐ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 ǉB
	mob.h CB
	mob.c
		mob_exclusion_add() ǉB
		mob_exclusion_check() ǉB
		mob_timer_delete() ǉB
		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() ǉB
	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()ǉB
		mob_readdb()Amob_readdb_mobavail()CB
		
--------------------
//0843 by _

EtNgV[hB
EACeXNvgbShortWeaponDamageReturn
bLongWeaponDamageReturn ǉB
Ȇ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...
EXNvgbHPDrainRatebSPDrainRateǉB
Ȇׂ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() ǉB
	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Ȃ̂Œǉ
	conf/npc/npc_job_magician.txt

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

ESCxgǉ
	conf/npc/npc_event_oni.txt

Emap_athena.confC(o^CRgAEgBSǉ)
	conf/map_athena.conf

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

ERNPCǉ(J \\Ă)

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

EXLTCgbV[B
EX^[̃N[LOƃ}LV}CYp[͎Ԃx*5bɕύXB
Ȇׂ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`ÃmbNobN32ɕύXB(aegisIŃmbNobN邱Ƃ͊mF܂ǂꂮ炢Ȃ̂ŝŏ炵Ă݂܂B)
EX^[̉rԂȂĂCB(dex␳Ă܂łB)
Ȇ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() ǉ
	skill.c
		skill_castend_nodamage_id() CB

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

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

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

Ememo֎~n/memȍ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
Ȇׂ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
Ȇ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() ǉB
	script.c
		buildin_sc_start() CB
	atcommnad.c
		atcommand() CB

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

EI[gXyŁȀ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 ǉB
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() ǉB
		skill_get_maxcount() ǉB
	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 <mapname>,<eventname>"Ƌ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_testmapflagǉ
	conf/mapflag.txt

Emob_dbXV
	1419`1491Mob̒`΂Ȃ̂Œǉ܂ł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[gXÿׂsc_[].val1Ōă}XB
Ebonus2 bAutoSpellǉBꉞǂȃXLłwł悤ɂĂ܂(ԍskill_treeQ)
  skill_castend_damage_id̃^CvȊÕXLw肵ȂłB
  ḿ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() ǉB
		clif_parse_AutoSpell() ǉB
	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() ǉB
		skill_status_change_end() CB
		skill_status_change_start() CB
		status_change̔ԍe[uCB

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

EAhũbZ[WĂȂ̂ŏC
Eo[h̉tXLŊy̗K⎩Xe[^X̕␳ĂȂ̂CB
@struct status_changeval3Kv̂(val4͗\񂳂Ăۂ̂)val5ǉ܂
	(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(ꔽؖȕsǉ)
	conf/mob/npc_monster35.txt(RMobǉ)

EDBC
	db/mob_db.txt(R[S]+Eo[`]ǉBAspeedKłB܂܂ƂƂ)
	db/mob_skill_db.txt(ɃRMobǉ)
	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
  Ȅo̓pP̂łł܂AACR͂̕܂ȂłB
  EƁÅ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_noteleportAnoreturnǉnoteleport̎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 ǉB
E{XX^[̔FMVPomode0x20ōsȂĂmodeɂ悤ɕύXB({Ĩ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
Ȇׂ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)
Ȇׂ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
ERNPCǉ
	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[^ǉ
	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() ǉB
	skill.c
		skill_castend_nodamage_id() CB
		skill_devotion() skill_devotion2() ǉB
		skill_devotion3() skill_devotion_end() ǉB
		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 ǉB
	skill.h brandishsquareɉA
	(common/) mmo.h Ɉړ

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

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

	(map/)
	skill.c
		skill_frostjoke_scream() ǉB
		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ĂÃ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
Ȇׂȏ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ƍڒǉ(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܂ł̗\ɂȂł...)
Êłǂǂ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
@@Õ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[@\ǉ
	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_* ǉ
		parse_login()C,check_ip()ǉ

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

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

Ȇ
	(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 ǉB)
EACe[g𐳂BŏUł͂Ȃ^_[W
ʂɂĎ^悤ɕύXB(ŏ̂݃eXg)
p[eB̏ꍇp[eB̐ݒɍ킹Kv܂܂pPbg
sȏדp[eBȂł悤ɂȂĂ܂B
E{EOobṼoOCB(Cꂽ͂...)
EXNvgbonusbSplashRangebSplashAddRangeǉB
bSplashRangebSplashAddRange͕Ń_[W^̂ݔAʏ̕UȂ̂Ŕ邪(Flee2ɂ銮S͕s\)N͏oȂ悤ɂȂĂĕɂԈُ͔܂B{IdlȂĒm܂B
EXL̏d˒u{Iɍ킹ďCB
Emapflaggvg͂ȂĂ킯Ȃ̂ō폜B
Ȇׂ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.txtǉ
	conf/warp/npc_warp_niflheim.txt

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

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

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

EGVGScriptǉ
	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
Ȇׂȏ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 ڒǉB

	(/doc)
	conf_doc.txt ǉB

	(/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
Ȇׂ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

EufBbVXsȀ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() ǉB
		skill_brandishspear_dir() ǉB
		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̒ǉB
	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() ǉB
	(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ɍڒǉB
	(char/)
	int_guild.c
		inter_guild_init()Ainter_guild_readdb()Ainter_guild_save() CB
		inter_castle_save_sub()Amapif_guild_castle_info() ǉB
		mapif_guild_change_castle()Amapif_parse_GuildCastleInfo() ǉB
		mapif_parse_GuildChangeCastle() ǉB
	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()ǉB
		do_init_guild() CB
		guild_gvg_init()Aguild_gvg_final()Aguild_gvg_final_sub() ǉB
		guild_gvg_eliminate()Aguild_gvg_eliminate_sub() ǉB
		guild_gvg_eliminate_timer()Aguild_gvg_empelium_pos() ǉB
		guild_gvg_break_empelium() ǉB
	intif.c
		intif_parse()Apacket_len_table[] CB
		intif_parse_GuildCastleInfo()Aintif_parse_GuildCastleChange() ǉB
		intif_guild_castle_info()Aintif_guild_castle_change() ǉB
	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 ǉB
--------------------
//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͂܂...)
Ȇׂ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() ǉB
	npc.c
		npc_parse_mob() CB
	battle.c
		battle_check_target() CB
	clif.h CB
	clif.c
		clif_mob_class_change() ǉB
	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ɍڒǉB
E@hide/hideɂGMnCfBO͎ɎgpXLȊÕXLgpU󂯂Ȃ悤ɏCB
EnCfBOnXLȊO̍U󂯂Ȃ悤ɏCB(gbvN@O}CÃXL͉e󂯂邩ǂsȂ̂ō܂łƓ悤ɉe󂯂悤ɏB)
EglhCüړx{Iɍ킹܂B
Ȇ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() ǉB
		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() ǉB
		pc_gvg_ghost_timer() ǉB
	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
Ȇ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)
Ȇׂ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
@ẼACegpłȂ悤ɏC(AeByCgEnG̉H)
@Ẽ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[ŁȀ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" ǉ
		battle_calc_damage()Abattle_calc_weapon_attack() C

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

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

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

ESẴ_[W1ɂȂh100001000000ɕύXB
Ebattle_athena.confɍڒǉB
EX^[olႤ{Î悤ɏCB
EXLX[|CYB
EoOCB
Ȇׂ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() ǉB
		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
	ȑÕ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-startrestartIvVǉ
	./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ƐǉB(񍐂ꂽ̂͑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肷ƃeĨGtFNg؏oȂȂ
@肪Ă̂ŏCB
EwarningoȂ悤ɃR[hCB
	(map/)
	skill.c
			skill_castend_pos2() CB
	chrif.h

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

EchangesexXNvgBʂ𔽓]邱Ƃł܂
@ʔ]́ÃvC[͋Iɐڑؒf܂
@܂A_T[Eo[ȟ݊͂Ȃł
@_T[Eo[hXbgǂɋAJEgł̔]́Aȉ̓_ɒӂĉ
@EK]Oɂ̃LN^[XLZbgĂ
@@̂܂ܔ]ƁAʂXL(y̗K)cȂȂĂ܂܂
@E_T[Eo[hp𑕔Ăꍇ́AOĂ甽]Ă
@@̂܂ܔ]ƁÃ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()ǉ
	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̒ǉB
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ɍڒǉB
ȆFXƏCB
EύXꂽskill_db.txtAcastdb.txtƒǉꂽskill_require_db.txt̍\͍̏mȂ̂db_ref.txtɐǉ\Ȃ̂ł܂ł͂̕ύ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() ǉB
	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ɍڒǉ폜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 ǉB
	produce_db.txt CB
	(map/)
	map.h CB
	map.c
		map_check_dir() ǉB
		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() ǉB
		skill_get_time2()Askill_get_weapontype() ǉB
		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() ǉB
		skill_readdb() CB
	battle.h CB
	battle.c
		distance()Abattle_counttargeted()Abattle_get_range() ǉB
		battle_get_dir() ǉB
		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() ǉB
		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() ǉB
		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()ǉ
	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ɍڒǉB
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[^[̋ƒñ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()ǉ
	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ڒǉ
	(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ɍڒǉB
Ȇׂ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() ǉB
	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
EXNvgǉ
@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()ǉ

--------------
//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@\ǉB
  	Emob_skill_db2.txtłMOB̃XLSɏƂɎgp
	  B
	EclearȂꍇmob_skill_db.txt̂̂ɒǉ܂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@\ǉ
	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
		eǉ
	(map/)
	npc.c
		FXC

Ȇ
	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
Ȇׂ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ӂԂŁÃ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񓁗̍蕐̎푰AASizẽ_[W␳E蕐ɓKp邩ǂݒł悤ɕύXB
Ȇ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() ǉB
		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̂҂50eXĝŋ炭vƎv܂B)
Ȇ\ׂ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
Ȇׂ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
Ȇ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() ǉB
	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.txtǉBitem_avail.txtƓl̎wŃX^[̌ڂ𑼂ID̂̂ɕύX܂B
@X^[IDȊOw肵肷PCNPC̎pMOBɈIɍUꍇ̂ŒӁB
	(db/)
	mob_avail.txt ǉB
	(map/)
	clif.c
		clif_mob0078()Aclif_mob007b() CB
	mob.h CB
	mob.c
		mob_readdb_mobavail()Amob_get_viewclass()ǉB
		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̂悤łǂꂮ炢̂͂ς킩܂̂...
Ȇׂ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,MaxSpǉ(ǂݍ݂̂)
	(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 @\ǉ
	EOC[U[MOTD\邱Ƃo܂B
	Emap-server.exes̃JgfBNgihelp.txtƓ
	  fBNgjmotd.txtƕ\܂B
	EMOTD\^C~ÓA
	  u}bvT[o[ɃOĆ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 ۂۂ

EXNvgemotionǉ
@emotion n;ƎgNPCGo܂Bn0`33gp\B
EBƊXKChNPC{Ȋ䎌ɍ킹ďCB
	(conf/)
	npc_town_refine.txtAnpc_town_guide.txt CB
	(map/)
	script.c
		buildin_emotion() ǉB

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

EXLLXgLZAfBtF_[AI[gK[hB
EI[gK[h̏ꍇK[hĂGtFNg͏o܂B~XɂȂ邾łB{I͕̕\邩ǂ킩ȂpPbgȂ̂...
EfBtF_[͖eXgBbLongAtkDefgĂ̂ŃzJ[ĥ悤bLongAtkDefグ镨𑕔ĎgƉUSĖɂł܂B({I̎dlǂȂ̂͂킩܂B)
Ȇׂ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ɃoÔŏCB
Eg̏CB
EÑ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
Ȇ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() ǉB
	map.h CB
	map.c
		map_setipport()Amap_addmap() CB
	̑B

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

EUmbala Warpǉ
	conf/npc_warp_umbala.txt

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

ET[o[snapshot

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

Et@[}V[̃GtFNg{̂̂ɕύX
EXNvgł̖ߍݕϐBaseExp,JobExp,NextBaseExp,NextJobExpǉ
	(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 _

Ẽ{[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ȂǉobCmbo\ȂȂ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
Ȇׂ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() ǉB
	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
EXNvgstatusupstatusup2ǉB
statusup bStr; ̂悤Ɏgċ@\̓Xe[^X|Cg炵
{p[^1グB
statusup2 bInt,n; ̂悤Ɏgċ@\̓Xe[^X|Cg炳
{p[^nグB
Ȇׂ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() ǉB
	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() ǉB
	atcommnad.c CB

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

EoOCƍׂCB
EbCriticalRateKpȂCB
EybgɂXe[^X{[iXǉBXe[^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()ǉ
		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
		AhȕSP1ɏC

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

	mob.c
		mob_readdb()

EIoO񍐎̂߂̃X^bNobNg[XO@Љ
	IoO̕񍐎ɁȀ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ŉt/_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()ǉ
		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ɍڒǉB(ڂƂconf_ref.txt)
Eitem_avail.txt̏ύXBACeIĎ0ƍ܂ŒʂɎgps\ɂȂ邪0ȊO̐lƎgps\ł͂Ȃ̐lACeIDƂČڂɕύX܂BĈƗACeʂ̕ɕ\ĈƗhƂł܂B(\ςĎȈ͖{̃ACeID̕ƂĔF܂BC͑SĂƎv܂邩m܂̂ŌڕύXACeňƗN񍐂ĂB) Ȉ͂ꂪ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̒ǉɂƂȂitem_db.txtC
EFXC
	(db/)
	item_db.txt CB
	(doc/)
	item_bonus.txt CB

--------------
//0684 by _

EׂCB
E񂾂ӂ̎XLƃACegȂ悤ɕύXB
EbInfiniteEndureǉB@\͖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 _

EoOCbonusǉB
EqɃoOAoOCƂ̑̃oOCB
EXNvgbonus3ǉBbAddMonsterDropItemΉɂȂĂ܂B
Ebonus bRestartFullRecover;n;n͖ӖǏ̂͂Ƃ܂ł̂0ɂēꂽłBbonus2̐lKvȃXNvgȂ̂ŁB
EbDefRatioAtkh䖳ɕύXB
E0677ŏYB
Ȇ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() ǉB
	script.c
		buildin_bonus3() ǉB
	mob.c
		mob_once_spawn()Amob_damage() CB
	storage.h CB
	storage.c
		storage_storage_save() ǉ
	atcommand.c CB

--------------
//0682 by 

EXs[hAbv|[Vñ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^[_ŏ҂ł@\ǉB
	(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ɍڒǉB(ڂƂconf_ref.txt)
E݂ƂꑃQlă_[WvZCB
EbonusɐFXƒǉB(ڂƂ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...)
Ȇ͊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^[ñ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(͒[ľܓĂ܂{I[ȂCĂ܂B)
E@refineR}hőꏊID0ƑĂSĂ̑𐸘B悤ɕύXB
Ȇׂ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() ǉB
		̑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̍ڒǉB
EÖ؂̎}ŏ҂郂X^[̊mݒo悤ɂ܂B
EX^[҃ACe𕡐鎖o悤ɂ܂B
E҃ACẽ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 ǉB
	mob_boss.txt ǉB

--------------
//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
EXNvggetgmlevelǉB@\͂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@\ǉB(ڂƂ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̍ڒǉƍ폜B
ECt@CBeXgȂ肠܂̂Ŗ肪񍐂肢܂B
	(conf/)
	battle_athena.conf
	(doc/)
	conf_ref.txt
	db_ref.txt ǉB(Ă̂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_finishǉB
	(map/)
	battle.c
		battle_config_read() CB
	battle.h CB
	pet.c
		pet_attack() CB
	(doc/)
	conf_ref.txt ǋLB

--------------
//0657 by huge

EybgɂUB
EybgĂāAybgiĂāAɃ_ɂ锻Ŕ܂B
E̗VѐSł
Ebattle_athena.confŕpxݒł܂BڍׂdocŁB

	(conf/)
	battle_athena.conf pet_attackǉB

	(map/)
	battle.c
		battle_config_read() CB
	battle.h CB
	pc.c
		pc_attack_timer() CB
	pet.c
	pet.h
		pet_attack() ǉB
	(doc/)
	conf_ref.txt ǋLB

 Ƃ肠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ɂǉ_[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
		ĩ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ׂ̂Ă̕ŏo悤ɂȂĂ܂B
	(/map/)
	battle.c
		Oi̔ǉ
	skill.c
		Xib`[̔ǉ
	(/db/)
	item_db.txt
		VNnbgSP㏸ǉ

--------------
//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ϓ󂯂邩ǂ̃tOgǉB
@ۂ̌`̓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炢܂ŉ\ł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() }Nǉ
	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ɋ߂Ƃôł͂ȂA
ƂƂĂ킯łB
ňꉞ̓f[^pӂ܂A܂łTvƂėpĂB\Ȃ΁A
ɏCăAeiƎƂĖ{̗pƂf[^pb`AbvĂ΂Ƃv܂


--------------
//0644 by nini

EDB̊ԈႢA643ŒǉꂽXNvgǉB
	(/db/)
	item_db.txt
	cast_db.txt
		`[WA[̃LXgǉB
	exp_guild.txt
		46-50܂łexpɒǉB
	size_fix.txt
		yAځAibÑTCY␳CB

--------------
//0643 by _

EFXƏCB
EbMVPaddAtkRate폜BbAddRaceŏ悤ɕύXB
EbIgnoreDefElebIgnoreDefRaceǉB
bonus bIgnoreDefEle,n;	n̓G̖h䖳
bonus bIgnoreDefRace,n;	n푰̓G̖h䖳
EbMatkRateǉB@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 _

EbAspdRatebSpeedRatẽ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ɍڒǉB(ڂƂ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
EbDoubleRatȅύXBm𑫂ɈԍKp܂Bƍ
̏ꍇ悤ɕύX܂B(̓_uKp܂̂)
EbDoubleAddRateǉB@\̓_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ɍڒǉB(ڂƂconf_ref.txtĂB)
EԂx0635ŐĂȂłB(Qŝ...)
܂dlς͓̂񓁗̃_[W𕐊ʂɊSɕčs悤
ύXƃATVȂĂCoĂΓ񓁗g悤
ύX܂Bƃ_[W̌vZƏCB
bonusɒǉꂽ̂
bonus bInnerAtk,n;		U+n
J[ḧグ_[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%̒ǉ_[W
{XX^[n%̒ǉ_[W^܂B[̋RmJ[hpB
bonus bNearAtkDef,n;		ߋŨ_[Wn%̌炷
SċߋŨ_[Wn%̌炵܂B(@ƃgbvA)
bonus bLongAtkDef,n;	Ũ_[Wn%̌炷
SĉŨ_[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ɍڒǉB(ڂƂconf_ref.txtĂB)
EbonusbInnerAtk(J[hŕ\͂Ȃǎۂɂ͍U͂ɔf镨płB)ǉB̂item_bonus.txtĂB(ǉ͂item_db.txt͖wǏCĂ܂B)
Ȇ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[rẌׂ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̒ǉɂă^LV[h
EFfBOhXĂ܂B͐EƂύXɌڂ
ς镨łBweddingNXȊO̓Kp\ŕϑZbgƂ
킯ł͕ύXɌڂςĂ̂0631Ő悤
łȂ𑕔ĂꍇƗN\܂̂
̐EƂŎĝ͂߂܂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ߏւ̐ÉAۂɓ]Êł͂ȂyRiCg(13)AyRNZ(21)̂悤ɉ摜gƎv̂
@łȂݒɂ܂BXpmr̓mrł̂ݒ肵܂B
EÖ؂̎}̏oX^[ǉ
EA}c̃X̕{Iɋ߂Ȃ悤ɏC(܂܂Ⴂ܂EEE)
	(conf/)
	npc_monster.txt		XC
	npc_monster_amatsu.txt	C
	(db/)
	item_avail.txt		ƗACeǉ
	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؍NCAĝ)
ESmr̃XeAXLȂǂbǉB(m[rX̃Rs[ł)
@Ƃ肠ڂƂƂŁAߏւłUł܂(m[[V)A{͂ł܂B
Eɂ킹item_dbҏWB
@ߏւŕactAsprG[ôŁ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ɒǉ

--------------
//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 ǉB
	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̕ǉ
	(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ɕϓꍇ
ɓ삷ۏ؂Ȃ̂ŏĈɂ͒ӂĂ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̃ACevZACȅ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)	ǉ
	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݂
@@@@@\ƂẮÃ݂ATVȂǂ̂ꍇɁA܂͋CɓȂƂŁA
@@@@LɋpPgp悤ɂĂB

	(map/)
	atcommand.c
		atcommand()  @modifydisplayR}hǉ
	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  ǉ

	ύ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
		VKǉBsACe̗񋓂ɎgpBB͖{B
		item_db.txtɒ`Ă邪ۂɂ͎gpłȂACeB
	(doc/)
	conf_ref.txt
		battle_athena.cnfatcommand_athena.cnf̐C
	(map/)
	itemdb.c/itemdb.h
		itemdb_available}Nǉ
		itemdb_read_itemavail()ǉ
		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}hǉ
		atcommandconfigitemcheckoǉ
	battle.c/battle.h
		battle_configitem_checkoǉ

Eladmin̏CȂ
	AJEgǉApX[hύX̍ۂɃpX[hȗƁA
	pX[hp̃GR[Ȃpvvgœ͂ł܂i͊mFjB
	ǉ̍ۂɃpX[h\ꂽ獢ꍇȂǂɁB
	pX[h͒Ctrl+CȂ̂ŒӂĂB

	pX[h̕s̕\Aڂŕ\悤ɂȂ܂B
	̑Ƀ`FbNǉȂǁB

	CygwinłmFĂ܂BPOSIXW[gĂ̂ŁA
	POSIXłȂ(G~[VłȂ)vbgtH[
	Ȃ܂B
	UNIXnłnkfȂǂŉsR[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(Rĝ)
		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̉rAfBCǉB񕜗ʏ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ƂÃpPPŕ\V̂ɑΉĂ
Ƃ킯ł͂ȂۂBړpPƎȊÕLړƋ\ɂȂĂȂB
XɁAV\pP͕Ə̓oĂȂB炭NCAg̖肾ƎvB
Ƃ肠ALтɐVpPpP̂Q̑pP𑗂邱ƂŉĂ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()ǉ
	clif.c
		clif_parse_LoadEndAck()C
	itemdb.c
		itemdb_exists()ǉiitemdb_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񕜃ACẻ񕜗ʂ̏CAACeclass_equip_db.txtłgpłlɏCA
@ȋ\ESďCAJ[hʂCAetcEEEłB

--------------
//0614 by Nikita

EACeDATȀ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̃oȌC͎05xxŏC܂̂ŁB)

--------------
//0610 by gQ

EACeDATAC
	(db/)
		item_db.txt C

--------------
//0609 by _

EFXƏCB
EX^[~܂悤ɓCB
Ewẽ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Ȃ悤ɂĂ
	܂01c8pPbg<type>0ɂĂACegpƓ
	GtFNgo܂B{ĨACegppPbgȂ܂܂
	邵Ȃ̂ł...
Ebattle_athena.confɍڒǉB
Ȇ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}cNPCǉ
	(conf/)
		npc_town_amatsu.txt NPCǉ
		npc_warp_amatsu.txt [v|Cgǉ

--------------
//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
EĜplŏW͌Ƒx㏸
	plŉeXL͂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()  ǉ
	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[ôC(mF)
		앐m̃hbvMVPǉ(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[ȍ~MOBXLǉ

--------------
//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̎gpǉ
	Jazz񋟂łB
	Ǝ̎ŃOiNTVcAij܂@CɓȂ
	Ȃ茳ʂɏCȂ肵ĂĂ܂`B

	(conf/)
		battle_athena.conf  598ł̓Y
	(map/)
		skill_encchant_eremental_end()  ǉ
		skill_status_change_end() skill_status_change_start() skill_status_change_clear()  C
	(db/)
		iten_db.txt  C

--------------
//0598 by 

Ẻ摜ύXɑΉ
	ꉞȂNZC_[̗葄Ƃv[Xg̓݊Ƃ̓eXg܂A
	SĂ̐E`FbN͂܂B܂̎_ł̓NCAĝ̕\f[^
	̗L̂̂tĂ܂B
	ƁACꉞ͑Ή܂BA͌_ł͖{IΉȂ̂łB
	\ČƂꍇ͏]̂o܂B

	(conf/)
	battle_athena.conf
		IvV equip_modifydisplay ǉ
	(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
		ǉiXȂ蔲ł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_speedǉB
	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}hǉB
Ebattle_athena.confguild_emperium_checkǉB
EXLgpsĂfBCCB
	help.txt CB
	(map/)
	clif.c
		clif_parse_CreateParty2() ǉB
		clif_parse_ItemIdentify() CB
		̑CB
	atcommand.hAatcommand.c CB
	battle.h
		struct Battle_Configguild_emperium_checkǉB
	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 ǉB
	conf_ref.txt CB
	(conf/)
	atcommand_athena.conf CB
	battle_athena.conf CB

--------------
//0593 by _

EeIƃo~Ĩ_[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̃}bvǉall_water-100ƂăRgŒǉ
	(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)
Ȇ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() ǉB
	pc.h
		pc_set_gm_account_fname() ǉB
	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() ǉB
	(common/)
	version.h CB
	grfio.h
	grfio.c
		grfio_init() CB
	mmo.h
		GRF_PATH_FILENAME ǉB
	(conf/)
	map_athena.conf CB
	npc_water.txt CB
	water_height.txt ǉB
	login_athena.conf CB
	(login/)
	login.c
		login_config_read()Aread_gm_account() CB
	(char/)
	char.c
		do_init() CB
		char_config_read() ǉB
	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()ǉ

Estartathena.shłȂathena-startg悤ɕύX
	start
		athena.sh => athena-start startɒu

--------------
//0588 by Kalen

EAmatsuNPCǉ

--------------
//0587 by Ӓ

EloginT[o[̊ǗpPbg̎dlύXi0579̃OCۏɑΉj
	(login/)
	login.c
		AJEgoԕύXpPbgǉ(7936,7937)
		AJEgXgpPbgC(7921)
	(doc/)
	admin_packet.txt

Eladmin̋@\ǉ
	EoԂύXR}hǉ
	EXg\ƌŃoԂ\悤ɂȂ
	E"?"łwvo悤ɏC
	EV{bNNstateaccountǉ܂B
	  glladmin--makesymlinkxsĂ

	(tool/)
	ladmin
		@\ǉ

--------------
//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ꂳ鏈ǉ
		pc_skill() 

--------------
//0583 by kalen
EscriptC
	npc_event_doll.txt	Ẳbǉ
	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);ǉ

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\̂stateǉ
		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}hǉC
	atcommand.c
		atcommand()		@itemresetR}hǉ  @goR}hCiA}cERǉj
		atcommand_config_read()	ɍ킹itemresetgpxwǉ

	doc/conf_ref.txt
	conf/atcommand_athena.conf	itemresetgpxwǉ
	help.txt			@itemreset̐ǉ@go̐C

-------------
//0576 by V&S 
ES[XgOJ[hƃo[X[J[ȟʂ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];	VKǉB}bvt@CƐꍂLB
		map_waterheight()	VKǉB̍ԂB
		map_readwater()		t@C݂waterlistݒ肷悤ɏCB
		map_readmap()		map_waterheight()ĂԂ悤ɏCB
		map_config_read()	"npc"map_readwater(w2);ǉB

--------------
//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 ǉB
	(/tool)
	mapcheck.sh ǉB

--------------
//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() ǉB

--------------
//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@partyǉBp[eB閽߂łB؍Ƃgƃp[eB鎞~܂̂ŗՎIɂgăp[eBĂB
E̔fCB
E}bvtOwaterall_waterǉBڂnpc_water.txtQlĂB
iz_dun0x͂Ă܂̂ő͖̂߂ĂB}bvtOwaterall_waterĂȂƃZtype3łƂĔF܂BĐ炯iz_dun0204܂ł͑SĐƂĔF悤all_waterĂ܂B(ȊO͕@Ȃ̂...)
Ebattle_athena.confɍڒǉBꕔWeissQlčłB
EeXgĂȂ܂B
	(/conf)
	atcommand_athena.conf CB
	battle_athena.conf CB
	map_athena.conf CB
	npc_water.txt ǉB
	(/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͂&ςꍇ
@ŉ悤ɂB

# pc_checkallowskill ɂ(Ô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() ACeXĝ̖łɖ`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
Ȇ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 ǉ

E@jobcange ł́o[h_T[ɂƗh~B by (no name)
	atcommand.c
		@jobchange,@charjobɐʃ`FbNǉ

// 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ĂȂ̂ŃoỎ\܂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 Ӓ

EladmiñoOCƋ@\ǉ
	EL[[hɂAJEg@\ǉ
	EVFR}hƂĎgpł悤ɃvvggȂ[hǉ
	Eǉ@\ɂĂladminĂ
	E ladmin--makesymlinkɂAV{bNNƂaddaccount
	  쐬邽߁AȑOaddaccount͍폜Kv܂B
	  ̃V{bNN(Cygwinł̓V[gJbg)ƁA
	  Âaddaccount͎Isnapshotɂ͊܂܂ȂŉB
	
	(tool/)
	ladmin
		@\ǉƏ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.txtǉ
	(tool/)
	backup
		t@CǉC

--------------
//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() ǉ
		clif_arrow_created() ǉ
		clif_parse() C

	pc.c
		pc_search_inventory() C

	skill.c
	skill.h
		skill_arrow_db() ǉ
		skill_readdb() C
		skill_castend_damage_id() C

	db/create_arrow_db.txt ǉ
	db/skill_db.txt C

	܂db͖łB

--------------
//0549 by Kalen

Emap_athena.conf
	IWiXNvgAGߌXNvg𐮓
	shop3.txtǉ

EeNPCǉC
	npc_event_yuno.txt	[ǉ]Wm[Cxg(5GET)
	npc_cTower.txt		[ǉ]nňNPC
	npc_town_yuno.txt	[C]䎌C

	npc_event_carnival.txt	[ǉ]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
EOĩ_[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͖җÃ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() ǉB

--------------
//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() ǉ
		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^ủ
	{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̍ڒǉAdlύ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 ǉB
	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ƏǉB
	mob.c
		mob_ai_sub_hard()Amob_target()Amob_damage() CB
	pc.c
		pc_steal_item() CB
	atcommnad.cAatcommnd.h
		@R}h@gvgon , @gvgoff ǉB
	battle_athena.conf
		finger_offencive_typefinger_offensive_typeɏCƏǉB

--------------
//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 ǉB
	setmapflagnosave }bvAZ[u}bvAW(XAY)
		nosavetOonɂ܂B
Ebattle_athena.confɒǉƈꕔ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
Ȇ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()@֐ǉB
		map.h
			map_session_data@ϐǉB
		pc.c
			pc_authok()@ϐǉB
			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() ǉ
mob.c  mob_makedummymobdb()  mob_readdb() C

EXLOɃǔŗLԍob̂hcԍ\
ibattle.c  battle_get_mobid() ǉ̂ł̂łɁ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...
EmapflagnopenaltyǉBgp@
	mapflag	nopenalty	dummy
łB@\͂̃}bvŎ񂾎oȂ悤ɂ܂B
Emapflagpvp_nopartyApvp_noguildAgvgAgvg_nopartyǉB
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
Ecȅ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_SpeedPotȞ̐l͎ԂłB(Pʂ͕b)
E@R}h@pvp@pvponɕύX@pvpon@pvpoffA@gat̋@\ύXB
Ebattle_athena.confpvp폜B
Ebattle_athena.confdeath_penalty_typeǉB
EyieB̓Kp񂾎玀񂾌ナX^[gɕύXB(Uŕƌo܂B{I̎dlȂCɂȂ̂ŕύX܂B)
EXNvgsetmapflagAremovemapflagApvponApvpoffAgvgonAgvgoffǉB
	setmapflag }bvA}bvtO^Cv
		w肵}bvtOon܂B(pvpAgvgpvponAgvgonłł̂Ŏw肵Ă삵܂Bnosavȅꍇƕ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肵}bṽV[Y[h܂B
SẴXNvg̓͊mFĂ܂̂ŒӂĂB
ETN`AA}OkXGN\VY̏0529ɖ߂܂B
̒ł̓TN`A͐l̐܂B(x14
1xɈl܂B)
Ě㏭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ȊÕf[^͏܂B肪OCꍇ
	ؒf͂܂񂪁A񂩂̓OCłȂ͂łB
	i܂́APlogin-server̃AJEgĂ邾łj

	(login/)
	login.c
		parse_admin()ǉAparse_login()C
	(doc/)
	admin_packet.txt
		VKǉBǗ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ɂĂڂNGXĝ̂ĂȂ̂ŃRgAEgȂǉB

	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Ȃ̂ŉŁ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)
EeĨ_[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Ǘǉ
--------------
//0522 by gQ

Emob_db.txtWm[̃f[^ɏC

--------------
//0521 by Ӓ

EmapT[o[ɌqȂC
	clif.c
		clif_parse()̏C

--------------
//0520 by Ӓ

EcharT[o[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}bṽXgAmapT[o[
	  ɎMꂽƂӖłB

	(char/)
	char.c/char.h
		parse_frommap()C
		mapif_sendallwos()ǉ
	(map/)
	map.c/map.h
		map_setipport()C
		struct map_session_datastateowaitingdisconnectǉ
	chrif.c/chrif.h
		FXǉ
	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)
Ȇׂ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֘ÃtOsC

--------------
//0517 by _

EACXEH[Ő蔲CƏCB(MpPbg̒񋟂肪Ƃ܂B)
	clif.h
		clif_changemapcell() ǉB
	clif.c
		clif_changemapcell() ǉB
	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 ǉB
		battle_calc_weapon_attack() CB
	battle_athena.conf CB
	conf_ref.txt CB

--------------
//0515 by _

EXLeIƎweCƃpPbgCA0512̗ƂCƏ̎dlύXłB
EwȅꍇĂȊȂƎ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̂ɂ͋CĂB
Ebattle_athenaɐݒ肳Ă镐̐ƃybg̕ߊlm̌vZ@ς܂B(CɂKvȂłǂˁB)
	skill.h
		skill_addtimerskill()Askill_cleartimerskill ǉB
	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 ǉB
		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 ǉB
		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(lbǧł10̂ŕύX܂B؍ł15ƕ\܂...)
	client_packet.txt
		01c8̕ύXłBKalen񋟂肪Ƃ܂B

--------------
//0514 by Kalen

EscriptC+ǉ
	
	conf/npc_event_pumpkin.txt	(VK)J{`Cxg
	conf/npc_town_guide.txt		(C)Junóu+vACRJ[C
	conf/npc_town_lutie.txt		(ꕔǉ)J{`CxgɉeNPC̉bǉ

--------------
//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ɂolǉBbattle_athena.confɂāAύXł悤ɐݒBol͏_ȉ؂̂ĂȂ̂ŁAKvolႢɂ͂傤ǂ́Ƃɂ͂Ȃ܂B
	battle.h
		Battle_Configdeath_penalty_basedeath_penalty_jobǉB
	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_jobǉB

--------------
//0512 by _

EɂȂ肻ȕ̏CƐVpPbg̑ΉCłBoO܂B(ȂԈُɂȂĂ̏CłB)
	athena.sh CB(IʂɎsĂ̂ŋC܂łB)
	makefile
		DPACKETVER23 ɏCBW[mȌ̑ĝȂ3ɂĎgĂB(̈ȑOȂ21)
	clif.c
		DPACKETVER=3ɑΉ(̏0x1140x1deɕϊ0x11f01c9ɕϊ̂ݑΉ)
		clif_skill_damage3() 폜B
		clif_skillcastcancel() ǉB
		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() ǉB
	battle.c
		battle_calc_weapon_attack() CB
		hitrate10000ȏɂΕKɂȂ悤ɕύXB(̎dlł̓X^[̕KUȊO͕KɂȂ܂B)
		ɏCB
	client_packet.txt
		VpPbgǉB
	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@spiritballǉB(@\͎g΂킩܂B1000ȏ͓ȂłBpN܂̂...)
	atcommand_athena.conf
		CB
	conf_ref.txt
		CB
E0x196pPbgɐVǉĂ̂ŏԕωɒڂɊ֌WȂSC_xxxx̔ԍ𒲐Kv܂B(SC_EXPLOSIONSPIRITSɂΉ܂B) skill_status_change_end()Askill_status_change_start()clif_status_change()Ătype͈̔͂64(0x40)ɂȂĂ邪ǉĂ镨ɍ킹ďCKv܂ǉĂ镨SĂ킩킯łȂ̂SC_EXPLOSIONSPIRITSɂΉ܂Bx͔g̉mɌ܂B̓f[^܂łB
VpPbgɑΉƂĂ܂񂪕słB
COhV̎COhV̎̃GtFNgo悤ɂׂ01c8gĂ݂܂ʖڂłBclient_packet.txt̃f[^ł͉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ϐǉB
	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() ǉB
		pc_is50overweight() CB
	pc.c
		pc_gainexp() CB
		pc_insert_card()Apc_item_identify() CB(債CႠ܂...)
		pc_authok() CB
		pc_addspiritball()Apc_delspiritball() ǉB
		pc_spiritball_timer() ǉB
		do_init_pc()Apc_calcstatus()CB
		pc_spirit_heal() ǉB
		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() ǉB
		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
EOĩ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()ǉ
	map/pc.c
	map/skill.c
	map/battle.c
		CEyђǉ
ivZ+ Acolyte Maniax +Qlɂ܂Bj

--------------
//0504 by _

Eatcommand.c CB(2ǉł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ڒǉ
	conf/npc_pota.txtǉisociẽ_W|^qj
	conf/npc_shop.txt
		CY[h폤l̉iC
	conf/script_athena.conf
		0499ł̕HC
	login/login.c
		#include <time.h>ǉ
	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(vẽ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()ǉ
		pc_is90overweight()ǉ
	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Ƀ}bṽ[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 ǉB
	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
		0x1d0ǉ
	map/map.h
		sdstructure spiritballǉ
	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̃XLcẽoOCƃXeB[ƃXeB[RCAXib`[̏CAmob_target̃oOCB
EAAp[eB̎Ɋ{XL`FbN悤ɏCB(battle_athena.confŃ`FbN邩ǂ߂邱Ƃł܂B)
Jv̑qɂ̓XNvgŐ邵܂B
EXNvggetbasicskillcheckǉB
	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() ǉB
		pc_item_steal()Apc_coin_steal() CB
	pc.h
		pc_move() ǉB
	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 ǉB
		battle_config_read() CB
	trade.c
		trade_traderequest() CB
	script.c
		buildin_getbasicskillcheck() ǉB
	map/makefile CB
XeB[ƃXeB[RČ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)%

{ǏvZ킩͏񋟂肢܂B
XeB[RC̃[j̗ʂ̓X^[̃x*100ɂȂĂ܂BɂĂ񋟂肢܂B
cȅꍇ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

OĈƂ݊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[ēvǉ(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+ǉ
	
	conf/npc_event_doll.txt		(VK)
	conf/npc_turtle.txt		(VK)T֘ANPC+TNGXg(qC)ǉ

	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(Cẽ`FbN͂Ă܂B)
	pc.h
	pc.c
		pc_can_reach() ǉB
	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()ǉ
	map/pc.c
		pc_coin_steal()ǉ
		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()ǉ
		pc_item_steal()ǉ
	map/pc.c
		pc_item_steal()ǉ
	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̃`FbNǉ
	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_countoǉ
	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.txtinf2ǉĂgăNFXgXLǂ𔻒fdg݂łB
	skill.h CB
	skill.c
		skill_readdb()CƏCB
		skill_get_inf2() ǉB
	skill_db.txt CB
	skill_tree.txt CB(0478O̕)
	clif.c
		clif_skillinfoblock() CB
	char.c CB(0478O̕)
Ebattle_athena.confquest_skill_learnǉB
	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ŃNGXgXLô͓łŌ̃tO20ɕςĂ܂̂ŒӂĂB
	npc_test_skill.txt CB
	npc_event_skillget.txt CB
	conf_ref.txt CB
	client_packet.txt CB

--------------
//0480 by Kalen

EEventskillǉ
	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}hǉ
	  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
		ȑǑ`̃f[^ǂݍ߂܂B
	(map/)
	pc.c/pc.h
		pc_skill(),pc_calc_skilltree()ȂǏC
	script.c
		buildin_skill(),buildin_getskillid()ȂǏC

E@questskill,@lostskillǉ
	E@questskill XLID ŃNGXgXLo܂B(NGXgXL̂)
	E@lostskill XLID ŃXLY܂B(NGXgXLȊOOK)

	atcommand.c/atcommand.h
		struct Atcommand_Configlostskill,questskilloǉ
		@questskill,@lostskillǉ

--------------
//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 ǉB
	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 ǉB(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:ǉB
	map/map.c
		map_config_read()CB
	map/script.h
		do_set_posword()ǉB
	map/script.c
		do_set_posword()ǉB
		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̉񕜃ACẻ񕜗ʂWm[̂̂ɏC

--------------
//468 by Kuro

ENGXgǉ
	conf/npc_event_ma_sword.txt

--------------
//467 by nini

EBB茕łȂƂCׂĂ̕
EAR蕀łȂƂCЎ蕀A蕀A݊
EXsANCbP𑄂
ELXgLZȂ̂ɃOhNXA[ÕXgbvV[Yǉ
Eubcr[gLXgLZȂȂĂ_C
	map/skill.c
		skill_use_id()@C
		skill_check_condition()@C
E2-2EXL̃LXgEfBCǉ		
	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
		0x1e1pPǉ
	map/battle.c
		battle_calc_weapon_attack()C
	map/clif.h
		clif_spiritball_cre()ǉ
		clif_spiritball_del()ǉ
	map/clif.c
		packet_len_table[]C
		clif_spiritball_cre()ǉ
		clif_spiritball_del()ǉ
		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ɏĂ̂ǉłB
	skill.c
		skill_use_id()C
	cast_db.txt
		NXLǉ

--------------
//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()ǉ
	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()Ȃǒǉ
	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_ EXPLOSIONSPIRITSǉ
	map/skill.c
		SkillStatusChangeTable[]C
		skill_castend_nodamage_id()C
		skill_check_condition()C

--------------
//458 by Kuro
EARCg]ENGXgǉ
	conf/npc_job_aco.txt
		bȂ̂œKɂĂ܂B܂ANPC̊O̕ςȂ̂œKɂĂ܂B
		͏CĂĉB	

--------------
//0457 by Kalen

EPVP֘ANPCǉ
	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^[̍Ũ[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.txtadatâƂɏĂ)
     common/grfio.c
		grfio_setadatafile()ǉ
           /grfio.h
		grfio_setadatafile()ǉ
     conf/map_athena.conf
		NCAg̃}bvǂݍނ悤ɕύX
         /npc_warp_a.txt
                }bṽ[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 ǉB
	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񓁗Ȇ𐳂K
EATK̏オJ[ȟʂ𕐊TCYCȂ̒グɕύX
EATKEDEF̏オJ[ȟʂ̓K̎dύX

map.h
	map_session_datacatk(J[hATK)ǉ

pc.c
	pc_calcstatus()
	  ATV̓񓁗̍UxC
	  XNvgɂ鑮EK悤ɂ
	  ̑𐳂K悤ɂi|̑Dj
	  AׂĂ̍UɓK܂
	  J[hATK̏ǉ

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.xmlǉB
	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 ǉB
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_SpeedPot2ǉ
	item_db.txt
		|[ṼXNvgǉ
	(map/)
	skill.c
		skill_status_change_start()C
	pc.c
		pc_calcstatus()C

EPvPVXẻ
	Epvp}bvł͎IɁAPCpvptOonAʒʒmȂǂs܂B
	E}bvpvptOTvnpc_pvp.txtƂēYtĂ܂B
	Epvp̏ڂ[悭킩Ȃ̂ŁÂ悤ɂĂ܂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ȂǂǉƂ悢Ǝ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

Ȇ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 ǉB
	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
iÕoO݂͂܂łj

--------------
//0433 by _

EoOCB
	̂͂킩Ȃskill.cskill_readdb()ςɂȂĂ̂ŏCB(Cł͂܂...)
	skill.c
		skill_readdb() CB

--------------
//0432 by _

E0429ňꕔ̃ACẽ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() ǉB
	exp_guild.txt CB(xオȂ悤ɂxexp0΂ȏɃxオȂȂ܂B)
EXNvgresetstatusAresetskill ǉB
	pc.c
		pc_resetskill() CB
	script.c
		buildin_resetstatus()Abuildin_resetskill() ǉB
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ďô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()ǉ
		do_init_itemdb()C

Ef[^x[Xǂݍݕ̕s萫̏C(\vI݂ł)
	ȂĂȂDBiitem_value_db.txtȂǁj̃t@CȂꍇ
	I肷錻ۂĂꍇ͂ŒĂ邩܂.

	skill.c
		skill_readdb()NULL|C^`FbNǉ
	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

ȆCiby ^Mj
	db/job_db1.txt
		傱ƏC
	db/job_db2.txt
		2-2ȆȂJob{[iXǉ(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 10ǉ
	db/item_db.txt
Ewarp_test_yuno.txt npc_warp30.txtɊ܂, ƏC
	conf/npc_warp30.txt
ẼT[o[Ă悤ɏC
	/startNbv

--------------
//0420 by gt

EEP 3.0ł̃J[hʕύXɉ͈͂őΉB
@قڑSĂ̕ύX_ɂāAoCĂ܂B
@ATKCKpĂ悤Ȃ̂ŒǉĂ܂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 ǉB(gpx̕łBǂ̃ACeo悤ɂ邩͎Őݒ肵ĎgĂBNCAg𗎂ƂACe͏oȂ悤ɐݒ肵ĂB)
	itemdb.h
		struct random_item_data ǉB
	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ƂAǉ`ɂĂ܂B
@G̔zuɂĂnpc_monster.txtƂ͓Anpc_monster30.txtƂĂ܂B
@肪悤łΓĉB
EL`t@Cǉɏ]map_athena.cnfύXB
E@goR}hփWm[ǉB
@v]悤Ȃ̂Œǉ܂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.txtvǉ܂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ŎwÊɂđ͈̂̔͂ŏ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}bṽ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() ǉB
Epc.h
	pc_isGM() CB
	pc_read_gm_account() ǉB
Eexp.txt
	xオȂl9999999990ȉɕύXB
	xグׂɕKvEXP999999999ȏɂ邱Ƃ\B
Eclif.c
	clif_GM_kickack()Aclif_GM_kick()Aclif_parse_GMKick() ǉB
Eclif.h
	clif_GM_kickack()Aclif_GM_kick() ǉB
Eatcomand.c
	strncmpistrcmpiɕύXB
	@kickA@kickall R}hǉB
	@kick <L>
		ȊÕL̐ڑIB(GMx
		ႢLɂgȂBGMł͂ȂLGMx0)
	@kickall
		IɐڑĂSẴL̐ڑIB(
		GM܂߂) I_Ep̃R}hłBGMx99Ȃ
		gȂB
Econf/GM_account.txt ǉB
	GMƂĔFAJEgIDݒ肷t@CłB
Emmo.h
	DEFAULT_WALK_SPEED140150ɕύXB(ꂪ{IɂĂ鐔l
	݂ł̂...)
	struct gm_account ǉB
Eclient_packet.txt
	pPbg0x00cd ǉB
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
	  ǉbZ[W{ɕύXC

	atcommand.c
		ǉƏC

Eꕔ̃XĽʎ
	Esg̃W[Nt[hAChD̗ьAK^̃LXA
	  tC`[AtXgEF|ACgjO[_[A
	  TCY~bNEF|
	
	map.h
		struct skill_unitrangeǉB
	skill.c
		FXC
	skill.h
		enum̏CȂ
--------------
//0407 by _

Eybg̃oOCB(ōČłȂ̂ŖɂȂ肻ȏC܂B)
Eybg̈ړxpet_dbɒǉB
	pet.h
		struct pet_dbspeedǉB
	pet.c
		pet_catch_process2()Aread_petdb() CB
	pet_db.txt
		ړxǉB
		(R}gAEgĂ̂̓W^XƃAXłBߊlp
		ACe݂邱ƂƃptH[}X邱Ƃl
		ǉ\̕ƍl܂B̕ߊlp̃ACe
		ƃNCAg𗎂܂̂ŒӂĂBǉĂ
		䎌̓|̕ł̂... ߊlp̃ACeȊO͓Kɓꂽ
		łB)
Epc.cAclif.c
	pc_equipitem() CB
	clif_parse_EquipItem() CB
	pc_equipitem()̖ӒACẽ`FbNclif_parse_EquipItem()
		ړ܂B(ybg̑܂̂...)
Ex99ȏɂ悤ɕύXƐEƕʂɃx[Xx̌Exݒł悤ɏCB
	map.h
		MAX_LEVELǉB
	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 ǉB
	battle.c
		battle_config_read() CB
	battle_athena.cnf CB
Econf_ref.txt CB
Eclient_packet.txt CBybgpPbgǉƏ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ʒǉF܂Ōʂ̌vZ̒ǉŁAgȂXL͎g܂B
	  n~OAYȂŁcAj[xO̎w(탌x)A
	  G^[iJIXAhSmW[
	Eʕtn͂ƂłXL͑SĎgpłȂ悤ɏC
	EUnXL͂قƂǌĂȂ̂łԂ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-2EXLǉ܂
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ړMOBǌĂ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_rateǉ
	(doc/)
	conf_ref.txt
		C
	(map/)
	battle.c/battle.h
		struct BattleConfig  mob_count_rate oǉ
	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)
	Ě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)
	Ê΂ɂƂ̓_sȂ悤ɏC

	mob.c
		mob_ai_sub_hard_mastersearch()C
		mob_can_move()ǉ
		mob_ai_sub_hard()C

EMOB̍sC
	EXLgpfBĈ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()ǉ

EpPbg.txtclient_packet.txtɉC

	(doc/)
	client_packet.txt
		G[V̐ǉ

Eǂ芪MOB̎ނ͌Âf[^ۂłB
  MOBł͎艺ƈႤMOB݂łˁB
  ڂlmob_skill_db.txt𒼂ĂƁB

--------------
//0393 by 

EcharIłloginĨ|[gݒ6900ɌŒ肵AύXłȂ悤ɂ
@(loginŃ|[g6900ŒɂȂĂ̂charɍ킹܂B)
	char/char.c
	conf/char_athena.cnf
	doc/conf_ref.txt

--------------
//0392 by Ӓ

EMOB̍sC
	Êlast_thinktickĂȂC
	EɊ֘APC߂ɂĂ蔲sC
	  iǂ珉̃oO͗lH  ̃oOƁA
	    V蔲̎dl^bOgŎcĂ͗lj
	E芪MOBpAIǉi܂ł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()ǉ
		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ǉA芪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 ǉ(ςƏACe̍ő吔ς
		Ƃł܂B100000ɂȂĂ܂B͕K
		500000ȉɂĂBȂƐǂ
		ۏ؂ł܂B)
	map.c
		map.hɍ킹ďCB
	npc.h
		START_NPC_NUM ǉB
	npc.c
		npc.hɍ킹ďCB
	login.h
		START_ACCOUNT_NUMEND_ACCOUNT_NUM ǉB
	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_useǉB
	battle_athena.cnf
		mob_skill_useǉB(ݒ肵Ȃ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Ȃ悤ɃpPbg7532ǉB
	
	(common/)
	version.h
		MODo[W`ł悤ɁB
	(tool/)
	checkversion
		MODo[W\悤ɁB
	(login/char/map)
	login.c/char.c/clif.c
		MODo[W̏ǉA
		pPbg7532iؒfjǉB

ȆFXC
	E܂܂C΂łA܂oĂ܂B
	EMOBXLslavelt,attackpcgtieXgjB
	EMOB̎艺̂߂̋@\ǉi܂ł܂jB
	E͈̓XLʔ͈͂ɎSPCƎIoOCB
	EMOBcoȂcȂĂ炢ȁB
	
	(map/)
	mob.c/mob.h/map.h/battle.c
		FXǉ

	(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[WmFpŕAT[o[̐mFpƂ񂶂ł
	pPbg7530/7531̏ڍׂ̓\[XĂB

	(tool/)
	checkversion
		o[WmFc[PerlXNvg

	(login/)
	login.c
		pPbg7530/7531̏ǉ
	(char/)
	char.c
		pPbg7530/7531̏ǉ	
	(map/)
	clif.c
		pPbg7530/7531̏ǉ

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̐ǉ
	(doc/)
	conf_ref.txt
		pet֘A̐ݒ̐ǉ
	(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`̒ǉ
	Wm[Abvf[gŒǉ}bvƁA؎IƎ(?)̃NCY][
	(RhAbvf[g)ƓVÃAbvf[g̃}bv`ǉ
	݁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()ǉ

--------------
//0384 by _

EybgB
v蒷܂BŉC
oĂȂ肪܂... Ŕ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 ǉB
	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
		ۑɎgpPbgǉB
* x̃ybgɂLt@C̍\ςȑO̕ƌ݊łȂ
	̂ tool/convert.c ǉ܂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 ǉB
	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 ǉB
	ybg̖OύX邩ǂ߂܂B(ݒ肵Ȃno)
	yes͉xłO̕ύX\B
	no͈xύXƂύXs\ɂȂ
pet_hungry_delay_rate ǉB
	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 ǉB
	ۑ鎞Ԃ߂܂B(ݒ肵Ȃ300)
	dʂ͕błB(t@Cɕۑ鎞Ԃ̊ԊułB)
Emap_athena.cnf
autosave_time ǉB
	ۑ鎞Ԃ߂܂B(ݒ肵Ȃ60)
	dʂ͕błB(LIɃf[^𑗂鎞Ԃ̊ԊułB
		t@Cɕۑ鎞Ԃ̊ԊuႠ܂B)
Einter_athena.cnf
pet_txt ǉB
	ybg̃f[^ۑt@C߂܂B(ݒ肵Ȃpet.txt)
E@makepet R}hǉB
	ybg̎ɂ@itemō͎gĂʂɂȂ܂̂
	gėĂB
	@makepet <X^[ID or ID>
E@petfriendly R}hǉB
	@petfriendly <>
	ybgAĂ鎞Ƀybg̐exύXB(0~1000)
E@pethungry R}hǉB
	@pethungry <>
	ybgAĂ鎞Ƀybg̖xύXB(0~100)
E@petrename R}hǉB
	@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ɂȂ̂ĥłłǂȉeo邩
	ς킩܂B
	pc.cAmob.cCB
	ł̏CĂAŃNbN肷ƃL΂炭
		~܂悤łB(ybĝƎv܂ybgȂĂ
		̂ő̌...)
* doc/code_ref.txthelp.txt͖ʓ|̂ŏCĂ܂B
Egm_all_skill: yes2-2̃XL\悤ɕύXB(͂܂...)
	pc.c
		pc_calc_skilltre()  CB
EJ[g{[Ṽ_[WvZCB
	팤dvZĂ̂ŏCB
	battle.c
		Damage battle_calc_weapon_attack() CB

--------------
//381 by Ӓ

EMOB̍sC
	EPĈȂ}bvMOB͎X[v悤ɂȂ܂
	EPĈ}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_LOOTǉ,mob_readskilldb()C

EMOBXL̑ύX܂B
	
	map.h
		struct mob_data def_eleoǉ
	mob.c
		mob_spawn()def_eleZbg悤ɕύX
	battle.c
		battle_get_element()def_eleǂނ悤ɕύX
	skill.c
		skill_castend_nodamage_id()C

EN@O}CǍʔ͈͂oƌʂ؂悤ɂȂ܂

	skill.c
		jbgnC

--------------
//380 by `̐l

EJ[gH[Ṽ_[WvZ
	battle.cύXB

CHRISA肪Ƃ܂B
mbNobNłȂāAĂ܂iG

--------------
//379 by CHRIS

EJ[gH[V̎
	skill.cbattle.cύXB

E}OiuCNɃmbNobNǉB
	battle.cύXB

i\[XM̂͏߂ĂȂ̂ŁALĂ邩ǂ܂񂪁Ał͏o܂Bj
ivO֌W̏Ђ𔃂ĕ׋ď߂ĘM̂łEEEBKo}XIBj

--------------
//377 by Ӓ

EMOB̍sC
	E߂PĈȂMOBX[vdl~߂܂B
	EPĈȂ}bvMOB͑SȂȂ܂B
	EPĈ}bvŁA߂PĈȂMOB͎X悤ɂȂ܂B
	ȆׂƂC
	iptH[}Xɉe邩܂FdȂ邩j

	mob.c
		mob_randomwalk()ǉ
		mob_ai_sub_lazy(),mob_ai_sub_hard()CȂ

EXLC
	EMOBe|[gł悤ɂȂ܂
	
	mob.c
		mob_warp()ǉ
	skill.c
		skill_castend_nodamage_id()C

EXe[^Ẍُꕔ/C
	EPC/MOBƂɑx̌ʂ悤ɁiAGI̕\͕ς炸j
	EPC̃GWFXAC|VeBI}kXAx㏸̌ʂC
	EMOB2HQAAhibVAGWFXAC|VeBI}kXA
	  x㏸/AOAAubVOȂǂ̌ʎ
	EAAX^̕Kʎ
	ẼNeBJ{ʎ
	EÍ̖A𗦌ʎ
	E􂢂ATKʁALUKʎ
	
	battle.c
		battle_get_*()C
		battle_calc_weapon_damage()C
	mob.c
		mob_get_speed(),mob_get_adelay()ǉ
	pc.c
		pc_calcstatus()C

Eitem_value_db.txtŃACẻ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 Ӓ

EMOBpXĽʂ
	iUAłȂǂ̒ǉʕt^UAtUA@ŌU
	KUAh䖳UA_ATKUȂǁB
	A**SeXgĂ܂**B
	
	(db/)
	skill_db.txt
		MOBpXL̃f[^C
	mob_skill_db.txt
		ǉ
	(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[^ςȂ̂Ŗ^ṽ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_*ǉȂC
	map.h
		struct mob_data  skill* ǉ
	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܂܂ł͊YubÑNXg̏Ȃǂ
	    ˑĂj
	E˒͈͓ABs\nтPCMOBbNƁA
	  MOB~ȀŖ\ꂾ肷̏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()ǉ

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 <error No>.B
		R 0081 <type>.B

E363ŃrhwarningosC
	map/guild.h

--------------
//363 by Ӓ

EMh̏C
	EOCĂȂPCǕƃ}bvIoOC
	Eo[ǉɒǉꂽPCMh\ɒǉȂ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
		Uǉ
	(map/)
	guild.c/guild.h
		guild_break(),guild_broken(),guild_broken_sub()Ȃǒǉ
	clif.c/clif.h
		clif_guild_broken(),clif_parse_GuildBreak()ǉ
	intif.c/intif.h
		intif_parse_GuildBroken()ǉ

--------------
//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
		@guildlvupǉ

EMakefikecleanC
	
	(char/ map/ login/)
	Makefile
		E폜st@C̃pX ../athena/  ../ ɏC

--------------
//357 by Ӓ

Epc.c̕C
	t@CAbv̂Â֎~܂񂩁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
		mapIVXẽ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 ǉB
Echar.cAlogin.cAinter.cAmap.cAbattle.cňꕔstrcmpstrcmpiɕύXB

--------------
//355 by 䂤

E葕l񓁗ɏC
@i_[WvẐ݂Ōړ͕ύXȂj

map.h
	map_session_dataɍp̕ϐǉ

battle.h
	battle_get_attack_element2()ǉ

battle.c
	battle_get_attack_element2()ǉ
	battle_calc_weapon_attack()
	@񓁗̏ǉC
	@NeBJ_uA^bNɔ肷悤ɏC
	@ߏ萸B̒ǉ_[W𐸘B_[W̎ɏ悤ɏC
	@i͓Ǝɒׂ̂ŊԈĂ\j

pc.c
	pc_calcstatus()ɍp̕ϐɒl鏈ǉ		
	pc_equipitem()̓񓁗̏ꏊ̂C

--------------
//353 by 

EYare-launchergƂo悤Makefileathena.shύX

--------------
//352 by Ӓ

ErɃNCAgImapȈ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ԈȊȌꍇ
		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 ǉB
char.c
	do_init() s鎞t@C͂ĂȂCHAR_CONF_NAME
		g悤ɕύXB
map.h
	MAP_CONF_NAME ǉB
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() ǉB
		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);
		ǉ
	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 ǉB
	mob.c
		mob_spawn() CB
		mob_ai_sub_hard_lootsearch() ǉB
		mob_ai_sub_hard() CB
		struct delay_item_drop2 ǉB
		mob_delay_item_drop2() ǉB
		mob_damage() CB
	battle.h
		struct Battle_Configint monster_loot_type ǉB
	battle.c
		battle_config_read() CB
	battle_athena.cnf
		monster_loot_type: 0 ǉB({I0ɂȂĂ܂B
			0̏ꍇLOOTITEM_SIZE܂ŃACeHׂĂ
			܂ACeHׂđÕ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-JIŜ...PȂ~Xł...)

----------
//339 by 

E338KpԂŃrhG[sC

----------
//338 by ߋ̐li1

E@pet_db.txtɑΉ܂B
E@pet_dbvȌɏC܂B
E@ybg̖OύX鎖o܂
E@ybgɃANZT[鎖o܂B
E@݃ybgais

	(map/)
	clif.c/clif.h
	E pet֘Å֐قڏCyђǉ܂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\̂ɕϐǉBLN^[ybg̃f[^ێׂ̃VXe
	@̈׍ϐ͂̂Ǒ\

	npc.c
	P܂B

	(conf/)
	battle_athena.cnfɗ̊lmpet_rate܂B

----------
//337 by Ӓ

EMh̒ǉƏC
	EMhɌol[ƁA[EXPُȒlɂȂoOC
	EMh̓GΊ֌W̒ǉ

	guild.c/guild.h
		guild_payexp()̏C([EXP)
		guild_opposition()ǉ
		guild_allianceack(),guild_reqalliance(),
		guild_reply_reqalliance()̏C
	clif.c/clif.h
		clif_guild_oppositionack(),clif_parse_GuildOppositionǉ

EfBCԂdex̉e󂯂邩ǂbattle_athena.cnfɏ悤
	
	(conf/)
	battle_athena.conf
		delay_dependon_dex ǉ
	(map/)
	skill.c
		skill_delay_fix()̏C
	battle.c/battle.h
		struct Battle_Configdelay_dependon_dexǉ
		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̊mǉB
Eskill_db.txt - obNXebvnk01ɕύXB(XLԍ150̕łB)
Eproduce_db.txt IfIR,GjEǉB(͖{Iɂ͂ȂłB
	ăNCAgɂ͕KvȃACe\܂B)
	IfIRg镨ɂ邽߂ɒǉ܂B
	IfIȐꍇ̓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() ǉBxAbv
		`FbN܂B
	pc_itemheal() ǉBACegVITƃXLɂă{[iX
		tłBXL[jO|[VB
Epc.h
	pc_checkbaselevelup(),pc_checkjoblevelup() ǉB
	pc_itemheal() ǉB
Escript.c - XNvgfixhealBitemhealǉBhealfixheal̋@\
	悤ɕύXB
	buildin_fixheal() buildin_heal()̕ɖ߂܂B(܂
		buildin_heal()buildin_fixheal()ɂȂ܂B)
	buildin_itemheal() ǉBACeɂ񕜂͂ĂԂ悤ɂ
		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()ǉB
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()ǉB(Ӗ͂܂...)
Emap/temdb.c
	itemdb_readdb()class_equip_db.txtǂނ悤ɕύXB
Edb/class_equip_db.txt ǉBő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_rateǉB
	battle_get_mexp()ǉB
Emap/battle.c
	battle_configexp_ratebase_exp_rateɕύXB,job_exp_rateǉB
	battle_get_mexp()ǉB
	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_rateǉB
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@\ǉ
	EMh̓Ɠ

	(char/)
	inter.c/int_guild.c
		pPbg/Mhǉ
	(map/)
	clif.c/clif.h
		clif_guild_reqalliance,clif_guild_allianceack,
		clif_guild_delalliance,clif_parse_GuildRequestAlliance,
		lif_parse_GuildReplyAlliance,clif_parse_GuildDelAllianceǉ
		iMh֌W̃pPbgj
	intif.c/intif.h
		Mh֌W̃pPbgǉ
	guild.c/guild.h
		Mh֌W̏ǉ
	map.h
		struct map_session_dataguild_alliance,guild_alliance_accountǉ

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_idǉ

	(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ׂ̍Ȋ֐ɂ܂Ƃ߂ׁAǉ܂B
		݂̓ybg̔֌W܂Ƃ߂Ă܂B

		script.c
		ɑ傫ȏC͂܂B
----------
//330 by ߋ̐li1

EybgVXe(xQO)
	EGɑ΂ĕߊlpACegp鎖\ƂȂ܂B
	@(܂nĂȂŜݎ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\̒ǉ
		mmo_charstatus@ybg\̐錾ϐǉ(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);
		
		ȏ̊֐ǉybgɊւ鏈sĂ܂B
		([bgAI𑋁AptH[}XÂقFX)

		npc.c/npc.h
		int npc_pet(struct map_session_data *sd,int name_id);
		ybg\ׂ̈̊֐ǉ
		(̊֐Ńybg̕\sĂ܂BK؂ɏCĂ)

		script.c
		int buildin_catchpet(struct script_state *st);
		int buildin_birthpet(struct script_state *st);
		ǉ܂BXNvgpet,bpetǉ܂B
----------
//329 by Ӓ

EMh@\ǉ
	EMhւEXP̏[
	EMhxAbv
	EMhXL̊U

	(db/)
	exp_guild.txt
		Mhx̌olf[^x[X
	(common/)
	mmo.h
		GBI_*,GMI_*̒`̒ǉȂ
	(char/)
	int_guild.c
		EXP⃌xAbvAXLAbvǉȂ
	inter.c
		pPbgǉ
	(map/)
	guild.c/guild.h
		Mhǉ
	intif.c/intif.h
		MhpPbgǉ
	clif.c
		clif_guild_skillinfo()C
		clif_guild_skillup()ǉ
	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@\̒ǉȂ
	EǕ@\iǕLĉ\ꕔ񂪃_~[j
	EXL̕\i\łBグ͏o܂j

	(common/)
	mmo.h
		struct guild_explusion̕ύX
	(char/)
	int_guild.c
		Ǖǉ
		Mh`FbNȂǒǉ
	(map/)
	guild.c/guild.h
		MhXL֌W̃ANZTȂǒǉ
	clif.c
		clif_guild_skillinfo()̏C
		clif_guild_explusionlist()ǉ

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_serveȑC
	(char/)
		char2.c
			check_connect_login_server(),do_init()̏C
	(conf/)
		char_athena.cnf
@			Echar_maintenance1ɂƃOCľ(_)
@			Echar_new1ɂƎȊO[V]
	(doc/)
		pPbg.txt
			E̕ύXɔꕔC

----------
//325 by Mind Twist(224&0293)
EG(NPC)XL̒ǉic[ɒǉ̂݁j
	db/skill_db.txt
	EMhXLς炸sč`Ȃ̂ȁ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ɉsǉ
	(map/)
	party.c
		party_check_member()̏C

EMhbCȂ
	(char/)
	int_guild.c
		Mh̃bZ[Wɉsǉ
	(map/)
	guild.c/guild.c
		guild_send_message(),guild_recv_message()Ȃǒǉ
	intif.c/intif.h
		intif_parse_GuildMessage()Ȃǒǉ
	clif.c/clif.h
		clif_guild_message(),clif_parse_GuildMessage()Ȃǒǉ
		clif_guild_basicinfo()̃pPbg015001b6ɕύX

EobNXebv̂ǉ
	Egƃ_[WP悤Ɍ܂B(ۂ̓_[WOł)

	skill.c
		skill_castend_damage_id()C

------------------
//321 by@ߋ̐li
E|ʂ̂ݎ(X_݂͑邪oǍʂo)
	map/clif.c map/clif.h
		clif_itemlist()ǉ
		̒ŋ|Ɋ蓖ĂpPbgԍ0x8000Ƃ鏈ǉ

		clif_arrowequip(struct map_session_data *sd,int val); //self
		ǉB̒ŋ|pPbgsĂ܂
	map/pc.c
		pc_equipitem()@|ǉ
	
	cꂽ_F
	E@Ȃ
	E@OƖPɂȂ
	E@Ă\Ȃ(pos̐ݒĂȂׂ)
	E@𑕔łȂ(̖𑕔ȂΑ̌ʂɂȂ܂

----------
//320 by 
Eȉ̃pPbg̃G[R[h̐ǉ
	doc/pPbg.txt
		R 006a <error No>.B
		R 0070 <error No>.B
		R 0081 <type>.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ɂǉʂшُϐ̏C
	map/skill.c
		CfbNXlԈĂƎv̂ŏCiSC_POISON -> SC_STONEj

E{EOobV̉AOgD[X̎gpǉ
	E{EOobVB΂Ă̂
	@battle.c blewcountRgAEg܂
	EOgD[X̎gpinCfBOJ^[j`FbNǉ
	@Ȋő̃XLgpǉĂ悢̂ȁ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^[ǌƍ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^[ǌƍ_[W~X@(pPbg?)킩Ȃ̂
		vZ̃_[W-1̏ꍇAdamage=0𑗂悤ɂĂ܂
		Ƃ悢@̂łC肢܂

EŠvZLukł͂ȂFlee2Ŕf悤ɏC
	map/battle.c
		battle_calc_weapon_attack()
	
	(db)
	item_db.txtAitem_db2.txt
		ïꕔ{[iXʂǉ
	mob_db.txt
		^łĂ̂C
		܂ModeDropɖ_邩܂

----------
//0318 by Ӓ

EzPTƂPTɑȂPCƎI\oOC
	
	mob.c
		mob_damage()EXPzC

Ep[eBꂽ̂ɏĂ悤ɌoOC
	EYLOAEgԂ̎ɏǍ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_spawnpčĂя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̋@\ǉ
	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_belonginfȍC
		clif_guild_skillinfoǉ
	guild.c/guild.h
		EނȂǂ̏ǉ
	intif.c/intif.h
		EނȂǂ̏ǉȂ


----------
//0314 by 

EcharImapI̎I30Ɉグ
	login/login.h
	char/char.h

Emap_athena1.cnfmap_athena.cnfɃl[
@ɔAathena.shύX

EpPbg͎doc/Ɉړ

	
----------
//0313 by Ӓ

EMh̋@\ǉ
	EMhU/EeύX/o[̖EύXȂ
	Eguild.txt̏܂ς܂AÕf[^ǂݍ߂͂łB
	
	<pPbg͏W>
	E016c,016d,0163,015cȂǂ̏ڍׂȏ
	EȊOPC̏MhIDʒmpPbg
	
	(common/)
	mmo.h
		struct guild ύX
	(char/)
	int_guild.c/inter.c
		ǉ/pPbgǉ
	(map/)
	guild.c/guild.h/intif.c/intif.h
		ǉ
	clif.c/clif.h
		Mh֌W̃pPbgǉ

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ŉsR[h𕶎Œ`܂B
		WindowsnCR/LFȂ̂"\r\n",UNIXn"\n"łB
		ʂɐw肵ȂĂAthenâ͖Ȃ삷͂ł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̏Ń_vǉB

EMh@\̒ǉ
	EGuύX/mύX
	Eguild.txt̏ς܂AÕf[^ǂݍ߂͂ł
	
	(char/)
	int_guild.c/inter.c
		MhpPbgApPbg
	(map/)
	guild.c/guild.h
		@\ǉ
	intif.c/intif.h
		Mh֌WpPbgǉ
	clif.c/clif.h
		Mh֌WpPbgǉ

----------
//0309 by C}{RIS

E{EOobV͈͍U܂B
Eveɑi̔NPCǉ܂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

EMḧꕔ@\
	EMh쐬炢܂
	EU/E/U/̕ύX/Gu/mȂǂׂ͂Ėł
	
	<؎ȗv]>
	Mh֌W̃pPbg񂪑SR܂B킩l͋ĂB
	݂̂܂܂ł̓Guƍm炢łȂ\cB

	(common/)
	mmo.h
		Mh֌W̍\̂ƒ萔ǉ
	(char/)
	inter.c
		pPbgǉ
	int_guild.c/int_guild.h
		ۂ̏ǉ
	(map/)
	map.h
		struct map_session_dataɃMh֌W̃oǉ
	guild.c/guild.h
		VKǉBMh@\p
	pc.c
		pc_authok()ŃMhAguild_request_info()ĂԂ悤ɁB
	clif.c/clif.h
		MhpPbgǉ
	intif.c/intif.h
		MhpPbgǉ

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̉sAỎʂ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;ǉB
		int parame[6] ǉBő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()ǉB
		buildin_fixheal()buildin_heal()XLvitɂĉ񕜗ʂς
		dlɂȂ̂Ōbuildin_heal()̖OςłB
		buildin_percentheal()͓͂ꂽ%ƂHPSPőHP
		őSP %䗦ɉ񕜂܂B
		XNvgfixheal A percentheal ǉBgp@healƓłB
		fixhealvitƃXLHP񕜗͌ɂ{[iXȂ
		percentheal ͌̐ %ɔF܂B
	pc.h
	pc.c
		pc_percentheal()ǉB
	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()ǉB
		data_file,sdata_filet@C[JȃO[oϐɕύXB

E@stpoint,@skpointɕlw͈̔̓`FbNǉ
E@zenyR}hǉi[j[̒j
E@str,@agi,@vit,@int,@dex,@lukR}hǉi{p[^j

	atcommand.c
		@stpoint,@skpointC
		@zeny,@str,@agi,@vit,@int,@dex,@lukǉ

E}[iCggƂڂĂC
E퐻̃R[h𑽏ύX
	EޗACeCfbNXɕĂꍇɑΉ
	  iRE𒴂ƕʃCfbNXgdlĈŁj
	Esɂɒʒm悤ɂ

	skill.c
		skill_check_condition()̏C
		skill_produce_mix()̏C

E퐻mconft@CŔ{wł悤ɏC

	(conf/)
	battle_athena.cnf
		weapon_produce_rateǉ
	(map/)
	skill.c
		skill_produce_mix()̏C

EATKTCY␳e[uOǂݍނ悤ɂ
EBm/B{[iXȂǂOǂݍނ悤ɂ
Eߏ萸B{[iXɂǉ_[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{[iXǉ

EMAXHPȂǂT[o[ƃNCAgňႤlɌoOC
	OC̃Xe[^XvŽʂ𒼂ɑ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Ƒ΁Â̏ꍇ
		(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
		VKǉBgrft@CfBNgݒpB
Eǂݍރ}bv̍ő吔512ɏCB
	mmo.h
		MAX_MAP_PER_SERVER384512ɏCB
Epc.cpc_search_inventory()ǉB
	@\item_id̃ACeĂ邩ǂmF
	ĂꍇindexԂB
	item_id0̏ꍇ͋󂯂Ă鏊indexԂB
	pc_additem()pc_takeitem()CB
EGMR}h@stpoint@skpointǉB
	@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[^ǉ
	
	(db/)
	item_db.txt/item_db2.txt
		{[iXf[^ǉ
		POTA΃n[uȂǂ̃XNvgǉ
	(map/)
	script.c
		buildin_warp()ŏŃGtFNgύX
		buildin_sc_start(),buildin_sc_end()ǉ

----------
//0299 by Ӓ

ENPCCxgŃGNX|[gꂽxwł悤ɂ
	NPCXNvgOn`Ŏn܂郉x`ƁAGNX|[g܂B
	NPCCxg"NPC(orCxg)::x"ƂƁA
	w肵xsł܂B
	x24oCgȓɂĉB
	ƃvOIɃłBC\
	<>
		NPCutestṽXNvg OnEvent: ƃx`ꍇA
		NPCCxgutest::OnEventvŎwʒusł܂B

	(conf/)
	npc_test_ev.txt
		xw̃Tv傱ƒǉ
	(map/)
	script.c/script.h
		script_get_label_db()Ȃǂ̒ǉB
		parse_scriptscriptlabel_dbɃxf[^ǉ
	npc.c/npc.h
		npc_event_export()Ȃǒǉ
		npc_parse_scriptŃxf[^GNX|[g
	map.h
		struct map_session_data eventqueuẽ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()̒ǉ

EACe
	m肪łBK܂B
	
	(db/)
	item_db.txt/item_db2.txt
		ACeɑΉigїpnzFAƂȂǁj
	produce_db.txt
		VKǉBXgB
	(map/)
	skill.c/skill.h
		struct skill_produce_dbǉ
		skill_readdb()produce_db.txtǂނ悤
	clif.c/clif.h
		clif_skill_produce_mix_list(),clif_parse_ProduceMix()ǉ
	script.c/script.h
		pR}h[produce]쐬B
		͐plŁA1-4퐻(Lv)A16z


----------
//0298 by Ӓ

ELoginĨ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̒ǉC
	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()ǉBMOB̃^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̃pPbgǉ
		Íkey̐ǉ
	md5calc.c/md5calc.h
		VKǉBmd5vZp


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ƃ}bvȈC

	battle.c
		battle_get_*()ȂǂBL_PC,BL_MOBȂƂ̏ǉ
	skill.c/skill.h
		skill_unit_ondamage()ǉ

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()ǉ
	mob.c/mob.h
		mob_once_spawn_area()ǉ

EACXEH[̎I
	UłȂȂǂ̖͂̂́AIł͂Ƃ肠܂B
	ANCAgɐis\GApPbg킩Ȃ̂ŁA
	IłIW̉荞݂sꍇłANCAgł͂蔲Ă
	悤Ɍ܂B

	skill.c
		YǉȂ

----------
//0293
E2-2ẼXLRg̏Ciꕔǉj
	(db/)
	skill_db.txt
	skill_tree.txt


----------
//0292 by Ӓ

ESHOP NPCɘb|NPCȂȂ̂܂ƂȁHCPart2
	EłȂC
	
	map.h
		struct map_session_data npc_shopidoǉ
	npc.c
		npc_click()ȂǏC

EXNvgߒǉ
	EwGÃ[U[̏
	  getareausers("}bv",x0,y0,x1,y1)
	  w}bv(x0,y0)-(x1,y1)ɂPC̐vZ
	EwGÃ[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()ǉ

EXLC
	Ee|[ggpɁue|[g!!vƋԂ悤ɁB
	EXg[J[X̐Ⴂ̂C
	
	skill.c
		skill_castend_nodamage_id()C

----------
//0291 by Ӓ

EXNvgߒǉ
	ENPC̗L؂ւ悤ɂȂ܂
	  disablenpc "NPC"ŖAenablenpc "NPC"ŗLB
	  NPCdĂƂ͕̓słB
	  Ƀ[v|Cg𖳌ƂɎg܂B
	
	E^C}[̃JEgύXXNvgߒǉ
	  addtimercount "Cxg",~b
	  ŁA^C}̊΂܂ilw肵Č炷Ƃo܂j

	EAiEX̊g
	  mapannounce "}bv","AiEX",tO
	  Ŏw}bvɃAiEX𗬂܂BtO0ŉFA16ŐłB
	  areaannounce "}bv",x0,y0,x1,y1,"",tO
	  Ŏw}bv(x0,y0)-(x1,y1)̃GAɃAiEX𗬂܂B
	  tOmapannounceƓŁA0ŉFA0x10ŐłB
	
	(conf/)
	npc_test_arena.txt
		Tv̏C
	(map/)
	script.c
		buildin_disablenpc(),buildin_enablenpc(),
		buildin_mapannounce(),buildin_areaannounce(),
		buildin_addtimercount()̒ǉ
	npc.c/npc.h
		NPC̗Lǉ
	map.h
		struct npc_dataflagoǉ(1rbgڂtO)
	clif.c
		clif_getareachar_npc()̏C
	pc.c/pc.h
		pc_addeventtimercount()ǉ

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ƁAMAPȊSŋLϐɂȂ܂B

	t̖łAPCglobalreǵuIvƂuîv
	ϐłāAMAPILϐ̂قIăC[Włc

	script.c
		mapval_db`
		buildin_set(),buildin_input()̏C
		do_init_script()ǉ
	map.c
		do_init()do_init_script()ĂԂ悤ɁB

ECxgL[܂
	EL[TCY͂QłBKvȂ瑝₵܂B

	Tv[ev_doeXg]Ɠ悤ɂȂƎv܂B

	map.h
		struct map_session_dataeventqueueoǉ
	npc.c
		npc_event_timer()ǉ
	script.c
		run_script()ENDŃL[̏ǉ

EXNvgŃ^C}[gpł悤ɂȂ܂
	gp@́Aaddtimer ~b,"Cxg" Ń^C}[ǉA
	deltimer "Cxg" Ń^C}[폜B

	(common/)
	timer.c/timer.h
		get_timer(),addtick_timer()ǉ
	(map/)
	map.c/map.h
		struct map_session_dataeventtimeroǉ
		map_quit()pc_cleareventtimer()ĂԂ悤ɁB
	pc.c
		pc_addeventtimer(),pc_deleventtimer(),pc_eventtimer(),
		pc_cleaereventtimer()ǉ
		pc_authok()eventimeȑ
	script.c
		buildin_addtimer(),buildin_deltimer()ǉ

EXNvg̒ǉ
	Egetusers,getmapusers,killmonster̒ǉ
	  getusers(x)̓[U[Ax=0PCMAP,1=SMAP,8=NPCMAPB
	  getmapusers("}bv")͎w}bṽ[U[B
	  killmonster "}bv","Cxg"ŊỸ}bvɂA
	  ỸCxg쓮w胂X^[Sč폜B
	EannounceR}hg
	  tO0x08rbg1Ȃ}bvGAvZPCłȂNPCg

	mob.c/mob.h
		mob_delete()ǉ
	script.c
		buildin_getusers(),buildin_getmapusers(),
		buildin_killmonster()ǉ
	clif.c/clif.h
		clif_GMmessage()̈ύX

ECxgTvǉ
	ȒPȃA[ĩTvǉB

	(conf/)
	npc_test_ev.txt
		]̃Tv̏C
	npc_test_arena.txt
		ȒPȃA[ĩ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`FbNǉ
	script.c
		Inpc_idNA悤

EXNvgR}h[announce]̒ǉ
	EGMbZ[WɂannounceB
	  1͕A2̓tOŁA
	  tỎʂSrbg0=SāA1=}bvA
	  2=ʓA3=̂݁A4=}bvIɑMB
	  tÔSrbgڂ͐FtOŁA0x10=A0x00=F

	script.c
		buildin_announce()̒ǉ
	clif.c
		clif_send()SELF̏ǉ
		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,saveyoǉ
	npc.c
		npc_parse_mapflag()ǉ
		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
		Ƀ`FbNǉ
		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ɃCxgNǉB
	ڂ̓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()ǉ
		npc_parse_script()C
		npc_checknear()C
	clif.c
		clif_getareachar_npc()C
	map.h
		struct mob_datanpc_eventoǉ
	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_datasummonflagoǉB\B
		mob_once_spawn()̏C
		mob_readbranch()̒ǉ
		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
		ỸXNvgC
	(map/)
	script.c
		buildin_getitem()̏C
	itemdb.c/itemdb.h
		itemdb_searchrandomid(),itemdb_searchrandomid_sub()ǉ

Erf[^̈ꕔC
	(db/)
	cast_db.txt
		x㏸Ȃǂ̏C

ENPČ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̉HẢHACe܂
	XNvgwarpŃ}bv"SavePoint""Random"wł܂B

	(db/)
	item_db.txt/item_db2.txt
		nG̉HẢ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()ǉ
		mob_setdelayspwan()ŕ֎~ǉB
	npc.c/npc.h
		npc_get_new_npc_id()ǉ
	script.c
		buildin_monster()ǉ
	atcommand.c
		@monsteȑ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()̒ǉ
	battle.c/battle.h
		battle_check_range()ǉA˒Ə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̏ǉ
	mob.c
		mob_ai_sub_hard_linksearch()̒ǉ
		mob_ai_sub_hard()ɃNC

----------
//0283 by ꂠ
EUNV̏C
	0282ŐĂobɃÛɁA
	łobɂ̓UȂȂ
	̂C܂B

----------
//0282 by Ӓ

EXL̏Cƒǉ
	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̏ǉ

EXLjbgɈӒnɂȂĈS`FbNǉB
	iȂȂ͉HHj

	map.h
		MAX_SKILLUNITGROUP32ɑ₵
	skill.c
		skill_status_change_*()NULL`FbNǉ
	battle.c
		battle_calc_damage()ɐ`FbNǉ
	map.c
		map_freeblock_unlock()ɃbN`FbNǉ

Ȇ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[ȟɁu@Ǘ҃pXvKvɁB
	login_athena.cnfadmin_pass̗΁A܂ł̂悤ɂ܂B
	ȉꍇAadmin_pasš낾łȂAsƏĂj
	
	(login/)
	login.h
		ݒt@C̃ftHgǉ
	login2.c
		AJEg쐬̂ƂC
		ݒt@C̓ǂݍݒǉ

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ύXǉ
	(char/)
	char2.c
		AJEgIDύXǉ
	(map/)
	chrif.c/chrif.h
		chrif_changegm(),chrif_changedgm()ǉ

E@pvpoffR}h
	clif.c/clif.h
		clif_pvpoff()ǉ
	atcommand.c
		@pvpoff̏ǉ

ȆqɃf[^͕ۑȂ悤ɕύX
	(char/)
	int_storage.c
		inter_storage_save()Astorage_tostr()C

E@memoR}hǉB
	Cӂ̋LɃ悤ɂȂ܂B
	
	atcommand.c
		@memȍǉ
	

----------
//0279 by Ӓ

EXLjbg̖΍
	Ƃ肠Ђ`FbN܂B
	
	skill.c
		skill_unit_timer_sub(),skill_unit_move_sub(),
		skill_delunit()Ƀjbg̐ǉB
		skill_unitgrouptickset_search(),skill_unitgrouptickset_delete()
		skill_delunitgroup()NULL|C^`FbNǉB

EXL̒ǉƏ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()ǉ
	skill.c/skill.h
		skill_castend_map(),skill_unit_onlimit()̒ǉ
		skill_unit_*n̏낢ǉB
		skill_status_change_start()̃LG̏C
	pc.c/pc.h
		pc_randomwarp(),pc_memo()ǉ

----------
//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()ǉ
		pc.hpc_isfalcon(),pc_isriding()}Nǉ
	script.c
		buildin_setfalcon()	t
		buildin_setriding()	yRyR

----------
//0276 by nabe

EBNPC
	(conf/)
	npc_town_refine.txt
		BNPCXNvgt@CVKǉ
	(map/)
	pc.c/pc.h
		B̕\percentrefinery[5][10]ǉ
		script.cĂ΂֐
			pc_percentrefinery()	B
			pc_equipitemindex()	iCfbNX
		ǉ
	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
		ǉ

EXNvgWeight,MaxWeightp[^ǉ
	const.txt
		Weight,MaxWeightǉ

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()ǉ

----------
//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()ǉ
	mob.c
		mob_damage()MVPǉ

EXL̒ǉƏC
	E}OiuCNAA[V[
	E΂nXLꕔgpȂoOC
	E_uXgCtBÕ_[WvZC
	EUntXLőfȂC
	EꏊwXLUȂrłC

	battle.c
		battle_calc_weapon_attack()̊YCǉ
	skill.c
		skill_castend_damage_id()ɏǉ
		skill_use_pos()ɍU~ǉ

EJ[hXLJ[hOĂgp\ȖC
	pc.c
		pc_calc_skilltree()C

EACehbvAexp{Ȃǂ̒@\ǉ
	battle_athena.cnfŒł鍀ڂ܂B
	ڂ͂QƂĂB
	
	(conf/)
	battle_athena.cnf
		mvp_hp_rate,item_rate,exp_rate,mvp_item_rate,mvp_exp_rateǉ
	(map/)
	battle.c/battle.h
		ڂǂݍނ悤ɏǉ
	mob.c
		mob_db.txtǂݍݎAf[^𒲐鏈ǉ

----------
//0274 by Ӓ

EXL̒ǉ
	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
		Y
	battle.c/battle.h
		battle_calc_misc_damage()̊Y
		battle_stopwalking()ǉ
	clif.c/clif.h
		clif_fixpcpos()ǉ
		clif_parse_WalkToXY()ɃANœȂ鏈ǉ
	mob.c
		mob_ai_sub_hard()ɃANœȂ鏈ǉ

EȂǂ̃NeBJ{[iX1/10ɂȂĂoOC܂
	battle.c
		battle_calc_weapon_attack()ɒǉvZ鏈C

Eubcr[ǧ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()ɕ\͈͍XVǉB
	mob.c
		mob_walk()ŕIƂɈʒuđM悤ɏC
	pc.c
		pc_walk()ŕIƂɈʒuđM悤ɏC

EXL̒ǉƏ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()ɑΏۂ̌ɂmbNobNǉ
		̑KvȏꏊC
	mob.c
		mob_walk(),mob_attack()Ōۑ
	pc.c
		pc_walk(),pc_attck()Ōۑ
	map.c
		map_calc_dir()ǉBΓIȕ߂


ENeBJ퓬ɌvZĂȂoOC܂
	battle.c
		battle_calc_weapon_attack()ɒǉvZ鏈ǉ


Eh䃆jbgiSW/j[}jGɉeyڂǂ
  battle_athena.cnfŐł悤ɂȂ܂
  	ftHǵuyڂȂvłB
  
	(conf/)
	battle_athena.cnf
		defunit_not_enemyǉ
	(map/)
	battle.c/battle.h
		struct Battle_Config  defnotenemyoǉB
		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菈ɃoÔC
	battle.c
		battle_check_target()̏C

----------
//0272 by Ӓ

EXL̒ǉƏ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[}̏ǉB
		skill_unit_move()Ƀ^[Qbg̓GǉB
		skill_unit_timer_onplace(),~ondelete()Ƀjbgǉ.
		skill_clear_unitgroup()ǉBjbgO[v̑S폜B
	battle.c
		battle_calc_damage()ɃZCteBEH[ƃj[}̏ǉB
		map_foreachinarea()ȂǏC
	map.c
		map_quit()skill_clear_unitgroup()ĂԂ悤ɁB

EXL̐΂
	seT_[ATN`AAXsAX^uA
	{[OobVA`[WA[̐΂

	path.c/map.h
		path_blownpos()ǉ
	battle.c/battle.h
		struct Damageblewcountoǉ
		battle_calc_*_damage()blewcountZbg悤ɁB
	skill.c/skill.h
		skill_blown()ǉB΂B
		skill_attack()skill_blown()ĂԂ悤ɁB
		skill_attack()flag̐΂rbg͖gpɁB

Es̃X^[ɍUƂAX^[ɃfBC悤ɂȂ܂
	iŨ[V̒xlĂȂ̂ł܂ӖȂHj

	(map/)
	mob.c/mob.h
		stateMS_DELAYǉB
		mob_damage(),mob_timer()Ȃǂ̏C

Es̃X^[ɍUƂAʒủ}u
	i܂ʒu͂悤łj

	clif.c/clif.h
		clif_fixmobpos()ǉ
	mob.c
		mob_attack()clif_fixmobpos()ĂԂ悤ɁB

ȆC
	pc.c
		pc_stop_walking()path_len悤ɁB

----------
//0271 by ꂠ

EPTɊւďC
	ɂĂLƌȂoOC

----------
//0270 by Ӓ

EXL̒ǉƏC
	[hIuo[~IATN`AA}OkXGN\VY

	(db/)
	skill_db.txt
		}OkX̃qbgA
		TN`Ȃ
	(map/)
	map.h
		struct map_session_datȁC
	clif.c/clif.h
		clif_skill_setunit(),clif_skill_delunit()A
		clif_getareachar_skillunit(),clif_clearchar_skillunit()ǉ
		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̒ǉ
	TCgAAtA[hIu@[~I
	
	[hIuo[~I͂R̔莞ɉr܂cB
	clif_skill_damage()typeFXςĂ݂܂ǂ܂܂B
	l͒ĂƂꂵłB
	i[AЂƂ{̓OtBbN̂ȂXLjbg
	  ݒuāÃjbgIDŃ_[W^̂HHj
	
	(db/)
	skill_db.txt
		[hIuo[~ĨqbgR10ɕύXB
	(map/)
	skill.c
		skill_status_change_timer_sub()ǉB
		skill_status_change_*()ɏǉB

Eblock̃̈Š
	map_foreachinarea,party_foreachsamemapŉĂƂ
	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폜邱Ƃ͂肦ȂĈłƂB
	
	͍zǂłāA݂̕s肳𒼂̂ł͂ȂB
	i݂foreachŃĂȂc͂Ȃ̂ŁB
	  AXLjbgȂǈꎞIuWFNg𑽗pn߂ƌʂj
	
	map.c
		map_freeblock(),map_freeblock_lock(),~_unlock()ǉB
		map_delobject()free()map_freeblock()ɒuB
		map_foreachinareaŃbNƈS`FbNB
	party.c
		party_foreachsamemap()ŃbNƈS`FbN


EXLjbg@\
	ݒuñXL̂߂̋@\Bۂ̃XL̎͂܂łB
	
	skill.c
		Ȃ񂩂FXǉ܂B
	map.c
		do_init()do_skill_init()ĂԂ悤ɁB
	map.h
		struct skill_unit,skill_unit_groupȂǒǉB
		map_session_datȁȂǁB

ȆׂƂ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()ɁAIXǉ

EIXACew̃`FbNǉ
	vending.c
		vending_purchasereq()ŏX̏ǉ

----------
//0261 by Ӓ

Eg勾ACOhV̗t܂
	XNvgitemskillR}h쐬BꎞIɃXLgpł܂B

	(map/)
	script.c
		buildin_itemskill()̒ǉȂǁB
	skill.c
		ACeXLȂSPȂǂȂ悤ɏC
	clif.c/clif.h
		clif_item_skill()̒ǉB
	(db/)
	item_db.txt/item_db2.txt
		XLgpACẽ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()ǉBXLgp̈{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ɏɂȂ܂
	mapȊ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()ȂǒǉB
	skill.c
		CASTFIX,DELAYFIX̔p~Battle_ConfigɂC̒ǉB
	atcommand.c
		@pvpR}hpvptOZbg悤ɁB
		iIݒ̏PVPoff̎AlpvponɂĂ퓬\j
	map.c/map.h
		struct map_session_datapvp_flagǉ
		do_init()battle_config_read()ǂނ悤ɁB

E퓬֌W̃R[h܂
	battle.c/battle.h
		battle_weapon_attack()ǉB
		battle_calc_weapon_attack()̈ύX
		battle_calc_attack()ǉbattle_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
		XLǉ
	pc.c/pc.h
		pc_item_identify()ǉ
	clif.c/clif.h
		clif_item_identify_list(),clif_item_identified()ǉ
		clif_parse_ItemIdentify()ǉ
	
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̒ǉiɔ͈͍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()ǉBΏۂɂȂ邩B
		battle_calc_magic_damage()̈ύXB_[WUǉB
		battle_calc_misc_damage()ǉB
		battle_calc_weapon_damage()CB
	clif.c/clif.h
		clif_skill_damage(),clif_skill_damage2()̈ύXB
		clif_skill_poseffect()ǉB
	skill.c/skill.h
		skill_weapon_attack(),skill_magic_attack()ɔɏZ߂.
		skill_area_sub()ǉB͈̓XLpB
		skill_area_sub_count()ǉBskill_area_sub()pAGJEgB
		skill_castend_damage_id()CBƏǉB
		skill_castend_nodamage_id()CBƏǉB
		skill_misc_attack()ǉB
		skill_additional_effect()Cij
		skill_castend_pos()CB
		skill_castend_pos2()ǉB

E|ōUƂvZDEXłȂSTRgCB
	battle.c
		battle_calc_weapon_damage()CB

----------
//0257 by Ӓ

Eitem_db.txt̐EƃtOƁAJ[h̑tOC
	iI-Athenãf[^Qlɂċ@BIɃRo[g܂B
	I-AthenaɂȂí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[hǉ
	X^Ȃǂ̒ǉʁAւ̑ϐnAI[Nq[[J[h

	(db/)
	item_db.txt/item_db2.txt
		XNvg̏C
	(map/)
	map.h
		struct map_session_dataaddeffȂǂ̃oǉ
	pc.c
		pc_calcstatus()Apc_bonus2()̏C
		pc_attack()skill_additional_effct()ĂԂ悤ɁB
	skill.c/skill.h
		skill_additional_effect()ŃJ[hɂ锻ǉ
		skill_status_change_start()őϐtB
	battle.c
		battle_calc_weapon_attack()ŃI[Nq[[J[h
		iNeBJϐj̏ǉ

E𔻒̏C
	U҂PC̏ꍇAő喽XTȂɂ܂B
	battle.c
		battle_calc_weapon_attack()C
	

ES
	ւĂȏĂ܂vZKłB

	battle.c
		battle_calc_weapon_attack()ɏǉB

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()ǉ
	mob.c/mob.h
		mobdb_searchname()ǉ

E@refineŏグ鐔lwł悤ɕύX
	atcommand.c
		YC

E@produceɂ鐻̃GtFNg𐳂̂ɏC
	clif.c/clif.h
		clif_produceeffect()ǉ
	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
		VKǉBIXC
	skill.c
		skill_castend_id()ɘIXJ݃XLǉ
	clif.h/clif.h
		IX֘ApPbgǉ
	map.h
		struct map_session_dataɁA
			int vender_id;
			int vend_num;
			char message[80];
			struct vending vending[12];
		ǉ

----------
//0253 by Ӓ

Estricmp`G[łp̏C
	G[oꍇAint_party.c̍ŏ̃}N`̃RĝA
	ǂ炩OĂ蒼Ă݂ƁA܂B
	ňALɂ炤܂͂Bi啶ʂ悤ɂȂ܂j

	(char/)
	int_party.c
		Rgς݂̃}N`ǉ

----------
//0252 by Ӓ

EJ[ḧꕔ
	iXe[^XωSʁA푮AXL͂łɎς݁j
	hArԕωAUϐA푰ϐA푰ǉ_[WA
	ǉ_[WATCYǉ_[WAMAXHPAMAXSPAgpSPωnA
	tFAhCNAzA[̋RmA峁AIVXJ[h

	(db/)
	const.txt
		bonusp̒萔ǉAbonus2̒萔ǉ
	item_db.txt/item_db2.txt
		J[h̃XNvgǉ
	(map/)
	map.h
		struct map_session_datahprateȂǑoǉ
	script.c
		bonus2R}hǉ
		buildin_bonus2()ǉ
	pc.c/pc.h
		pc_bonus2()ǉ
		pc_bonus()̏ǉ
		pc_calcstatus()Ŋeǉȍ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[hCǉ
	battle.c
		battle_calc_weapon_attack()ŃJ[hCǉ
		battle_calc_magic_attack()ŃJ[hCǉ
		battle_damage()ŃtFJ[hCǉ

EXe[^XU̕\̖C
	STRグĂATKςȂAINTグĂMATKςȂC

	map.h
		struct map_session_datamatk1,matk2oǉ
	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()}Nǉ
		pc_cart_additem(),pc_cart_delitem()ɂꂼ
		sd->cart_num++;sd->cart_num--;ǉ
	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()ǉ
	script.c
		buildin_setcart()ǉ
		XNvgR}husetcart;vŃJ[g
	clif.c/clif.h
		clif_parse_CartOff()ǉBiJ[g͂j
		clif_parse_ChangeCart()ǉBi`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[^̌AǉɎsƂɒEނȂǁB
	
	(char/)
	int_party.c
		party_check_conflict(),party_check_conflict_sub(),
		mapif_parse_PartyCheck()ǉ
	inter.c
		pPbgXg0x3028ǉ
	INTERIpPbg.txt
		pPbg0x3028ǉ
	(map/)
	party.c/party.h
		party_check_conflict()ǉB
		party_invite()œAJEg`FbNs悤ɁB
		party_member_added(),party_send_movemap()
		party_check_conflict()ĂԂ悤ɁB
	intif.c/intif.h
		intif_party_checkconflict()ǉ

Ep[eB̍WAgoʒm
	ω΂PbɈ񑗐MB

	map.h
		struct map_session_dataparty_x,~_y,~_hp̂Roǉ
	party.c/party.h
		party_send_xyhp_timer_sub(),party_send_xyhp_timer(),
		party_send_xy_clear(),party_send_hp_check()ǉB
		party_recv_movemap()sd->party_*悤ɁB
	clif.c/clif.h
		clif_sendPARTY*tOLɁB
		iPARTY,PARTY_SAMEMAP,PARTY_AREA,PARTY*_WOŜUj
		clif_party_xy(),clif_party_hp()ǉB
	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()ǉ
	mob.c/mob.h
		mob_damage()Ōzǉ

EXL̏Cƒǉ
	obVAsA[X̖C
	sA[X̃TCYɂ񐔕ϓivC[͒^Ɖj
	obVA\jbNuẼX^ʎ
	Xg[J[XAtXg_CoACxiA
	AXyVIAG`g|CYAbNXfr[i

	skill.c
		skill_additional_effect()ǉ
		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˒̔ǉ
	肪ړē͂ȂƂ́AړpPbg𑗐M

	clif.c/clif.h
		clif_movetoattack()ǉ
	pc.c
		pc_attack()Ŏ˒A͂ȂȂclif_movetoattack()ĂԁB

----------
//0248 by nabe

Ep[eB쐬ɊɃp[eBɏĂꍇ̏ǉ
	party.c
		party_create()ɁAɃp[eBɏĂꍇ
		clif_party_created(sd,2)ǉ

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
		pPbgXgǉ
	INTERIpPbg.txt
		p[eB̃pPbgǉ
	(map/)
	party.c/party.h
		VKǉ
	map.c/map.h
		struct map_session_dataparty_sendedoǉ
		do_init()do_party_init()Ă
		map_quit()party_send_logout()Ă
	intif.c/intif.h
		p[eB֘A̕ǉ
	clif.c/clif.h
		p[eB֘A̕ǉ
		clif_parse_LoadEndAck()party_send_movemap()Ăяo
	pc.c
		pc_authok()party_request_info()ĂԂ悤ɂA
		party_sended悤ɁB
	
ErWQꂽƂʏŉr߂悤ɏC
	(map/)
	skill.c
		skill_castcancel()ŉr~pP(Ă̂ȁH)𑗐M

EUƓGĂȂC
	(map/)
	map.h
		struct mob_datamin_chaseoǉiŒǐՋ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oǉ
	pc.c/pc.h
		pc_cart_additem(),pc_cart_delitem(),
		pc_cart_putitemtocart(),pc_cart_getitemfromcart()ǉ
		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()ǉ
		clif_parse_LoadEndAck()ŃJ[gAeM
		clif_updatestatus()SP_CARTINFOŃJ[g𑗂悤
		clif_parse_MoveFromKafraToCart(),~ToKafraFromCart()ǉ
	storage.c/storage.h
		storage_additem(),storage_delitem()ǉ
		storage_storageadditemfromcart,~getitemtocart()ǉ
		storage_storageadd(),storage_storageget()ŁA
		storage_additem(),storage_delitem()ĂԂ悤ɕύX

EXLrfBCȂǎ
	clif.c
		clif_parse_WalkToXY()skilltimerɂړۂǉ
		clif_parse_UseSkillToId(),clif_parse_UseSkillToPos()
		canmove_tickɂUےǉ
	skill.c/skill.h
		skill_castcancel()ǉ
		skill_use_id(),skill_use_pos()ŃfBCԌvZсA
		canmove_tick̐ݒ
	battle.c
		battle_damage()skill_castcancel()̌Ăяoǉ

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̃oǉ
	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()ǉ
		clif_use_card(),clif_insert_card()ǉ

Eꕔ̃J[hʎ
	XLKJ[hAXe[^X{[iXJ[hȂǁB

	(map/)
	map.h
		struct map_session_dataɑJ[hp̕ϐǉ
	pc.c/pc.h
		pc_calcstatus()ŃJ[h̏ǉ
		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()ǉAdʂ̃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
	Ṽ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;
		ǉ
	(map/)
	clif.c,clif.h
		clif_traderequest()	: 0xe5iv󂯁j
		clif_tradestart()	: 0xe7ivj
		clif_tradeadditem()	: 0xe9ĩACeǉj
		clif_tradeitemok()	: 0xeaiACeǉj
		clif_tradedeal_lock()	: 0xeciokj
		clif_tradecancelled()	: 0xeeiLZj
		clif_tradecompleted()	: 0xf0ij
		ǉB
	trade.c,trade.h
		trade_traderequest()	: v𑊎ɑ
		trade_tradeack()	: v
		trade_tradeadditem()	: ACeǉ
		trade_tradeok()	: ACeǉ(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
		gotǒRERUNLINEɑΏ邽߁A
		goto,menuŔ񂾌ɂ́Ast.state==GOTOrerun_posXVB


----------
//0233 by nabe

EACe𑕔ۂ̑ǉ܂B
	pc.c
		pc_equipitem()ɑiʔALVAEƔjǉ

EdʔXNvgR}hǉ܂B
	if (checkweight(ACeID,ACe))
	ł̃ACe~ʂ擾ł邩ǂł܂B
	script.c
		buildin_checkweight()ǉ

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-Athenãf[^găRo[g܂B
	i܂J[hɂ͑ΉĂ܂j

	(common/)
	mmo.h
		struct skillflagoǉiJ[hXLǂj
	(map/)
	map.h
		struct map_session_dataatk_eleȂǂ̃oǉ
		enumSP_ATKELEMENTȂǒǉ
	pc.c
		pc_bonus()̎Apc_skill()ǉ
	script.c
		buildin_skill()̒ǉ
		buildin_bonus()̏C(const.txt̒萔g悤)
	clif.c
		clif_skillinfoblock()̏C(J[hXL͏グȂ)
	(db/)
	const.txt
		bonusɎg߂̒萔ǉ
	item_db.txt
		W̃f[^ɑXNvgǉ
	item_db2.txt
		0213ő꒲ꂽf[^ɑXNvgǉ

Er֌W̃oOC܂
	(map/)
	skill.c
		skill_use_id(),skill_use_pos()C
	(db/)
	cast_db.txt
		ǉiubcr[gȂǁj

EUKp悤ɂȂ܂
Ê̏CKp悤ɂȂ܂
	map.h
		struct map_session_datastaroǉ
	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

ẼLN^[\悤ɂȂ܂
	
	ƂẮAmapĨ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瑦ԐMĵő傫Ȗ͂ȂB

	pPbg0x2b08,0x2b09mapIcharIʐMĂ܂B
	
	(char/)
	char.h
		UNKNOWN_CHAR_NAME`iLf[^ƂɕԂ閼Oj
	char2.c
		parse_frommap()ɃpPbg0x2b08̏ǉ
		
	(map/)
	chrif.c/chif.h
		chrif_searchcharid()ǉ
		chrif_parse()0x2b09̏ǉ
	map.c
		f[^x[X charid_db 錾
		struct charid2nick錾Bnick͖OA
		req_id0ŖOς݁A0ȊOŖŉ҂̃ubNID
		map_addchariddb()ǉBf[^x[X֖Oo^AvɕԐMB
		map_reqchariddb()ǉBvƂf[^x[X֒ǉB
		map_charid2nick()Ńf[^x[X̌
		do_init() charid_db ̏ǉ
	clif.c/clif.h
		clif_parse_SolveCharName(),clif_solved_charname()ǉ


----------
//0231 by nabe

EXNvg mes "$charaname"; ƏƃL̖Oׂ@\ǉB
	script.c
		buildin_mes()
		mes$charanameL̖Oɒu鏈ǉB
		lɂĕϐ̒lȂǂmesŕ\悤ɂ邱Ƃ
		ł܂AɂĂ͖łEEEB
		Ƃ肠
			mes Global_Val;
		̂悤ɒڏƂőΏĂB

EGɍUꂽƂmapI邱Ƃ̂CB
	battle.c
		battle_calc_weapon_attack()
		fBoCveNṼ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ŉ𗦕ۏ؂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];
		ǉB
	pc.c
		pc_readglobalreg(),pc_setglobalreg()ǉB
	script.c
		get_val(),buildin_input(),buildin_set()
		O[oϐ̂߂̏ǉB
	char2.c
		mmo_char_tostr(),mmo_char_fromstr()
		O[oϐ̂߂̏ǉB

----------
//0229 by Ӓ

EꕔXL̎/C
	fBoCveNVAf[xCAr[XgxC
	GiW[R[gCi@ɂUɂ̓XLȂ悤ɏCj
	UnXLCiGtFNgʏUXLɕύXj

	battle.c
		battle_addmastery()ŃxCnǉ
		battle_calc_damage()ŃGiW[R[gC
	skill.c
		skill_castend_damage_id()̕UnXL̕C

EGUvZPĈ̂ƈ{
	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()1000msZbĝ~߂

EUĂȂoOȂ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()łfleẻ𗦌㕪폜A
	mob.c
		mob_attack()hitratevZŉ𗦌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 oǉ
	pc.c
		pc_spheal()Ń}OjtBJ[gǉ
		pc_natual_heal_sub()ŉ񕜌XLǉ
		pc_authok()inchealtick悤ɕύX
		pc_walk()incheaktickĐݒ肷悤ɕύX
		pc_walk()ŃN[LȌI𒲍悤ɕύX
		pc_walktoxy()ŏԂɂĈړs\ɂ
	skill.c/skill.h
		skill_status_change_start(),~timer(),~end()ɏǉ
		skill_check_cloaking()ǉAN[LȌI
	battle.c/battle.h
		battle_stopattack()ǉ
		battle_calc_weapon_attack()ōU~߂鏈ǉ
	mob.c
		mob_ai_sub_hard()ōU~߂鏈ǉ

EʏUAMOBAPCpɁB
	pc.c
		pc_attack_mob(),pc_attack_pc()폜
		pc_attack()ɍUǉ

EX^[̍s̈ꕔ
	ANeBAAړȂAUꕔ

	mob.c
		mob_ai_sub_hard()ɍsǉ
		mob_ai_sub_hard_activesearch()ǉA߂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Ȃǒǉ
	pc.c
		pc_calcstatus()ɃXLCǉ
		atk2ȂǂM悤ɕύX
	battle.c/battle.h
		battle_get_def2()ȂǑǉ
		battle_calc_weapon_damage()œGZh̏
		battle_get_def2()ɕύX
		battle_calc_magic_damage()œGZ@h̏
		battle_get_mdef2()ɕύX
		battle_calc_weapon_damage()ŃXLCǉ
	skill.c/skill.h
		skill_use_nodamage_id()̊Yǉ
		skill_status_change_start()̊Yǉ
	clif.c
		clif_updatestatus()atk2Ȃǂ̏ǉ
		clif_initialstatus()atk2Ȃǂ̈ύXAaspdȂǑMǉ
	
EB_[WC/BhCKp܂
	(map/)
	pc.c
		pc_calcstatus()watk2def̒ǉvZǉ
	battle.c
		battle_calc_weapon_damage()watk2_[Wɒǉ

EinterĨpPbg͕̒vIȖ肪C܂
	TCP/IPvOłĂ͂ȂƂ̂܂܂Ă܂(
	interĨpPbgf[^inter.cɎ悤ɏC܂B

	(char/)
	inter.c/inter.h
		pPbgf[^ inter_*_packet_length[] ǉ
		pPbg`FbN inter_check_length() ǉ
		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
		pPbgXgǉ

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ԒǉifBC͓Kj
		ڂlǉ

----------
//0225 by Ӓ

Ȃ񂩂ȂM܂ς炸eXg͂܂肵Ă܂B

EXLgp̕ϐύX
	悭ŏpӂĂ܂ˁB

	map.h
		struct map_session_datacast_*폜
	skill.c
		cast_*̕ϐskill*ɕύXB

EXe[^XُXL̏ǉiʂ͖j
	AXe[^XُɊ|ƂB
	ʂ͂܂ȂB

	skill.c/skill.h
		skill_status_change_start(),~end(),~timer(),~clear()ǉB
		ꂼXe[^Xُ̊JnAIA^C}ASB
	map.c/map.h
		map_quit()skill_status_change_clear()ĂԂ悤ɂB
		struct map_session_datasc_data,sc_countǉB
		struct mob_datasc_data,sc_count,option,opt1,opt2ǉB
	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_*()ǉB
		battle_calc_damage()ǉBŏIIȃ_[WvZpB
		battle_calc_magic_attack(),battle_calc_weapon_attack()
		battle_calc_damage()ĂԂ悤ɂB
	clif.h/clif.c
		clif_status_change()ǉBXe[^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̏ǉB
		skill_castend_*_id()̈ύX
	battle.c
		battle_calc_damage()ɃXL̏ǉB
		battle_damage(),battle_heal()̈ύX
		battle_calc_weapon_damage(),battle_calc_magic_damage()ύX
	clif.c/clif.h
		clif_skill_estimation()ǉBX^[񑗐Mp
	pc.c
		battle_calc_weapon_damage()ĂяöύX

Estorage.txtꍇinterIIdlύX܂
	(char/)
	int_storage.c
		inter_storage_init()Ńt@Cǂ߂ȂexitĂ̂C


----------
//0224
E2-2ẼXLc[ɒǉ܂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.exȇ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̂ƂinterỈ҂Ƀ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.exȇ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()ǉARtBOt@C
		qɂƃp[eB[AMh̃t@Cǂݍ݂܂B
	int_storage.c/int_storage.h
		VKǉBqɕinterI@\B
	int_party.h/int_party.c/int_guild.h/int_guild.c/
		t@Cϐ̐錾ǉ
	INTERIpPbg.txt
		qɃpPbg̉ǉ

	(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()ǉ
		storage_storage_quitsave()ǉBNCAgI
		JvqɂJĂintif_send_storage()ĂԊ֐B
	intif.h/intif.c
		intif_parse_LoadStorage(),intif_parse_SaveStorage(),
		intif_send_storage(),intif_request_storage()ǉ
	map.c
		map_quit()storage_storage_quitsave()ĂԂ悤ɁB

	(conf/)
	inter_athena.cnf
		VKǉBinterIp̃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_eleḿilv*20{jłB
	rԂskill.cCASTFIX̒lς邱ƂŔ{𒲐ł܂

	pc.c
		pc_readdb()cast_db.txtattr_fix.txt̓ǂݍݒǉ
	skill.c/skill.h
		struct skill_db cast,delayǉÃANZTǉ
		XLrԂ skill_get_cast() ŏ悤ɂ
	battle.c/battle.h
		attr_fix_table`
		battle_attr_fix()ǉACvZ
		nANZT(battle_get_element()Ȃ)ǉ
		battle_calc_magic_damage()ɑCǉ
	cast_db.txt
		VKǉBrԂƃfBC̃f[^x[X
		SRȂ̂ŁANǉ]B
	attr_fix.txt
		VKǉBCe[u

Eq[̎
	clif.c/clif.h
		clif_skill_nodamage()ǉAxn񕜂̃GtFNg
	skill.c/skill.h
		skill_castend_damage_id()Askill_castend_nodamage_id()ǉA
		UnƎx/񕜌nŊ֐𕪂
		q[vZ}N skill_calc_heal() ǉ
	battle.c
		battle_calc_magic_damage()Ńq[̃_[WvZǉ


----------
//0220 by ꂠ

0216̏C
HIŤvẐŏCĂ݂܂B
ԈĂ炲߂ȂB

Ebattle.c
	256sڂ
	hitrate=battle_get_hit(&sd->bl) - battle_get_flee(&sd->bl) + 80;
	ԂÂghsƎ̂ekddŌvZĂĈ
	hitrate=battle_get_hit(&sd->bl) - battle_get_flee(target) + 80;
	ɏC܂B


----------
//0218 by Ӓ

ۂɕUăeXgĂȂB

EmapIUpinterI@\Ă݂î߂̊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
		interIoȒSĂ̖߂̓쑬x
		iinterI܂œn߁j
		IƃNCAg𓯂PCŎgĂƂ炢

	(char/)
	char2.c/char.h
		mapif_sendall()ǉiSMAPIɃpPbg𑗂j
		mapif_send()ǉiMAPIɑFtj
		parse_frommap()inter_parse_frommap()ĂԂ悤ɂ
		(interImapI͕charIɊ񐶂ƂɂȂ)
	inter.h/inter.c
		VKǉBinterI̒jB
		inter_parse_frommapMAPĨpPbg͂܂B
	int_party.h/int_party.c/int_guild.h/int_guild.c
		VKǉB̂߂̗\Bp[eBMh@\p
		initŃf[^ǂŁAsaveŕۑׂH
		save͂܂Ă΂ȂBparseŃpPbǵB
		common/mmo.hŃp[eB[Mh̍\̂
		`KvƎvB
	INTERIpPbg.txt
		pPbg̃Xg
	
	(map/)
	intif.h/intif.c
		interIƒʐM镔B
		inter_parse()interĨ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()ǉ
	(map/)
	intif.h/intif.c
		intif_GMmessage()ǉ
		intif_parseGMbZ[W̏ǉ
	clif.c/clif.h
		clif_GMmessage()̈ύX
	atcommand.c
		@kamiintif_GMmessage()ĂԂ悤ɂ

EWisinterIoRɕύX
	ƂĂ͎̂悤Ȋł
	
	NCAgmapIinterIS}bvI(A)
	[A]
	1.̐lmapĨNCAg
	@@@@V@@   @interImapINCAg 
	2.̂ȂmapIinterIiBj
	[B]
	1.SmapIinterI mapINCAg
	2.(S͉ĂȂƂ́ASmapỈ҂)

	̂GɂȂĂ܂ˁB

	(char/)
	inter.c
		struct WisList `iWisf[^̃NXgj
		add_wislist(),del_wislist(),search_wislist(),
		check_ttl_wislist()ǉ,NXg֐Q
		mapif_wis_message(),mapif_wis_end()ǉ
	(map/)
	intif.h/intif.c
		intif_wis_message(),intif_wis_end()ǉ
		intif_parse_WisMessage()ǉ,intif_parse()Ă΂悤
	clif.c/clif.h
		clif_wis_message(),clif_wis_end()ǉ
		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̏CĤ悭킩ȂƂC
	itemdb.c
		RpCʂȂ̂itemdb_equipoinẗ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̎ύXǉ
	obVA}[iCgA_uXgCtBOAsA[X
	XsAu[AXsAX^uA{[OobV
	\jbNu[AOgD[X Ȃǂ̎ύX

	ip[r[gA\EXgCNA
	t@C[{gAR[h{gACgjO{gAA[XXpCNA
	seT_[ Ȃǂǉ
	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()ǉ
		ꂼgpsAgpGtFNgA΂tgpGtFNg
	skill.c/skill.h
		0213̕ύXȂƂɂi_[W{vZj
		skill_castend_id()SP/ZenymFƏǉA
		ޕʂɏǉB
	battle.c/battle.h
		VKǉ
		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()ǉ܂B

	pc.c,pc.h
		pc_attack_mob()̈ǉB
		_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{Ȋɂ
		Ắ݂Bgpꍇitem_db.txtƍւĂB


----------
//0208 by nabe

ER}hB
	atcommand.h,atcommand.c
		قI-AthenáR}hłA@GMPVP͖łB
		help.txtĂ܂B
		GMiAJEgID704554`704583jpɂɂ́A
		atcommand.c̊ỸRgAEgĉB
	clif.h,clif.c
		clif_displaymessage()
		clif_GMmessage()
		clif_heal()
		clif_resurrection()
		clif_pvpon()
		clif_pvpset()
		clif_refine()
		ǉ܂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悤ɂ
		=>XĽ̂߁iɃgpʂj
	pc.h/pc.c
		pc_skillup(),pc_calc_skilltree()ǉ
		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()ǉ
		clif_parse_SkillUp(),clif_parse_UseSkillToId(),
		clif_parse_UseSkillToPos()
	skill.h/skill.c
		t@Cǉ(map/)
	map.h
		struct map_session_datacast_*ǉ
	skill_db.txt
		t@Cǉ(db/)
		(I-Athena0200skill_info2.txtRo[g)
	(XLgpJҌ)
		XĽʂꏊ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Ă̂ǉB
	map.c
		#include "storage.h"ǉB
		do_final()do_final_storage()ǉB
		do_init()do_init_storage()ǉB

----------

//0203(unofficial) by Ȃ 

item_db.txt݂̏̂łB

EACẻ񕜗ʂǉ/ύ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̃ACẽf[^͓KłB
EÂJ[h(UseScript)
Ȇ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[^͖̂ʂĈŁA
	AJEgIDŊǗ悤ɎdlύX܂B
	łɁAqɃf[^͑Sstorage.cł܂ȂA
	charI͊֗^Ȃ悤ɂ܂B
	ɔAchar_athena.cnf,mmo.h,char2.c͌ɖ߂܂B
	܂AqɃt@Ćgstorage.txthɌŒ肵Ă܂B

	ρAǉ͎̂̃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

	ρAǉ͎̂̃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
        oCî݂̔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

    vUpdatêł͂܂񂪊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ݒȂǂ́Ãt@Cōs܂B
    > ./athena.sh
    Ls"Ԃ"N܂B

    ⑫:
    conf/npc_sampleJ.txtɂ̓XNvg̏ɂĐFXȐLڂĂ܂B
    AƎMapݒsĂ݂lAXNvgM肽͎QlɂĂB
    AĴ߃XNvg̎dlύX\łB
    command.txtɂ͎ς݂̓R}hɂĂ̐LڂĂ܂B


5. ݂̎dl
    {IƔׂĂ(Ⴆ΃voA|ACeEȂȂ)_́A
    SČ݊JɈ̂łB
    ƂăLN^nyуX^[ñ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Ȃǋ̓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ȂǊesĂ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
    athenåJɎQ//ƂAB
    X͋M̎Q҂Ă܂B
    // ŐVł~ŉ狦͂ĒȂƂ͂fł;-)
    [Wv: vO}(2-3l)]
        N: s
        : s
        : {ꂪ\
        e: CC++ɂJB(Ƀlbg[NDB̌oLW!)
    [Wv: |(?l)]
        N: s
        : s
        : {Apꂪ\
        e: AƈAǉAɑ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.
