From 195dffc20af1fb32c7e4119988911b72955aeabc Mon Sep 17 00:00:00 2001 From: "(no author)" <(no author)@54d463be-8e91-2dee-dedb-b68131a5f0ec> Date: Thu, 4 Nov 2004 23:25:09 +0000 Subject: git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/athena@2 54d463be-8e91-2dee-dedb-b68131a5f0ec --- sql-files/main.sql | 500 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 500 insertions(+) create mode 100644 sql-files/main.sql (limited to 'sql-files/main.sql') diff --git a/sql-files/main.sql b/sql-files/main.sql new file mode 100644 index 000000000..ef3c1c343 --- /dev/null +++ b/sql-files/main.sql @@ -0,0 +1,500 @@ +# Database: Ragnarok +# Table: 'cart_inventory' +# +CREATE TABLE `cart_inventory` ( + `id` int(11) NOT NULL auto_increment, + `char_id` int(11) NOT NULL default '0', + `nameid` int(11) NOT NULL default '0', + `amount` int(11) NOT NULL default '0', + `equip` mediumint(8) unsigned NOT NULL default '0', + `identify` smallint(6) NOT NULL default '0', + `refine` tinyint(3) unsigned NOT NULL default '0', + `attribute` tinyint(4) NOT NULL default '0', + `card0` int(11) NOT NULL default '0', + `card1` int(11) NOT NULL default '0', + `card2` int(11) NOT NULL default '0', + `card3` int(11) NOT NULL default '0', + `broken` int(11) NOT NULL default '0', + PRIMARY KEY (`id`), + KEY `char_id` (`char_id`) +) TYPE=MyISAM; + +# Database: Ragnarok +# Table: 'char' +# +CREATE TABLE `char` ( + `char_id` int(11) NOT NULL auto_increment, + `account_id` int(11) NOT NULL default '0', + `char_num` tinyint(4) NOT NULL default '0', + `name` varchar(255) NOT NULL default '', + `class` int(11) NOT NULL default '0', + `base_level` bigint(20) unsigned NOT NULL default '1', + `job_level` bigint(20) unsigned NOT NULL default '1', + `base_exp` bigint(20) NOT NULL default '0', + `job_exp` bigint(20) NOT NULL default '0', + `zeny` int(11) NOT NULL default '500', + `str` int(11) unsigned NOT NULL default '0', + `agi` int(11) unsigned NOT NULL default '0', + `vit` int(11) unsigned NOT NULL default '0', + `int` int(11) unsigned NOT NULL default '0', + `dex` int(11) unsigned NOT NULL default '0', + `luk` int(11) unsigned NOT NULL default '0', + `max_hp` int(11) NOT NULL default '0', + `hp` int(11) NOT NULL default '0', + `max_sp` int(11) NOT NULL default '0', + `sp` int(11) NOT NULL default '0', + `status_point` int(11) NOT NULL default '0', + `skill_point` int(11) NOT NULL default '0', + `option` int(11) NOT NULL default '0', + `karma` int(11) NOT NULL default '0', + `manner` int(11) NOT NULL default '0', + `party_id` int(11) NOT NULL default '0', + `guild_id` int(11) NOT NULL default '0', + `pet_id` int(11) NOT NULL default '0', + `hair` tinyint(4) NOT NULL default '0', + `hair_color` int(11) NOT NULL default '0', + `clothes_color` tinyint(4) NOT NULL default '0', + `weapon` int(11) NOT NULL default '1', + `shield` int(11) NOT NULL default '0', + `head_top` int(11) NOT NULL default '0', + `head_mid` int(11) NOT NULL default '0', + `head_bottom` int(11) NOT NULL default '0', + `last_map` varchar(20) NOT NULL default 'new_5-1.gat', + `last_x` int(4) NOT NULL default '53', + `last_y` int(11) NOT NULL default '111', + `save_map` varchar(20) NOT NULL default 'new_5-1.gat', + `save_x` int(11) NOT NULL default '53', + `save_y` int(11) NOT NULL default '111', + `partner_id` int(11) NOT NULL default '0', + `online` tinyint(4) NOT NULL default '0', + PRIMARY KEY (`char_id`), + KEY `party_id` (`party_id`), + KEY `guild_id` (`guild_id`) +) TYPE=MyISAM; + +# Database: Ragnarok +# Table: 'charlog' +# +CREATE TABLE `charlog` ( + `time` datetime NOT NULL default '0000-00-00 00:00:00', + `char_msg` varchar(255) NOT NULL default 'char select', + `account_id` int(11) NOT NULL default '0', + `char_num` tinyint(4) NOT NULL default '0', + `name` varchar(255) NOT NULL default '', + `str` int(11) unsigned NOT NULL default '0', + `agi` int(11) unsigned NOT NULL default '0', + `vit` int(11) unsigned NOT NULL default '0', + `int` int(11) unsigned NOT NULL default '0', + `dex` int(11) unsigned NOT NULL default '0', + `luk` int(11) unsigned NOT NULL default '0', + `hair` tinyint(4) NOT NULL default '0', + `hair_color` int(11) NOT NULL default '0' +) TYPE=MyISAM; + +# Database: Ragnarok +# Table: 'global_reg_value' +# +CREATE TABLE `global_reg_value` ( + `char_id` int(11) NOT NULL default '0', + `str` varchar(255) NOT NULL default '', + `value` varchar(255) NOT NULL default '0', + `type` int(11) NOT NULL default '3', + `account_id` int(11) NOT NULL default '0', + PRIMARY KEY (`char_id`,`str`,`account_id`), + KEY `account_id` (`account_id`), + KEY `char_id` (`char_id`) +) TYPE=MyISAM; + +# Database: Ragnarok +# Table: 'guild' +# +CREATE TABLE `guild` ( + `guild_id` int(11) NOT NULL default '10000', + `name` varchar(24) NOT NULL default '', + `master` varchar(24) NOT NULL default '', + `guild_lv` smallint(6) NOT NULL default '0', + `connect_member` smallint(6) NOT NULL default '0', + `max_member` smallint(6) NOT NULL default '0', + `average_lv` smallint(6) NOT NULL default '0', + `exp` int(11) NOT NULL default '0', + `next_exp` int(11) NOT NULL default '0', + `skill_point` int(11) NOT NULL default '0', + `castle_id` int(11) NOT NULL default '-1', + `mes1` varchar(60) NOT NULL default '', + `mes2` varchar(120) NOT NULL default '', + `emblem_len` int(11) NOT NULL default '0', + `emblem_id` int(11) NOT NULL default '0', + `emblem_data` blob NOT NULL, + PRIMARY KEY (`guild_id`) +) TYPE=MyISAM; + +# Database: Ragnarok +# Table: 'guild_alliance' +# +CREATE TABLE `guild_alliance` ( + `guild_id` int(11) NOT NULL default '0', + `opposition` int(11) NOT NULL default '0', + `alliance_id` int(11) NOT NULL default '0', + `name` varchar(24) NOT NULL default '', + KEY `guild_id` (`guild_id`) +) TYPE=MyISAM; + +# Database: Ragnarok +# Table: 'guild_castle' +# +CREATE TABLE `guild_castle` ( + `castle_id` int(11) NOT NULL default '0', + `guild_id` int(11) NOT NULL default '0', + `economy` int(11) NOT NULL default '0', + `defense` int(11) NOT NULL default '0', + `triggerE` int(11) NOT NULL default '0', + `triggerD` int(11) NOT NULL default '0', + `nextTime` int(11) NOT NULL default '0', + `payTime` int(11) NOT NULL default '0', + `createTime` int(11) NOT NULL default '0', + `visibleC` int(11) NOT NULL default '0', + `visibleG0` int(11) NOT NULL default '0', + `visibleG1` int(11) NOT NULL default '0', + `visibleG2` int(11) NOT NULL default '0', + `visibleG3` int(11) NOT NULL default '0', + `visibleG4` int(11) NOT NULL default '0', + `visibleG5` int(11) NOT NULL default '0', + `visibleG6` int(11) NOT NULL default '0', + `visibleG7` int(11) NOT NULL default '0', + `gHP0` int(11) NOT NULL default '0', + `ghP1` int(11) NOT NULL default '0', + `gHP2` int(11) NOT NULL default '0', + `gHP3` int(11) NOT NULL default '0', + `gHP4` int(11) NOT NULL default '0', + `gHP5` int(11) NOT NULL default '0', + `gHP6` int(11) NOT NULL default '0', + `gHP7` int(11) NOT NULL default '0', + PRIMARY KEY (`castle_id`), + KEY `guild_id` (`guild_id`) +) TYPE=MyISAM; + +# Database: Ragnarok +# Table: 'guild_expulsion' +# +CREATE TABLE `guild_expulsion` ( + `guild_id` int(11) NOT NULL default '0', + `name` varchar(24) NOT NULL default '', + `mes` varchar(40) NOT NULL default '', + `acc` varchar(40) NOT NULL default '', + `account_id` int(11) NOT NULL default '0', + `rsv1` int(11) NOT NULL default '0', + `rsv2` int(11) NOT NULL default '0', + `rsv3` int(11) NOT NULL default '0', + KEY `guild_id` (`guild_id`) +) TYPE=MyISAM; + +# Database: Ragnarok +# Table: 'guild_member' +# +CREATE TABLE `guild_member` ( + `guild_id` int(11) NOT NULL default '0', + `account_id` int(11) NOT NULL default '0', + `char_id` int(11) NOT NULL default '0', + `hair` smallint(6) NOT NULL default '0', + `hair_color` smallint(6) NOT NULL default '0', + `gender` smallint(6) NOT NULL default '0', + `class` smallint(6) NOT NULL default '0', + `lv` smallint(6) NOT NULL default '0', + `exp` bigint(20) NOT NULL default '0', + `exp_payper` int(11) NOT NULL default '0', + `online` tinyint(4) NOT NULL default '0', + `position` smallint(6) NOT NULL default '0', + `rsv1` int(11) NOT NULL default '0', + `rsv2` int(11) NOT NULL default '0', + `name` varchar(24) NOT NULL default '', + KEY `guild_id` (`guild_id`), + KEY `account_id` (`account_id`), + KEY `char_id` (`char_id`) +) TYPE=MyISAM; + +# Database: Ragnarok +# Table: 'guild_position' +# +CREATE TABLE `guild_position` ( + `guild_id` int(11) NOT NULL default '0', + `position` smallint(6) NOT NULL default '0', + `name` varchar(24) NOT NULL default '', + `mode` int(11) NOT NULL default '0', + `exp_mode` int(11) NOT NULL default '0', + KEY `guild_id` (`guild_id`) +) TYPE=MyISAM; + +# Database: Ragnarok +# Table: 'guild_skill' +# +CREATE TABLE `guild_skill` ( + `guild_id` int(11) NOT NULL default '0', + `id` int(11) NOT NULL default '0', + `lv` int(11) NOT NULL default '0', + KEY `guild_id` (`guild_id`) +) TYPE=MyISAM; + +# Database: Ragnarok +# Table: 'guild_storage' +# +CREATE TABLE `guild_storage` ( + `id` int(10) unsigned NOT NULL auto_increment, + `guild_id` int(11) NOT NULL default '0', + `nameid` int(11) NOT NULL default '0', + `amount` int(11) NOT NULL default '0', + `equip` mediumint(8) unsigned NOT NULL default '0', + `identify` smallint(6) NOT NULL default '0', + `refine` tinyint(3) unsigned NOT NULL default '0', + `attribute` tinyint(4) NOT NULL default '0', + `card0` int(11) NOT NULL default '0', + `card1` int(11) NOT NULL default '0', + `card2` int(11) NOT NULL default '0', + `card3` int(11) NOT NULL default '0', + `broken` int(11) NOT NULL default '0', + PRIMARY KEY (`id`), + KEY `guild_id` (`guild_id`) +) TYPE=MyISAM; + +# Database: Ragnarok +# Table: 'interlog' +# +CREATE TABLE `interlog` ( + `time` datetime NOT NULL default '0000-00-00 00:00:00', + `log` varchar(255) NOT NULL default '' +) TYPE=MyISAM; + +# Database: Ragnarok +# Table: 'inventory' +# +CREATE TABLE `inventory` ( + `id` int(11) NOT NULL auto_increment, + `char_id` int(11) NOT NULL default '0', + `nameid` int(11) NOT NULL default '0', + `amount` int(11) NOT NULL default '0', + `equip` mediumint(8) unsigned NOT NULL default '0', + `identify` smallint(6) NOT NULL default '0', + `refine` tinyint(3) unsigned NOT NULL default '0', + `attribute` tinyint(4) NOT NULL default '0', + `card0` int(11) NOT NULL default '0', + `card1` int(11) NOT NULL default '0', + `card2` int(11) NOT NULL default '0', + `card3` int(11) NOT NULL default '0', + `broken` int(11) NOT NULL default '0', + PRIMARY KEY (`id`), + KEY `char_id` (`char_id`) +) TYPE=MyISAM; + +# Database: Ragnarok +# Table: 'ipbanlist' +# +CREATE TABLE `ipbanlist` ( + `list` varchar(255) NOT NULL default '', + `btime` datetime NOT NULL default '0000-00-00 00:00:00', + `rtime` datetime NOT NULL default '0000-00-00 00:00:00', + `reason` varchar(255) NOT NULL default '' +) TYPE=MyISAM; + +# Database: Ragnarok +# Table: 'login' +# +CREATE TABLE `login` ( + `account_id` int(11) NOT NULL AUTO_INCREMENT, + `userid` varchar(255) NOT NULL default '', + `user_pass` varchar(32) NOT NULL default '', + `lastlogin` datetime NOT NULL default '0000-00-00 00:00:00', + `sex` char(1) NOT NULL default 'M', + `logincount` mediumint(9) NOT NULL default '0', + `email` varchar(60) NOT NULL default '', + `level` smallint(3) NOT NULL default '0', + `error_message` int(11) NOT NULL default '0', + `connect_until` int(11) NOT NULL default '0', + `last_ip` varchar(100) NOT NULL default '', + `memo` int(11) NOT NULL default '0', + `ban_until` int(11) NOT NULL default '0', + `state` int(11) NOT NULL default '0', + PRIMARY KEY (`account_id`), + KEY `name` (`userid`) +) TYPE=MyISAM AUTO_INCREMENT=2000000; + +# added standard accounts for servers, VERY INSECURE!!! +# inserted into the table called login which is above + +INSERT INTO `login` (`account_id`, `userid`, `user_pass`, `sex`, `email`) VALUES ('1', 's1', 'p1', 'S','athena@athena.com'); +INSERT INTO `login` (`account_id`, `userid`, `user_pass`, `sex`, `email`) VALUES ('2', 's2', 'p2', 'S','athena@athena.com'); +INSERT INTO `login` (`account_id`, `userid`, `user_pass`, `sex`, `email`) VALUES ('3', 's3', 'p3', 'S','athena@athena.com'); +INSERT INTO `login` (`account_id`, `userid`, `user_pass`, `sex`, `email`) VALUES ('4', 's4', 'p4', 'S','athena@athena.com'); +INSERT INTO `login` (`account_id`, `userid`, `user_pass`, `sex`, `email`) VALUES ('5', 's5', 'p5', 'S','athena@athena.com'); +INSERT INTO `login` (`account_id`, `userid`, `user_pass`, `sex`, `email`) VALUES ('6', 's6', 'p6', 'S','athena@athena.com'); +INSERT INTO `login` (`account_id`, `userid`, `user_pass`, `sex`, `email`) VALUES ('7', 's7', 'p7', 'S','athena@athena.com'); +INSERT INTO `login` (`account_id`, `userid`, `user_pass`, `sex`, `email`) VALUES ('8', 's8', 'p8', 'S','athena@athena.com'); +INSERT INTO `login` (`account_id`, `userid`, `user_pass`, `sex`, `email`) VALUES ('9', 's9', 'p9', 'S','athena@athena.com'); +INSERT INTO `login` (`account_id`, `userid`, `user_pass`, `sex`, `email`) VALUES ('10', 's10', 'p10', 'S','athena@athena.com'); +INSERT INTO `login` (`account_id`, `userid`, `user_pass`, `sex`, `email`) VALUES ('11', 's11', 'p11', 'S','athena@athena.com'); +INSERT INTO `login` (`account_id`, `userid`, `user_pass`, `sex`, `email`) VALUES ('12', 's12', 'p12', 'S','athena@athena.com'); +INSERT INTO `login` (`account_id`, `userid`, `user_pass`, `sex`, `email`) VALUES ('13', 's13', 'p13', 'S','athena@athena.com'); +INSERT INTO `login` (`account_id`, `userid`, `user_pass`, `sex`, `email`) VALUES ('14', 's14', 'p14', 'S','athena@athena.com'); +INSERT INTO `login` (`account_id`, `userid`, `user_pass`, `sex`, `email`) VALUES ('15', 's15', 'p15', 'S','athena@athena.com'); + +# Database: Ragnarok +# Table: 'login_error' +# +CREATE TABLE `login_error` ( + `err_id` int(11) NOT NULL default '0', + `reason` varchar(100) NOT NULL default 'Unknown', + PRIMARY KEY (`err_id`) +) TYPE=MyISAM; + +# Database: Ragnarok +# Table: 'loginlog' +# +CREATE TABLE `loginlog` ( + `time` datetime NOT NULL default '0000-00-00 00:00:00', + `ip` varchar(64) NOT NULL default '', + `user` varchar(32) NOT NULL default '', + `rcode` tinyint(4) NOT NULL default '0', + `log` varchar(255) NOT NULL default '' +) TYPE=MyISAM; + +# Database: Ragnarok +# Table: 'memo' +# +CREATE TABLE `memo` ( + `memo_id` int(11) NOT NULL auto_increment, + `char_id` int(11) NOT NULL default '0', + `map` varchar(255) NOT NULL default '', + `x` mediumint(9) NOT NULL default '0', + `y` mediumint(9) NOT NULL default '0', + PRIMARY KEY (`memo_id`) +) TYPE=MyISAM; + +# Database: Ragnarok +# Table: 'party' +# +CREATE TABLE `party` ( + `party_id` int(11) NOT NULL default '100', + `name` char(100) NOT NULL default '', + `exp` int(11) NOT NULL default '0', + `item` int(11) NOT NULL default '0', + `leader_id` int(11) NOT NULL default '0', + PRIMARY KEY (`party_id`) +) TYPE=MyISAM; + +# Database: Ragnarok +# Table: 'pet' +# +CREATE TABLE `pet` ( + `pet_id` int(11) NOT NULL auto_increment, + `class` mediumint(9) NOT NULL default '0', + `name` varchar(24) NOT NULL default '', + `account_id` int(11) NOT NULL default '0', + `char_id` int(11) NOT NULL default '0', + `level` tinyint(4) NOT NULL default '0', + `egg_id` int(11) NOT NULL default '0', + `equip` mediumint(8) unsigned NOT NULL default '0', + `intimate` mediumint(9) NOT NULL default '0', + `hungry` mediumint(9) NOT NULL default '0', + `rename_flag` tinyint(4) NOT NULL default '0', + `incuvate` int(11) NOT NULL default '0', + PRIMARY KEY (`pet_id`) +) TYPE=MyISAM; + +# Database: Ragnarok +# Table: 'ragsrvinfo' +# +CREATE TABLE `ragsrvinfo` ( + `index` int(11) NOT NULL default '0', + `name` varchar(255) NOT NULL default '', + `exp` int(11) NOT NULL default '0', + `jexp` int(11) NOT NULL default '0', + `drop` int(11) NOT NULL default '0', + `motd` varchar(255) NOT NULL default '' +) TYPE=MyISAM; + +# Database: Ragnarok +# Table: 'skill' +# +CREATE TABLE `skill` ( + `char_id` int(11) NOT NULL default '0', + `id` int(11) NOT NULL default '0', + `lv` tinyint(4) NOT NULL default '0', + PRIMARY KEY (`char_id`,`id`), + KEY `char_id` (`char_id`) +) TYPE=MyISAM; + +# Database: Ragnarok +# Table: 'sstatus' +# +CREATE TABLE `sstatus` ( + `index` tinyint(4) NOT NULL default '0', + `name` varchar(255) NOT NULL default '', + `user` int(11) NOT NULL default '0' +) TYPE=MyISAM; + +# Database: Ragnarok +# Table: 'storage' +# +CREATE TABLE `storage` ( + `id` int(11) NOT NULL auto_increment, + `account_id` int(11) NOT NULL default '0', + `nameid` int(11) NOT NULL default '0', + `amount` int(11) NOT NULL default '0', + `equip` mediumint(8) unsigned NOT NULL default '0', + `identify` smallint(6) NOT NULL default '0', + `refine` tinyint(3) unsigned NOT NULL default '0', + `attribute` tinyint(4) NOT NULL default '0', + `card0` int(11) NOT NULL default '0', + `card1` int(11) NOT NULL default '0', + `card2` int(11) NOT NULL default '0', + `card3` int(11) NOT NULL default '0', + `broken` int(11) NOT NULL default '0', + PRIMARY KEY (`id`), + KEY `account_id` (`account_id`) +) TYPE=MyISAM; + +USE `ragnarok`; +CREATE TABLE `friends` ( + `id` int(11) NOT NULL auto_increment, + `account_id` int(11) NOT NULL default '0', + `friend_id1` int(11) NOT NULL default '0', + `name1` varchar(255) NOT NULL default '', + `friend_id2` int(11) NOT NULL default '0', + `name2` varchar(255) NOT NULL default '', + `friend_id3` int(11) NOT NULL default '0', + `name3` varchar(255) NOT NULL default '', + `friend_id4` int(11) NOT NULL default '0', + `name4` varchar(255) NOT NULL default '', + `friend_id5` int(11) NOT NULL default '0', + `name5` varchar(255) NOT NULL default '', + `friend_id6` int(11) NOT NULL default '0', + `name6` varchar(255) NOT NULL default '', + `friend_id7` int(11) NOT NULL default '0', + `name7` varchar(255) NOT NULL default '', + `friend_id8` int(11) NOT NULL default '0', + `name8` varchar(255) NOT NULL default '', + `friend_id9` int(11) NOT NULL default '0', + `name9` varchar(255) NOT NULL default '', + `friend_id10` int(11) NOT NULL default '0', + `name10` varchar(255) NOT NULL default '', + `friend_id11` int(11) NOT NULL default '0', + `name11` varchar(255) NOT NULL default '', + `friend_id12` int(11) NOT NULL default '0', + `name12` varchar(255) NOT NULL default '', + `friend_id13` int(11) NOT NULL default '0', + `name13` varchar(255) NOT NULL default '', + `friend_id14` int(11) NOT NULL default '0', + `name14` varchar(255) NOT NULL default '', + `friend_id15` int(11) NOT NULL default '0', + `name15` varchar(255) NOT NULL default '', + `friend_id16` int(11) NOT NULL default '0', + `name16` varchar(255) NOT NULL default '', + `friend_id17` int(11) NOT NULL default '0', + `name17` varchar(255) NOT NULL default '', + `friend_id18` int(11) NOT NULL default '0', + `name18` varchar(255) NOT NULL default '', + `friend_id19` int(11) NOT NULL default '0', + `name19` varchar(255) NOT NULL default '', + `friend_id20` int(11) NOT NULL default '0', + `name20` varchar(255) NOT NULL default '', + PRIMARY KEY (`id`), + KEY `account_id` (`account_id`) +) TYPE=MyISAM \ No newline at end of file -- cgit v1.2.3-70-g09d2 From 581475bc6416790765c498aa3d611f6868ffb64a Mon Sep 17 00:00:00 2001 From: amber Date: Sun, 14 Nov 2004 16:18:26 +0000 Subject: Fixed some file types git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/athena@172 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog.txt | 4132 +-- Dev/Dev-Folder-Notes.txt | 6 +- Dev/TODO.txt | 1366 +- Dev/TODO_MOB_AI.txt | 266 +- Dev/bugs.txt | 144 +- Dev/forSQLdev.txt | 292 +- Dev/quotes.txt | 296 +- Dev/resnametable.TXT | 126 +- INSTALL | 492 +- LICENCE | 680 +- LICENCE_JA | 832 +- Makefile | 254 +- Readme-jap | 35014 +++++++++++----------- Readme2.txt | 60 +- athena-start | 168 +- char-server.sh | 32 +- charserv.bat | 6 +- conf-tmpl/GM_account.txt | 70 +- conf-tmpl/atcommand_athena.conf | 1288 +- conf-tmpl/atcommand_athena.conf.orig | 1138 +- conf-tmpl/battle_athena.conf | 1450 +- conf-tmpl/char_athena.conf | 340 +- conf-tmpl/grf-files.txt | 6 +- conf-tmpl/help.txt | 450 +- conf-tmpl/inter_athena.conf | 256 +- conf-tmpl/ladmin_athena.conf | 68 +- conf-tmpl/lan_support.conf | 82 +- conf-tmpl/log_athena.conf | 104 +- conf-tmpl/login_athena.conf | 296 +- conf-tmpl/map_athena.conf | 2338 +- conf-tmpl/mapflag/arenas.txt | 212 +- conf-tmpl/mapflag/dungeons.txt | 306 +- conf-tmpl/mapflag/guildcastles.txt | 298 +- conf-tmpl/mapflag/gvg.txt | 140 +- conf-tmpl/mapflag/jail.txt | 86 +- conf-tmpl/mapflag/jobquests.txt | 268 +- conf-tmpl/mapflag/pvp.txt | 1132 +- conf-tmpl/mapflag/towns.txt | 446 +- conf-tmpl/mapflag/type/gvg.txt | 56 +- conf-tmpl/mapflag/type/jail.txt | 94 +- conf-tmpl/mapflag/type/nightmare.txt | 96 +- conf-tmpl/mapflag/type/nobranch.txt | 436 +- conf-tmpl/mapflag/type/noicewall.txt | 118 +- conf-tmpl/mapflag/type/nomemo.txt | 706 +- conf-tmpl/mapflag/type/nopenalty.txt | 352 +- conf-tmpl/mapflag/type/nopvp.txt | 116 +- conf-tmpl/mapflag/type/nosave.txt | 242 +- conf-tmpl/mapflag/type/noteleport.txt | 368 +- conf-tmpl/mapflag/type/nowarp.txt | 38 +- conf-tmpl/mapflag/type/nowarpto.txt | 60 +- conf-tmpl/mapflag/type/pvp.txt | 178 +- conf-tmpl/mapflag/type/pvp_noparty.txt | 68 +- conf-tmpl/mapflag/water.txt | 108 +- conf-tmpl/mapflag/water_height.txt | 136 +- conf-tmpl/msg_athena.conf | 1024 +- conf-tmpl/script_athena.conf | 4 +- conf-tmpl/water_height.txt | 136 +- db/abra_db.txt | 774 +- db/attr_fix.txt | 106 +- db/castle_db.txt | 52 +- db/const.txt | 474 +- db/create_arrow_db.txt | 198 +- db/exp.txt | 198 +- db/exp2.txt | 198 +- db/exp_guild.txt | 100 +- db/item_avail.txt | 18 +- db/item_bluebox.txt | 854 +- db/item_cardalbum.txt | 316 +- db/item_db.txt | 3416 +-- db/item_giftbox.txt | 160 +- db/item_noequip.txt | 8 +- db/item_scroll.txt | 10 +- db/item_violetbox.txt | 554 +- db/job_db1.txt | 138 +- db/job_db2-2.txt | 52 +- db/job_db2.txt | 142 +- db/mob_avail.txt | 84 +- db/mob_boss.txt | 50 +- db/mob_branch.txt | 706 +- db/mob_db.txt | 1108 +- db/mob_db2.txt | 148 +- db/mob_poring.txt | 34 +- db/mob_skill_db.txt | 4002 +-- db/packet_db.txt | 1150 +- db/pet_db.txt | 60 +- db/produce_db.txt | 200 +- db/refine_db.txt | 24 +- db/size_fix.txt | 12 +- db/skill_cast_db.txt | 538 +- db/skill_castnodex_db.txt | 22 +- db/skill_db.txt | 1050 +- db/skill_require_db.txt | 558 +- db/skill_tree.txt | 3632 +-- db/statpoint.txt | 510 +- doc/admin_packet.txt | 562 +- doc/client_packet.txt | 2144 +- doc/conf_ref.txt | 3962 +-- doc/coredump_report.txt | 218 +- doc/db_ref.txt | 294 +- doc/help.txt | 906 +- doc/inter_server_packet.txt | 408 +- doc/item.txt | 2902 +- doc/item_bonus.txt | 274 +- doc/packet_table_en.txt | 2672 +- doc/script_ref.txt | 2848 +- help.txt | 790 +- log/char.log | 120 +- log/login.log | 490 +- login-server.sh | 32 +- logserv.bat | 6 +- mapserv.bat | 6 +- npc/Changelog.txt | 496 +- npc/cities/alberta.txt | 1746 +- npc/cities/aldebaran.txt | 3084 +- npc/cities/amatsu.txt | 2956 +- npc/cities/comodo.txt | 2794 +- npc/cities/geffen.txt | 1318 +- npc/cities/gonryun.txt | 636 +- npc/cities/izlude.txt | 1094 +- npc/cities/lutie.txt | 1926 +- npc/cities/morocc.txt | 822 +- npc/cities/niflheim.txt | 1114 +- npc/cities/payon.txt | 1632 +- npc/cities/prontera.txt | 1236 +- npc/cities/umbala.txt | 3332 +- npc/cities/yuno.txt | 1232 +- npc/events/alchemist.txt | 332 +- npc/events/custom/draculax.txt | 258 +- npc/events/custom/uneasy_cemetery.txt | 268 +- npc/events/easter.txt | 392 +- npc/events/twintowers.txt | 184 +- npc/events/valentinesday.txt | 542 +- npc/events/xmas.txt | 502 +- npc/guides/guides_alb.txt | 218 +- npc/guides/guides_alde.txt | 232 +- npc/guides/guides_com.txt | 282 +- npc/guides/guides_gef.txt | 270 +- npc/guides/guides_izl.txt | 236 +- npc/guides/guides_mor.txt | 242 +- npc/guides/guides_nif.txt | 164 +- npc/guides/guides_pron.txt | 412 +- npc/guides/guides_umb.txt | 214 +- npc/guides/guides_yun.txt | 446 +- npc/guild/aldeg/aldeg_dunsw.txt | 102 +- npc/guild/aldeg/aldeg_ev_agit.txt | 260 +- npc/guild/aldeg/aldeg_flags.txt | 398 +- npc/guild/aldeg/aldeg_guardians.txt | 222 +- npc/guild/aldeg/aldeg_kafras.txt | 122 +- npc/guild/aldeg/aldeg_managers.txt | 220 +- npc/guild/aldeg/aldeg_treas.txt | 282 +- npc/guild/ev_agit_event.txt | 82 +- npc/guild/gefg/gefg_dunsw.txt | 98 +- npc/guild/gefg/gefg_ev_agit.txt | 260 +- npc/guild/gefg/gefg_flags.txt | 308 +- npc/guild/gefg/gefg_guardians.txt | 216 +- npc/guild/gefg/gefg_kafras.txt | 142 +- npc/guild/gefg/gefg_managers.txt | 208 +- npc/guild/gefg/gefg_treas.txt | 296 +- npc/guild/gldfunc_dunsw.txt | 84 +- npc/guild/gldfunc_ev_agit.txt | 298 +- npc/guild/gldfunc_flag.txt | 116 +- npc/guild/gldfunc_kafra.txt | 74 +- npc/guild/gldfunc_manager.txt | 858 +- npc/guild/gldfunc_treasure.txt | 156 +- npc/guild/nguild/nguild_dunsw.txt | 78 +- npc/guild/nguild/nguild_ev_agit.txt | 214 +- npc/guild/nguild/nguild_guardians.txt | 182 +- npc/guild/nguild/nguild_kafras.txt | 106 +- npc/guild/old/aldeg_cas01.txt | 1350 +- npc/guild/old/aldeg_cas02.txt | 1352 +- npc/guild/old/aldeg_cas03.txt | 1358 +- npc/guild/old/aldeg_cas04.txt | 1358 +- npc/guild/old/aldeg_cas05.txt | 1354 +- npc/guild/old/aldeg_flag.txt | 700 +- npc/guild/old/ev_agit_aldeg.txt | 952 +- npc/guild/old/ev_agit_event.txt | 68 +- npc/guild/old/ev_agit_gefg.txt | 928 +- npc/guild/old/ev_agit_payg.txt | 932 +- npc/guild/old/ev_agit_prtg.txt | 952 +- npc/guild/old/gefg_cas01.txt | 1334 +- npc/guild/old/gefg_cas02.txt | 1334 +- npc/guild/old/gefg_cas03.txt | 1336 +- npc/guild/old/gefg_cas04.txt | 1336 +- npc/guild/old/gefg_cas05.txt | 1332 +- npc/guild/old/gefg_flag.txt | 716 +- npc/guild/old/gswitch.txt | 886 +- npc/guild/old/guardian/aldeg_cas01_guardian.txt | 134 +- npc/guild/old/guardian/aldeg_cas02_guardian.txt | 134 +- npc/guild/old/guardian/aldeg_cas03_guardian.txt | 134 +- npc/guild/old/guardian/aldeg_cas04_guardian.txt | 134 +- npc/guild/old/guardian/aldeg_cas05_guardian.txt | 134 +- npc/guild/old/guardian/gefg_cas01_guardian.txt | 134 +- npc/guild/old/guardian/gefg_cas02_guardian.txt | 134 +- npc/guild/old/guardian/gefg_cas03_guardian.txt | 134 +- npc/guild/old/guardian/gefg_cas04_guardian.txt | 134 +- npc/guild/old/guardian/gefg_cas05_guardian.txt | 134 +- npc/guild/old/guardian/payg_cas01_guardian.txt | 134 +- npc/guild/old/guardian/payg_cas02_guardian.txt | 134 +- npc/guild/old/guardian/payg_cas03_guardian.txt | 134 +- npc/guild/old/guardian/payg_cas04_guardian.txt | 134 +- npc/guild/old/guardian/payg_cas05_guardian.txt | 134 +- npc/guild/old/guardian/prtg_cas01_guardian.txt | 134 +- npc/guild/old/guardian/prtg_cas02_guardian.txt | 124 +- npc/guild/old/guardian/prtg_cas03_guardian.txt | 124 +- npc/guild/old/guardian/prtg_cas04_guardian.txt | 124 +- npc/guild/old/guardian/prtg_cas05_guardian.txt | 124 +- npc/guild/old/payg_cas01.txt | 1334 +- npc/guild/old/payg_cas02.txt | 1332 +- npc/guild/old/payg_cas03.txt | 1332 +- npc/guild/old/payg_cas04.txt | 1332 +- npc/guild/old/payg_cas05.txt | 1332 +- npc/guild/old/payg_flag.txt | 718 +- npc/guild/old/prtg_cas01.txt | 1340 +- npc/guild/old/prtg_cas02.txt | 1334 +- npc/guild/old/prtg_cas03.txt | 1334 +- npc/guild/old/prtg_cas04.txt | 1330 +- npc/guild/old/prtg_cas05.txt | 1326 +- npc/guild/old/prtg_flag.txt | 726 +- npc/guild/old/treasure/aldeg_cas01_treasure.txt | 144 +- npc/guild/old/treasure/aldeg_cas02_treasure.txt | 134 +- npc/guild/old/treasure/aldeg_cas03_treasure.txt | 134 +- npc/guild/old/treasure/aldeg_cas04_treasure.txt | 134 +- npc/guild/old/treasure/aldeg_cas05_treasure.txt | 134 +- npc/guild/old/treasure/gefg_cas01_treasure.txt | 134 +- npc/guild/old/treasure/gefg_cas02_treasure.txt | 134 +- npc/guild/old/treasure/gefg_cas03_treasure.txt | 134 +- npc/guild/old/treasure/gefg_cas04_treasure.txt | 136 +- npc/guild/old/treasure/gefg_cas05_treasure.txt | 136 +- npc/guild/old/treasure/payg_cas01_treasure.txt | 134 +- npc/guild/old/treasure/payg_cas02_treasure.txt | 134 +- npc/guild/old/treasure/payg_cas03_treasure.txt | 134 +- npc/guild/old/treasure/payg_cas04_treasure.txt | 134 +- npc/guild/old/treasure/payg_cas05_treasure.txt | 134 +- npc/guild/old/treasure/prtg_cas01_treasure.txt | 144 +- npc/guild/old/treasure/prtg_cas02_treasure.txt | 134 +- npc/guild/old/treasure/prtg_cas03_treasure.txt | 134 +- npc/guild/old/treasure/prtg_cas04_treasure.txt | 132 +- npc/guild/old/treasure/prtg_cas05_treasure.txt | 132 +- npc/guild/payg/payg_dunsw.txt | 98 +- npc/guild/payg/payg_ev_agit.txt | 260 +- npc/guild/payg/payg_flags.txt | 296 +- npc/guild/payg/payg_guardians.txt | 216 +- npc/guild/payg/payg_kafras.txt | 130 +- npc/guild/payg/payg_managers.txt | 208 +- npc/guild/payg/payg_treas.txt | 280 +- npc/guild/prtg/prtg_dunsw.txt | 98 +- npc/guild/prtg/prtg_ev_agit.txt | 260 +- npc/guild/prtg/prtg_flags.txt | 350 +- npc/guild/prtg/prtg_guardians.txt | 216 +- npc/guild/prtg/prtg_kafras.txt | 132 +- npc/guild/prtg/prtg_managers.txt | 208 +- npc/guild/prtg/prtg_treas.txt | 288 +- npc/jobs/1-1/acolyte.txt | 698 +- npc/jobs/1-1/archer.txt | 366 +- npc/jobs/1-1/mage.txt | 994 +- npc/jobs/1-1/merchant.txt | 1946 +- npc/jobs/1-1/swordsman.txt | 1590 +- npc/jobs/1-1/thief.txt | 886 +- npc/jobs/2-1-1/AssassinCross.txt | 140 +- npc/jobs/2-1-1/HighPriest.txt | 122 +- npc/jobs/2-1-1/HighWizard.txt | 120 +- npc/jobs/2-1-1/LordKnight.txt | 124 +- npc/jobs/2-1-1/Sniper.txt | 128 +- npc/jobs/2-1-1/WhiteSmith.txt | 120 +- npc/jobs/2-1/assassin.txt | 3836 +-- npc/jobs/2-1/blacksmith.txt | 2872 +- npc/jobs/2-1/hunter.txt | 2500 +- npc/jobs/2-1/knight.txt | 3714 +-- npc/jobs/2-1/priest.txt | 2860 +- npc/jobs/2-1/wizard.txt | 2892 +- npc/jobs/2-2-1/Champion.txt | 122 +- npc/jobs/2-2-1/Clown.txt | 244 +- npc/jobs/2-2-1/Creator.txt | 122 +- npc/jobs/2-2-1/Gypsy.txt | 178 +- npc/jobs/2-2-1/Paladin.txt | 124 +- npc/jobs/2-2-1/Professor.txt | 122 +- npc/jobs/2-2-1/Stalker.txt | 118 +- npc/jobs/2-2/crusader.txt | 2328 +- npc/jobs/2-2/noquest/crusader.txt | 108 +- npc/jobs/2-2/noquest/dancer-bard.txt | 144 +- npc/jobs/2-2/noquest/monk.txt | 108 +- npc/jobs/2-2/rogue.txt | 1886 +- npc/jobs/2-2/sage.txt | 4292 +-- npc/jobs/custom/jobchange.txt | 1292 +- npc/jobs/custom/reset.txt | 78 +- npc/jobs/novice/novice.txt | 4678 +-- npc/jobs/novice/supernovice.txt | 542 +- npc/kafras/functions_kafras.txt | 690 +- npc/kafras/kafras_alb.txt | 134 +- npc/kafras/kafras_alde.txt | 102 +- npc/kafras/kafras_com.txt | 120 +- npc/kafras/kafras_dungeons.txt | 258 +- npc/kafras/kafras_gef.txt | 202 +- npc/kafras/kafras_izl.txt | 78 +- npc/kafras/kafras_mor.txt | 200 +- npc/kafras/kafras_new.txt | 106 +- npc/kafras/kafras_pay.txt | 130 +- npc/kafras/kafras_pron.txt | 200 +- npc/kafras/kafras_yun.txt | 142 +- npc/merchants/alchemist.txt | 240 +- npc/merchants/clothes_dyer.txt | 650 +- npc/merchants/custom/breeder.txt | 132 +- npc/merchants/custom/dye.txt | 352 +- npc/merchants/dye_maker.txt | 554 +- npc/merchants/grandpa_pharmacist.txt | 372 +- npc/merchants/hair_dyer.txt | 316 +- npc/merchants/inn.txt | 344 +- npc/merchants/milk_trader.txt | 128 +- npc/merchants/refine.txt | 1760 +- npc/merchants/renters.txt | 310 +- npc/merchants/shops.txt | 416 +- npc/mobs/dungeons/amatdun.txt | 66 +- npc/mobs/dungeons/anthell.txt | 234 +- npc/mobs/dungeons/ayodun.txt | 48 +- npc/mobs/dungeons/beachdun.txt | 64 +- npc/mobs/dungeons/byalan.txt | 208 +- npc/mobs/dungeons/clocktower.txt | 244 +- npc/mobs/dungeons/coalmine.txt | 58 +- npc/mobs/dungeons/geftower.txt | 136 +- npc/mobs/dungeons/glastheim.txt | 318 +- npc/mobs/dungeons/gondun.txt | 78 +- npc/mobs/dungeons/guilddun.txt | 86 +- npc/mobs/dungeons/louydun.txt | 66 +- npc/mobs/dungeons/magmadun.txt | 50 +- npc/mobs/dungeons/moc_pyramid.txt | 100 +- npc/mobs/dungeons/moc_sphinx.txt | 88 +- npc/mobs/dungeons/orcdun.txt | 60 +- npc/mobs/dungeons/payoncave.txt | 300 +- npc/mobs/dungeons/pront_maze.txt | 150 +- npc/mobs/dungeons/pront_sewers.txt | 88 +- npc/mobs/dungeons/sunkenship.txt | 282 +- npc/mobs/dungeons/toyfactory.txt | 60 +- npc/mobs/dungeons/turtleisland.txt | 94 +- npc/mobs/dungeons/umbaladun.txt | 50 +- npc/mobs/fields/amatsu.txt | 76 +- npc/mobs/fields/ayothana.txt | 44 +- npc/mobs/fields/comodo.txt | 302 +- npc/mobs/fields/gefenia.txt | 98 +- npc/mobs/fields/geffen.txt | 390 +- npc/mobs/fields/gonryun.txt | 40 +- npc/mobs/fields/louyang.txt | 30 +- npc/mobs/fields/lutie.txt | 32 +- npc/mobs/fields/mjolnir.txt | 452 +- npc/mobs/fields/morocc.txt | 512 +- npc/mobs/fields/niflheim.txt | 84 +- npc/mobs/fields/payon.txt | 256 +- npc/mobs/fields/prontera.txt | 226 +- npc/mobs/fields/umbala.txt | 76 +- npc/mobs/fields/yuno.txt | 120 +- npc/mobs/pvp.txt | 62 +- npc/other/Global_Functions.txt | 160 +- npc/other/IceCream.txt | 128 +- npc/other/Valkyrie.txt | 98 +- npc/other/arena.txt | 1134 +- npc/other/arena_mvp.txt | 2210 +- npc/other/bank.txt | 250 +- npc/other/blackjack.txt | 698 +- npc/other/books.txt | 4582 +-- npc/other/breeder.txt | 128 +- npc/other/card_remover.txt | 338 +- npc/other/devnpc.txt | 384 +- npc/other/gefenia.txt | 60 +- npc/other/heal.txt | 80 +- npc/other/heal_payment.txt | 196 +- npc/other/kafra_bank.txt | 210 +- npc/other/mc_cameri/bank.txt | 5586 ++-- npc/other/momotaro.txt | 886 +- npc/other/msg_boards.txt | 350 +- npc/other/old/guide.txt | 2306 +- npc/other/old/kafra.txt | 3730 +-- npc/other/old/pvp.txt | 2910 +- npc/other/platinum_skills.txt | 220 +- npc/other/pvp.txt | 840 +- npc/other/tougijou.txt | 744 +- npc/other/warper.txt | 198 +- npc/other/warper2.txt | 526 +- npc/other/wedding.txt | 1412 +- npc/other/weddingtxt.txt | 552 +- npc/quests/all_quest.txt | 1138 +- npc/quests/bongunsword.txt | 86 +- npc/quests/bunnyband.txt | 204 +- npc/quests/counteragent_mixture.txt | 524 +- npc/quests/custom/berzebub.txt | 168 +- npc/quests/custom/elvenear.txt | 142 +- npc/quests/custom/event_32_new_hats.txt | 2556 +- npc/quests/custom/excalibur.txt | 136 +- npc/quests/custom/ironcane.txt | 104 +- npc/quests/custom/kaho_balmung.txt | 194 +- npc/quests/custom/kahohorn.txt | 158 +- npc/quests/custom/new_hats.txt | 2938 +- npc/quests/custom/sunglasses.txt | 292 +- npc/quests/custom/valhallen.txt | 398 +- npc/quests/doomed_swords.txt | 1362 +- npc/quests/fashion.txt | 120 +- npc/quests/juice_maker.txt | 616 +- npc/quests/magicalhatquest.txt | 80 +- npc/quests/monstertamers.txt | 886 +- npc/quests/mrsmile.txt | 184 +- npc/quests/quests_alberta.txt | 1368 +- npc/quests/quests_aldebaran.txt | 186 +- npc/quests/quests_comodo.txt | 554 +- npc/quests/quests_geffen.txt | 372 +- npc/quests/quests_lutie.txt | 372 +- npc/quests/quests_morocc.txt | 250 +- npc/quests/quests_payon.txt | 582 +- npc/quests/quests_prontera.txt | 184 +- npc/quests/quests_umbala.txt | 690 +- npc/quests/quests_yuno.txt | 270 +- npc/quests/skills/acolyte_skills.txt | 252 +- npc/quests/skills/archer_skills.txt | 420 +- npc/quests/skills/mage_skills.txt | 228 +- npc/quests/skills/merchant_skills.txt | 616 +- npc/quests/skills/novice_skills.txt | 516 +- npc/quests/skills/swordsman_skills.txt | 742 +- npc/quests/skills/thief_skills.txt | 772 +- npc/sample/PCLoginEvent.txt | 64 +- npc/sample/bank_test.txt | 118 +- npc/sample/gstorage_test.txt | 66 +- npc/sample/npc_card_remover.txt | 394 +- npc/sample/npc_equip_sample.txt | 34 +- npc/sample/npc_extend_shop.txt | 136 +- npc/sample/npc_sample.txt | 914 +- npc/sample/npc_shop_test.txt | 62 +- npc/sample/npc_test_arena.txt | 208 +- npc/sample/npc_test_array.txt | 70 +- npc/sample/npc_test_chat.txt | 56 +- npc/sample/npc_test_ev.txt | 292 +- npc/sample/npc_test_func.txt | 54 +- npc/sample/npc_test_npctimer.txt | 66 +- npc/sample/npc_test_skill.txt | 38 +- npc/sample/npc_test_str.txt | 34 +- npc/sample/npc_testchkoption.txt | 28 +- npc/sample/npc_time_sample.txt | 38 +- npc/warps/ayothaya.txt | 202 +- npc/warps/cities/alberta.txt | 116 +- npc/warps/cities/aldebaran.txt | 98 +- npc/warps/cities/amatsu.txt | 102 +- npc/warps/cities/comodo.txt | 112 +- npc/warps/cities/geffen.txt | 98 +- npc/warps/cities/gonryun.txt | 66 +- npc/warps/cities/izlude.txt | 68 +- npc/warps/cities/louyang.txt | 96 +- npc/warps/cities/lutie.txt | 82 +- npc/warps/cities/morroc.txt | 212 +- npc/warps/cities/niflheim.txt | 68 +- npc/warps/cities/payon.txt | 272 +- npc/warps/cities/prontera.txt | 202 +- npc/warps/cities/umbala.txt | 86 +- npc/warps/cities/yggdrasil.txt | 48 +- npc/warps/cities/yuno.txt | 182 +- npc/warps/disabled_warps.txt | 72 +- npc/warps/dungeons/alberta_duns.txt | 114 +- npc/warps/dungeons/alde_ct.txt | 450 +- npc/warps/dungeons/amatsu_dun.txt | 40 +- npc/warps/dungeons/ant_hell.txt | 52 +- npc/warps/dungeons/coal_mine.txt | 42 +- npc/warps/dungeons/com_dun.txt | 36 +- npc/warps/dungeons/geffen_dun.txt | 88 +- npc/warps/dungeons/gon_dun.txt | 80 +- npc/warps/dungeons/izlude_dun.txt | 58 +- npc/warps/dungeons/louyang_dun.txt | 38 +- npc/warps/dungeons/lutie_dun.txt | 34 +- npc/warps/dungeons/morroc_duns.txt | 126 +- npc/warps/dungeons/orc_dun.txt | 50 +- npc/warps/dungeons/payon_dun.txt | 72 +- npc/warps/dungeons/prt_dun.txt | 306 +- npc/warps/dungeons/umbala_dun.txt | 64 +- npc/warps/dungeons/yuno_dun.txt | 36 +- npc/warps/fields/amatsu_fild.txt | 40 +- npc/warps/fields/com_fild.txt | 104 +- npc/warps/fields/gefenia.txt | 60 +- npc/warps/fields/geffen_fild.txt | 142 +- npc/warps/fields/glastheim.txt | 168 +- npc/warps/fields/jawaii.txt | 50 +- npc/warps/fields/lutie_fild.txt | 32 +- npc/warps/fields/morroc_fild.txt | 204 +- npc/warps/fields/mtmjolnir.txt | 120 +- npc/warps/fields/payon_fild.txt | 94 +- npc/warps/fields/prontera_fild.txt | 200 +- npc/warps/fields/umbala_fild.txt | 68 +- npc/warps/fields/yuno_fild.txt | 62 +- npc/warps/guild/guildcastles.txt | 800 +- npc/warps/other/jobquests.txt | 274 +- npc/warps/other/other.txt | 68 +- npc/warps/pvp/pvp.txt | 516 +- object_del.bat | 30 +- readme.html | 394 +- readme/1final.css | 126 +- readme/changelog.html | 344 +- readme/faq.html | 398 +- readme/features.html | 550 +- readme/gmcommands.html | 1470 +- readme/npcfeatures.html | 412 +- readme/settingup.html | 368 +- readme/support.html | 258 +- runserver.bat | 6 +- save-tmpl/castle.txt | 48 +- sql-files/convert_passwords.sql | 6 +- sql-files/database.sql | 4360 +-- sql-files/db_tables.sql | 1160 +- sql-files/logs.sql | 280 +- sql-files/mail.sql | 28 +- sql-files/main.sql | 998 +- sql-files/oA2eA-rc5.sql | 408 +- sql-files/upgrade_0.5.2_database.sql | 2 +- sql-files/upgrade_0.5.2_main.sql | 124 +- sql-files/upgrade_1.0.0-rc1_main.sql | 6 +- sql-files/upgrade_1.0.0-rc2_database.sql | 8 +- sql-files/upgrade_1.0.0-rc5_database.sql | 8 +- sql-files/upgrade_817.sql | 206 +- src/char/Makefile | 34 +- src/char/char.c | 6870 ++--- src/char/char.h | 64 +- src/char/int_guild.c | 2892 +- src/char/int_guild.h | 32 +- src/char/int_party.c | 1190 +- src/char/int_party.h | 28 +- src/char/int_pet.c | 728 +- src/char/int_pet.h | 26 +- src/char/int_storage.c | 1000 +- src/char/int_storage.h | 32 +- src/char/inter.c | 1126 +- src/char/inter.h | 40 +- src/char_sql/Makefile | 40 +- src/char_sql/char.c | 6046 ++-- src/char_sql/char.h | 164 +- src/char_sql/int_guild.c | 3228 +- src/char_sql/int_guild.h | 20 +- src/char_sql/int_party.c | 1510 +- src/char_sql/int_party.h | 16 +- src/char_sql/int_pet.c | 648 +- src/char_sql/int_pet.h | 24 +- src/char_sql/int_storage.c | 720 +- src/char_sql/int_storage.h | 26 +- src/char_sql/inter.c | 1154 +- src/char_sql/inter.h | 92 +- src/char_sql/itemdb.c | 494 +- src/char_sql/itemdb.h | 68 +- src/char_sql/make.sh | 22 +- src/char_sql/readme.txt | 500 +- src/char_sql/strlib.c | 158 +- src/char_sql/strlib.h | 20 +- src/common/Makefile | 28 +- src/common/core.c | 304 +- src/common/core.h | 24 +- src/common/db.c | 1002 +- src/common/db.h | 94 +- src/common/grfio.c | 1906 +- src/common/grfio.h | 32 +- src/common/lock.c | 74 +- src/common/lock.h | 16 +- src/common/malloc.c | 88 +- src/common/malloc.h | 50 +- src/common/mmo.h | 622 +- src/common/nullpo.c | 180 +- src/common/nullpo.h | 444 +- src/common/showmsg.c | 142 +- src/common/showmsg.h | 96 +- src/common/socket.c | 1188 +- src/common/socket.h | 208 +- src/common/timer.c | 624 +- src/common/timer.h | 90 +- src/common/utils.c | 216 +- src/common/utils.h | 66 +- src/common/version.h | 54 +- src/ladmin/Makefile | 28 +- src/ladmin/ladmin.c | 8770 +++--- src/ladmin/ladmin.h | 22 +- src/ladmin/md5calc.c | 474 +- src/ladmin/md5calc.h | 16 +- src/login/Makefile | 26 +- src/login/login.c | 7822 ++--- src/login/login.h | 82 +- src/login/md5calc.c | 474 +- src/login/md5calc.h | 16 +- src/login_sql/Makefile | 34 +- src/login_sql/login.c | 3528 +-- src/login_sql/login.h | 82 +- src/login_sql/make.sh | 12 +- src/login_sql/md5calc.c | 472 +- src/login_sql/md5calc.h | 14 +- src/login_sql/readme.txt | 238 +- src/login_sql/strlib.c | 116 +- src/login_sql/strlib.h | 18 +- src/login_sql/timer.h | 86 +- src/map/Makefile | 146 +- src/map/Makefile.win32 | 186 +- src/map/atcommand.c | 15406 +++++----- src/map/atcommand.h | 488 +- src/map/battle.c | 10924 +++---- src/map/battle.h | 690 +- src/map/chat.c | 756 +- src/map/chat.h | 44 +- src/map/chrif.c | 2100 +- src/map/chrif.h | 62 +- src/map/clif.c | 20754 ++++++------- src/map/clif.h | 574 +- src/map/guild.c | 3108 +- src/map/guild.h | 174 +- src/map/intif.c | 2250 +- src/map/intif.h | 120 +- src/map/itemdb.c | 1764 +- src/map/itemdb.h | 168 +- src/map/log.c | 486 +- src/map/log.h | 54 +- src/map/mail.c | 648 +- src/map/mail.h | 18 +- src/map/map.c | 4416 +-- src/map/map.h | 1452 +- src/map/mob.c | 8546 +++--- src/map/mob.h | 278 +- src/map/npc.c | 4548 +-- src/map/npc.h | 104 +- src/map/party.c | 1288 +- src/map/party.h | 94 +- src/map/path.c | 808 +- src/map/pc.c | 15048 +++++----- src/map/pc.h | 372 +- src/map/pet.c | 3302 +- src/map/pet.h | 138 +- src/map/script.c | 13860 ++++----- src/map/script.h | 78 +- src/map/skill.c | 21610 ++++++------- src/map/skill.h | 1714 +- src/map/storage.c | 1190 +- src/map/storage.h | 78 +- src/map/trade.c | 572 +- src/map/trade.h | 26 +- src/map/vending.c | 340 +- src/map/vending.h | 24 +- src/txt-converter/char/Makefile | 26 +- src/txt-converter/char/char-converter.c | 1684 +- src/txt-converter/char/char.h | 78 +- src/txt-converter/char/int_guild.h | 20 +- src/txt-converter/char/int_party.h | 22 +- src/txt-converter/char/int_pet.h | 24 +- src/txt-converter/char/int_storage.h | 22 +- src/txt-converter/char/strlib.c | 132 +- src/txt-converter/char/strlib.h | 18 +- src/txt-converter/common/inter.h | 56 +- src/txt-converter/common/mmo.h | 560 +- src/txt-converter/login/Makefile | 22 +- src/txt-converter/login/login-converter.c | 516 +- start | 62 +- tool/Makefile | 12 +- tool/adduser.c | 192 +- tool/backup | 200 +- tool/cgi/addaccount.cgi | 408 +- tool/checkversion | 170 +- tool/convert.c | 592 +- tool/getlogincount | 244 +- tool/ladmin | 7584 ++--- tool/mapcheck.sh | 66 +- tool/mapchecker.sh | 112 +- webserver/Makefile | 52 +- webserver/doc/API.txt | 100 +- webserver/doc/README | 22 +- webserver/generate.c | 76 +- webserver/htmlstyle.c | 102 +- webserver/logs.c | 16 +- webserver/main.c | 284 +- webserver/pages/about.c | 12 +- webserver/pages/notdone.c | 10 +- webserver/pages/sample.c | 48 +- webserver/parse.c | 270 +- 665 files changed, 260486 insertions(+), 260486 deletions(-) (limited to 'sql-files/main.sql') diff --git a/Changelog.txt b/Changelog.txt index fa952373a..f0d17d1c7 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -1,2066 +1,2066 @@ -Date Added -11/13 - * Fixed map-server loading, doesn't require data\resnametable.txt anymore [Wizputer] - * Updated & Optimized TXT Login from FREYA. (need to do SQL now) [Codemaster] - * Removed compile warnings in intif.c. [Valaris] - * Fixed chrif_changesex and @changesex, now uses packet 0x3000. [MC Cameri] - * Updated some skills, credits to orn and midas. [celest] - - Magnum Break, Throw Stone, Sprinkle Sand, Magic Power, Memorise, Quagmire, - Spider Web, Reject Sword, assassin's Dodge, Demonbane, Divine Protection. - - Firewall, Quagmire, Fog Wall (100%), Marionette Control (30%), Sandman, - Claymore Trap - - Adjusted some mob skills for mod support. - * Fixed weight increase when riding. [celest] - -11/12 - * added folder: /save-tmpl, removed folder /save - * battle_athena.conf: Updated Packet Version Flags. - * !!!Fixed Mobs Attacking!!!: Thanks for MagicalTux and Yor, I fixed the mobs attacking by using one of their files. [Codemaster] - * Warps Update : Added ayothaya warps in ./npc/warps/ and in map_athena.conf [Nana] -11/11 - * Skill Updates : (Need to revise skill_cast_db.txt for new updates) - ( Sharp Shooting, Sword Reject, Chain Crush Combo, Tiger Knuckle Fist, - Head Crush, Arrow Vulcan, HP COnversion) Thanks to DracoRPG. - Fixed Devotion use requeriments. Thanks to Orn. [shadow] -11/11 - * Corrected minor typo in item_db, and removed/commented out dupe items.[kobra_k88] - -11/10 - - * Updated Sprout (Item #7193), Thin Trunk (Item #7186), - Huge Leaf (Item #7198), and Rante Whip (Items #1956, #1957) - - thanks to cheng - [Codemaster] - * Updated Parasite (Mob #1500) Drops - thanks to cheng [Codemaster] - * Updated Soft Grass Leaf (Item #7194) - thanks to cheng [Codemaster] - * Added, Fixed & Updated ALOT of skills: [Codemaster] - - Fire Pillar, Backstab, Grimtooth, Poison React, Falcon Assalt, - Skin Tempering, Hilt Binding, Frost Nova, TEMPORARY fix for Create Deadly Poison, - Enchant Deadly Poison, Endure, Sacrifice, Spider Web, Memorize, - Hyper Spirit Sphere, Palm Strike, Sword Reject, Pressure, Magic Crasher, - Amplify Magic Power, Napalm Vulcan, True Sight, Wind Walk, Aura Blade, - Concentration, Cart Boost, Magic Power - - Thanks goes to Celest, Midas, and DracoRPG! - * Fixed spira's mistake in using the packet_len_table; no biggie ^_^ [Codemaster] - * char/char.c & char_sql/char.c: Fixed start_armor and start_weapon - thanks to AppleGirl [Codemaster] - * Added packetver 6 flag to makefile. [Valaris] - -11/09 - * mob_db.txt: Fixed Drake dropping the wrong card - thanks to roslen [Codemaster] - * chat.c: Fixed multiple joins in a single chat - thanks to Alex14 and CHaNGeTe. [Codemaster] - * clif.c: Fixed sitting. [spira] - * - Fixed item 657 Job ID , 11/09 patch updates to item_db, Correct stats for item 5097 - - Added Unbreakable funcions to item_db armors/shields/garments/footgear [shadow] - * Defined SO_REUSEPORT to allow the servers to re-use ports if server crashes [Wizputer] - -11/08 - * Added new script command: getMapXY(MapName$,MaxX,MapY,type,[CharName$]) by Lorky [Lupus] - Get position for char/npc/pet/mob objects. - * Attempted to fix the mob bug (still haven't :( ). Still updated mob.c/clif.c/chrif.c according to jA 1057. [Codemaster] - * Fixed item_cardalbum.txt: Removed extra column which mad all albums empty [Lupus] -11/07 - - Fixed a few npcs will start implementing new ones soon, have alot on paper, need to type them up. [Nasedo] - * clif.c: Added a few things from jAthena 1057 [Codemaster] - * Corrected some typos in item_db. Items 1143 and 1719 need to be re-checked.[kobra_k88] - * Fixed compiling error in Map Server in which @repairall was using old broken system [Shinigami] - -11/06 - - Added missing items in item_db.txt and reorganised it.[Nasedo] - - Fixed wrong coords for payon guild flags (it has the old map coords), fixed some weapon effects in item_db, - updated the mob_db (90%+ done), added EP 5-9 mobs to mob_branch.txt and EP 6 cards to item_cardalbum.txt[shadowlady] - * atcommand.c/.h,chrif.c/.h, added @changesex. [MC Cameri] - * mob.c & clif.c: Added & Modified a few parts dealing with monsters and guilds [Codemaster] - * mob.c: Re-did a few parts according to jA's 1057 version. [Codemaster] -11/05 - * Fixed and redo optional Umbalian quests: - - Wise Man Fabius' Umbalian Language Quest (you can learn Umbalian language in - alternative way) - - On speaking with Umbalian Chief about meaning of masks you activate Turban Thief Quest - (For Sphinx Mask) - * Fixed several bugs in Niflheim Piano Keys Quest (wrong variable name, missing CLOSE buttons) - Zeny/Item Exploit in Niflhein Sairin NPC quest (should add similiar checks in every - easy quests with expensive prizes to avoid exploits) [Lupus] - * Revised and fixed all comodo,yuno,amatsu,gonryun,umbala mobs and drops. Also fixed mvp and woe mobs too [Shadowlady] - * Fixed crash from guild skill point allocation, there seems to be a problem with guilds loading still. [Valaris] - * Fixed committed typo in map_athena.conf, remove aria's dev npc (was giving errors preventing server startup). [Valaris] - -11/04 - * Added sara-chan's packet db with support for 11-1 [Valaris] - * [alot of files >_<]: Changed connecting a bit, from oA source; it connected easier/better in my opinion so... [Codemaster] - * map/skill.c: Added a few checks for level 0 skills being used. [Codemaster] - -11/03 - * Removed broken column, using attribute column for broken equip now. [Valaris] - -11/02 - * Fixed compile time errors for gcc 2.95 [MouseJstr] - * Changed Blacksmith skill "Hammer Fall" to only be used with maces or Hammers [Aria] -11/01 - * Set Comodo Kafra to warp to Umbala (11/2/04 patch) [Aria] -10/31 - * Fixed Devnpcs giving off errors -_- [Aria] - * Fixed showmsg.c compile warnings thanks to LittleWolf. [Valaris] - * map/skill.c: removed a second declaration of sc_def_vit in skill_castend_nodamage_id; thanks to spira [Codemaster] - * map/battle.c: re-did Water Ball's damage calculation [Codemaster] -10/30 - * Added new guild skills to skill_db from sara-chan. [Valaris] - * db/skill_cast_db, map/skill.c, map/pc.c: Corrected a few CHASEWALK things; Thanks to Celest [Codemaster] - * char_sql/char.c: removed the double free()ing of gm_account [Codemaster] - * Added check for c value in int_guild.c before dividing to calculate average level. [Valaris] - * Commented unfinished dev npcs and added devnpc to map_athena. [Aria] - * Removed item requirement of Aqua Benedicta (10/26 patch) [Aria] - * Fixed some compiling error for Map-server [Shinigami] - * Removed Rogue's backstab pushback effect (kRO style again) [Aria] - * Changed requirement of Fire Pillar to fit kRO style; lv1-5 = no gem, but 6-10 = 1 gem. [Aria] - * Added Mugendai's oA GUI support for map-server (previously not added) [davidsiaw] - * Included Mugendai's oA GUI in the GUI folder [davidsiaw] - -10/29 - * another exploit fix for mult in script [MouseJstr] - * Corrected mode for peco, condor mobs. Added custom mobs Easter Egg and Easter Bunny for easter egg event script. - Corrected mysteltain card location, penomena card typo.[kobra_k88] -10/28 - * Cloak Speed fixed [Aria] - * Throw stone damage fixed [Aria] - * Added new packets from Sara to packet database. [spira] - * Fixed and changed command lists to reflect on new packet changes. [spira] - - @jumpto, @recall, and @where - - Removed old @ignore* functions because they are no longer needed. - * Replaced old whisper ignoring code with better and more efficient code. [spira] - * Added packet_db.txt support, removed old packet functions. [spira] - * fixed forger-zeny exploit [MouseJstr] - - Doing script math that returns a number greater then (1<<31) will now - return a (1<<31). This prevents you from finding a npc that - asks for a quantity then mults the cost by that quantity to get - what you need to pay. - -10/27 - * Updated CSS styles for readme a bit [Aria] - * branched athena at version 340 to begin work on the packet_db - stuff from jA. To retrieve it, do a svn co http://dev.deltaanime.net:8080/svn/eathena/packetdb - later, once we are happy with it.. and feel it is stable, we will remerge it back into the main tree via the appropriate svn commands - as a FYI, the command I used to create this branch was: - svn copy http://dev.deltaanime.net:8080/svn/eathena/athena http://dev.deltaanime.net:8080/svn/eathena/packetdb -m "branch for packetdb work" - * Fixed Aldebaran (gatekeeper conditions bugs and wrong Key ID). Fixed some typos in other cities [Lupus] - -10/26 - * Added more quotes -_- [Aria] - * Modified a few things related to guild skills. I hope it doesn't interfere with anyone else's work, and isn't seen as bad. [Sara-chan] - -Support for new guild skills, though they don't work yet. Added guild_skill_get_inf and guild_skill_get_max entries for them based on early info. - -Changed guild_skillup functions based on japanese code, but for a good reason. - It allows for guild skill trees, sort of. I made Kafra Contract and Guardian Research require Guild Approval, for instance. - I think the first four new guild skill requirements are correct, at the least. - I hope everything works alright, it's my first contribution to eA in quite some time and I'm rather rusty at programming of late. - * Fixed compile errors in showmsg.c. [Sara-chan] - * Fixed Mouse's devnpc only saying his quotes once per server reset [Aria] - * Added log_athena.conf & the logs.sql file [Codemaster] - * Added log configurations to inter_athena.conf [Codemaster] - -10/25 - * Fixed a compiling error in Login-server [Shinigami] - * Added alot of Azndragon's spiffy logs & then added a few things of my own (Silly Dragon, structs are for kids!) [Codemaster] - * Corrected a small bug (forgot to change a few variables!) in my different GM option. [Codemaster] - * Fixed items and mobs in DB. Added new items. [Lupus] - * Fixed some NPC bugs (check NPC=changelog.txt) [Lupus] - * Fixed getting MAX PET ID (SQL only bug) [Lupus] - * Fix char/char.c which was crashing after double freeing logs - [MouseJstr] - * Improved basic server rebooters [MC Cameri] - * Commited common/showmsg.c/.h, previously missing x_X [MC Cameri] - * Added a basic server rebooter program, just use 'runserver.bat' to start up the server. [Shinigami] - -10/24 - * Added files common/showmsg.c/.h which contain the function _ShowMessage(char *string, int flag) [MC Cameri] - -Check showmsg.h to see how to use it. - -This function is made to replace printf in all the cases, so it MUST be used instead of print from now on. - -Begin your own journey of replacing/removing old printfs, and using the new function. - -This function was previously called ShowMessage() in oA, it is now merged, some changes have been done: - 1.Outputting messages to a file is now disabled(commented out). - 2.MSG_SQL is now commented out. - 3.If the server is out of memory, it will not use abort(). - 4.Returns 0 if successful, 1 otherwise. - -Example: ShowInfo("hello\n"); will print this to the screen: [Info]: hello - -Always add \n at the end. Unless someone edits the function to add the \n whether it exists or not. - -Just add #include "showmsg.h" wherever you need it. - * Edited ALL makefile's to include showmsg.o -> _ShowMessage(). [MC Cameri] - * Updated readme/gmcommands.html with new @uptime command [MC Cameri] - * Somebody had added some additional noskill checks that prevented - vending from happening in prontera [MouseJstr] - * Added bypass with gm_allskill of npc_selfdestruct2. [Valaris] - * Corrected some minor bugs in some Quests [Shinigami] - * Added new maps (from lateast kRO patch) - Touched WOE (u can't surrender the castle during the WOE), misc fix of the bank [Lupus] -10/23 - * Added the option to read GM accounts from a different table than login. Default set to login table. [Codemaster] - * Finished Aria and MC Cameri "Dev edition" NPCs. [Aria] - * Corrected extra stat points given to high classes. [Valaris] - * Added high classes getting the extra 40 stat points on stat reset. [Valaris] - * performance tweaks on socket.c to reduce lag [MouseJstr] - - do a "OPT="-g -DNSOCKET" to compile with the changes - enabled.. and tell me if you notice a change in your - performance/lag - - * Added @uptime to atcommand.c [MC Cameri] - * Added the stuff for my npc to Dev/quotes.txt [MC Cameri] - -10/22 - * Replaced some checkcart and checkoption(x) with checkcart(0) in the guild folder [Aria] - * Waiting for various devs to tell me their coords, map, biography, quotes, - moving coords, etc. In the meantime, I replaced them with (x,y),(lols), - (sprite),(somewhere), and if they didn't give me any info, I didn't - add them yet =P. [Aria] - * Added Davidsiaw, Shinigami, Lord, Codemaster, MouseJstr, MC Cameri, and Darkchild - to "Dev edition" NPCs [Aria] - * Revised "Dev edition" NPC layout a bit, should go smoother now. Should be final - layout unless something goes wrong =O. [Aria] - * Fixed the eol markers on some checked in files [Mousejstr] - * Fix two crashes caused by calling isGM on mobs [MouseJstr] - * Added folder "mc_cameri" in npc/other which contains my bank npc. [MC Cameri] - * Changed "Dev edition" NPC layout so that they move by themselves by timers. [Aria] - * Changed "Dev edition" NPCs to walk during quotes, and added biography. [Aria] - * Fixed quest/all_quest.txt not showing the correct description of the binoculars. [Aria] - * Fixed quest/all_quest.txt not going to stop pass and not displaying requirements. [Aria] - * Fixed removing friends from the list [davidsiaw] - * Added PCLoginEvent NPC (When a character logs on, NPC runs as if he/she clicked the NPC) [davidsiaw] - The NPC sample is located in npc/sample/PCLoginEvent.txt (you only need one of these NPCs) - -10/21 - * Fixed clothes_dyer.txt: Disabled Assassing/Rogues Dye. Also fixed wrong labels [Lupus] - * Fixed hair_dyer.txt: fixed missing menu label [Lupus] - * new_hats.txt 1.4 fixed amount of Fish Tail (300 -> 30), Zeny bugs in Ear of Angel, - Ear of Demon,Big Golden Bell, Mistress Crown, - Crown of The Ancient Queen, Indian Headband, Orc Hero Helm [Lupus] - * Fixed name of a flower in Prontera quest (Dreamy->Illusion) according to our DB [Lupus] - * Fixed item names in the temp Crusader Job Quest according to our DB [Lupus] - -10/20 - * map/mob.c: Added mob_exclusion_add() & mob_exclusion_check() [Codemaster] - * map/map.h: Changed Vending Struct: amount and value to unsigned variables (so they CAN'T be 0 or less) [Codemaster] - * map/mob.h: Added mob_exclusion_add() & mob_exclusion_check() [Codemaster] - * Aligned the list of commands at the beginning of atcommand.c, - with tabs instead of spaces. [MC Cameri] - * Fixed AtCommand_SetBattleFlag, it was previously being called by "@send" - instead of "@setbattleflag". [MC Cameri] - * Finished basic layout, finished Aria starting to create Shinigami [Aria] - * Started to create "Dev edition" npcs [Aria] - * Fixed a compile error in src/char/char.c [MouseJstr] - * Fixed a bug in @trade where the distance was not ignored [MouseJstr] - * Fixed a potential inf loop in pc.c when multi_level_up is set to no. [MouseJstr] - * implemented Friends List support for TXT version [davidsiaw] - * added queries in main.sql for Friends List. mySQL support for friends list pending [davidsiaw] -10/19 - * switched login_sql/login.c to use binary when retrieving - by account name [MouseJstr] - * skill.c & skill.h: added skill_type_cloaking [Codemaster] - * storage.c & storage.h: added storage_storageopen2() [Codemaster] -10/18 - * Changed readme layout for 1.0 scheme. [Aria] - * added check for console variable in login_sql [MouseJstr] - * Fully translated the untranslated items in the database.sql for SQL. [Nana] - * Dev/TODO, asigned myself to some items. [MC Cameri] - * char/char.c: changed the online system to omniAthena's [Codemaster] - * char/char.c: added log_char and log_inter [Codemaster] - * char/char.c: added Mugendai's GUI Support [Codemaster] - * char/int_guild.c: added log_inter and db_path [Codemaster] - * char/inter.c: added log_inter [Codemaster] - * char/char.c: added db_path [Codemaster] - * char/inter.h: added log_inter [Codemaster] - * char_sql/char.c: added log_char and log_inter [Codemaster] - * char_sql/char.c: added Mugendai's GUI Support [Codemaster] - * char_sql/int_guild.c: added log_inter and db_path [Codemaster] - * char_sql/inter.c: added log_inter [Codemaster] - * char_sql/char.c: added db_path [Codemaster] - * char_sql/inter.h: added log_inter [Codemaster] - * conf-tmpl/char_athena.conf: Added log_char & db_path [Codemaster] - * conf-tmpl/inter_athena.conf: Added log_inter [Codemaster] - -10/18 - * clif.c,clif.h,map.h,npc.c,npc.h,script.c: Added NPC Walking. [Valaris] - -npcspeed #; To change npc's walking speed. - -npcwalkto x,y; Move an npc to a position (keep it less than area size, or sprite will glitch and disappear). - -npcstop; Stops an npc's movement. - -10/17 - * Made the IP autodetection code work under a pure win32 - executable - * Fixed the win32 build and made a src\map\Makefile.win32 to - make it easier to do win32 builds of the map server - - src\common\utils.c src\common\utils.h src\common\grfio.c - src\common\nullpo.h src\common\timer.c src\common\db.c - src\common\socket.c src\common\core.c src\common\mmo.h - src\common\socket.h src\map\script.c src\map\intif.c - src\map\npc.c src\map\clif.c src\map\map.c src\map\clif.h - src\map\chrif.c src\map\Makefile.win32 - - * skill.c: Fixed noicewall flag. [Valaris] - * battle.c: Battle calc weapon attack now checks to see if pc_breakweapon successfully broke the weapon then recalculates damage. [Valaris] - * pc.c: Removed broken weapon and equip status, just unequips items again when broken. [Valaris] - Removed useless code from pc_breakweapon and pc_breakarmor. [Valaris] - * Added template for server control from the console [Wizputer] - * conf-tmpl/login_athena.conf: added support for Mugendai's "I'm Alive" Timer and GUI Flush [Codemaster] - * login/login.c: added support for Mugendai's "I'm Alive" Timer and GUI Flush [Codemaster] - * login_sql/login.c: added support for Mugendai's "I'm Alive" Timer and GUI Flush [Codemaster] - * Usable GM commands from server console admin:: [Wizputer] - * Added server:shutdown to shutdown server and help [Wizputer] - * Added user discretion for console commands in conf files [Wizputer] -10/16 - * Fixed Umbala Language Quest, where a certain NPC would freeze you due to an unfinished script [Shinigami] - * Fixed bug in new_hats.txt where free items are given out [Shinigami] - * Correct Morroc warp npc overlaying Kafra npc. [Aria] - * Corrected npc typos. [Aria] - * Skip over npc_selfdestruction2 on allskillup (thanks to celest) [Valaris] - * Fixed some typos in some of the NPCs [Shinigami] - * tweaked the auto-configure stuff to deal better with - machines that have no detectable IP addresses.. is this - possible? [MouseJstr] - src\char_sql\char.c src\char\char.c src\map\map.c - * Made it compile under gcc 2.95 [MouseJstr] - * made the char and map servers auto-configure their own IP's - whenever possible [MouseJstr] - - If you do not specify the server IP address, it now determines it - on its own. This means that to get a server running that is - accessable from the internet you should only need to specify the - location of the data.grf files. This eliminates one more point - of misconfiguration. - - It does not correctly auto-configure for when you are behind a - router or a firewall since there is no way of determining the - external IP address. On the other hand, we should be able to - eliminate the lan_conf file since we know our IP addresses as well - as our netmask. - - src/txt-converter/login/login-converter.c src/txt-converter/char/char-converter.c src/login_sql/login.c src/common/socket.c src/common/socket.h src/char_sql/char.c src/char_sql/int_guild.c src/char_sql/inter.c src/map/atcommand.c src/map/map.c src/map/mail.c src/char/char.c conf-tmpl/map_athena.conf conf-tmpl/char_athena.conf Changelog.txt - -10/15 - * added @setbattleflag to let me reset a battle_config at runtime [MouseJstr] - * --- RC5 release - * another fix to oA2eA-rc5.sql to fix the sell_price [MouseJstr] - * Redid readme, updated content a bit, and made ps2 poster in preperation for 1.0 RC5 release. [Evera] - * made MAX_HAIR_STYLE, MAX_HAIR_COLOR, and MAX_CLOTH_COLOR - configurable via battle_config. [MouseJstr] - * made the dex spell cast time scaling configurable via battle_config - [MouseJstr] - * made the visible area_size configurable via battle_config - [MouseJstr] - * Reorganized and added the warps into their respective folders, updated map_athena.conf. [Nana] - * Added 2 script commands GETLOOK, GETSAVEPOINT (thanks to Lorky). [Lupus] - * Added kafra_bank NPC - a new bank with daily interst of 0.1#%. [Lupus] - * Changed cast time for champion soul collect to 1 sec (thanks to midas). [Valaris] - * Added midas's fix for +30 hitrate with Sonic Blow. [Valaris] - -10/14 - * Fixed help.txt for some @gm commands [MouseJstr] - * made login.c compile on gcc 2.95 [MouseJstr] - * Fix backwards compatability with old mob skill formats [MouseJstr] - * Added mail system commands and @refreshonline to help.txt. [Valaris] - * Fixed char guild storage bug [MouseJstr] - * Prevented breakage of Weapons/Armor if the respective Alchemist Chemical Protection skill is applied. [spira] - * Added so nochat end will set manner to 0. [Valaris] - * Added broken item check before breaking (to prevent an item from breaking more than once) [Valaris] - * Re-wrote parts of equipment breaking. It will check to make sure it was not a miss before doing break calculations. [Valaris] - * Re-added negative value exploit fix. [Valaris] - * Fixed guardian opposition search. [Valaris] - * Added @unmute. [Valaris] - * Added check for map existing before cleanup (server will exit instead of crashing if maps aren't found). [Valaris] - -10/13 - * Fixed parse of antifreeze enable/disable flag. [Valaris] - * Fixed end-of-line flags in source tree [MouseJstr] - -10/12 - * Prevent attack/skill usage while wearing tux/wedding dress. [Valaris] - * Remove item unequip on tux/wedding equip. [Valaris] - -10/11 - * Added mail system (for SQL version only). [Valaris] - - @checkmail - - @listmail - - @listnewmail - - @readmail <#> - - @deletemail <#> - - @sendmail - - @sendprioritymail - - Added battle_athena.conf option to enable/disable mail system. - - Added mail.sql for sql mail system. - - Use "*" for name to send to all players. Level must be >= to @sendprioritymail level. - - * Added @refreshonline to refresh player online status in SQL version. [Valaris] - -10/10 - * Modified ja blacksmith repair code to function with our broken equipment system. [Valaris] - * Removed ja repair script commands, they aren't compatible with our broken equipment. [Valaris] - * Fixed error in Morroc jewel dealer. [Valaris] - * Added so supernovices will get flee from improve dodge. [Valaris] - * Fixed assassin and rogue flee bonus, was giving +50 instead of +40. [Valaris] - * Fixed bug with using remove trap on a snared monsters and the monster would stay stuck. [Valaris] - * Added a check for row return in an sql statement in login. [Valaris] - * Added some pointer initializations in map.c. [Valaris] - * Calculate pc status when equipping or unequipping pet items. [Valaris] - * Fixed crash in looting pet skills if loot size was greater than 10. [Valaris] - -10/05 - * Fixed all mob spawn names (typos, errors, wrong names) according to the mob_db.txt [Lupus] - * Added YggdrasilKid's fixed exp.txt. [valaris] - -10/04 - * Added missed close file functions in pc.c [Lupus] - * Added some new items, fixed some item names and translated all grabled items in item_db.txt [Lupus] - * Fixed bug in MOB_DB and in MOB_BRANCH DB related to wrong "Elder" ID number [Lupus] - * Fixed toggle for using sql item db in char-server. [Valaris] - * Added interval settings for anti-freeze system. [Valaris] - * Added enable/disable options in char_athena.conf and login_athena.conf for anti-freeze system. [Valaris] - * Re-added anti-freeze system. [Valaris] - * Cleaned up warning in src/common/db.c. [MouseJstr] - * Removed afm map checking from char. [Valaris] - * npc.c - Re-enabled new "OnTouch" function. Added a missing line to npc_event in npc.c(line 667). - pc.c - Added 2 missing "else" statements on (line 3702 and 3842). Now ontouch works correctly and activates - everytime instead of only once like in RC4. [kobra_k88] - * clif.c - Added: npc_scriptcont(sd,RFIFOL(fd,2)); to "void cliff_parse_NpcCloseClicked" function. - Now "close2" script command works properly. Previously, it would freeze the server.[kobra_k88] - -10/03 - * added oA to eA database conversion .sql [MouseJstr] - * renamed sql to sql-files to eliminate a problem with make [MouseJstr] - * Fixed Assassin Quest where "Nameless One" NPC would freeze after clicking "next". [Shinigami] - * charkillable now returns status on target [MouseJstr] - * skill names now have descriptions pulled from the client [Mousejstr] - * Mapflag "petals" has been changed to "sakura". [Valaris] - * The weather @commands will now set that particular mapflag on until server is restarted, and will send weather effect - to everyone on that map. It also will not allow the occurance of the command more than once. This method means - everyone coming onto the map after the command has been used will see the effect. [Valaris] - * Added yor's latest ladmin.c. [Valaris] - * Fixed bug in delitem script command that caused it to delete all of an item. [Valaris] - * Modified Makefile's to work better in non-sql environment [MouseJstr] - * A lot of work on source tree making it more ANSI C compliant [MouseJstr] - * Finalized the timers on shutdown - turned off malloc debugging on db's. [MouseJstr] - * Added release hook's into db's [MouseJstr] - * Added runflag to core to allow cleaner shutdown [MouseJstr] - * Work on LCCWIN32 for building under Windows natively [MouseJstr] - * modified @mapexit to use runflag for cleaner shutdown [MouseJstr] - * Improve cleanup on exit of map server of all objects [MouseJstr] - * statpoint reader can now be larger then 1432 bytes [MouseJstr] - * Fixed so dancing effect is cleared when warping. [Valaris] - -10/02 - * Modified battle config muting players option to work more effectively. [Valaris] - * Fixed mute from showing red bubble to players. [Valaris] - * Fixed disguise sprite staying when teleporting. [Valaris] - * Added a special mob ai check in mob.c. [Valaris] - * Fixed petit pet skill's damage from ever increasing. [Valaris] - * Removed pet weight and pet loot options, someone re-added them, and this conflicts with pet skills. [Valaris] - * Added new skills to mob_skill_db (skills for Alchemist summon marine sphere among others) [Valaris] - * Updated skill_cast_db and skill_require_db for summon marine sphere and biocanniablize skills. [Valaris] - * Fix for drops by luck crashing. [Valaris] - * Removed @nuke for now. [Valaris] - * Added japanese ankle snare code. [Valaris] - * Using better code for alchemist marine sphere. [Valaris] - * Reverted back to old method of OnTouch for now for compatibility with older scripts. [Valaris] - * Fixed an infinite loop with preventing multi level up and high novices. [Valaris] - * Storage saving in SQL was based on MAX_INVENTORY. Switched to MAX_STORAGE and MAX_GUILD_STORAGE. [Valaris] - Should resolve items disappearing. Thanks to fov for pointing this out. - * Updated skill_db entries for biocannibalize and summon marine sphere. [Valaris] - * Changed sql item name row sizes to 24, and changed memory allocation to 25 bytes instead of 29. [Valaris] - * Added upgrade_1.0.0-rc5_database.sql (will set name columns of item db to varchar(24). [Valaris] - * Removed anti-freeze system. [Valaris] - * Began removing AFM, unless someone wants to complete this. [Valaris] - * Added an online status timer. Will check online status of players every hour (for sql version). [Valaris] - * Added malloc to map.c. [Valaris] - * Added some variables for new mob exclusion. [Valaris] - * Using malloc in pc.c. [Valaris] - * Added skill reset checks to high/advanced/baby classes. [Valaris] - -10/01 - * Fixed up const.db. [Valaris] - - Added - bBreakWeaponRate 1068 - bBreakArmorRate 1069 - bAddStealRate 1070 - - - Fixed - bMagicDamageReturn 1071 - bRandomAttackIncrease 1072 - bAllStats 1073 - bAgiVit 1074 - bAgiDexStr 1075 - bPerfectHide 1076 - bDisguise 1077 - - * Rewrote mute disable option in clif.c, it did not need to end status. [Valaris] - * Added a missing check for SC_NOCHAT in clif.c. [Valaris] - * Changed comments on max_lv in battle_config to be less - confusing [MouseJstr] - * Fixed Gypsy Job Quest, added Crusader Job Quest [Lupus] - * Adding missing noquests from previous tree [MouseJstr] - * merged conf files between txt and sql [MouseJstr] - * According to item_db.txt and mob_db.txt fixed some name differences, wrong item names in - pet_db.txt,mob_branch.txt,item_violetbox.txt,item_giftbox.txt,item_cardalbum.txt [Lupus] - * Added specialeffect2 script command. Works the same as specialeffect, but the effect will be applied - to the player interacting with the npc instead of being applied on the npc. [Valaris] - * Added hasitems script command. If a player has any items it will return 1 in an if statement. [Valaris] - * Added npctalk script command. Syntax : npctalk "These are my words"; [Valaris] - * Removed script::say in favor of Valaris's version. [MouseJstr] - * Fixed a bug in guild alliances where it was treating a friend as a foe. [MouseJstr] - * Fixed crash in weapon breaking. Was not doing a block type check on the source. [Valaris] - - -09/29 - * Fixed small, almost non-existing memoryleak, in grfio.c that could - cause some systems to exit the application [Kalaspuff] - -09/26 - (Dated On Aegis Website) - *--Released 1.0.0 RC4--* -09/25 - * Reorganized Npc folder for release - * Updated map_athena.conf - * Remove certain statuses when warping (Cloaking, Sitting, Gangster's Paradise) that would allow the effect to - continue and a player to walk normally. [Valaris] - * Remove speed increase of theif and high thief from improve dodge (only assassins and assassin cross's are - supposed to get this bonus) [Valaris] - * removed more #ifdef's between TXT and SQL [MouseJstr] -09/24 - - * Added @charkillable (to make players killable) [MouseJstr] - * Added @dropall (throws all items on ground) [MouseJstr] - * Added @chardropall (throws all players items on ground) [MouseJstr] - * Added @storeall (put all items in store) [MouseJstr] - * Added @charstoreall (put all players items in storage) [MouseJstr] - * Added @skillid (look up a skill by name) [MouseJstr] - * Added @useskill (use a skill by id) [MouseJstr] - -09/23 - * Update Some Npc Stuff In Payon [Darkchild] - * Added Sage Quest [Darkchild] - * added @killable - all players can hit you, even out of pvp [MouseJstr] - * Changed Basilica to prevent the priest from walking [MouseJstr] - * Restore base files in save directory [Yor] - * Castle spawn/conquering fix: [Akaru] - - Spawns monster when the guild is not owned when the server starts - - Spawns emperium with the monsters when guild is not owned yet - - If AgitStart and AgitEnd occurs while castle had not been owned, it is just ignored so that the monsters that are guarding the castle and the emperium would not be killed. - - Prevent spawn of emperium/monsters after castle is owned - - In short, you can clear and conquer the castle any time even when it's not agitstart'ed if the castle is unowned, like in official servers - -09/22 - * added @killer to let GM's hit players outside of pvp [MouseJstr] - * added @skilloff to turn off skills on a map [MouseJstr] - * added @skillon to turn on skills on a map [MouseJstr] - * added @follow to follow players (including warping after them) [MouseJstr] - * added battle_config option to control the max number of castles a guild can have [MouseJstr] - * upgraded the guild alliance checker [MouseJstr] - * added battle_config to control if ghosty armor works for mobs [MouseJstr] - * Fixed battle_config to control how much GTB actually helps [MouseJstr] - * Fixed battle_config to control if pvp battles give exp or drops [MouseJstr] - * Added map aliasing [MouseJstr] - * changed the map_nick2sd to be able to handle sub-strings for refering to players [MouseJstr] - * made turning of skills on a map actually work [MouseJstr] - * Updated Makefiles/GNUMakefiles to include the compilation of /common/malloc.o [PoW] - -09/19 - * Corrected @charstoragelist: [Yor] - - because account2storage function create a void storage if it's not exist, somethimes a player could lost its storage. - -> creation of account2storage2 to just ask pointer of storage if exist and use it in @charstoragelist. - * Improved range system of @monster/@spawn (nearest of GM when less monsters) [Yor] - * Client until 2004-09-06 (included) is now completely recognized [Yor] - * Fixed kafra storage request for all new clients [Yor] - -09/18 - * Changed to Yor's code that doesn't try and read when it's already not found [Akaru] - * Removed check for resnametable in data folder exit -> the resnametable isn't even used if present and it should be optional and not compulsory to have a resnametable in the data folder! [Akaru] - * Added an option to choose which clients are accepted on the server (2nd part and finish: Check accepted versions) [Yor] - * Added an option to choose which clients are accepted on the server (1st part: reading of the option) [Yor] - * Fixed action request (sit, attack, etc..) for all new clients [Yor] - * Fixed solve char name for all new clients [Yor] - * Fixed get char name for all new clients [Yor] - * Fixed an error about packet number on char name function [Yor] - * Added items drop packet for all new clients [Yor] - * Fixed: in clif_send (global send, not individual send) don't send a packet that client doesn't recognize [Yor] - -09/17 - * Added check to make sure mob is already moving before initiating random walk - when the item they are going to loot disappears. [Valaris] - * Client of 2004-07-13 is now completely recognized [Yor] - * Fixed items take packet for all new clients [Yor] - * Corrected packet sizes for each client version (not set packet size if packet doesn't exist) [Yor] - * Fixed direction position for all new clients [Yor] - -09/16 - * Client of 2004-07-06 is now completely recognized [Yor] - * Fixed skills to position with all new clients [Yor] - * Fixed incomplete packet of authentification [Yor] - * Fixed size of packets for all clients [Yor] - * Improved detection of client version at authentification [Yor] - * Improved packet parsing of client (search packet version before to parse) [Yor] - * Added packets size of 0x20d and 0x20e [Yor] - -09/15 - * Added "nude" script command, will strip player of all equipment. Syntax : nude; [Valaris] - * Removed sandstorm flag, since it does not work as intended (is not a constant effect like believed) [Valaris] - * Added specialeffect script command. Syntax: specialeffect #; [Valaris] - * Moved noicewall flag to a better position. [Valaris] - * Added mob type check to skill_castfix to prevent crashing. [Valaris] - * corrected error: skill to id (RFIFOW->RFIFOL) [Yor] - * Added packets size of 0x204 and 0x20b [Yor] - * Fixed skill_to_id with all new clients [Yor] - * Fixed tick sending with all new clients [Yor] - * Fixed items use with all new clients [Yor] - * Fixed move with all new clients [Yor] - * Speedup WantToConnect function [Yor] - * Call correct function with any clients packet - size is not correctly set actually [Yor] - -09/14 - * Resetlvl will unequip items that require more than level 1. [Valaris] - * Added message about new clients (not actually supported) [Yor] - * Added correct call of clif_parse_WantToConnection function for all client types [Yor] - * Added size of packet 0x0214 [Yor] - * Fixed calls of 'clif_send' function [Yor] - -09/13 - * Modified item_db to have more name consistency, added more translations for items [Akaru] - * Fixed in clif_sitting usage of a buffer [Yor] - * Fixed in clif_movechar usage of a buffer for clif_set007b [Yor] - * Fixed in clif_spawnpc usage of a buffer for clif_set0078 [Yor] - * Corrected a commented printf in packet 0x2b0e for debug [Yor] - -09/12 - * Put (commented) parse printf in char.c at the right place (to have all informations) [Yor] - * Added Alchemist JobQuest [Darkchild] - * Added Inn Npcs [Darkchild] - -09/11 - * Added @charitemlist/@charstoragelist/@charcartlist GM commands to display items of a player [Yor] - -09/10 - * Added a better id control of monster id in @spawn/@monster... GM commands [Yor] - * Correction of an error at reading of 'wisp_server_name' option (char.c) [Yor] - -09/09 - * Change @spawn/@monster2... GM commands to spawn in close area [Yor] - * commented some printf in char.c to reduce (a little) lag [Yor] - * Put @timer messages in msg_athena.conf [Yor] - * Add a file for SQL developpers [Yor] - * Changed name of newpacket variable of session (packet_ver) and add a message for nex client version [Yor] - * Added new client packet sizes and expanded packet acception. [Valaris] - * Added snow, fog, rain, leaves, petals, and sandstorm map flags. [Valaris] - -09/08 - * added clif_specialeffect to clif.c, for displaying a wide variety of effects (information from rofx) [Valaris] - * Corrected in map: creation of new session before to delete previous session_data [Yor] - * Corrected in login/char/ladmin: creation of new session before to delete previous session_data [Yor] - * Prevented redeal dupe. Checks to make sure inventory index has not already been added (client prevents - the possibility of stacking items, but server did not.) [Valaris] - -09/07 - * Added an option to determinate at which GM level nowarp and nowarpto flags are not more used [Yor] - - new option in battle.conf: any_warp_GM_min_level - - new checks and message about 'from' (nowarp) and 'to' (nowarpto) in GM commands - * Third part of new authentification method (clif_parse_CloseKafra): ignore new 0xF7 [Yor] - * Change name of new0x0072 variable by new_auth (because now, auth packet is 0x72 or 0x7E) [Yor] - * Second part of new authentification method (clif_parse_WantToConnection): Auth by char-server of new packets resolved [Yor] - * Improved check of new packet 0x7E to enter in WantToConnect Function [Yor] - -09/06 - * First part of new authentification method (clif_parse_WantToConnection) [Yor] - - accepted new 0x7E for wantto connect - - begin to found first authentificaiton and answer to client, but not found - * Improved Char-server: [Yor] - - Fixed a possible error on multi-map servers (no lastpoint) - - Added log about character with same name of wisp server name. - - Added a sub function to disconnect a player (used 3 times) - * Improved. In global message, use buffer to send to other (avoid possible overwriting). [Yor] - * Added Super Novice Job Quest [Darkchild] - -09/05 - * Fixed noskill flag to actually stop all usable skills when used. [AppleGirl] - * Removed last lag on char-server causing by too much savings (on accreg) [Yor] - * Removed a lag on char-server with a lot of players (for party, like guild) [Yor] - * Removed a big lag on char-server with a lot of players: [Yor] - - guilds was saved every time a player is online and a lot of other time (removed). - - guilds are save only when characters are saved (no more bring forward with characters file, and less savings) - * Added GM message that informs when a player blocks wisps of the server (against some bots that auto ignore wisps from a player) [Yor] - * Added perfect GM hide in @where GM command [Yor on suggestion of PoW] - * Correct NEW shops.txt with error displayed AT START of map-server! [Yor] - * Correct NEW payon.txt that crash map-server AT START! [Yor] - * More changes and official locations for new payon, things in correct place: - - Guild Flags - - Kafra - - Shops/Refiners (except Pet Shop!) - - Most Normal Npcs (not all!) - All Based On ScreenShots From kRO!! [Darkchild] - * Payon Warps about 80% finished, others were no screens taken from! [Darkchild] - * Removed nowarp mapflag and new internal check about gmlevel [Yor] - - gmlevel are checked before to call the function (of the GM comand). If you give gmlevel, people can use the function, including if you give level 0. - if you want refuse some GM commands to normal players, set the level of the command with a value upper than 0 (of set GM_only_command option to yes). - Not add new tests for nothing and use more cpu. - - mapflag: no limit for GM commands: what'is the interest to have gm commands limited like player? (it's rule for all GM commands) - A gm can have the possibility to go anywhere, specialy to check/control player ==> no mapflag! - * Stopped client crashes when jobchanging into another class that doesn't support the weapon you are holding. [Valaris] - -09/04 - * Added nowarp mapflag [PoW] - * Fixed nowarpto mapflag in atcommand.c [PoW] - * Improved: On hack about name in global message, GM of ALL map-server received hack messages. [Yor] - * Moved some GM messages of GM command from at_command.c to msg_athena.txt. [Yor] - * Added @whogm GM command. [Yor] - * Added a warning when a character has same name than wisp server name. [Yor] - -09/03 - * Added gm level display in all @who(map) GM command. [Yor] - * Correction: [Yor] - Thanks to [EvilEden] - - Soul Strike mistake (according to http://iro.ragnarokonline.com/game/jobmagskill.asp) - corrected cast time - - npc/quests/monstertamers.txt: The Monster Tamer Shogo gives the Deviruchi 'Contracts in Shadow' (641) -> the Bapho Jr. Tamming Item 'Book_of_theDevil' (642). - * Added monster/egg name to create egg in @makeegg GM command. [Yor] - * Added an option to fix started limited time of a new account. [Yor] - * Added @hatch in help.txt. [Yor] - * Fixed ChaseWalk so now you can't use skills while in chase walk mode. [AppleGirl] - * Fixed Looping of Broken Weapon if you continued to use it even after its broken [AppleGirl] - * Updated Weapon Breaking So Now Icon Will Disappear when you unequip the broken item [AppleGirl] - * Re-Added @hatch and added makepet to atcommand_athena.conf [Darkchild] - * Moved job monsters to their respected files [Darkchild] - * Fixed a bug in sence (showing wrong info!) [Darkchild] - * Changed the npc/jobs/ folders heavily! [Darkchild] - * Added COMPLETE Umbala NPC script [Darkchild] - * Added New Payon maps @ bottom of the map_athena.conf [Darkchild] - * Added New Payon NPCs and Warps [Darkchild] - * Fixed typo and made layout a litle bit better of the readme files [Darkchild] - * Added Items Ability to be unbreakable (using bonus bUnbreakable,100;) it will totally unbreakable - any lower than a 100 it still has a chance of breaking but call it more durable ;p[AppleGirl] - * Added Start_Weapon and Start_Armor to all the other starts in char_athena.conf [AppleGirl] - * Updated skill_require_db and skill_cast_db.txt [AppleGirl] - * Finish to add a (reserved) wisp name for server - part 3: in map-server replace name where server name is used for wisp [Yor] - * Continue to add a (reserved) wisp name for server - part 2: in map-server, reception of the name [Yor] - * Begin to add a (reserved) wisp name for server - part 1: in char-server [Yor] - -09/02 - * Added Meltdown's weapon breaking ability [AppleGirl] - * Added GM level in front of each line to display only enable GM command of the help.txt. [Yor] - * Removed message about limited time if your have unlimited account (that was for tests. sorry). [Yor] - * Set day/night messages in msg_athena.conf (for foreign people). [Yor] - * Added a function to return a string of msg_table outside of at_command. [Yor] - * Fixed clean database at disconnect when session is not auth. [Yor] - * Fixed a bug (but not solve the bug - need more research to found where solve it) in map_id2sd function. [Yor] - * Set initialisation of ignore list after authentification (not need to be done before) [Yor] - * Reduced size of packet 0x2afe (removed not used value) [Yor] - * Improve first auth part (wanttoconnect) [Yor] - * Added TODO 35 [Yor] - * Made a few adjustments to Archer based class skills making more like normal classes instead of Uber Classes. [AppleGirl] - * Updated the weapon and armor breaking to be more like official RO adding status icons and so on. [AppleGirl] - * Updated a few skills based off a few sites, also fixed other skills that were coded incorrectly. [AppleGirl] - * Fixed double connection with same account [Yor] - - disconnect immediatly - - no enter in database (block or others) - - no creation of session - - no more need to have 'new_fd' - -> less memory usage, less tests - * Removed 'other_fd' not used [Yor] - -09/01 - * Fixed Rainbow Egg quest in quests_lutie NPC [PoW] - * Added packet length for client server-side friend list, if they choose add the client will not disconnect. [Valaris] - Need to figure out the rest of the packets, then can implement. - * Added server-side friend list 'add' send packet info to packet documentation. [Valaris] - * Fixed: in chrif_authreq, don't send a request to char server if session is not found [Yor] - * Fixed: amatsu.txt, when Carter Moores say: remove 10000 zeny, he removes them now! [Yor] - * Removed an unknown item in shops.txt [Yor] - * Fixed 3 goto in father - acolyte.txt [Yor] - * Fixed bug with colors of 5 numbers/digits (warp to city instead of display with color) - wizard.txt [Yor] - * Reduce size of mage.txt and fix a text in mes (no bug) [Yor] - * Fixed thief.txt script (error on a goto) [Yor] - * Fixed account length (WFIFOL(fd,2) instead of WFIFOW(fd,2)) when char-srv doesn't auth an account for map-srv (0x2afe packet) [Yor] - * Added @job and @charjobchange to be similar with @charjob and @jobchange [Yor] - -08/31 - * Fixed messages of @(char)jobchange GM commands. [Yor] - * Fixed a return value of jobchange function (pc.c). [Yor] - * Added coredumps by system when crash. [Yor] - thanks MagicalTux - -08/30 - * Added some comments on gravity commands. [Yor] - * Improved /mm, /monster and /item to have some answers. [Yor] - * Modified skill_cast_db and skill.c to allow for status effect chance of wizard skills - (stun for WZ_METEOR and blind for WZ_VERMILLION) [moonsoul] - * Modified skill_cast_db and skill_db to properly reflect cast params and delay times for assassin cross - skills Create Deadly Poison(407) and Soul Breaker(379) [moonsoul] - * Added damage calcs to battle.c for Assassin Cross skill Soul Breaker(379) [moonsoul] - -08/29 - * Modified skill_require_db to reflect item requirements for assassin cross skills Create Deadly Poison(407) - and Enchant Deadly Poison(378) [moonsoul] - * Added @charmountpeco/@charpetrename/@charquestskill/@charlostskill GM commands. [Yor] - * Added noicewall.txt to map_athena.conf (commented out), noicewall flag [Valaris] - will not function when pvp is enabled on map. - * Added noicewall flag, noicewall.txt. [Valaris] - * Added wiz's temp fix for higher skill ids and skillnodex db. [Valaris] - * Added: Usage of At command when failed (100%). - * Modified: try to have samme presentation for all at-command code (100%). - * Improved/fixed some GM commands [Yor] - * Added some 'usages' in some GM commands [Yor] - * Added baby classes to equipment codes, they will equip the same as their normal and advanced counter-parts. [Valaris] - * Improved some GM commands [Yor] - - Added in @(char)baselvlup/@(char)joblevelup GM command: - When there are some status/skill points available and we reduce level -> remove points. - - Added counter in @statsall GM command. - - Fixed in @charsave GM command when map doesn't exist. - - Fixed @charbaselvl GM command overflow - - Fixed skill value (and crash) in @questskill/@lostskill GM command - - Fixed number of spiritballs (@spiritball GM command) - * Fixed random PvP crash bug [Lupus] - -08/28 - * Improved some GM commands [Yor] - - Added memo points in @go GM commmand. - - Added negativ value for @heal GM command. - - Fixed @(6stat-adjustement) GM commands overflow. - - Simplified @Statall GM commands. - - Fixed @guildlvup GM commands. - -08/27 - * Fixed @(char)zeny/stpoint/skpoint GM commands (no more overflow, etc...) [Yor] - * Improved @memo GM command: [Yor] - You can memo anywhere (it's GM command, not /memo command like for any player). - Without value, display actual memo points. - * Improved @refine GM command: you can reduce refinement. [Yor] - * Fixed @broadcast GM command send broadcast to all Map-servers. [Yor] - * Fixed @(char)base/joblevelup command (any adjustement can be entered). [Yor] - -08/26 - * In at_command.c: [Yor] - Fixed: initialisation of all strings. - Added: Usage of At command when failed (75%). - Modified: try to have samme presentation for all at-command code (75%). - * Made it so that the pvp_nightmaredrop mapflag would work even without pvp being enabled, now works any time it is set. [Ancyker] - * Added level check on /item and /monster. GM level must be >= both @monster and @item [Valaris] - level specifications (both since they share the same packet) - * Added my own extream mode map flags (disabled by default), makes players drop items at random everywhere (except towns). Full details in map_athena.conf. [Ancyker] - -08/25 - * Added: display usage when GM command failed (some GM commands) [Yor] - * Added @email GM command to change your account e-mail [Yor] - -08/24 - * Modified changesex script command use same function as @charchangesex now [Yor] - * Added @charchangesex GM command can be used on offline players [Yor] - * Added gm ladmin command to change GM level of an account [Yor] - -08/23 - * Fixed some at_command messages: [yor] - - remove all unused messages - - create commented line of all messages in msg_athena.conf to have english, and under, translation if necessary - - add some (arround 80, but not all) messages in msg_athena.conf - -08/22 - * Fixed: In GM commands, add a 'standard' message when GM level is too low [Yor] - * Changed in battle_athena.conf [Yor] - - atcommand_spawn_quantity_limit: 100 (20 is too short for mass spawnings.) - - unknow: give translation of babelfish to help on the explanation (not writing: 'unknow' to not lost the information!) - - day_duration: 7200000 & night_duration: 1800000 (set default to 30 min night, 2 hours day to show improvement of eathena by DEFAULT) - -08/21 - * Updated battle_athena.conf to be in English (not Engrish) [Ancyker] - * Updated WZ_FIREPILLAR according 8-10 patch [AppleGirl] - * Updated skill_cast_db and skill_require_db according to 8-10 kRO patch [AppleGirl] - * Added how to use skill_castnodex_db.txt [AppleGirl] - * Added skill_castnodex_db.txt, allowing some skills to be casted with out dex's effect on them - Midas' idea [AppleGirl] - * Improved answer messages of char-server on @(un)ban/@(un)block GM commands [Yor] - * Added answer messages of char-server on @(un)ban/@(un)block GM commands [Yor] - * Added block command (ladmin c) [Yor] - * Added block command (ladmin perl) [Yor] - * Fixed job_db1.txt comments to be in english, also spaced the columns to make it easier to read. [Ancyker] - * Added: possibility to use "" or '' to give an account name in ladmin (Perl) (no more problem with account name which have spaces). [Yor] - * Changed: atcommand_gm_only is set to 'no' by default, because: [Yor] - - GM commands level now works correctly - - GM commands levels are now set by default with diffrent types of GM - * Added @inall/@exall GM command to block/unblock ALL wispers of a player [Yor] - -08/20 - * Added unblock command (ladmin C) [Yor] - * Added unblock command (ladmin perl) [Yor] - * Fixed: when limited time is in past, add new duration starts from actual time [Yor] - * Added chardisguise/charundisguise [Kalaspuff] - * Added default time [23:59:59] for timeset/banset ladmin (C) commands [Yor] - * Fixed sage rebirth ability at professor job change NPC. [PoW] - * Fixed pecopeco knight/crusader rebirth ability at LordKnight and Paladin job change NPCs. [PoW] - * Added default time [23:59:59] for timeset/banset ladmin (perl) commands [Yor] - * Added a check_ip_flag option in char-server [Yor] - * Added a check_ip_flag option in login-server [Yor] - * Added a display at start of login-server about IP checking configuration. [Yor] - -08/19 - * Added unban/unbanish command (ladmin c) [Yor] - * Added unban/unbanish command (ladmin perl) [Yor] - * Added parameter to choose how works timeadd (ladmin command) with unlimited time accounts [Yor] - * Fixed @option/@charoption when player is disguised. [Yor] - * Added: some information about TODO 19. [Yor] - * Added: possibility to use "" or '' to give an account name in ladmin (C) (no more problem with account name which have spaces). [Yor] - -08/18 - * Guardians were immune to skills/spells, fixed. [Valaris] - * Added custom draculax.txt script to display npcskilleffect command. [Valaris] - * Added npc/events/custom folder. [Valaris] - * Fixed Umbala Language Quest NPC bug [PoW] - * Added temporary prevention of crash caused by peco + disguise, will look into a better solution. [Valaris] - * Changed working of putting disguise on (much like Yor's setpos with undisguise) [Valaris] - * Changed disguise id check to > 23 instead of max_pc_class. [Valaris] - * Added bDisguise script command for items. [Valaris] - Syntax : bonus bDisguise,npc_id/mob_id; Example bonus bDisguise,1002; for poring disguise - * Added flag so @disguise command will override any disguise scripts. [Valaris] - * Updated @disguise description in help.txt. [Valaris] - * Added: @ignorelist/@charignorelist to know from which people a player ignore wisps [Yor] - * Renamed: @makepet -> @makeegg (@makepet will be created later to create pet, not a egg) [Yor] - * Fixed Phantom of Opera quest, fixed quests_aldebaren requirements [PoW] - * Changed: anti-freeze disconnection in char-server set from 1mn 15s to 30s [Yor] - * Fixed: free block memory on NULL pointer in char-server do_final [Yor] - * Fixed: reset server information when map-server disconnected from char-server [Yor] - * Changed: anti-freeze disconnection in login-server set from 1mn 15s to 30s [Yor] - * Improved pecopeco checks in @option/@charoption/@jobchange/@charjob [Yor] - -08/17 - * Fixed pecopeco displayings in @option/@charoption/@jobchange/@charjob [Yor] - * Correction of @rura, @where, @rurap and some other things in GM commands. [Yor] - * Correction of a parameters' errors in GM commands. [Yor] - * Correction of @charzeny Gm command (+ @zeny/@charzeny can add and remove zeny without problem). [Yor] - * Acolyte Job Quest: Fixed Marthilda, Yosuke NPC bugs. [Lupus] - * Added some comments in .conf about @gm [Yor] - * Fixed max value of level_new_gm parameter (not 100, but 99) [Yor] - * Added level_new_gm parameter in login-server to disable or set level of all GM created by @gm [Yor] - * Fixed @GM GM command [Yor] - -08/16 - * Translation of final message of @gm [Yor] - * Fixed on @GM: When login server is offline, char server sends impossible to create GM [Yor] - * Fixed: refuse @gm GM command to ... a GM :) [Yor] - * Added complete answers of /in /ex /inall /exall. [Yor] - * Added option to send information to online GM when there is a hack, a spoof name, etc. [Yor] - * Added individual ignore management, and wisp checks [Yor] - * Added TODO 33 [Yor] - * Fixed possible overflow with @ban GM command [Yor] - * Speed up a little @ban GM command [Yor] - * Added ignore all for wisps (to same map-server). Sorry, before, I was added only for not same map-server [Yor] - -08/15 - * Added a resume for 'email_creation' parameter [Yor] - * Fixed double messages when a player wisp/page itself [Yor] - * Added ignore all for wisps [Yor] - * Added better explanation for the new 'email_creation' parameter [Yor] - * Fixed: now, GM accounts are sended to all servers when auto-detect change of GM file is actived [Yor] - * Fixed: at auto-creation of e-mail, don't ask the player if login-server is offline (we need login-server to save e-mail) [Yor] - * Used config_switch instead of atoi for email_creation parameter [Yor] - * Added an option to create e-mail at connection with client [Yor] - * Added authentification with login_id2 (1040) - activated by default [Yor] - * Added partial part of authentification with login_id2 (1040) [Yor] - * Added some missing GM commands in help.txt [Yor] - * Improved search of map-server when map is not found [Yor] - * Added banish in ladmin (c) to be like of GM commands [Yor] - * Fixed Angel Helm quest, fixed Spore Doll quest exploit, Fixed Morgenstein quest bug [Lupus] - -08/14 - * Added banish in ladmin (perl) to be like of GM commands [Yor] - * Fixed some possible errors with maps management in char-server [Yor] - * Fixed bug of map searching when to few maps on map-servers [Yor] - * Changed some console displayings in char-server [Yor] - * By default, activation of player ip check [Yor] - * Added some of 1040: check of player ip between each server [Yor] - * Fixed dupes in warp scripts, reorganized, thanks to midas fro GH warp [kobra_k88] - * Added possibility to disable automatic reload of GM accounts file [Yor] - * Added log when GM accounts file can not be readed [Yor] - * Changed default of GM accounts file check for 120 sec to 15 sec [Yor] - * Added automatic reload of GM accounts file if it was modified [Yor] - * Added @mapmove, @broadcast, and @localbroadcast in help.txt [Yor] - * Fixed possible error of monster id (GM command) if monster begins by a number. [Yor] - * Added jobname in @charstats command. [Yor] - * Fixed: If a GM command uses NULL pointer as command function, there is no more crash. [Yor] - * Fixed Niflheim&Umbala guides. Fixed Niflheim city. removed 2 NPC clones. [Lupus] - * Added Archer Skills quests, fixed Thief Skill Quest [kobra_k88] - -08/13 - * Add an option to fix a ban for hacker that spoof name (to set minutes of ban) [Yor] - * Fixed incorrect mob IDs with Valaris's mob_db [Ancyker] - * Added possibility to execute GM commands when you wisp someone [Yor] - * Added a console message when a player try to spoof his name in Global message [Yor] - * Added size of packet in packet send by map-srvr to char-srvr about online players [Yor] - * Added check on individual stat at creation of a character [Yor] - * Added npcskilleffect script command. Will allow npc to show effects of certain skills on specified XY coordinate. - Syntax : npcskilleffect 21,10,148,150; skillid, skilllv, x, y. [Valaris] - * Increase maximum weight can be used with an item now, thanks to orn. [Valaris] - * Fixed mob names in Gonryun , thanks to unsul and Filougarou. [Valaris] - * Fixed muramasa curse rate, thanks to OxiMoron. [Valaris] - * Fixed Aldeabran&Comodo towns. Added Cheese quest to Comodo. Fixed Thief Job Quest [kobra_k88] - -08/12 - * Begin to add 1040 in login/char/chrif about authentification. not finished [Yor] - * @mapmove, @broadcast, and @localbroadcast can now be used. [Valaris] - * Looting mobs will not continue to item if it disappears, instead will walk away. [Valaris] - * Unitinalized nameid in script.c [Valaris] - * Added position in log when unknown packets are saved (login-server). [Yor] - * Corrected possible error to contact not good player when a wisp concerns player on an other map-server. [Yor] - * Added a function to obtain character name with index in auth structure (char.c). [Yor] - * Corrected check/test error in mapif_send. [Yor] - -08/11 - * itemdb_searchname fixed (now firstly looks for item aliases 'name', if not found looks for item name 'jname'). [Lupus] - * Optimized getitem, delitem. getweight, fixed there possible scripts exploits [Lupus] - * Thief bug's long name in mob_db.txt was Thief Bug Larva, fixed. [Valaris] - * Thief bug names were mixed around in monster.txt, fixed. [Valaris] - * Fixed incorrect parse of usable item rate. [Valaris] - * Added ban command in ladmin (C), like GM command [Yor] - * Terminated some translations about wisp/page, and control/improvement/correction of wisp/page. All 'found' bugs are corrected [Yor] - * Added translations in inter.c about wisp/page. [Yor] - * Corrected printf datas in intif_parse_WisMessage when map-srv receives wisp message from inter-srv. [Yor] - * Sended an answer when a wisp/page is supressed because of a timeout. [Yor] - * Improved: if inter-srv is asked for a wisp, verify first if the character exists. Don't ask all map-server if it not exists. [Yor] - * Changed Printf in intif_wis_message to have better information. [Yor] - * Improved: Don't ask inter-server for a whisp/page if player is on the same map-server. [Yor] - * Completed some printf and comments in char.c [Yor] - -08/10 - * Improved map_nick2sd function. Now, sensitiv case is removed when it's possible [Yor] - * Corrected split of broadcast messages in char-server [Yor] - * Message to Valaris from Yor (special file) - * Improved accounts file saving: [Yor] - - be sure that accounts file is save at least every minute. - - save accounts file at end of login-server - * Reduce displaying size on some errors about accounts file reading. [Yor] - * Created log when change sex packet give an invalid value (login-server) [Yor] - * Correction of unknow_packet displaying (in log). Separate is done after 8th char [Yor] - * Give possibility to use account name with spaces in prompt commands finished by account name in ladmin (perl). [Yor] - -08/09 - * Fixed char-server lag. 3 tests from 3 people appeared to function properly again. [Valaris] - * Basic Implementation of Basilica [AppleGirl] - * Added ban command (ladmin perl) [Yor] - * Correction of bug about auth_fifo when we block a player. Invalid value in array (login.c) [Yor] - * Correction of some tests on server_fd array in login.c [Yor] - * Improved Item_searching in all GM commands [Yor] - * Created @undisguise GM command [Yor] - * Added Umbala town&quests&guide. Some fixes in Yuno warps&shops&guides. Kafra fix. Added Valhallen quest. [kobra_k88],[Lupus] - * Corrected char_divorce (char-server) to remove ring to both partner [Yor] - * Eventual crashfix for clif_authfail_fd [Kalaspuff] - * Corrected @jump GM command. [Yor] - * Reduced size of conf/help.txt (max 200 lines in chat window). [Yor] - -08/08 - * Added NPCs to @disguise. [Valaris] - * Mob disguises will now show up to player using it as well. Attack animation and sitting do show up to them yet. [Valaris] - * Added @disguise GM command in help files [Yor] - * Added @go 16 to visit prisoners [Yor] - * Reduced number of accounts file saving when informations are not important: [Yor] - - save immediatly any modification/creation/deletion of account (like before) - - use counter before saving if only ip/time of last connection is changed (normal authentification) - because these values are already save in log file. - * Speed up account searching in login-server. [Yor] - * Speed up character searching for @(un)block/@(un)ban. [Yor] - * Created @unjail/@discharge GM command. [Yor] - * According to GM definition level in at_command.conf, set level 20 to online_gm_display_min_level for online files. [Yor] - * Speed up some sortings of online creation (strings based sortings) [Yor] - * Fixed nullpointer crash with disguise in clif_changelook [Kalaspuff] - -08/07 - * Fixed so spells will still be cast if target walks out of range. (please don't overwrite this again) [Valaris] - * Corrected a little error in online files creation (only 1 player was visible) [Yor] - * Optimized memory management of online list [Yor] - - less memory usage - - less tests and loops (more speed) - - more efficient (use directly char_dat position instead of search it) - * Added Official Assassin Job Quest. Now eAthena contains all 2-1 Job Quests! [kobra_k88] - * Fixed scripts: 32hats, warper2, platinum_skills, added/changed some mapflags and other misc script changes [Lupus] - * Added @disguise command (enter a mob_id or name, and you will appear to others as that mob/npc!) - * Fixed code for mob disguises, should not crash clients now. - * Improved online management code when we receive char_id. [Yor] - * Added code for mob disguises. Can not set yet. Atcommand needs created. [Valaris] - * Improved mmo_char_send006b function [Yor] - * Corrected: when save file of character can not be created, try backup file if flag is set to create it. [Yor] - * Added an option to create backup of characters file [Yor] - The backup_txt file was created because char deletion bug existed. - Now this bug is corrected and no character disappear. - But, create a file with a lot of characters can use CPU usage and decrease hard disk speed. - So, I create an option with default value: no create backup. - * Improved online management code and some others little codes (char.c). [Yor] - * Respawn points of prisoners set to the jail rooms. Jail.txt mapflag addeed. So imprisoned players can't escape. [Lupus] - -08/06 - * Improved/Optimized some little code (char.c/login.c). [Yor] - * Improved 0x2afa and 0x2afb (map transmissions between char and map). [Yor] - * Optimized global message nick spoof fix. [Valaris] - * Fixed crash in attacking guardians in a null guild. [Valaris] - * Capped earned exp at 1000000000. [Valaris] - * Set area size back to 20 for now, some things in path.c need to be fixed. [Valaris] - * Fixed crash in guardian search. [Valaris] - -08/05 - * Added @jail GM command [Yor] - * Added explanation of @idsearch and @mapinfo in help.txt [Yor] - * Improved @idsearch GM command [Yor] - * Improved a little 3 loops in ladmin.c [Yor] - * Improve some codes in char.c: [Yor] - - less tests in online creation - - mmo_char_send006b: remove duplicated memset, create a char_dat structure pointer - - server_fd[] not seted/modified/checked correctly - * Set max_walk_path back to 48. [Valaris] - * Added translated Gonryun town. Fixed map names of Louyang shops. Added missing Blacksmith, - added extra Rapairmen into refine.txt. In Inns added 4 different prices based on Base Lvl.[kobra_k88] - ----------eAthena 1.0.0 RC3 TXT--------- -08/04 - * Set battle_athena.conf to more accurate settings. [Valaris] - * Decreased default damage delay (stun after being hit) by 75%. [Valaris] - * Max walk path is now correct (17). [Valaris] - * Area size is now correct (14). [Valaris] - * Improved some very little codes in char.c. [Yor] - * Remove displayings of logs on console of map-server [Yor] - use it for DEBUG, not by default, that decrease a lot the performance - * Added (commented) printf in freeze function for debug if necessary [Yor] - * Fixed melee ctrl-attack targetting. [Valaris] - * Reset attack target when equipping arrows. [Valaris] - * Improved (log and remove_control_chars functions). [Yor] - * Added 'available free bytes' in displaying when size is expanded. [Yor] - * Fixed incorrect returns in clif_authok. [Valaris] - * Added pointer checks to chrif.c [Valaris] - * Added some pointer checks to the mob ai. [Valaris] - * New (lag-free) fix for NPCs / mobs not showing up when chars walk around [Kalaspuff] - -08/03 - * Made so if exp given is less than 0, 0 is given instead of 1 (plants were giving exp) [Valaris] - * Added console displaying to have complete informations when we expand Wdata session. [Yor] - * IMPORTANT: Add a TODO 31 for Guilds' coders. [Yor] - * Old packet 0x2b16 use packet number 0x2b0e. [Yor] - * remove packets 0x2b0e and 0x2b0f. [Yor] - * on character_name ask packet: add account_id of asker. [Yor] - * Improved script code in novice.txt. [Yor] - * Fixed error in alberta.txt. [Valaris] - * Allow player placement on afm-type maps. [Valaris] - * Added afm loading. [Valaris] - * Removed useless code for mob equipment. [Valaris] - * Initial packet setup for possible playable mobs. [Valaris] - * Added check for save_clothcolor for the dyefix, and added another check to make sure player is dyed before using the fix. [Valaris] - * Improvement: Character asking of map-server to char-server is not more case sensitive. [Yor] - * Added TODO 29 & 30. [Yor] - -08/02 - * Re-added "player not attached" error reporting. [Valaris] - * Fixed errors in 32 hat quest that was causing player not attached errors. [Valaris] - * Fixed input number function: commented out negative input check by Valaris in script.c (all scripts have been revised and fixed), - made actual bug fix of buildin_input func (wrong variable type conversion (int)->(unsigned int) in clif.c - Due to the fixed bug Merchant Job Quest works fine now [Lupus] - * Fixed number input bugs/possible exploits: mage.txt IceCream.txt event_valentine.txt refine.txt - milk_trader.txt grandpa_pharmacist.txt aldebaran.txt alberta.txt juice_maker.txt [Lupus] - * Finished: offline player can be @ban/@block/@unban/@unblock by their character name. [Yor] - * Added packet between map to char to work on offline players (@ban/@block/@unban/@unblock) [Yor] - * Added check on character name with less than 4 characters [Yor] - * Added @chardelitem GM command [Yor] - * Fixed Kafras (no more buttonless msg bugs, Kafra Pass works fine) [Lupus] - * Changed input exploit, only checks for negative now instead of having an input cap. Fixed up vending exploit. [Valaris] - * Added check for src with High Wizard's soul drain. [Valaris] - * Fixed up npc_suicide and npc_selfdestruction, should fix up crashes caused by them. [Valaris] - * Added more pointer checks in the clif_authok function. [Valaris] - * Added some pointer checks to clif.c, should prevent crashes. [Valaris] - * Added some checks about writing errors of item names in GM commands (check cases). [Yor] - * Fixed Hunter Job Quest 1.6 [Lupus] - * Removed Kalaspuff's fix for mob/npc data not always being recieved. It was causing - excessive amounts of lag. [Valaris] - -08/01 - * Added ability to spawn character pets. [Valaris] - * Added show_mob_hp. [Valaris] - * @item/@item2 GM commands now work correctly with name begining by a number. [Yor] - * @spawn/@monster2 GM commands authorise spawn of guardians. [Yor] - * Fixed so guardians may be spawned outside of castles. [Valaris] - * Fixed/Improved @spawn/@monster2 GM command. [Yor] - @spawn/@monster2 GM command: you can use space in the desired name now (use "") [Yor] - * Added TODO 26 and 27. [Yor] - * Guardians if owned by a guild will display guild name and castle on name request. [Valaris] - * Added checks for null blocks in mapforeachin functions. [Valaris] - * Addition of a GM level 99 account for test of GM commands. [Yor] - * Creation of a default structure for GM levels (sub-gm, gm, admin, etc.). [Yor] - * Improved @time GM command (better code and display more informations). [Yor] - * Added informations about game time in @time command [Yor] - * Added @time command to have server time [Yor] - * Fix night at start if administrator want night and there is no duration for night and day [Yor] - * Fix for NPCs / mobs not showing up when chars walk around [Kalaspuff] - * Begin @unban/@unblock GM command (structure done). [Yor] - * It's now possible to disable Night or Day (set to 0 in battle.conf). [Yor] - * @day/@night: when already the desired cycle, display a message. [Yor] - * Fixed overlapping Ice-Cream Maker NPC, duplicated NPCs, restored duplicated Akaru's MrSmile [Lupus] - -07/31 - * Terminated: night/day cycles. [Yor] - * When a state comes back to normal, player stay in night if it's night. [Yor] - * Started to add management of day/night: [Yor] - creation of 3 parameters in battle.conf - TODO: usage of these parameters (later). - * added line '// $Id: Changelog.txt,v 1.65 2004/09/29 17:31:42 kalaspuff Exp $' in all code source files to avoid overwrite in CVS. [Yor] - * Fixed number/quantity in @item command. [Yor] - * Fixed when night and disconnect/reconnect, it's night. [Yor] - * Removed extension to check a map in char.c (less tests). [Yor] - * Added savepoint coordonates (x,y) if player is set to a new map (char.c). [Yor] - * Added izlude to check major cities. [Yor] - * Began adding developer mobs. [Valaris] - * Added dyes and fixed client crashes with player mobs. [Valaris] - -07/30 - * Added temp fix for "nullpo player not attached" error message (script.c script_rid2sd) [Lupus] - * Added checks for major cities in afm format. [Valaris] - * Added preliminary AFM(Advanced Fusion Map) support. Actual map-reading works, but rest of server needs to recognize them. - Thanks to alexkreuz [Valaris] - * Changed Map and NPC loading display. [Valaris] - * Removed unneeded 'End' and duplicate 'end' script commands. [Valaris] - * Added 'language ' command in ladmin (perl) to change language of displaying. [Yor] - * Fixed atcommand_gm_only parameter: [Yor] - 0: you can define level command '0' for normal players (gm level 0) - 1: even you define a level 0 for a command, normal player can not use it. Only GM level 1 or more can use command (if command level is possible for this GM) - Note: This parameter is not like atcommand_for_all (this parameter doesn't exist actually) . - * Fixed Kafras (Cart Service for Super Novice), some warps in Morroc, Aldebaran. [Lupus] - Added official shop into St.Abbey. [Lupus] - Added quests: Lutie Town Hat Quest by TonyMan, 23 new hats custom quest. [Lupus] - Fixed jobchange.txt. [Lupus] - Improved pvp.txt. [Lupus] - Rearranged and updated! (now in 2 variants) mapflags. [Lupus] - Updated map_athena.conf [Lupus] - * Fixed: battle_athena config's atcommand_gm_only; yes was no and vice versa [Kalaspuff] - -07/29 - * Added 'language ' command in ladmin.c to change language of displaying. [Yor] - * Re-added guardians don't attack guild members, someone must have removed it by accident. [Valaris] - * Restore correct displaying (LAN/WAN) previous was good :) (sorry... prabably tiredness). [Yor] - * Fixed some errors in novice.txt script. [Yor] - * Kashy's script fixes. [Valaris] - * Displaying of correct information in LAN/WAN test (displaying was reversed) in char.c [Yor] - * Creation of a char_unblocked directory (char directory is blocked) [Yor] - - modification of makefile - * Added a note in TODO 14: encrypted password - problem with client versions [Yor] - ----------eAthena 1.0.0 RC2 TXT--------- -07/28 - * Added metaller to equipped mobs. [Valaris] - * Added a note in TODO 19 [Yor] - * REMOVED last changelog: cvs server: [14:29:29] waiting for cvs's lock in /usr/cvsroot/athena/src/char [Yor] - * Displaying of correct information in LAN/WAN test (displaying was reversed) in char.c [Yor] - * Added "OMG" emotion to weapon/armor breaking. [Valaris] - * Removed space in a pointer in mob.c. [Valaris] - * Restored previous version of lan management in login.c, because: [Yor] - - check test was incorrect (no mask for controled ip). - - in check test, we recalculate every time the subnetwork (loss of time). - - impossible to have a name definition for the sub-network (some network administrator use a name to define the sub-network). - - no more default configuration of sub-network. - - possible errors in the reading function of the lan file. - - no more logs about sub-network. - - BUT, conserved: - new default name for lan file - - color for displaying of LAN/WAN - * Removed some memsets from chrif.c that caused segfaults. [Valaris] - * Added fix for anklesnare and spiderweb. [Valaris] - * Added Kashy's Lan Support code. [Valaris] - * Removed variables and assignment used by prevent_multi_login. [Valaris] - * Removed prevent_multi_login. (many problems reported with it) [Valaris] - * Fixed armor breaking. Was being broken when pc was attacking instead of when being attacked. [Valaris] - * Fixed checkcart, checkfalcon, checkriding (they didn't return any value) in script.c [Lupus] - * Fixed breeder.txt renter.npc, kafras NPC (added correct class check, added correct checkcart, checkfalcon, checkriding) [Lupus] - * Fixed Kafra functions_kafras.txt NPC (added correct checkcart, fixed cmall cart giving bug) [Lupus] - * Fixed Kafra functions_kafras.txt NPC (fixed Kafra Pass exploit) [Kobra_k88] - * Fixed Hunter.txt coords of the Guild entrance warp [Lupus] - -07/27 - * Improved check command in ladmin.c [Yor] - * Added map_id check in map_foreachinarea, to prevent eventual crashes [Kalaspuff] - * Added @enablenpc and @disablenpc in help files [Yor] - * Fixed Thunder Storm range (thanks midas) [Kalaspuff] - * Added Anthell NPC trigger in Morroc.txt warps/town [Lupus] - * Added missing Warps for Job Quests of Swordman, Hunter and Thief in jobquests.txt [Lupus] - * Updated atcommand_conf, missing GM-level for @enablenpc and @disablenpc [Yor] - * Removed possible overflow error in @enablenpc and @disablenpc [Yor] - * Updated atcommand_conf, missing GM-level for haircolor [Kalaspuff] - * Improved best job test in novice.txt [Yor] - * Improved @go command: [Yor] - - give list of cities if no value - - added start point (to welcome newbies) - - give possibilities to use city names (@go geffen): at least 3 characters, and some writing errors are tested - * Replaced every Job Quest Script (excluding Assassin, 2-2 and 2-2-X ). Now all 2-1 Jobs have big quests. [Kobra_k88] - * Replaced all Skill Quests (Added Sand Attack Skill Quest). [Kobra_k88] - * Added Legendary Swords quest. [Kobra_k88] - * Replaced 6 towns with new scripts: Izlude, Prontera, Morocc, Geffen, Alberta, Al De Baran. Splitted all towns quests into files. [Kobra_k88] - * Splitted and optimized Kafras & Guides. [Kobra_k88] - * Implemented Kafra Pass! [Kobra_k88] - * Removed free Breeders (replaced by the correct ones). [Kobra_k88] - * Placed all Sign Posts/Signs into a single file. [Lupus] - * Files arrangement, additional warps/scripts correction. Fixed several scripts (NPC overlapping, bad sprites, etc). [Lupus] - -07/26 - * More accurate pvp point system. It skips ranks, needs more work. [Valaris] - * Fixed crash in executioner card code. [Valaris] - * Fixed mob respawn after death bug. [Valaris] - * Fixed exp problem caused by bounds checking. [Valaris] - * Fixed pvp rank so only one person may be rank 1. [Valaris] - * Any time a person is on a pvp map, the rank will calculate, preventing bad rank packets from being sent. [Valaris] - * Added Job Agencies for Training Ground (novice.txt). [Yor] - * PVP respawn client crash fix. [Valaris] - * Fixed small error in kafra.txt [Syrus22] - * Finished adding special equipped mobs. [Valaris] - * Added 2 living statues behind the NPC 'Monster Master'. [Yor] - * Removed infinite possibilities to have items from helper (novice.txt, new_1-4.gat,60,149). [Yor] - * Added 2 living statues behind the NPC 'Monster Expert'. [Yor] - * Improved a little 1st course of novice training. [Yor] - -07/25 - * Allow mobs to be equipped with pet armor. mob_avail and clone mobs need to be created. [Valaris] - * Removed [AppleGirl]'s armor breaking code. [Valaris] - * Commented out data_dir. [Valaris] - * Finished exp bounds checking. [valaris] - * Added negative value checks to clif_updatestatus. [Valaris] - * Added exp bounds checking for those rediculously high rate servers. [Valaris] - * Added bounds checking to the @zeny and @charzeny commands. [Valaris] - * Improved and corrected some errors 1st course of novice training. [Yor] - * Removed no guild check for Guardians. Guardians SHOULD attack people with no guild. [Syrus22] - * Fixed Alliance check in mob.c [Syrus22] - * Added armor breaking to normal battle (crits will double the chance) [Valaris] - * Fixed mistake in map.c causing compile errors. [Syrus22] - * Fixed backstab bow penalty option. [Syrus22] - * Fixed Alliance check in battle.c for emp/guardian damage. [Syrus22] - -07/24 - * Added backstab bow penalty option [Akaru] - * Fixed OnGuardianDied events on prontera castles 3 to 5. [Valaris] - * Another vending fix. [Valaris] - * Fixed bugs in npc headers caused by someone using spaces and not tabs. (kafra.txt, guide.txt, yuno.txt) [Valaris] - * Fixed a vending bug. [Valaris] - ----------eAthena 1.0.0 RC1 TXT--------- -07/22 - * Fixed numerous startup errors in aldebaron castles and one geffen castle. [Valaris] - * Full Guild Wars Script Complete!!! [Akaru] - * Fixed rice ball item. [Valaris] - * Fixed problems with options and peco riding. [Valaris] - * Updated item_db with fix for Sleipnir and more translations. [Akaru] - * Translated item_violetbox, mob_poring, mob_branch, mob_boss. Fixed wizard.txt (wrong item id), headgeatquest.txt(added Zeny check) [Lupus] - -07/21 - * Updated refine.txt. Added optional features and optimized the file. [Syrus22] - * Evened out the # of columns in mob_db, filled in some blanks. [Valaris] - * Undid compilation errors caused by Akaru's removal of nullpo.o from map-server compile [Valaris] - -07/20 - * Removed Ghostring from gef_fild13.gat [rg] - -07/19 - * Fixed Graffiti [Valaris] - * Zeny Bug In Vending Fixed [Darkchild] - -07/18 - * Added a check about level of at_command when reading the file [Yor] - * Updated /help and conf/help.txt [Yor] - * Added @nuke command in conf/help.txt [Yor] - * More WoE Castles Done [Hikaru] - * Changed: inter.txt->inter.log in log directory [Yor] - * Added some char_log when character can not be created (invalid value, invalid name, etc...) [Yor] - * Changed: char.txt->char.log in log directory [Yor] - * Update features.html/changlog.html [Yor] - * Fixed compilationissue on FreeBSD [Kalaspuff] - -07/16 - * Remove limit for kami/kamib ladmin command. [Yor] - * Fixed crash in weddingtxt.txt where it was checking an invalid equip index. [Valaris] - * Added some TODO for next version. [Yor] - -07/15 - * Changed: login.txt->login.log in log directory [Yor] - * added system to choice authorised ip for remote administration [Yor] - * Added listBan/listOk commands in ladmin's. [Yor] - * Speed up a little search_mapserver function. [Yor] - * Init map strings of each servers when map-server send informations. [Yor] - * Added some TODO for next version. [Yor] - -07/14 - * Fixed another lockup with multi_level_up [Valaris] - * Added kami(yellow)/kamib(blue) commands in ladmin (terminated). [Yor] - * Fixed name of ladmin_athena.conf. [Yor] - * Fixed mvp item reading. [Valaris/Syrus22] - * Added new move packet in map (ver.13jully04) [Yor] - * Added new auth packet in map (ver.13jully04) [Yor] - * Added kami/kamib commands in ladmin. not terminated: to do: login->char [Yor] - * Updated Some Npcs [Darkchild] - * Added Gefenia Warps [Darkchild] - * Added Berzebub Quest [Darkchild] - * Removed random alchemist marine sphere code, until some other system is worked out. [Valaris] - * Fixed infinite loop caused by turning multi level off. [Valaris] - * Added display id the char-server is freezed. [Yor] - * Added debug printf about the max_connect_user in char-server. [Yor] - * Added banadd command in ladmin.c [Yor] - * Removed duplicate check in chrif.c. [Yor] - -07/13 - * Fixed GM_level code in map-server. [Yor] - problem is in the hash system of the db -> use simple db until we found solution. - note: for this db, it's not necessary to use a db system (little db, 2 values: key, value) - * Improved GM_level code in map-srv, but not solve the problem. [Yor] - * Fixed error of 'return' without value in chrif_parse (chrif.c). [Yor] - * Added character name, account id and gm level on console in map-server when auth is accepted. [Yor] - * Added gm_level of the account on console in char-server when auth is accepted. [Yor] - * Added gm_level of the account on console in login-server when auth is accepted. [Yor] - * Added timeadd command in ladmin.c [Yor] - * Added help for each command (help ) in ladmin (perl and c). [Yor] - * Fixed global message (normal speak) name spoof exploit. [Valaris] - * Added timeset command in ladmin.c [Yor] - * Added banset command in ladmin.c [Yor] - * Added vending and trading dupe fixes, thanks to Kinko and Kazzy [AppleGirl] - * Added multi_level_up command to battle_athena and commandline. [Valaris] - Turning it off will allow a player to only level up once from a monster. - * Added: explanations of ladmin_athena.conf keys in conf_ref.txt. [Yor] - * Fixed: init mmo_map_server structure (to 0) in char-server. [Yor] - * Added Gefenia Maps [Darkchild] - * Added @nuke command do to user request. [Valaris] - * Removed nick spoof fix code for now, it broke chat. [Valaris] - * Added some code for @nuke command. [Valaris] - * Finished adding battle_athena options to command line. Every option in battle_athena.conf - can now be passed directly through the command prompt. [Valaris] - -07/12 - * Added many battle_athena options to command line arguments. [Valaris] - * Allow battle_config_switch to be used globally in map-server. [Valaris] - * Rewrote map-server command-line code. Will now begin implemented nice commands for map-server. [Valaris] - * Added BETA version of ladmin in C. [Yor] - * Added new packet structure of authentification and move - automatic detection. [Yor] - * Added /item command. It is same as /monster. Both commands will search for mobid first, if not found will give item. [Valaris] - * Fixed a displaying error in state command (perl ladmin). [Yor] - * Added /monster command. Syntax is /monster . [Valaris] - * Fixed chat spoofing in global messages. [Valaris] - * Prevent nick spoofing in whispers. [Valaris] - * Added check about lenght of packet 0x72 for new client version [Yor] - * Added Pet Equip Items Quest Npc - * Added Pet Taming Items Quest Npc - * Added Slotted Sunglasses Quest Npc - * Added pet_equip_required option for pet skills. [Valaris] - * Changed: create a sub-function for help command in ladmin (perl). [Yor] - -07/11 - * Added Petit pet skill. [Valaris] - * Added some code for Petite Heaven Drive, still does not work, but doesn't crash. [Valaris] - * Fixed dokebi and baby desert wolf pet skills. [Valaris] - * Added Orc Warrior, Hunter Fly, Poison Spore, Baby Desert Wolf, Baphomet Jr, and Dokebi pet skills. [Valaris] - * Added script command petskillattack.[Valaris] - * Fixed search command in ldamin (perl) ignore sensitive case now. [Yor] - * Fixed default to 0 for save_unknown_packets configuration in login. [Yor] - * Fixed the warnings about implicit declarations. [Kalaspuff] - * Added @guildrecall/@partyrecall commands. [Yor] - * Added Isis pet skill. [Valaris] - * Added petmag script command for magnificat. [Valaris] - -07/10 - * Added Banker NPC because alot of users wanted one. [Syrus22] - -07/09 - * Added Sohee pet skill. [Valaris] - * Added petheal command. [Valaris] - * Added Smokie pet skill. [Valaris] - * Added bonus bPerfectHide for Smokie pet skill. [Valaris] - * Added Spore pet skill. [Valaris] - * Created petrecovery script command. [Valaris] - * Added Poring, Drops, Poporing, and Yoyo loot skills. [Valaris] - * Added petloot script command for pet looting. [Valaris] - * Removed pet_loot config settings. [Valaris] - * If pk_mode is on, a message will show up in map-server. [Valaris] - * Fixed pk_mode extra experience and drops so will occur if monsters is 20 levels or higher than player. [Valaris] - * Fixed @killmonster crash caused by implementation of pk_mode. [Valaris] - * Finished setting up pk_mode, should be 100% complete now. [Valaris] - * Added nopvp.txt for pk_mode. [Valaris] - * Prevent novice engagement in pk_mode. [Valaris] - * Fixed up and changed the exp penalty system. [Valaris] - * Pk_mode will now give double exp loss if killed by player. [Valaris] - * Updated conf/help with new commands [Yor] - * Removed more pvp timer stuff from pk_mode [Valaris] - * Increase drop rates +25% if over level 20 on pk_mode. [Valaris] - * Changed +25% exp increase on pk_mode to 15%. [Valaris] - -07/08 - * Disabled pvp rank and timer if pk_mode is on. [Valaris] - * All maps made pvp if pk_mode is on. [Valaris] - * pk_mode additional 25% exp given over level 20 [Valaris] - * Disable @pvpon and @pvpoff commands if pk_mode is on. [Valaris] - * Added pk_mode option in battle_athena.conf (not yet implemented) [Valaris] - * Reworked prevent_multi_login, should work perfectly now. [Valaris] - * Removed need for eof=2 for prevent multilogin, will now just delete the blocks containing both sessions. [Valaris] - * Added map-servers anti-freezed connection in char-server. [Yor] - * Added char-servers anti-freezed connection in login-server. [Yor] - * Fixed spy commands so that inputting the same id/name turns off the command. [Syrus22] - * Created @partyspy command. [Syrus22] - * Renamed search_guildname function to conform with normal naming standards in guild.c. [Syrus22] - * Created @whomap/@whomap2/@whomap3 commands to show online players on a specifical map. [Yor] - * Updated and Shrunk the Kafra Script. [Syrus22] - * Create @reloadgmdb gm command. [Yor] - -07/07 - (Dated On Aegis Website) - *--Released 1.0.0 RC3--* - * Fixed crashed with prevent_multi_login. [Valaris] - * Allow infinited local logins if prevent multi_login is on. [Valaris] - * If prevent_multi_login is on, it will disconnect both clients on the same ip. [Valaris] - * Prevent_multi_login will now list the character names of both accounts when logged out, and give a message. [Valaris] - * added updated const.txt and pet_db.txt [Valaris] - * GM accounts/level updating without restarting completed (by reloadgm ladmin command). [Yor] - * Removed gm_account_filename definition from map.conf. [Yor] - * Updated GM level by reloadGM ladmin command. [Yor] - * Added a packet between char and map to send GM accounts and their level. [Yor] - * Added a GM minimum level option to display 'GM' in online files. [Yor] - * Added a warning when a GM account is defined twice in the file. [Yor] - * Check for castle before guardian searches for emblem. [Valaris] - * Prevent stealing from treasure boxes. [Valaris] - * Enable mounted classes to use pedestrian counterpart's items. [Valaris] - * Change so petskillbonus will only update stats(client-side) if need be to prevent errors. [Valaris] - * Fixed crash with putting pets with skills back into egg. [Valaris] - * Added Steel ChonChon, Rocker, and Deviruchi pet skills. [Valaris] - * Added bAllStats(SP_ALL_STATS), bAgiVit(SP_AGI_VIT), bAgiDexStr(SP_AGI_DEX_STR) bonuses for pet skills. [Valaris] - * Added ChonChon, Lunatic, Picky, and Savage Babe pet skills to pet_db.txt. [Valaris] - * Added petskillbonus command for pet skills. Added pet_skill_bonus functions in pet.c. Made pointers for pet skills. [Valaris] - * Added 'GM' display option for online files [Yor] - * Improved GM accounts file reading in login-server [Yor] - -07/06 - * Changed heal dog in prontera to a poring. [Valaris] - * NPCs with mob sprites can now be used in scripts. [Valaris] - * Removed sd->brokencounter. Made getbrokenid more scripter friendly. Updated refine.txt getbrokenid commands. [Valaris] - * Mounted classes will now use equipment of their pedestrian counterpart. [Valaris] - * Improved management of GM account structure in char-server. [Yor] - * Added packet betwen login to char to send GM accounts value. [Yor] - * Added reloadGM command in ladmin to reload GM accounts file without stop the login-server. [Yor] - * Added listGM/lsGM command in ladmin to list only GM. [Yor] - * Correct an error in loop of char_divorce function (incorrect variable). [Yor] - * Added some comments. [Yor] - * Added a check on start_point.map when configuration is readed. [Yor] - * Modified final message of login log at end of login-server. [Yor] - -07/05 - * Flamelauncher,frostweapon,lightningloader,seismicweapon, and enchant poison now check to make sure target's weapon is not already enchanted. [Valaris] - * If sage breaks another person's weapon due to enchant failure, it will tell caster. [Valaris] - * Modified venom splasher to hopefully stop crashes caused by spamming. [Valaris] - * SA_FLAMELAUNCHER,SA_FROSTWEAPON,SA_LIGHTNINGLOADER,SA_SEISMICWEAPON now check to make sure target is holding a weapon. [Valaris] - * SA_FLAMELAUNCHER,SA_FROSTWEAPON,SA_LIGHTNINGLOADER,SA_SEISMICWEAPON now will break target's weapon on failure (if one - is being held and caster met requirements) [Valaris] - * Prevent unidentified and broken items from being sold. [Valaris] - * Added buildin_repair for equipment repair npc. [Valaris] - * Added repair npc to forgery in prontera. (refine.txt) [Valaris] - * Added sd->brokencounter and buildin_getbrokenid for item repair npc. [Valaris] - * Corrected some item names [rg] - * Fixed so @repairall success message and effect will only display once. [Valaris] - * Added "No items needed to be repaired" message and added forge success effect to @repairall. [Valaris] - * Added @repairall command. [Valaris] - * Added equipment_breaking option, changed weapon_break_chance to weapon_break_rate (changed to %) [Valaris] - * Crit's will now double weapon breaking chance if turned on. [Valaris] - * Added missing commands in atcommand_athena.conf. [Yor] - * Added @warpto command (same @jumpto). [Yor] - * Added increase in chance to break weapon if using powerthrust. [Valaris] - * Added weapon_break_chance to battle_athena.conf. [Valaris] - * Modified multiple login from one ip prevention(and remove gm bypass). [Valaris] - * Broken weapons will now have their description names in red. [Valaris] - * Speed up characters saving [Yor] - * Improved logs when a character isn't readed [Yor] - -07/04 - * Completed Prontera guild castles [Akaru] - * break_weapon_chance now works, but broken weapon will not be displayed any differently than a normal weapon. - Also does not yet affect a dual dagger assassin's 2nd weapon. No way to repair yet, and no skills/stats affect breaking chances. [Valaris] - * Update int_storage to include broken column on all items (updates from old version) [Valaris] - * Added @guildspy command. [Syrus22] - * Added weapon_break_chance. (Not implemented yet) [Valaris] - * Added break column for items in athena.txt (will upgrade older versions automatically) [Valaris] - * Changed default required GM levels for GM commands (effective if corresponding directive(s) in /conf/atcommand_athena.conf is/are missing) to 1 [rg] - * Added packet_table_en.txt in doc folder. Has some translations of the client_packet.txt. [Valaris] - * Prevent @monster and @spawn of guardians/emperium. [Valaris] - * Changed killmonster so it will not destroy guardians. [Valaris] - * Added prevent_multi_login in battle_athena.conf to disable multiple logins from same ip (ignores gms, and will - display ip of offending ip if turned on) [Valaris] - * Added checks on player trading to prevent possible exploits. [Valaris] - * Make sure cart is on before vending. [Valaris] - * Cleaned up vending exploit fixes. Now checks to make sure not vending more than max items per skill level. [Valaris] - -07/03 - * Prevent use of potion pitcher on oneself, fixed potion pitcher so can be used on other targets. [Valaris] - * Fixed the damage code for Falcon Assault, so its not totally useless. [?] - * Update peco riders for people upgrading athena, fixed bug in unmounting pecos. [Valaris] - * Removed option 32 from @option, added @mountpeco command. [?] - * Removing peco will revert to proper job level, fixed so jobchanging from peco status to peco user without peco status, - will update job to peco status. (ie going from Mounted crusader to Unmounted knight, will jobchange to mounted knight) [Valaris] - * Fixed so Peco mounting will not reset job level. Set to remove peco status if jobchanging to a class that does not use them. [Valaris] - * Peco mounting will now jobchange accordingly. [Valaris] - * Added checkfalcon and checkriding script commands. [Valaris] - * Added checkcart script command (since was already being used in scripts) [Valaris] - * Re-added unix fd_setsize definitions, makefile will now pass -DFD_SETSIZE=4096 only for windows compiles. - Tested new implementation of using -DFD_SETSIZE=4096 in makefile on windows box, and got past 64 connections even. [Valaris] - * Improved messages between servers about connections. [Yor] - * Improved pc_resetlvl, fixed the bug about options being left. [?] - -07/02 - * Added optional match_test in @who/who2/who3 commands (no sensitive case) [Yor] - * If there is no map-server, send right message to client (char-server) [Yor] - * Improved counter of users (char-server) [Yor] - * Improved save of characters (char-server) [Yor] - * Improved sorting of account before save (login-server) [Yor] - * Improved map search at selection of a character (char-server) [Yor] - -07/01 - * Removed FD_SETSIZE definitions from socket.h, added -DFD_SETSIZE=4096 argument to makefiles. [Valaris] - * Changed exploit fix in chrif.c [Valaris] - * Added assassin mask view_id in item_db [Valaris] - * Added a parameter to authorise minimum GM level at connection (login) [Yor] - * Fixed crash caused by making raw connection to map-server. [Valaris] - * Corrected a possible error at check of online players [Yor] - * Improved characters names control/check [Yor] - * Improved save/load of REG2 strings and values (login) [Yor] - * When there is no char-server, login-server sends proper message instead of a void list of servers [Yor] - -06/30 - * Fixed a crash when used @charmodel,@charstpoint,@charskpoint and - @charzeny with the wrong name [Kalaspuff] - * Added possibilities for switchs in battle.conf (add some foreign language) [Yor] - * Protected char-server again disconnection of login-server [Yor] - * Added possible protection against packet exploits in chrif.c. [Valaris] - * Login-server: Added an option for the format of the date (log, etc...) [Yor] - Improved some little code. - Added log for char-server packets. - * Correction of prtg_cas03.txt that crash server AT START! [Yor] - * Added functions of mapflag noskill [Kalaspuff] - -06/29 - (Dated On Aegis Website) - *--Released 1.0.0 RC2--* - -06/28 - * Added monsters_ignore_gm option. Monster won't attack GMs if turned on unless attacked and within 1 cell. [Valaris] - * Added drops_by_luk option in battle_athena.conf. Anything higher than 0 will turn this option on, and act as a mutiplier. - Example : Setting of 10 with 50 luk would add 5 to the drop rate. So say a card has a drop rate of 2, it would become 7. [Valaris] - * Fixed range and removed skill failed message from Venom Splasher, also moved some of it's code around. [Valaris] - * When a player arrive on map-server, time limit of its account is displayed if not unlimited [Yor] - * Fixed problem where warp portals broke in npc.c [Valaris] - * Updated atcommand_heal so it works like it should [Kalaspuff] - -06/27 - * Changed Venom Splasher so it will increase damage based on level of Poison React (had it set so the player had to be - using it, but it turns out it doesn't need to be) [Valaris] - * Venom Splasher now works except for the counter part. Damage is instantly dealt if skill is successful. [Valaris] - * Improved @item command to make correctly pet eggs [Yor] - * Updated Chase Walk so you can't attack while you have it casted [?] - * Removed un-needed code for graffiti from clif.c [Valaris] - * Added @ban command (to ban a player for a limited time) [Yor] - * Added @charblock command (you have been blocked by GM team) [Yor] - * Added the mapflag nowarpto [Kalaspuff] - * Updated the function of nowarp [Kalaspuff] - -06/26 - * When a player is banned (or with a state != 0), he is disconnected [Yor] - * When sex is changed, skills of other sex are reseted (and skill points increased of the same number) [Yor] - * To avoid problem with change sex and equipement, changed sex character is unequipped of all equipment [Yor] - -06/25 - * Added @charchangesex GM command [Yor] - * Changed: Changesex is now done after that the login-server has confirmed the change [Yor]. - becuase sex is saved in account file. - -06/24 - * Added new classes in change sex script command (buildin_changesex). [Yor] - * Translated pet_db.txt again [Valaris] - * Initial implementation of Venom Splasher. Runs checks on target poison status and whether or not hp is less then 2/3. - Will display skill failed if checks do not pass. Shows effect when successful. [Valaris] - * Added administration system to change final date of a banishment. [Yor] - * Added information about banishment in admin packets about an account. [Yor] - * Updated Chase Walk so it cancels when recasted to fix it. [?] - * Initial implementation for Chase Walk skill for Stalker Class [?] - * When an account is banned, message_error_7 is not more modified [Yor]. - -06/23 - (Dated On Aegis Website) - *--Released 1.0.0 RC1--* - * Added bRandomAttackIncrease for Executioner card. Chance stacks, attack does not. [Valaris] - * Fixed magic_damage_return so it will actually work (for Maya card). [Valaris] - * Add a ban timestamp in the structure of the accounts. Management not yet make [Yor] - -06/22 - * Don't send a message when it's void (packet 0x8e) - client doesn't display it [Yor]. - * Add a refresh time parameter for the html online file (refresh time in the explorer) [Yor]. - * Create a job_name function in atcommand to have the name of the job (suppress repeated code) [Yor]. - * Added New City: Jawaii - * Fix free memory of online structure at end of char-server [Yor]. - * Remove possible duplicated online players (multiple map-servers) [Yor]. - * Add examples in state command (ladmin) [Yor]. - * Use a function to display warnings in login-server to avoid duplicated messages with import option [Yor]. - * Iinitial implementation for magicdamagereturn for Maya Card [?] - * skill_out_range_consume - If it is set 'no' the skill will still be cast (like real servers). - If it is set to yes, skill will fail and sp and items required will be lost. [Valaris] - -06/21 - * Updated Sacrifice skill code to be more flexible for user usage [?] - * Changed SC_ATTACKPOTION and SC_MATTACKPOTION to SC_ATKPOT and SC_MATKPOT, also added it in item_db.txt [?] - * Guild Territory will now display the # of castles owned or "None Taken". [Valaris] - * Changed SC_ATTACKPOTION and SC_MATTACKPOTION so the increase can be specified in itemdb.txt. - Example : sc_start SC_AtkPot,18,30; (+30 atk for 30 seconds) [Valaris] - * Added SC_ATTACKPOTION and SC_MATTACKPOTION for +30 atk for specified time period (need to get the correct id's yet, - right now giving wrong icons and wrong message). Added entries in const.txt, need more info to complete these. [Valaris] - * Fixed so players will always spawn with guild emblem if one is needed. [Valaris] - * Reduce number of tests in atcommand_character_stats_all (@charstatsall). [Yor] - * Fix memory management for online players list. [Yor] - * Party HP now updates instantly on change. [Valaris] - * Fixed crash when non-guild members are in the area of guardians in attack mode.(Will ignore them) [Valaris] - * A higher level GM is not displayed by who/who2/who3 if he uses HIDEGM. [Yor] - * When a GM with HIDEGM relogs, he is always HIDEGM (only GM). [Yor] - * Improve presentation of online.txt file. [Yor] - * In /npc/quests/magicalhatquest, corrected checking for and deletion of Mage Hat instead of Wizard Hat. [rg] - -06/20 - * Fixed problem with guardian emblems disappearing [Valaris] - * If a GM use GM HIDE, he is not counted in the number of players [Yor] - * Setup prtg_cas01 to load guardians on server startup and to spawn them when purchased. Also switched from GuardianDied - to OnGuardianDied (other way wasn't working). Changed so guardians won't be killed on agitend. [Valaris] - * Guardians cannot attack and cannot be hurt during non woe time. [Valaris] - * Switched checking of castle.txt format so it won't wipe guardian hp everytime it loads. [Valaris] - * Made it so if guardians were installed in old db, that it will set guardians to full hp based on defense and class. [Valaris] - * Autosave will save guardian HP data. [Valaris] - * Castle.txt visibleG flags will be set when guardians are killed. [Valaris] - * Moved emperium defense upgrade to mob.c. [Valaris] - * Removed guardian hp saving from agitend. [Valaris] - * Added option to choose which columns are displayed in the online files [Yor] - * Added option to choose how to sort online players in the online files [Yor] - * Correction of a new error on guild (from [Valaris]). Old castle.txt files couldn't be readed. [Yor] - * Kafra Points And Rewards fixed [Darkchild] - * Kafra file made a lot smaller with DoEvents [Darkchild] - * Fixed lotsa bugs in Kafra's [Darkchild] - * Initial implementation for paladin's skill sacrifice [?] - * Loading/Saving of guardian hp (loads on agitstart, saves on agitend) [Valaris] - * Added so guardian hp will change accordingly. Moved the guardian defense increase to mob.c [Valaris] - * Implemented guardian and guardianinfo script commands [Valaris] - -06/19 - * Added Ghp0-7 into castle database [Valaris] - * Added configuration parameters to choose online files filename [Yor] - * Added online files (txt and html) [Yor] - * Added choose of authorised letters/symbols for characters names [Yor] - * Added 3 new Dragon Boat Festival monsters with temporary stats to mob_db [Akaru] - * Translated more of item_db [Akaru] - * Added correct effects for Dragon Boat Festival items [Akaru] - * Solve problem about the change of MAX_GUILDPOSITION by [Valaris] when we load an old guild.txt file. [Yor] - * Improve allow/deny configuration. Write warnings if necessary. [Yor] - -06/18 - * Add heal_payment.txt as an alternative to heal.txt. [Yor] - * Sex change (char.C): Correct error in jobchange. Disconnect player if connected. [Yor] - * Sex change/account deletion: Change authentification to avoid that player comes back on char-server within the 5 secondes before disconnection. [Yor] - * Save configuration of login-server in log file at start. [Yor] - -06/17 - * Added fritz's vending exploit fixes. [Valaris] - * Increased max guild castle size to accomodate for novice guild castles. [Valaris] - * Fixed investment in prontera castle 1. [Valaris] - * Implemented of showing guardian hp on guardian investment in prontera castle 1 (factors in defense investment) [Valaris] - * Added strmobinfo script command. Syntax is strmobinfo(x,y). 'y' is the mob's id. x will show different values. - 1=english name, 2=jap name, 3=level, 4=max_hp, 5=max_sp,6=base_exp,7=job_exp. [Valaris] - * Disable % and / for 1st symbol of commands (party chat symbol and standard ragnarok GM commands) [Yor] - -06/16 - * Added fully functional economy for Prontera Castle 2 Guild Wars script [Akaru] - * added fix for cross-class ensemble skills. [?] - * Increased max guild member limit to accomodate for +2 member increase per extension level - and increased max position to 56 to accomodate for all members. [Valaris] - * More of fov's fixes for atcommand.c, chrif.c, and clif.c. [Valaris] - * added fixes for class checking skills like bard & dancer skills and a priest skill. [?] - * updated skill_cast_db and skill_require_db.txt [?] - * changed int_guild.c added +4 for extension skill to match kRO [?] - * remote administration: add a command/packet to change sex of an account [Yor] - * Log detailled reason of refused connection in remote administration [Yor] - * Create a mmo_auth_tostr for accounts [Yor] - * Add a message when char-server is terminated [Yor] - * Save deleted accounts (administration deletion) in log file [Yor] - * Add a message when login-server is terminated [Yor] - -06/15 - * Added in fov's fixes for socket.c, atcommand.c, npc.c and skill.c [Valaris] - * Added a char_log function. Save unreadable characters in log instead of a specific file [Yor] - * Save invalid account lines in log file. Account will be never lost [Yor] - * Sort characters of same player with the slot number in the characters file [Yor] - -06/14 - * Fix errors in prtg_cas01, prtg_cas05 and MrSmile scripts [Akaru] - * Added fully functional economy for Prontera Castle 1 Guild Wars script [Akaru] - -06/13 - * If player is on map-server when the account is deleted, player is now disconnected [Yor] - * Correction of char deletion bug when account is deleted [Yor] - * Added Prontera Castle 5 guild wars script [Akaru] - * Added Prontera Castle 4 guild wars script [Akaru] - * Add checks about duplicated character ids and names [Yor] - * Don't save a reg of a character if its string is void [Yor] - * Read a character even if a reg string is void (don't suppress the char for that) [Yor] - * Save characters in account_id order [Yor] - * Save not readed characters in a file (char file name + "not_readed.txt") [Yor] - * Display line number when a character can not be readed [Yor] - * Initialise char_num! Display number of readed characters [Yor] - * Do right initialization of char_dat [Yor] - * Add red color for ERROR displays in char.c [Yor] - -06/12 - * Change 0 to '\0' for char in login.c. Add red color for ERROR displays [Yor] - * Optimised Mr. Smile NPC script [Akaru] - * Add a configuration in atcommand.conf to set the 1st character of ALL commands (Now, you can choose @, #, !..., any char that is not control character) [Yor] - * Optimised Prontera Castle 1 and 2 guild wars scripts [Akaru] - * Added Prontera Castle 3 guild wars script [Akaru] - * Changed Graffiti placement, will allow placement of one painting at a time (old one will be replaced). [Valaris] - * Graffiti displays to other plays and remains on map for set time period. [Valaris] - -06/11 - * Initial implementation of graffiti (does not change directions yet (vertical/upsidedown) and doesn't dissappear [Valaris] - * Add config_switch (0/1, yes/no, ...) for char-server configuration [Yor] - * Add a display when a player does a connection [Yor] - * Add a display when a remote administration does a connection [Yor] - -06/10 - * Improve compiling instructions for cygwin (socket.h) (depends of the cygwin version). [Yor] with help of [Lostsoul] - * Add parameters in login.conf to display or not parse information [Yor] - * Remove some repeated codes in ladmin / add example when error of command [Yor] - * Remove delete_session error in login.c (sorry) [Yor] - * Display correct message for char-server disconnection [Yor] - * Finish translation of ladmin [Yor] - * Fixed Various Npc Bugs [Darkchild] - * Added green colour for READY displays in char-server, login-server and map-server [Akaru] - -06/09 - * Add some comments in ladmin [Yor] - * Remove displaying of packet 0x2714 from login-server [Yor] - * Correct length of password send to login-server in char-server [Yor] - * Char-server/login-server: put default lan to 127.0.0.1 instead of any hasardous value [Yor] - * Change displaying of the title [Yor] - * Optimised twin towers script to use duplicate [Akaru] - * Edited to a more user friendly error message for invalid server communication password [Akaru] - * Updated the item_db for more item name consistencies [Akaru] - * Reverted training grounds back to new_1-?.gat maps. [Valaris] - * Added added more variety to sending packets to guild members (same map, same map w/out self, ect) [Valaris] - -06/08 - * Put a HOWTO in lan_support.conf. [Yor] - * Removed extra semicolons in char.c, map.c, and pc.c. [Valaris] - * Added missing } to clif_storageitemlist in clif.c and found a couple lines ending with 2 semicolons, removed them. [Valaris] - -06/07 - * Translated refine_db.txt. [Valaris] - * Negative vending fix. [Fritz] - * Correction of mktime parameters in ladmin + some translations [Yor]. - * Add some checks on login-server configuration parameters [Yor]. - -06/06 - * Fixed error in skill_tree.txt that would crash some people's servers when changing to Professor. [Valaris] - * Added admin_state directive for enabling and disabling remote administration, instead of testing whether admin_pass == "" [rg] - * Add title to the servers. [Yor] - * Add warnings about default password usage (administration and gm passwords). [Yor] - * Modify adduser.c for the default configuration. [Yor] - * Write the complete admin_packet.txt. [Yor] - * Champion NPC was looking for a priest instead of monk, changed to correct value. [Valaris] - * Small fixes in guide.txt, kafra.txt, and swordsman.txt pointed out by StiNKy. [Valaris] - * Begin splitting monsters.txt [Akaru] - * Removed obselete monster spawn files [Akaru] - * Complete Guild Wars for Prontera Castle 2 script done [Akaru] - * Fixed prevent_logout option. [Valaris] - -06/05 - * Implemented guild castle regen.(Stackable 2x for castle owners) [Valaris] - * Fixed player logout display on map-server console. [Valaris] - * Added atcommand_spawn_quantity_limit directive to /conf/battle_athena.conf [rg] - * Fixed noskill map flag [?] - * Complete information about login configuration in conf_ref.txt [Yor] - * Add possible configuration values on/off or yes/no in login-server [Yor] - * Guardians and emp will now get +2000 hp for every defense investment within a castle [Valaris] - * Changed the login server to reject all remote administration authentication if the admin_pass directive isn't set, and commented-out the admin_pass directive in /conf/login_athena.conf [rg] - * Changed /src/common/grfio.c so it doesn't try to read GRF files with no respective directive in /conf/grf-files.txt [rg] - * Changed so no one can spawn inside castles. [Valaris] - * Updated item_db with more consistant names, fixed some unknown_items [Akaru] - * Complete Guild Wars for Prontera Castle 1 script done [Akaru] - * Disabled guild breaking, alliance breaking, and alliance making during WoE. [Valaris] - * Will not default to prontera.gat if map-server is not connected. [Valaris] - * Warp players who are not in guild out of castles when WoE starts. [Valaris] - -06/04 - * Allies now do no damage to guardians or emperium. [Valaris] - * Prevent allies from being attacked by guardians. [Valaris] - * Optimized guardian emblem code. [Valaris] - * Fixed map-server crashing with spawning guardians in untaken castles. [Valaris] - * Guardian emblems will change if castle is taken, but client needs to refresh map. [Valaris] - * Fixed problem where guild emblem would vanish from guild info screen. [Valaris] - -06/03 - * Improve e-mails checks and LAN/WAN checks on char-server. [Yor]. - * Add some explanations in front of accounts file. [Yor] - * Set a non LAN configuration for basic configuration in lan_support.conf. Explain parameters. [Yor] - * add missing parameters of char_athena.conf, and explain them. [Yor] - * Restore default admin pass and gm pass of login_athena.conf, and add missing parameters. [Yor] - * fix missing include in char.c. [Yor] - * Translation of checkversion. Add some explanations in front of file. [Yor] - * Translation of getlogincount [Yor] - * Finish translation of new login.c [Yor] - * Implemented Guardian Emblems [Valaris] - -06/02 - * Added maximum_level option in battle_athena.conf [Valaris] - * Added maximum level cap to all the level up commands. [Valaris] - * Added "Deal has been cancelled" message to Fritz's input exploit fix. [Valaris] - -06/01 - * Fixed training ground npcs and warps, removed depreceated maps, using new ones. [Valaris] - -05/30 - * Small map-server crashing fix with Leo and Guide npcs in training ground [Valaris] - -05/29 - * Removed item_value_db.txt and all references to it [Valaris] - * Removed unused class_equip_db.txt [Valaris] - * Fixed stat and level reset bug where needed status points wouldnt reset unless relogged [Valaris] - * @monster will summon monster without an amount specified [Valaris] - -05/28 - * Added heal and usable item rate modifier [Valaris] - * Added pet equipment to equipment rate modifier [Valaris] - * Added option to turn alchemist summon experience and drops on and off [Valaris] - * Alchemist Marine Spheres now randomly explode [Valaris] - * Fixed bug where if certain items lowered max hp (4 mysteltain, and 1 eddga) below 0 - would loop to server max hp value. [Valaris] - -05/26 - * Added New Hats [Darkchild] - * Added New Monsters [Darkchild] -05/23 - * Added @charstatsall, views all characters (easy for money bug scaning etc! [Fritz] - * Max to input npc command, 0 is lowest, 99999999 is max, this to prevent money bugs! [Fritz] - -05/21 - (Dated On Aegis Website) - *--Released 0.5.2--* - -05/20 - (Dated On Aegis Website) - *--Released 0.5.1--* - * got dye working again [Darkchild/fritz] - -05/19 - (Dated On Aegis Website) - *--Released 0.5.0--* - -05/09 - * added Prontera Guild Castle 3 test guild wars test script [Akaru] - * modified Prontera Guild Castle 1 and 2 guild wars test script [Akaru] - * fixed several valkyrie jobchangers [Akaru] -05/08 - (Dated On Aegis Website) - *--Released 0.4.2--* - *--Released 0.4.1--* - * added Prontera Guild Castle 2 test guild wars test script [Akaru] - -05/07 (Dated On Aegis Website) - *--Released 0.4.0--* - -05/06 - * added Prontera Guild Castle 1 test guild wars test script [Akaru] -05/04 - * removed parses and added ENGLISH! [?] - -04/29 (Dated On Aegis Website) - *--Released 953 Delta--* - -04/28 (Dated On Aegis Website) (Whose Ideas Were These?) - *--Released 953 Gamma--* -04/27 - *--Released 951 Beta--* - * fixed @jobchange crash [credits to Mugendai, commited by Akaru] - -04/25 (Dated On Aegis Website) - *--Released 947 Alpha--* -04/23 - * added more Professor Skills and added checks [?] -04/10 - * added more upper skills from moonsoul's works [?] -02/12-04/10 - * CVS Down - Not Many changes could be made...* - -02/22 (Dated On Aegis Website) - *--Released 817--* - -02/12 - * added more mob skill conditions (friendstatuseq, mysyatuseq, friendhpltmaxrate) [RoVeRT] -02/06 - * dumped @skillall for @allskill [?] -02/05 - * fixed provoke so it doesnt work on undead [RoVeRT] - * added TyrNemesis^ card removal code and min/max settings [RoVeRT] -02/04 - * added start_zeny and party_level_range to char_athena.conf [RoVeRT] -02/03 - * Improved the prontera.gat map fallback. [Sara-chan] - * Improved the way guild emblems act when logging in. [Sara-chan] - * Undead-class armor, and Undead monster themselves will never be frozen [RoVeRT] - * fixed negative values for NPC to always be 0 -01/26 - * mob_warpslave correction [RoVeRT] -01/25 - * added poison hp reduction [AppleGirl] -01/20 - * added intimidate [RoVeRT] - * added mvp checks for some skills -01/17 - * added skill check for empelium attack and removed drops from NULL kills [RoVeRT] -01/16 - * added secondary effects for when characters with appropriate elemental armor - are within area of effect of sage spells SA_VOLCANO(atk up), SA_DELUGE(max hp up), - SA_VIOLENTGALE(flee up) [moonsoul] - * removeal of @randmon as it isnt needed [RoVeRT] -01/15 - * fixed auto spell so it works the prober way [RoVeRT] -01/12 - * added mob_warpslave [RoVeRT] - * added mob_warp to check noteleport mapflag -01/07 - * added OnCommand for NPC [RoVeRT] - * added new on death method for NPC spawned mobs [RoVeRT] - * added mobcount [RoVeRT] -01/06 - * fixed icon status for spear quicken [AppleGirl] - * added quoted name support for @monster [RoVeRT] -01/05 - * added indivudal support for card and equip drop rates [RoVeRT] -01/04 - * added TF_PICKSTONE and skill check condition for TF_THROWSTONE [AppleGirl] - * added updated cast_db.txt and fixed SA_VOLCANO, SA_DELUGE, - SA_VIOLENTGALE, and SA_LANDPROTECTOR GRAPHICS [AppleGirl] - * Fixed Effects of a few bard Skills. [AppleGirl] - * added option to stop logout for 10 seconds after taking a hit [RoVeRT] -01/03 - * added inet_ip support to char and map [RoVeRT] - * added checkcart, checkfalcon and checkriding npc commands -01/02 - * added new npc timer support that is independant of a player [RoVeRT] -12/31 - * Added @refineall [Mark] -12/30 - * added support for custom_item-db.txt with battle_athena.conf option [RoVeRT] - * fixed @charzeny bug - * translated help.txt to english anong with a few other files [RoVeRT] -12/29 - * added umbala maps to map_athena.conf [RoVeRT] -12/26 - * added Skill_range based on level, and partially working AutoGuard [Moonsoul] - * added Correction of Whip and Instrument Damage Again [Sara-Chan] -12/25 - * Spear Quicken Correct Graphics,Fixed Magnum Break (Which Fixes All Other - Splash skills), and Fixed Brandish Spear [AppleGirl] - * Updated Command For @SkillAll Added Atcommand_athena.conf [RoVeRT] -12/24 - * Added Side Effects for multiple skills for 2-2 classes [AppleGirl] -12/23 - * Added GM Command Called @Skillall [RoVeRT] - * @skillall to skill-up all your current skills [RoVeRT] - * @hide does hide you from all monsters [RoVeRT] - * fire wall limited to 5 per map [RoVeRT] - * to turn on PVP without @pvpon and to disable flywing search for mapflag [RoVeRT] - * no luck with @morph at this time yet [RoVeRT] - * splash attack added but still kinda buggy [RoVeRT] - * Added in Dancing and Song Playing for Bard and Dancer [AppleGirl] - * Added Skill Arrow Check For Archer Skills [AppleGirl] - * Added Skill Status Recovery [AppleGirl] - * Added Skill Bard and Dancer Skills Last Longer [AppleGirl] - * Added Skill Grimtooth does splash damage [AppleGirl] - * Added Skill Steal Fixed and Snatcher [AppleGirl] - * Added Skill SonicBlow only works with Katars Now [AppleGirl] -12/22 - * Added Skills Shield Boomerang, Shield Charge, and Defender [AppleGirl] +Date Added +11/13 + * Fixed map-server loading, doesn't require data\resnametable.txt anymore [Wizputer] + * Updated & Optimized TXT Login from FREYA. (need to do SQL now) [Codemaster] + * Removed compile warnings in intif.c. [Valaris] + * Fixed chrif_changesex and @changesex, now uses packet 0x3000. [MC Cameri] + * Updated some skills, credits to orn and midas. [celest] + - Magnum Break, Throw Stone, Sprinkle Sand, Magic Power, Memorise, Quagmire, + Spider Web, Reject Sword, assassin's Dodge, Demonbane, Divine Protection. + - Firewall, Quagmire, Fog Wall (100%), Marionette Control (30%), Sandman, + Claymore Trap + - Adjusted some mob skills for mod support. + * Fixed weight increase when riding. [celest] + +11/12 + * added folder: /save-tmpl, removed folder /save + * battle_athena.conf: Updated Packet Version Flags. + * !!!Fixed Mobs Attacking!!!: Thanks for MagicalTux and Yor, I fixed the mobs attacking by using one of their files. [Codemaster] + * Warps Update : Added ayothaya warps in ./npc/warps/ and in map_athena.conf [Nana] +11/11 + * Skill Updates : (Need to revise skill_cast_db.txt for new updates) + ( Sharp Shooting, Sword Reject, Chain Crush Combo, Tiger Knuckle Fist, + Head Crush, Arrow Vulcan, HP COnversion) Thanks to DracoRPG. + Fixed Devotion use requeriments. Thanks to Orn. [shadow] +11/11 + * Corrected minor typo in item_db, and removed/commented out dupe items.[kobra_k88] + +11/10 + + * Updated Sprout (Item #7193), Thin Trunk (Item #7186), + Huge Leaf (Item #7198), and Rante Whip (Items #1956, #1957) + - thanks to cheng - [Codemaster] + * Updated Parasite (Mob #1500) Drops - thanks to cheng [Codemaster] + * Updated Soft Grass Leaf (Item #7194) - thanks to cheng [Codemaster] + * Added, Fixed & Updated ALOT of skills: [Codemaster] + - Fire Pillar, Backstab, Grimtooth, Poison React, Falcon Assalt, + Skin Tempering, Hilt Binding, Frost Nova, TEMPORARY fix for Create Deadly Poison, + Enchant Deadly Poison, Endure, Sacrifice, Spider Web, Memorize, + Hyper Spirit Sphere, Palm Strike, Sword Reject, Pressure, Magic Crasher, + Amplify Magic Power, Napalm Vulcan, True Sight, Wind Walk, Aura Blade, + Concentration, Cart Boost, Magic Power + - Thanks goes to Celest, Midas, and DracoRPG! + * Fixed spira's mistake in using the packet_len_table; no biggie ^_^ [Codemaster] + * char/char.c & char_sql/char.c: Fixed start_armor and start_weapon - thanks to AppleGirl [Codemaster] + * Added packetver 6 flag to makefile. [Valaris] + +11/09 + * mob_db.txt: Fixed Drake dropping the wrong card - thanks to roslen [Codemaster] + * chat.c: Fixed multiple joins in a single chat - thanks to Alex14 and CHaNGeTe. [Codemaster] + * clif.c: Fixed sitting. [spira] + * - Fixed item 657 Job ID , 11/09 patch updates to item_db, Correct stats for item 5097 + - Added Unbreakable funcions to item_db armors/shields/garments/footgear [shadow] + * Defined SO_REUSEPORT to allow the servers to re-use ports if server crashes [Wizputer] + +11/08 + * Added new script command: getMapXY(MapName$,MaxX,MapY,type,[CharName$]) by Lorky [Lupus] + Get position for char/npc/pet/mob objects. + * Attempted to fix the mob bug (still haven't :( ). Still updated mob.c/clif.c/chrif.c according to jA 1057. [Codemaster] + * Fixed item_cardalbum.txt: Removed extra column which mad all albums empty [Lupus] +11/07 + - Fixed a few npcs will start implementing new ones soon, have alot on paper, need to type them up. [Nasedo] + * clif.c: Added a few things from jAthena 1057 [Codemaster] + * Corrected some typos in item_db. Items 1143 and 1719 need to be re-checked.[kobra_k88] + * Fixed compiling error in Map Server in which @repairall was using old broken system [Shinigami] + +11/06 + - Added missing items in item_db.txt and reorganised it.[Nasedo] + - Fixed wrong coords for payon guild flags (it has the old map coords), fixed some weapon effects in item_db, + updated the mob_db (90%+ done), added EP 5-9 mobs to mob_branch.txt and EP 6 cards to item_cardalbum.txt[shadowlady] + * atcommand.c/.h,chrif.c/.h, added @changesex. [MC Cameri] + * mob.c & clif.c: Added & Modified a few parts dealing with monsters and guilds [Codemaster] + * mob.c: Re-did a few parts according to jA's 1057 version. [Codemaster] +11/05 + * Fixed and redo optional Umbalian quests: + - Wise Man Fabius' Umbalian Language Quest (you can learn Umbalian language in + alternative way) + - On speaking with Umbalian Chief about meaning of masks you activate Turban Thief Quest + (For Sphinx Mask) + * Fixed several bugs in Niflheim Piano Keys Quest (wrong variable name, missing CLOSE buttons) + Zeny/Item Exploit in Niflhein Sairin NPC quest (should add similiar checks in every + easy quests with expensive prizes to avoid exploits) [Lupus] + * Revised and fixed all comodo,yuno,amatsu,gonryun,umbala mobs and drops. Also fixed mvp and woe mobs too [Shadowlady] + * Fixed crash from guild skill point allocation, there seems to be a problem with guilds loading still. [Valaris] + * Fixed committed typo in map_athena.conf, remove aria's dev npc (was giving errors preventing server startup). [Valaris] + +11/04 + * Added sara-chan's packet db with support for 11-1 [Valaris] + * [alot of files >_<]: Changed connecting a bit, from oA source; it connected easier/better in my opinion so... [Codemaster] + * map/skill.c: Added a few checks for level 0 skills being used. [Codemaster] + +11/03 + * Removed broken column, using attribute column for broken equip now. [Valaris] + +11/02 + * Fixed compile time errors for gcc 2.95 [MouseJstr] + * Changed Blacksmith skill "Hammer Fall" to only be used with maces or Hammers [Aria] +11/01 + * Set Comodo Kafra to warp to Umbala (11/2/04 patch) [Aria] +10/31 + * Fixed Devnpcs giving off errors -_- [Aria] + * Fixed showmsg.c compile warnings thanks to LittleWolf. [Valaris] + * map/skill.c: removed a second declaration of sc_def_vit in skill_castend_nodamage_id; thanks to spira [Codemaster] + * map/battle.c: re-did Water Ball's damage calculation [Codemaster] +10/30 + * Added new guild skills to skill_db from sara-chan. [Valaris] + * db/skill_cast_db, map/skill.c, map/pc.c: Corrected a few CHASEWALK things; Thanks to Celest [Codemaster] + * char_sql/char.c: removed the double free()ing of gm_account [Codemaster] + * Added check for c value in int_guild.c before dividing to calculate average level. [Valaris] + * Commented unfinished dev npcs and added devnpc to map_athena. [Aria] + * Removed item requirement of Aqua Benedicta (10/26 patch) [Aria] + * Fixed some compiling error for Map-server [Shinigami] + * Removed Rogue's backstab pushback effect (kRO style again) [Aria] + * Changed requirement of Fire Pillar to fit kRO style; lv1-5 = no gem, but 6-10 = 1 gem. [Aria] + * Added Mugendai's oA GUI support for map-server (previously not added) [davidsiaw] + * Included Mugendai's oA GUI in the GUI folder [davidsiaw] + +10/29 + * another exploit fix for mult in script [MouseJstr] + * Corrected mode for peco, condor mobs. Added custom mobs Easter Egg and Easter Bunny for easter egg event script. + Corrected mysteltain card location, penomena card typo.[kobra_k88] +10/28 + * Cloak Speed fixed [Aria] + * Throw stone damage fixed [Aria] + * Added new packets from Sara to packet database. [spira] + * Fixed and changed command lists to reflect on new packet changes. [spira] + - @jumpto, @recall, and @where + - Removed old @ignore* functions because they are no longer needed. + * Replaced old whisper ignoring code with better and more efficient code. [spira] + * Added packet_db.txt support, removed old packet functions. [spira] + * fixed forger-zeny exploit [MouseJstr] + + Doing script math that returns a number greater then (1<<31) will now + return a (1<<31). This prevents you from finding a npc that + asks for a quantity then mults the cost by that quantity to get + what you need to pay. + +10/27 + * Updated CSS styles for readme a bit [Aria] + * branched athena at version 340 to begin work on the packet_db + stuff from jA. To retrieve it, do a svn co http://dev.deltaanime.net:8080/svn/eathena/packetdb + later, once we are happy with it.. and feel it is stable, we will remerge it back into the main tree via the appropriate svn commands + as a FYI, the command I used to create this branch was: + svn copy http://dev.deltaanime.net:8080/svn/eathena/athena http://dev.deltaanime.net:8080/svn/eathena/packetdb -m "branch for packetdb work" + * Fixed Aldebaran (gatekeeper conditions bugs and wrong Key ID). Fixed some typos in other cities [Lupus] + +10/26 + * Added more quotes -_- [Aria] + * Modified a few things related to guild skills. I hope it doesn't interfere with anyone else's work, and isn't seen as bad. [Sara-chan] + -Support for new guild skills, though they don't work yet. Added guild_skill_get_inf and guild_skill_get_max entries for them based on early info. + -Changed guild_skillup functions based on japanese code, but for a good reason. + It allows for guild skill trees, sort of. I made Kafra Contract and Guardian Research require Guild Approval, for instance. + I think the first four new guild skill requirements are correct, at the least. + I hope everything works alright, it's my first contribution to eA in quite some time and I'm rather rusty at programming of late. + * Fixed compile errors in showmsg.c. [Sara-chan] + * Fixed Mouse's devnpc only saying his quotes once per server reset [Aria] + * Added log_athena.conf & the logs.sql file [Codemaster] + * Added log configurations to inter_athena.conf [Codemaster] + +10/25 + * Fixed a compiling error in Login-server [Shinigami] + * Added alot of Azndragon's spiffy logs & then added a few things of my own (Silly Dragon, structs are for kids!) [Codemaster] + * Corrected a small bug (forgot to change a few variables!) in my different GM option. [Codemaster] + * Fixed items and mobs in DB. Added new items. [Lupus] + * Fixed some NPC bugs (check NPC=changelog.txt) [Lupus] + * Fixed getting MAX PET ID (SQL only bug) [Lupus] + * Fix char/char.c which was crashing after double freeing logs + [MouseJstr] + * Improved basic server rebooters [MC Cameri] + * Commited common/showmsg.c/.h, previously missing x_X [MC Cameri] + * Added a basic server rebooter program, just use 'runserver.bat' to start up the server. [Shinigami] + +10/24 + * Added files common/showmsg.c/.h which contain the function _ShowMessage(char *string, int flag) [MC Cameri] + -Check showmsg.h to see how to use it. + -This function is made to replace printf in all the cases, so it MUST be used instead of print from now on. + -Begin your own journey of replacing/removing old printfs, and using the new function. + -This function was previously called ShowMessage() in oA, it is now merged, some changes have been done: + 1.Outputting messages to a file is now disabled(commented out). + 2.MSG_SQL is now commented out. + 3.If the server is out of memory, it will not use abort(). + 4.Returns 0 if successful, 1 otherwise. + -Example: ShowInfo("hello\n"); will print this to the screen: [Info]: hello + -Always add \n at the end. Unless someone edits the function to add the \n whether it exists or not. + -Just add #include "showmsg.h" wherever you need it. + * Edited ALL makefile's to include showmsg.o -> _ShowMessage(). [MC Cameri] + * Updated readme/gmcommands.html with new @uptime command [MC Cameri] + * Somebody had added some additional noskill checks that prevented + vending from happening in prontera [MouseJstr] + * Added bypass with gm_allskill of npc_selfdestruct2. [Valaris] + * Corrected some minor bugs in some Quests [Shinigami] + * Added new maps (from lateast kRO patch) + Touched WOE (u can't surrender the castle during the WOE), misc fix of the bank [Lupus] +10/23 + * Added the option to read GM accounts from a different table than login. Default set to login table. [Codemaster] + * Finished Aria and MC Cameri "Dev edition" NPCs. [Aria] + * Corrected extra stat points given to high classes. [Valaris] + * Added high classes getting the extra 40 stat points on stat reset. [Valaris] + * performance tweaks on socket.c to reduce lag [MouseJstr] + + do a "OPT="-g -DNSOCKET" to compile with the changes + enabled.. and tell me if you notice a change in your + performance/lag + + * Added @uptime to atcommand.c [MC Cameri] + * Added the stuff for my npc to Dev/quotes.txt [MC Cameri] + +10/22 + * Replaced some checkcart and checkoption(x) with checkcart(0) in the guild folder [Aria] + * Waiting for various devs to tell me their coords, map, biography, quotes, + moving coords, etc. In the meantime, I replaced them with (x,y),(lols), + (sprite),(somewhere), and if they didn't give me any info, I didn't + add them yet =P. [Aria] + * Added Davidsiaw, Shinigami, Lord, Codemaster, MouseJstr, MC Cameri, and Darkchild + to "Dev edition" NPCs [Aria] + * Revised "Dev edition" NPC layout a bit, should go smoother now. Should be final + layout unless something goes wrong =O. [Aria] + * Fixed the eol markers on some checked in files [Mousejstr] + * Fix two crashes caused by calling isGM on mobs [MouseJstr] + * Added folder "mc_cameri" in npc/other which contains my bank npc. [MC Cameri] + * Changed "Dev edition" NPC layout so that they move by themselves by timers. [Aria] + * Changed "Dev edition" NPCs to walk during quotes, and added biography. [Aria] + * Fixed quest/all_quest.txt not showing the correct description of the binoculars. [Aria] + * Fixed quest/all_quest.txt not going to stop pass and not displaying requirements. [Aria] + * Fixed removing friends from the list [davidsiaw] + * Added PCLoginEvent NPC (When a character logs on, NPC runs as if he/she clicked the NPC) [davidsiaw] + The NPC sample is located in npc/sample/PCLoginEvent.txt (you only need one of these NPCs) + +10/21 + * Fixed clothes_dyer.txt: Disabled Assassing/Rogues Dye. Also fixed wrong labels [Lupus] + * Fixed hair_dyer.txt: fixed missing menu label [Lupus] + * new_hats.txt 1.4 fixed amount of Fish Tail (300 -> 30), Zeny bugs in Ear of Angel, + Ear of Demon,Big Golden Bell, Mistress Crown, + Crown of The Ancient Queen, Indian Headband, Orc Hero Helm [Lupus] + * Fixed name of a flower in Prontera quest (Dreamy->Illusion) according to our DB [Lupus] + * Fixed item names in the temp Crusader Job Quest according to our DB [Lupus] + +10/20 + * map/mob.c: Added mob_exclusion_add() & mob_exclusion_check() [Codemaster] + * map/map.h: Changed Vending Struct: amount and value to unsigned variables (so they CAN'T be 0 or less) [Codemaster] + * map/mob.h: Added mob_exclusion_add() & mob_exclusion_check() [Codemaster] + * Aligned the list of commands at the beginning of atcommand.c, + with tabs instead of spaces. [MC Cameri] + * Fixed AtCommand_SetBattleFlag, it was previously being called by "@send" + instead of "@setbattleflag". [MC Cameri] + * Finished basic layout, finished Aria starting to create Shinigami [Aria] + * Started to create "Dev edition" npcs [Aria] + * Fixed a compile error in src/char/char.c [MouseJstr] + * Fixed a bug in @trade where the distance was not ignored [MouseJstr] + * Fixed a potential inf loop in pc.c when multi_level_up is set to no. [MouseJstr] + * implemented Friends List support for TXT version [davidsiaw] + * added queries in main.sql for Friends List. mySQL support for friends list pending [davidsiaw] +10/19 + * switched login_sql/login.c to use binary when retrieving + by account name [MouseJstr] + * skill.c & skill.h: added skill_type_cloaking [Codemaster] + * storage.c & storage.h: added storage_storageopen2() [Codemaster] +10/18 + * Changed readme layout for 1.0 scheme. [Aria] + * added check for console variable in login_sql [MouseJstr] + * Fully translated the untranslated items in the database.sql for SQL. [Nana] + * Dev/TODO, asigned myself to some items. [MC Cameri] + * char/char.c: changed the online system to omniAthena's [Codemaster] + * char/char.c: added log_char and log_inter [Codemaster] + * char/char.c: added Mugendai's GUI Support [Codemaster] + * char/int_guild.c: added log_inter and db_path [Codemaster] + * char/inter.c: added log_inter [Codemaster] + * char/char.c: added db_path [Codemaster] + * char/inter.h: added log_inter [Codemaster] + * char_sql/char.c: added log_char and log_inter [Codemaster] + * char_sql/char.c: added Mugendai's GUI Support [Codemaster] + * char_sql/int_guild.c: added log_inter and db_path [Codemaster] + * char_sql/inter.c: added log_inter [Codemaster] + * char_sql/char.c: added db_path [Codemaster] + * char_sql/inter.h: added log_inter [Codemaster] + * conf-tmpl/char_athena.conf: Added log_char & db_path [Codemaster] + * conf-tmpl/inter_athena.conf: Added log_inter [Codemaster] + +10/18 + * clif.c,clif.h,map.h,npc.c,npc.h,script.c: Added NPC Walking. [Valaris] + -npcspeed #; To change npc's walking speed. + -npcwalkto x,y; Move an npc to a position (keep it less than area size, or sprite will glitch and disappear). + -npcstop; Stops an npc's movement. + +10/17 + * Made the IP autodetection code work under a pure win32 + executable + * Fixed the win32 build and made a src\map\Makefile.win32 to + make it easier to do win32 builds of the map server + + src\common\utils.c src\common\utils.h src\common\grfio.c + src\common\nullpo.h src\common\timer.c src\common\db.c + src\common\socket.c src\common\core.c src\common\mmo.h + src\common\socket.h src\map\script.c src\map\intif.c + src\map\npc.c src\map\clif.c src\map\map.c src\map\clif.h + src\map\chrif.c src\map\Makefile.win32 + + * skill.c: Fixed noicewall flag. [Valaris] + * battle.c: Battle calc weapon attack now checks to see if pc_breakweapon successfully broke the weapon then recalculates damage. [Valaris] + * pc.c: Removed broken weapon and equip status, just unequips items again when broken. [Valaris] + Removed useless code from pc_breakweapon and pc_breakarmor. [Valaris] + * Added template for server control from the console [Wizputer] + * conf-tmpl/login_athena.conf: added support for Mugendai's "I'm Alive" Timer and GUI Flush [Codemaster] + * login/login.c: added support for Mugendai's "I'm Alive" Timer and GUI Flush [Codemaster] + * login_sql/login.c: added support for Mugendai's "I'm Alive" Timer and GUI Flush [Codemaster] + * Usable GM commands from server console admin:: [Wizputer] + * Added server:shutdown to shutdown server and help [Wizputer] + * Added user discretion for console commands in conf files [Wizputer] +10/16 + * Fixed Umbala Language Quest, where a certain NPC would freeze you due to an unfinished script [Shinigami] + * Fixed bug in new_hats.txt where free items are given out [Shinigami] + * Correct Morroc warp npc overlaying Kafra npc. [Aria] + * Corrected npc typos. [Aria] + * Skip over npc_selfdestruction2 on allskillup (thanks to celest) [Valaris] + * Fixed some typos in some of the NPCs [Shinigami] + * tweaked the auto-configure stuff to deal better with + machines that have no detectable IP addresses.. is this + possible? [MouseJstr] + src\char_sql\char.c src\char\char.c src\map\map.c + * Made it compile under gcc 2.95 [MouseJstr] + * made the char and map servers auto-configure their own IP's + whenever possible [MouseJstr] + + If you do not specify the server IP address, it now determines it + on its own. This means that to get a server running that is + accessable from the internet you should only need to specify the + location of the data.grf files. This eliminates one more point + of misconfiguration. + + It does not correctly auto-configure for when you are behind a + router or a firewall since there is no way of determining the + external IP address. On the other hand, we should be able to + eliminate the lan_conf file since we know our IP addresses as well + as our netmask. + + src/txt-converter/login/login-converter.c src/txt-converter/char/char-converter.c src/login_sql/login.c src/common/socket.c src/common/socket.h src/char_sql/char.c src/char_sql/int_guild.c src/char_sql/inter.c src/map/atcommand.c src/map/map.c src/map/mail.c src/char/char.c conf-tmpl/map_athena.conf conf-tmpl/char_athena.conf Changelog.txt + +10/15 + * added @setbattleflag to let me reset a battle_config at runtime [MouseJstr] + * --- RC5 release + * another fix to oA2eA-rc5.sql to fix the sell_price [MouseJstr] + * Redid readme, updated content a bit, and made ps2 poster in preperation for 1.0 RC5 release. [Evera] + * made MAX_HAIR_STYLE, MAX_HAIR_COLOR, and MAX_CLOTH_COLOR + configurable via battle_config. [MouseJstr] + * made the dex spell cast time scaling configurable via battle_config + [MouseJstr] + * made the visible area_size configurable via battle_config + [MouseJstr] + * Reorganized and added the warps into their respective folders, updated map_athena.conf. [Nana] + * Added 2 script commands GETLOOK, GETSAVEPOINT (thanks to Lorky). [Lupus] + * Added kafra_bank NPC - a new bank with daily interst of 0.1#%. [Lupus] + * Changed cast time for champion soul collect to 1 sec (thanks to midas). [Valaris] + * Added midas's fix for +30 hitrate with Sonic Blow. [Valaris] + +10/14 + * Fixed help.txt for some @gm commands [MouseJstr] + * made login.c compile on gcc 2.95 [MouseJstr] + * Fix backwards compatability with old mob skill formats [MouseJstr] + * Added mail system commands and @refreshonline to help.txt. [Valaris] + * Fixed char guild storage bug [MouseJstr] + * Prevented breakage of Weapons/Armor if the respective Alchemist Chemical Protection skill is applied. [spira] + * Added so nochat end will set manner to 0. [Valaris] + * Added broken item check before breaking (to prevent an item from breaking more than once) [Valaris] + * Re-wrote parts of equipment breaking. It will check to make sure it was not a miss before doing break calculations. [Valaris] + * Re-added negative value exploit fix. [Valaris] + * Fixed guardian opposition search. [Valaris] + * Added @unmute. [Valaris] + * Added check for map existing before cleanup (server will exit instead of crashing if maps aren't found). [Valaris] + +10/13 + * Fixed parse of antifreeze enable/disable flag. [Valaris] + * Fixed end-of-line flags in source tree [MouseJstr] + +10/12 + * Prevent attack/skill usage while wearing tux/wedding dress. [Valaris] + * Remove item unequip on tux/wedding equip. [Valaris] + +10/11 + * Added mail system (for SQL version only). [Valaris] + - @checkmail + - @listmail + - @listnewmail + - @readmail <#> + - @deletemail <#> + - @sendmail + - @sendprioritymail + - Added battle_athena.conf option to enable/disable mail system. + - Added mail.sql for sql mail system. + - Use "*" for name to send to all players. Level must be >= to @sendprioritymail level. + + * Added @refreshonline to refresh player online status in SQL version. [Valaris] + +10/10 + * Modified ja blacksmith repair code to function with our broken equipment system. [Valaris] + * Removed ja repair script commands, they aren't compatible with our broken equipment. [Valaris] + * Fixed error in Morroc jewel dealer. [Valaris] + * Added so supernovices will get flee from improve dodge. [Valaris] + * Fixed assassin and rogue flee bonus, was giving +50 instead of +40. [Valaris] + * Fixed bug with using remove trap on a snared monsters and the monster would stay stuck. [Valaris] + * Added a check for row return in an sql statement in login. [Valaris] + * Added some pointer initializations in map.c. [Valaris] + * Calculate pc status when equipping or unequipping pet items. [Valaris] + * Fixed crash in looting pet skills if loot size was greater than 10. [Valaris] + +10/05 + * Fixed all mob spawn names (typos, errors, wrong names) according to the mob_db.txt [Lupus] + * Added YggdrasilKid's fixed exp.txt. [valaris] + +10/04 + * Added missed close file functions in pc.c [Lupus] + * Added some new items, fixed some item names and translated all grabled items in item_db.txt [Lupus] + * Fixed bug in MOB_DB and in MOB_BRANCH DB related to wrong "Elder" ID number [Lupus] + * Fixed toggle for using sql item db in char-server. [Valaris] + * Added interval settings for anti-freeze system. [Valaris] + * Added enable/disable options in char_athena.conf and login_athena.conf for anti-freeze system. [Valaris] + * Re-added anti-freeze system. [Valaris] + * Cleaned up warning in src/common/db.c. [MouseJstr] + * Removed afm map checking from char. [Valaris] + * npc.c - Re-enabled new "OnTouch" function. Added a missing line to npc_event in npc.c(line 667). + pc.c - Added 2 missing "else" statements on (line 3702 and 3842). Now ontouch works correctly and activates + everytime instead of only once like in RC4. [kobra_k88] + * clif.c - Added: npc_scriptcont(sd,RFIFOL(fd,2)); to "void cliff_parse_NpcCloseClicked" function. + Now "close2" script command works properly. Previously, it would freeze the server.[kobra_k88] + +10/03 + * added oA to eA database conversion .sql [MouseJstr] + * renamed sql to sql-files to eliminate a problem with make [MouseJstr] + * Fixed Assassin Quest where "Nameless One" NPC would freeze after clicking "next". [Shinigami] + * charkillable now returns status on target [MouseJstr] + * skill names now have descriptions pulled from the client [Mousejstr] + * Mapflag "petals" has been changed to "sakura". [Valaris] + * The weather @commands will now set that particular mapflag on until server is restarted, and will send weather effect + to everyone on that map. It also will not allow the occurance of the command more than once. This method means + everyone coming onto the map after the command has been used will see the effect. [Valaris] + * Added yor's latest ladmin.c. [Valaris] + * Fixed bug in delitem script command that caused it to delete all of an item. [Valaris] + * Modified Makefile's to work better in non-sql environment [MouseJstr] + * A lot of work on source tree making it more ANSI C compliant [MouseJstr] + * Finalized the timers on shutdown + turned off malloc debugging on db's. [MouseJstr] + * Added release hook's into db's [MouseJstr] + * Added runflag to core to allow cleaner shutdown [MouseJstr] + * Work on LCCWIN32 for building under Windows natively [MouseJstr] + * modified @mapexit to use runflag for cleaner shutdown [MouseJstr] + * Improve cleanup on exit of map server of all objects [MouseJstr] + * statpoint reader can now be larger then 1432 bytes [MouseJstr] + * Fixed so dancing effect is cleared when warping. [Valaris] + +10/02 + * Modified battle config muting players option to work more effectively. [Valaris] + * Fixed mute from showing red bubble to players. [Valaris] + * Fixed disguise sprite staying when teleporting. [Valaris] + * Added a special mob ai check in mob.c. [Valaris] + * Fixed petit pet skill's damage from ever increasing. [Valaris] + * Removed pet weight and pet loot options, someone re-added them, and this conflicts with pet skills. [Valaris] + * Added new skills to mob_skill_db (skills for Alchemist summon marine sphere among others) [Valaris] + * Updated skill_cast_db and skill_require_db for summon marine sphere and biocanniablize skills. [Valaris] + * Fix for drops by luck crashing. [Valaris] + * Removed @nuke for now. [Valaris] + * Added japanese ankle snare code. [Valaris] + * Using better code for alchemist marine sphere. [Valaris] + * Reverted back to old method of OnTouch for now for compatibility with older scripts. [Valaris] + * Fixed an infinite loop with preventing multi level up and high novices. [Valaris] + * Storage saving in SQL was based on MAX_INVENTORY. Switched to MAX_STORAGE and MAX_GUILD_STORAGE. [Valaris] + Should resolve items disappearing. Thanks to fov for pointing this out. + * Updated skill_db entries for biocannibalize and summon marine sphere. [Valaris] + * Changed sql item name row sizes to 24, and changed memory allocation to 25 bytes instead of 29. [Valaris] + * Added upgrade_1.0.0-rc5_database.sql (will set name columns of item db to varchar(24). [Valaris] + * Removed anti-freeze system. [Valaris] + * Began removing AFM, unless someone wants to complete this. [Valaris] + * Added an online status timer. Will check online status of players every hour (for sql version). [Valaris] + * Added malloc to map.c. [Valaris] + * Added some variables for new mob exclusion. [Valaris] + * Using malloc in pc.c. [Valaris] + * Added skill reset checks to high/advanced/baby classes. [Valaris] + +10/01 + * Fixed up const.db. [Valaris] + - Added + bBreakWeaponRate 1068 + bBreakArmorRate 1069 + bAddStealRate 1070 + + - Fixed + bMagicDamageReturn 1071 + bRandomAttackIncrease 1072 + bAllStats 1073 + bAgiVit 1074 + bAgiDexStr 1075 + bPerfectHide 1076 + bDisguise 1077 + + * Rewrote mute disable option in clif.c, it did not need to end status. [Valaris] + * Added a missing check for SC_NOCHAT in clif.c. [Valaris] + * Changed comments on max_lv in battle_config to be less + confusing [MouseJstr] + * Fixed Gypsy Job Quest, added Crusader Job Quest [Lupus] + * Adding missing noquests from previous tree [MouseJstr] + * merged conf files between txt and sql [MouseJstr] + * According to item_db.txt and mob_db.txt fixed some name differences, wrong item names in + pet_db.txt,mob_branch.txt,item_violetbox.txt,item_giftbox.txt,item_cardalbum.txt [Lupus] + * Added specialeffect2 script command. Works the same as specialeffect, but the effect will be applied + to the player interacting with the npc instead of being applied on the npc. [Valaris] + * Added hasitems script command. If a player has any items it will return 1 in an if statement. [Valaris] + * Added npctalk script command. Syntax : npctalk "These are my words"; [Valaris] + * Removed script::say in favor of Valaris's version. [MouseJstr] + * Fixed a bug in guild alliances where it was treating a friend as a foe. [MouseJstr] + * Fixed crash in weapon breaking. Was not doing a block type check on the source. [Valaris] + + +09/29 + * Fixed small, almost non-existing memoryleak, in grfio.c that could + cause some systems to exit the application [Kalaspuff] + +09/26 + (Dated On Aegis Website) + *--Released 1.0.0 RC4--* +09/25 + * Reorganized Npc folder for release + * Updated map_athena.conf + * Remove certain statuses when warping (Cloaking, Sitting, Gangster's Paradise) that would allow the effect to + continue and a player to walk normally. [Valaris] + * Remove speed increase of theif and high thief from improve dodge (only assassins and assassin cross's are + supposed to get this bonus) [Valaris] + * removed more #ifdef's between TXT and SQL [MouseJstr] +09/24 + + * Added @charkillable (to make players killable) [MouseJstr] + * Added @dropall (throws all items on ground) [MouseJstr] + * Added @chardropall (throws all players items on ground) [MouseJstr] + * Added @storeall (put all items in store) [MouseJstr] + * Added @charstoreall (put all players items in storage) [MouseJstr] + * Added @skillid (look up a skill by name) [MouseJstr] + * Added @useskill (use a skill by id) [MouseJstr] + +09/23 + * Update Some Npc Stuff In Payon [Darkchild] + * Added Sage Quest [Darkchild] + * added @killable - all players can hit you, even out of pvp [MouseJstr] + * Changed Basilica to prevent the priest from walking [MouseJstr] + * Restore base files in save directory [Yor] + * Castle spawn/conquering fix: [Akaru] + - Spawns monster when the guild is not owned when the server starts + - Spawns emperium with the monsters when guild is not owned yet + - If AgitStart and AgitEnd occurs while castle had not been owned, it is just ignored so that the monsters that are guarding the castle and the emperium would not be killed. + - Prevent spawn of emperium/monsters after castle is owned + - In short, you can clear and conquer the castle any time even when it's not agitstart'ed if the castle is unowned, like in official servers + +09/22 + * added @killer to let GM's hit players outside of pvp [MouseJstr] + * added @skilloff to turn off skills on a map [MouseJstr] + * added @skillon to turn on skills on a map [MouseJstr] + * added @follow to follow players (including warping after them) [MouseJstr] + * added battle_config option to control the max number of castles a guild can have [MouseJstr] + * upgraded the guild alliance checker [MouseJstr] + * added battle_config to control if ghosty armor works for mobs [MouseJstr] + * Fixed battle_config to control how much GTB actually helps [MouseJstr] + * Fixed battle_config to control if pvp battles give exp or drops [MouseJstr] + * Added map aliasing [MouseJstr] + * changed the map_nick2sd to be able to handle sub-strings for refering to players [MouseJstr] + * made turning of skills on a map actually work [MouseJstr] + * Updated Makefiles/GNUMakefiles to include the compilation of /common/malloc.o [PoW] + +09/19 + * Corrected @charstoragelist: [Yor] + - because account2storage function create a void storage if it's not exist, somethimes a player could lost its storage. + -> creation of account2storage2 to just ask pointer of storage if exist and use it in @charstoragelist. + * Improved range system of @monster/@spawn (nearest of GM when less monsters) [Yor] + * Client until 2004-09-06 (included) is now completely recognized [Yor] + * Fixed kafra storage request for all new clients [Yor] + +09/18 + * Changed to Yor's code that doesn't try and read when it's already not found [Akaru] + * Removed check for resnametable in data folder exit -> the resnametable isn't even used if present and it should be optional and not compulsory to have a resnametable in the data folder! [Akaru] + * Added an option to choose which clients are accepted on the server (2nd part and finish: Check accepted versions) [Yor] + * Added an option to choose which clients are accepted on the server (1st part: reading of the option) [Yor] + * Fixed action request (sit, attack, etc..) for all new clients [Yor] + * Fixed solve char name for all new clients [Yor] + * Fixed get char name for all new clients [Yor] + * Fixed an error about packet number on char name function [Yor] + * Added items drop packet for all new clients [Yor] + * Fixed: in clif_send (global send, not individual send) don't send a packet that client doesn't recognize [Yor] + +09/17 + * Added check to make sure mob is already moving before initiating random walk + when the item they are going to loot disappears. [Valaris] + * Client of 2004-07-13 is now completely recognized [Yor] + * Fixed items take packet for all new clients [Yor] + * Corrected packet sizes for each client version (not set packet size if packet doesn't exist) [Yor] + * Fixed direction position for all new clients [Yor] + +09/16 + * Client of 2004-07-06 is now completely recognized [Yor] + * Fixed skills to position with all new clients [Yor] + * Fixed incomplete packet of authentification [Yor] + * Fixed size of packets for all clients [Yor] + * Improved detection of client version at authentification [Yor] + * Improved packet parsing of client (search packet version before to parse) [Yor] + * Added packets size of 0x20d and 0x20e [Yor] + +09/15 + * Added "nude" script command, will strip player of all equipment. Syntax : nude; [Valaris] + * Removed sandstorm flag, since it does not work as intended (is not a constant effect like believed) [Valaris] + * Added specialeffect script command. Syntax: specialeffect #; [Valaris] + * Moved noicewall flag to a better position. [Valaris] + * Added mob type check to skill_castfix to prevent crashing. [Valaris] + * corrected error: skill to id (RFIFOW->RFIFOL) [Yor] + * Added packets size of 0x204 and 0x20b [Yor] + * Fixed skill_to_id with all new clients [Yor] + * Fixed tick sending with all new clients [Yor] + * Fixed items use with all new clients [Yor] + * Fixed move with all new clients [Yor] + * Speedup WantToConnect function [Yor] + * Call correct function with any clients packet - size is not correctly set actually [Yor] + +09/14 + * Resetlvl will unequip items that require more than level 1. [Valaris] + * Added message about new clients (not actually supported) [Yor] + * Added correct call of clif_parse_WantToConnection function for all client types [Yor] + * Added size of packet 0x0214 [Yor] + * Fixed calls of 'clif_send' function [Yor] + +09/13 + * Modified item_db to have more name consistency, added more translations for items [Akaru] + * Fixed in clif_sitting usage of a buffer [Yor] + * Fixed in clif_movechar usage of a buffer for clif_set007b [Yor] + * Fixed in clif_spawnpc usage of a buffer for clif_set0078 [Yor] + * Corrected a commented printf in packet 0x2b0e for debug [Yor] + +09/12 + * Put (commented) parse printf in char.c at the right place (to have all informations) [Yor] + * Added Alchemist JobQuest [Darkchild] + * Added Inn Npcs [Darkchild] + +09/11 + * Added @charitemlist/@charstoragelist/@charcartlist GM commands to display items of a player [Yor] + +09/10 + * Added a better id control of monster id in @spawn/@monster... GM commands [Yor] + * Correction of an error at reading of 'wisp_server_name' option (char.c) [Yor] + +09/09 + * Change @spawn/@monster2... GM commands to spawn in close area [Yor] + * commented some printf in char.c to reduce (a little) lag [Yor] + * Put @timer messages in msg_athena.conf [Yor] + * Add a file for SQL developpers [Yor] + * Changed name of newpacket variable of session (packet_ver) and add a message for nex client version [Yor] + * Added new client packet sizes and expanded packet acception. [Valaris] + * Added snow, fog, rain, leaves, petals, and sandstorm map flags. [Valaris] + +09/08 + * added clif_specialeffect to clif.c, for displaying a wide variety of effects (information from rofx) [Valaris] + * Corrected in map: creation of new session before to delete previous session_data [Yor] + * Corrected in login/char/ladmin: creation of new session before to delete previous session_data [Yor] + * Prevented redeal dupe. Checks to make sure inventory index has not already been added (client prevents + the possibility of stacking items, but server did not.) [Valaris] + +09/07 + * Added an option to determinate at which GM level nowarp and nowarpto flags are not more used [Yor] + - new option in battle.conf: any_warp_GM_min_level + - new checks and message about 'from' (nowarp) and 'to' (nowarpto) in GM commands + * Third part of new authentification method (clif_parse_CloseKafra): ignore new 0xF7 [Yor] + * Change name of new0x0072 variable by new_auth (because now, auth packet is 0x72 or 0x7E) [Yor] + * Second part of new authentification method (clif_parse_WantToConnection): Auth by char-server of new packets resolved [Yor] + * Improved check of new packet 0x7E to enter in WantToConnect Function [Yor] + +09/06 + * First part of new authentification method (clif_parse_WantToConnection) [Yor] + - accepted new 0x7E for wantto connect + - begin to found first authentificaiton and answer to client, but not found + * Improved Char-server: [Yor] + - Fixed a possible error on multi-map servers (no lastpoint) + - Added log about character with same name of wisp server name. + - Added a sub function to disconnect a player (used 3 times) + * Improved. In global message, use buffer to send to other (avoid possible overwriting). [Yor] + * Added Super Novice Job Quest [Darkchild] + +09/05 + * Fixed noskill flag to actually stop all usable skills when used. [AppleGirl] + * Removed last lag on char-server causing by too much savings (on accreg) [Yor] + * Removed a lag on char-server with a lot of players (for party, like guild) [Yor] + * Removed a big lag on char-server with a lot of players: [Yor] + - guilds was saved every time a player is online and a lot of other time (removed). + - guilds are save only when characters are saved (no more bring forward with characters file, and less savings) + * Added GM message that informs when a player blocks wisps of the server (against some bots that auto ignore wisps from a player) [Yor] + * Added perfect GM hide in @where GM command [Yor on suggestion of PoW] + * Correct NEW shops.txt with error displayed AT START of map-server! [Yor] + * Correct NEW payon.txt that crash map-server AT START! [Yor] + * More changes and official locations for new payon, things in correct place: + - Guild Flags + - Kafra + - Shops/Refiners (except Pet Shop!) + - Most Normal Npcs (not all!) + All Based On ScreenShots From kRO!! [Darkchild] + * Payon Warps about 80% finished, others were no screens taken from! [Darkchild] + * Removed nowarp mapflag and new internal check about gmlevel [Yor] + - gmlevel are checked before to call the function (of the GM comand). If you give gmlevel, people can use the function, including if you give level 0. + if you want refuse some GM commands to normal players, set the level of the command with a value upper than 0 (of set GM_only_command option to yes). + Not add new tests for nothing and use more cpu. + - mapflag: no limit for GM commands: what'is the interest to have gm commands limited like player? (it's rule for all GM commands) + A gm can have the possibility to go anywhere, specialy to check/control player ==> no mapflag! + * Stopped client crashes when jobchanging into another class that doesn't support the weapon you are holding. [Valaris] + +09/04 + * Added nowarp mapflag [PoW] + * Fixed nowarpto mapflag in atcommand.c [PoW] + * Improved: On hack about name in global message, GM of ALL map-server received hack messages. [Yor] + * Moved some GM messages of GM command from at_command.c to msg_athena.txt. [Yor] + * Added @whogm GM command. [Yor] + * Added a warning when a character has same name than wisp server name. [Yor] + +09/03 + * Added gm level display in all @who(map) GM command. [Yor] + * Correction: [Yor] - Thanks to [EvilEden] + - Soul Strike mistake (according to http://iro.ragnarokonline.com/game/jobmagskill.asp) - corrected cast time + - npc/quests/monstertamers.txt: The Monster Tamer Shogo gives the Deviruchi 'Contracts in Shadow' (641) -> the Bapho Jr. Tamming Item 'Book_of_theDevil' (642). + * Added monster/egg name to create egg in @makeegg GM command. [Yor] + * Added an option to fix started limited time of a new account. [Yor] + * Added @hatch in help.txt. [Yor] + * Fixed ChaseWalk so now you can't use skills while in chase walk mode. [AppleGirl] + * Fixed Looping of Broken Weapon if you continued to use it even after its broken [AppleGirl] + * Updated Weapon Breaking So Now Icon Will Disappear when you unequip the broken item [AppleGirl] + * Re-Added @hatch and added makepet to atcommand_athena.conf [Darkchild] + * Moved job monsters to their respected files [Darkchild] + * Fixed a bug in sence (showing wrong info!) [Darkchild] + * Changed the npc/jobs/ folders heavily! [Darkchild] + * Added COMPLETE Umbala NPC script [Darkchild] + * Added New Payon maps @ bottom of the map_athena.conf [Darkchild] + * Added New Payon NPCs and Warps [Darkchild] + * Fixed typo and made layout a litle bit better of the readme files [Darkchild] + * Added Items Ability to be unbreakable (using bonus bUnbreakable,100;) it will totally unbreakable + any lower than a 100 it still has a chance of breaking but call it more durable ;p[AppleGirl] + * Added Start_Weapon and Start_Armor to all the other starts in char_athena.conf [AppleGirl] + * Updated skill_require_db and skill_cast_db.txt [AppleGirl] + * Finish to add a (reserved) wisp name for server - part 3: in map-server replace name where server name is used for wisp [Yor] + * Continue to add a (reserved) wisp name for server - part 2: in map-server, reception of the name [Yor] + * Begin to add a (reserved) wisp name for server - part 1: in char-server [Yor] + +09/02 + * Added Meltdown's weapon breaking ability [AppleGirl] + * Added GM level in front of each line to display only enable GM command of the help.txt. [Yor] + * Removed message about limited time if your have unlimited account (that was for tests. sorry). [Yor] + * Set day/night messages in msg_athena.conf (for foreign people). [Yor] + * Added a function to return a string of msg_table outside of at_command. [Yor] + * Fixed clean database at disconnect when session is not auth. [Yor] + * Fixed a bug (but not solve the bug - need more research to found where solve it) in map_id2sd function. [Yor] + * Set initialisation of ignore list after authentification (not need to be done before) [Yor] + * Reduced size of packet 0x2afe (removed not used value) [Yor] + * Improve first auth part (wanttoconnect) [Yor] + * Added TODO 35 [Yor] + * Made a few adjustments to Archer based class skills making more like normal classes instead of Uber Classes. [AppleGirl] + * Updated the weapon and armor breaking to be more like official RO adding status icons and so on. [AppleGirl] + * Updated a few skills based off a few sites, also fixed other skills that were coded incorrectly. [AppleGirl] + * Fixed double connection with same account [Yor] + - disconnect immediatly + - no enter in database (block or others) + - no creation of session + - no more need to have 'new_fd' + -> less memory usage, less tests + * Removed 'other_fd' not used [Yor] + +09/01 + * Fixed Rainbow Egg quest in quests_lutie NPC [PoW] + * Added packet length for client server-side friend list, if they choose add the client will not disconnect. [Valaris] + Need to figure out the rest of the packets, then can implement. + * Added server-side friend list 'add' send packet info to packet documentation. [Valaris] + * Fixed: in chrif_authreq, don't send a request to char server if session is not found [Yor] + * Fixed: amatsu.txt, when Carter Moores say: remove 10000 zeny, he removes them now! [Yor] + * Removed an unknown item in shops.txt [Yor] + * Fixed 3 goto in father - acolyte.txt [Yor] + * Fixed bug with colors of 5 numbers/digits (warp to city instead of display with color) - wizard.txt [Yor] + * Reduce size of mage.txt and fix a text in mes (no bug) [Yor] + * Fixed thief.txt script (error on a goto) [Yor] + * Fixed account length (WFIFOL(fd,2) instead of WFIFOW(fd,2)) when char-srv doesn't auth an account for map-srv (0x2afe packet) [Yor] + * Added @job and @charjobchange to be similar with @charjob and @jobchange [Yor] + +08/31 + * Fixed messages of @(char)jobchange GM commands. [Yor] + * Fixed a return value of jobchange function (pc.c). [Yor] + * Added coredumps by system when crash. [Yor] - thanks MagicalTux + +08/30 + * Added some comments on gravity commands. [Yor] + * Improved /mm, /monster and /item to have some answers. [Yor] + * Modified skill_cast_db and skill.c to allow for status effect chance of wizard skills + (stun for WZ_METEOR and blind for WZ_VERMILLION) [moonsoul] + * Modified skill_cast_db and skill_db to properly reflect cast params and delay times for assassin cross + skills Create Deadly Poison(407) and Soul Breaker(379) [moonsoul] + * Added damage calcs to battle.c for Assassin Cross skill Soul Breaker(379) [moonsoul] + +08/29 + * Modified skill_require_db to reflect item requirements for assassin cross skills Create Deadly Poison(407) + and Enchant Deadly Poison(378) [moonsoul] + * Added @charmountpeco/@charpetrename/@charquestskill/@charlostskill GM commands. [Yor] + * Added noicewall.txt to map_athena.conf (commented out), noicewall flag [Valaris] + will not function when pvp is enabled on map. + * Added noicewall flag, noicewall.txt. [Valaris] + * Added wiz's temp fix for higher skill ids and skillnodex db. [Valaris] + * Added: Usage of At command when failed (100%). + * Modified: try to have samme presentation for all at-command code (100%). + * Improved/fixed some GM commands [Yor] + * Added some 'usages' in some GM commands [Yor] + * Added baby classes to equipment codes, they will equip the same as their normal and advanced counter-parts. [Valaris] + * Improved some GM commands [Yor] + - Added in @(char)baselvlup/@(char)joblevelup GM command: + When there are some status/skill points available and we reduce level -> remove points. + - Added counter in @statsall GM command. + - Fixed in @charsave GM command when map doesn't exist. + - Fixed @charbaselvl GM command overflow + - Fixed skill value (and crash) in @questskill/@lostskill GM command + - Fixed number of spiritballs (@spiritball GM command) + * Fixed random PvP crash bug [Lupus] + +08/28 + * Improved some GM commands [Yor] + - Added memo points in @go GM commmand. + - Added negativ value for @heal GM command. + - Fixed @(6stat-adjustement) GM commands overflow. + - Simplified @Statall GM commands. + - Fixed @guildlvup GM commands. + +08/27 + * Fixed @(char)zeny/stpoint/skpoint GM commands (no more overflow, etc...) [Yor] + * Improved @memo GM command: [Yor] + You can memo anywhere (it's GM command, not /memo command like for any player). + Without value, display actual memo points. + * Improved @refine GM command: you can reduce refinement. [Yor] + * Fixed @broadcast GM command send broadcast to all Map-servers. [Yor] + * Fixed @(char)base/joblevelup command (any adjustement can be entered). [Yor] + +08/26 + * In at_command.c: [Yor] + Fixed: initialisation of all strings. + Added: Usage of At command when failed (75%). + Modified: try to have samme presentation for all at-command code (75%). + * Made it so that the pvp_nightmaredrop mapflag would work even without pvp being enabled, now works any time it is set. [Ancyker] + * Added level check on /item and /monster. GM level must be >= both @monster and @item [Valaris] + level specifications (both since they share the same packet) + * Added my own extream mode map flags (disabled by default), makes players drop items at random everywhere (except towns). Full details in map_athena.conf. [Ancyker] + +08/25 + * Added: display usage when GM command failed (some GM commands) [Yor] + * Added @email GM command to change your account e-mail [Yor] + +08/24 + * Modified changesex script command use same function as @charchangesex now [Yor] + * Added @charchangesex GM command can be used on offline players [Yor] + * Added gm ladmin command to change GM level of an account [Yor] + +08/23 + * Fixed some at_command messages: [yor] + - remove all unused messages + - create commented line of all messages in msg_athena.conf to have english, and under, translation if necessary + - add some (arround 80, but not all) messages in msg_athena.conf + +08/22 + * Fixed: In GM commands, add a 'standard' message when GM level is too low [Yor] + * Changed in battle_athena.conf [Yor] + - atcommand_spawn_quantity_limit: 100 (20 is too short for mass spawnings.) + - unknow: give translation of babelfish to help on the explanation (not writing: 'unknow' to not lost the information!) + - day_duration: 7200000 & night_duration: 1800000 (set default to 30 min night, 2 hours day to show improvement of eathena by DEFAULT) + +08/21 + * Updated battle_athena.conf to be in English (not Engrish) [Ancyker] + * Updated WZ_FIREPILLAR according 8-10 patch [AppleGirl] + * Updated skill_cast_db and skill_require_db according to 8-10 kRO patch [AppleGirl] + * Added how to use skill_castnodex_db.txt [AppleGirl] + * Added skill_castnodex_db.txt, allowing some skills to be casted with out dex's effect on them + Midas' idea [AppleGirl] + * Improved answer messages of char-server on @(un)ban/@(un)block GM commands [Yor] + * Added answer messages of char-server on @(un)ban/@(un)block GM commands [Yor] + * Added block command (ladmin c) [Yor] + * Added block command (ladmin perl) [Yor] + * Fixed job_db1.txt comments to be in english, also spaced the columns to make it easier to read. [Ancyker] + * Added: possibility to use "" or '' to give an account name in ladmin (Perl) (no more problem with account name which have spaces). [Yor] + * Changed: atcommand_gm_only is set to 'no' by default, because: [Yor] + - GM commands level now works correctly + - GM commands levels are now set by default with diffrent types of GM + * Added @inall/@exall GM command to block/unblock ALL wispers of a player [Yor] + +08/20 + * Added unblock command (ladmin C) [Yor] + * Added unblock command (ladmin perl) [Yor] + * Fixed: when limited time is in past, add new duration starts from actual time [Yor] + * Added chardisguise/charundisguise [Kalaspuff] + * Added default time [23:59:59] for timeset/banset ladmin (C) commands [Yor] + * Fixed sage rebirth ability at professor job change NPC. [PoW] + * Fixed pecopeco knight/crusader rebirth ability at LordKnight and Paladin job change NPCs. [PoW] + * Added default time [23:59:59] for timeset/banset ladmin (perl) commands [Yor] + * Added a check_ip_flag option in char-server [Yor] + * Added a check_ip_flag option in login-server [Yor] + * Added a display at start of login-server about IP checking configuration. [Yor] + +08/19 + * Added unban/unbanish command (ladmin c) [Yor] + * Added unban/unbanish command (ladmin perl) [Yor] + * Added parameter to choose how works timeadd (ladmin command) with unlimited time accounts [Yor] + * Fixed @option/@charoption when player is disguised. [Yor] + * Added: some information about TODO 19. [Yor] + * Added: possibility to use "" or '' to give an account name in ladmin (C) (no more problem with account name which have spaces). [Yor] + +08/18 + * Guardians were immune to skills/spells, fixed. [Valaris] + * Added custom draculax.txt script to display npcskilleffect command. [Valaris] + * Added npc/events/custom folder. [Valaris] + * Fixed Umbala Language Quest NPC bug [PoW] + * Added temporary prevention of crash caused by peco + disguise, will look into a better solution. [Valaris] + * Changed working of putting disguise on (much like Yor's setpos with undisguise) [Valaris] + * Changed disguise id check to > 23 instead of max_pc_class. [Valaris] + * Added bDisguise script command for items. [Valaris] + Syntax : bonus bDisguise,npc_id/mob_id; Example bonus bDisguise,1002; for poring disguise + * Added flag so @disguise command will override any disguise scripts. [Valaris] + * Updated @disguise description in help.txt. [Valaris] + * Added: @ignorelist/@charignorelist to know from which people a player ignore wisps [Yor] + * Renamed: @makepet -> @makeegg (@makepet will be created later to create pet, not a egg) [Yor] + * Fixed Phantom of Opera quest, fixed quests_aldebaren requirements [PoW] + * Changed: anti-freeze disconnection in char-server set from 1mn 15s to 30s [Yor] + * Fixed: free block memory on NULL pointer in char-server do_final [Yor] + * Fixed: reset server information when map-server disconnected from char-server [Yor] + * Changed: anti-freeze disconnection in login-server set from 1mn 15s to 30s [Yor] + * Improved pecopeco checks in @option/@charoption/@jobchange/@charjob [Yor] + +08/17 + * Fixed pecopeco displayings in @option/@charoption/@jobchange/@charjob [Yor] + * Correction of @rura, @where, @rurap and some other things in GM commands. [Yor] + * Correction of a parameters' errors in GM commands. [Yor] + * Correction of @charzeny Gm command (+ @zeny/@charzeny can add and remove zeny without problem). [Yor] + * Acolyte Job Quest: Fixed Marthilda, Yosuke NPC bugs. [Lupus] + * Added some comments in .conf about @gm [Yor] + * Fixed max value of level_new_gm parameter (not 100, but 99) [Yor] + * Added level_new_gm parameter in login-server to disable or set level of all GM created by @gm [Yor] + * Fixed @GM GM command [Yor] + +08/16 + * Translation of final message of @gm [Yor] + * Fixed on @GM: When login server is offline, char server sends impossible to create GM [Yor] + * Fixed: refuse @gm GM command to ... a GM :) [Yor] + * Added complete answers of /in /ex /inall /exall. [Yor] + * Added option to send information to online GM when there is a hack, a spoof name, etc. [Yor] + * Added individual ignore management, and wisp checks [Yor] + * Added TODO 33 [Yor] + * Fixed possible overflow with @ban GM command [Yor] + * Speed up a little @ban GM command [Yor] + * Added ignore all for wisps (to same map-server). Sorry, before, I was added only for not same map-server [Yor] + +08/15 + * Added a resume for 'email_creation' parameter [Yor] + * Fixed double messages when a player wisp/page itself [Yor] + * Added ignore all for wisps [Yor] + * Added better explanation for the new 'email_creation' parameter [Yor] + * Fixed: now, GM accounts are sended to all servers when auto-detect change of GM file is actived [Yor] + * Fixed: at auto-creation of e-mail, don't ask the player if login-server is offline (we need login-server to save e-mail) [Yor] + * Used config_switch instead of atoi for email_creation parameter [Yor] + * Added an option to create e-mail at connection with client [Yor] + * Added authentification with login_id2 (1040) - activated by default [Yor] + * Added partial part of authentification with login_id2 (1040) [Yor] + * Added some missing GM commands in help.txt [Yor] + * Improved search of map-server when map is not found [Yor] + * Added banish in ladmin (c) to be like of GM commands [Yor] + * Fixed Angel Helm quest, fixed Spore Doll quest exploit, Fixed Morgenstein quest bug [Lupus] + +08/14 + * Added banish in ladmin (perl) to be like of GM commands [Yor] + * Fixed some possible errors with maps management in char-server [Yor] + * Fixed bug of map searching when to few maps on map-servers [Yor] + * Changed some console displayings in char-server [Yor] + * By default, activation of player ip check [Yor] + * Added some of 1040: check of player ip between each server [Yor] + * Fixed dupes in warp scripts, reorganized, thanks to midas fro GH warp [kobra_k88] + * Added possibility to disable automatic reload of GM accounts file [Yor] + * Added log when GM accounts file can not be readed [Yor] + * Changed default of GM accounts file check for 120 sec to 15 sec [Yor] + * Added automatic reload of GM accounts file if it was modified [Yor] + * Added @mapmove, @broadcast, and @localbroadcast in help.txt [Yor] + * Fixed possible error of monster id (GM command) if monster begins by a number. [Yor] + * Added jobname in @charstats command. [Yor] + * Fixed: If a GM command uses NULL pointer as command function, there is no more crash. [Yor] + * Fixed Niflheim&Umbala guides. Fixed Niflheim city. removed 2 NPC clones. [Lupus] + * Added Archer Skills quests, fixed Thief Skill Quest [kobra_k88] + +08/13 + * Add an option to fix a ban for hacker that spoof name (to set minutes of ban) [Yor] + * Fixed incorrect mob IDs with Valaris's mob_db [Ancyker] + * Added possibility to execute GM commands when you wisp someone [Yor] + * Added a console message when a player try to spoof his name in Global message [Yor] + * Added size of packet in packet send by map-srvr to char-srvr about online players [Yor] + * Added check on individual stat at creation of a character [Yor] + * Added npcskilleffect script command. Will allow npc to show effects of certain skills on specified XY coordinate. + Syntax : npcskilleffect 21,10,148,150; skillid, skilllv, x, y. [Valaris] + * Increase maximum weight can be used with an item now, thanks to orn. [Valaris] + * Fixed mob names in Gonryun , thanks to unsul and Filougarou. [Valaris] + * Fixed muramasa curse rate, thanks to OxiMoron. [Valaris] + * Fixed Aldeabran&Comodo towns. Added Cheese quest to Comodo. Fixed Thief Job Quest [kobra_k88] + +08/12 + * Begin to add 1040 in login/char/chrif about authentification. not finished [Yor] + * @mapmove, @broadcast, and @localbroadcast can now be used. [Valaris] + * Looting mobs will not continue to item if it disappears, instead will walk away. [Valaris] + * Unitinalized nameid in script.c [Valaris] + * Added position in log when unknown packets are saved (login-server). [Yor] + * Corrected possible error to contact not good player when a wisp concerns player on an other map-server. [Yor] + * Added a function to obtain character name with index in auth structure (char.c). [Yor] + * Corrected check/test error in mapif_send. [Yor] + +08/11 + * itemdb_searchname fixed (now firstly looks for item aliases 'name', if not found looks for item name 'jname'). [Lupus] + * Optimized getitem, delitem. getweight, fixed there possible scripts exploits [Lupus] + * Thief bug's long name in mob_db.txt was Thief Bug Larva, fixed. [Valaris] + * Thief bug names were mixed around in monster.txt, fixed. [Valaris] + * Fixed incorrect parse of usable item rate. [Valaris] + * Added ban command in ladmin (C), like GM command [Yor] + * Terminated some translations about wisp/page, and control/improvement/correction of wisp/page. All 'found' bugs are corrected [Yor] + * Added translations in inter.c about wisp/page. [Yor] + * Corrected printf datas in intif_parse_WisMessage when map-srv receives wisp message from inter-srv. [Yor] + * Sended an answer when a wisp/page is supressed because of a timeout. [Yor] + * Improved: if inter-srv is asked for a wisp, verify first if the character exists. Don't ask all map-server if it not exists. [Yor] + * Changed Printf in intif_wis_message to have better information. [Yor] + * Improved: Don't ask inter-server for a whisp/page if player is on the same map-server. [Yor] + * Completed some printf and comments in char.c [Yor] + +08/10 + * Improved map_nick2sd function. Now, sensitiv case is removed when it's possible [Yor] + * Corrected split of broadcast messages in char-server [Yor] + * Message to Valaris from Yor (special file) + * Improved accounts file saving: [Yor] + - be sure that accounts file is save at least every minute. + - save accounts file at end of login-server + * Reduce displaying size on some errors about accounts file reading. [Yor] + * Created log when change sex packet give an invalid value (login-server) [Yor] + * Correction of unknow_packet displaying (in log). Separate is done after 8th char [Yor] + * Give possibility to use account name with spaces in prompt commands finished by account name in ladmin (perl). [Yor] + +08/09 + * Fixed char-server lag. 3 tests from 3 people appeared to function properly again. [Valaris] + * Basic Implementation of Basilica [AppleGirl] + * Added ban command (ladmin perl) [Yor] + * Correction of bug about auth_fifo when we block a player. Invalid value in array (login.c) [Yor] + * Correction of some tests on server_fd array in login.c [Yor] + * Improved Item_searching in all GM commands [Yor] + * Created @undisguise GM command [Yor] + * Added Umbala town&quests&guide. Some fixes in Yuno warps&shops&guides. Kafra fix. Added Valhallen quest. [kobra_k88],[Lupus] + * Corrected char_divorce (char-server) to remove ring to both partner [Yor] + * Eventual crashfix for clif_authfail_fd [Kalaspuff] + * Corrected @jump GM command. [Yor] + * Reduced size of conf/help.txt (max 200 lines in chat window). [Yor] + +08/08 + * Added NPCs to @disguise. [Valaris] + * Mob disguises will now show up to player using it as well. Attack animation and sitting do show up to them yet. [Valaris] + * Added @disguise GM command in help files [Yor] + * Added @go 16 to visit prisoners [Yor] + * Reduced number of accounts file saving when informations are not important: [Yor] + - save immediatly any modification/creation/deletion of account (like before) + - use counter before saving if only ip/time of last connection is changed (normal authentification) + because these values are already save in log file. + * Speed up account searching in login-server. [Yor] + * Speed up character searching for @(un)block/@(un)ban. [Yor] + * Created @unjail/@discharge GM command. [Yor] + * According to GM definition level in at_command.conf, set level 20 to online_gm_display_min_level for online files. [Yor] + * Speed up some sortings of online creation (strings based sortings) [Yor] + * Fixed nullpointer crash with disguise in clif_changelook [Kalaspuff] + +08/07 + * Fixed so spells will still be cast if target walks out of range. (please don't overwrite this again) [Valaris] + * Corrected a little error in online files creation (only 1 player was visible) [Yor] + * Optimized memory management of online list [Yor] + - less memory usage + - less tests and loops (more speed) + - more efficient (use directly char_dat position instead of search it) + * Added Official Assassin Job Quest. Now eAthena contains all 2-1 Job Quests! [kobra_k88] + * Fixed scripts: 32hats, warper2, platinum_skills, added/changed some mapflags and other misc script changes [Lupus] + * Added @disguise command (enter a mob_id or name, and you will appear to others as that mob/npc!) + * Fixed code for mob disguises, should not crash clients now. + * Improved online management code when we receive char_id. [Yor] + * Added code for mob disguises. Can not set yet. Atcommand needs created. [Valaris] + * Improved mmo_char_send006b function [Yor] + * Corrected: when save file of character can not be created, try backup file if flag is set to create it. [Yor] + * Added an option to create backup of characters file [Yor] + The backup_txt file was created because char deletion bug existed. + Now this bug is corrected and no character disappear. + But, create a file with a lot of characters can use CPU usage and decrease hard disk speed. + So, I create an option with default value: no create backup. + * Improved online management code and some others little codes (char.c). [Yor] + * Respawn points of prisoners set to the jail rooms. Jail.txt mapflag addeed. So imprisoned players can't escape. [Lupus] + +08/06 + * Improved/Optimized some little code (char.c/login.c). [Yor] + * Improved 0x2afa and 0x2afb (map transmissions between char and map). [Yor] + * Optimized global message nick spoof fix. [Valaris] + * Fixed crash in attacking guardians in a null guild. [Valaris] + * Capped earned exp at 1000000000. [Valaris] + * Set area size back to 20 for now, some things in path.c need to be fixed. [Valaris] + * Fixed crash in guardian search. [Valaris] + +08/05 + * Added @jail GM command [Yor] + * Added explanation of @idsearch and @mapinfo in help.txt [Yor] + * Improved @idsearch GM command [Yor] + * Improved a little 3 loops in ladmin.c [Yor] + * Improve some codes in char.c: [Yor] + - less tests in online creation + - mmo_char_send006b: remove duplicated memset, create a char_dat structure pointer + - server_fd[] not seted/modified/checked correctly + * Set max_walk_path back to 48. [Valaris] + * Added translated Gonryun town. Fixed map names of Louyang shops. Added missing Blacksmith, + added extra Rapairmen into refine.txt. In Inns added 4 different prices based on Base Lvl.[kobra_k88] + +---------eAthena 1.0.0 RC3 TXT--------- +08/04 + * Set battle_athena.conf to more accurate settings. [Valaris] + * Decreased default damage delay (stun after being hit) by 75%. [Valaris] + * Max walk path is now correct (17). [Valaris] + * Area size is now correct (14). [Valaris] + * Improved some very little codes in char.c. [Yor] + * Remove displayings of logs on console of map-server [Yor] + use it for DEBUG, not by default, that decrease a lot the performance + * Added (commented) printf in freeze function for debug if necessary [Yor] + * Fixed melee ctrl-attack targetting. [Valaris] + * Reset attack target when equipping arrows. [Valaris] + * Improved (log and remove_control_chars functions). [Yor] + * Added 'available free bytes' in displaying when size is expanded. [Yor] + * Fixed incorrect returns in clif_authok. [Valaris] + * Added pointer checks to chrif.c [Valaris] + * Added some pointer checks to the mob ai. [Valaris] + * New (lag-free) fix for NPCs / mobs not showing up when chars walk around [Kalaspuff] + +08/03 + * Made so if exp given is less than 0, 0 is given instead of 1 (plants were giving exp) [Valaris] + * Added console displaying to have complete informations when we expand Wdata session. [Yor] + * IMPORTANT: Add a TODO 31 for Guilds' coders. [Yor] + * Old packet 0x2b16 use packet number 0x2b0e. [Yor] + * remove packets 0x2b0e and 0x2b0f. [Yor] + * on character_name ask packet: add account_id of asker. [Yor] + * Improved script code in novice.txt. [Yor] + * Fixed error in alberta.txt. [Valaris] + * Allow player placement on afm-type maps. [Valaris] + * Added afm loading. [Valaris] + * Removed useless code for mob equipment. [Valaris] + * Initial packet setup for possible playable mobs. [Valaris] + * Added check for save_clothcolor for the dyefix, and added another check to make sure player is dyed before using the fix. [Valaris] + * Improvement: Character asking of map-server to char-server is not more case sensitive. [Yor] + * Added TODO 29 & 30. [Yor] + +08/02 + * Re-added "player not attached" error reporting. [Valaris] + * Fixed errors in 32 hat quest that was causing player not attached errors. [Valaris] + * Fixed input number function: commented out negative input check by Valaris in script.c (all scripts have been revised and fixed), + made actual bug fix of buildin_input func (wrong variable type conversion (int)->(unsigned int) in clif.c + Due to the fixed bug Merchant Job Quest works fine now [Lupus] + * Fixed number input bugs/possible exploits: mage.txt IceCream.txt event_valentine.txt refine.txt + milk_trader.txt grandpa_pharmacist.txt aldebaran.txt alberta.txt juice_maker.txt [Lupus] + * Finished: offline player can be @ban/@block/@unban/@unblock by their character name. [Yor] + * Added packet between map to char to work on offline players (@ban/@block/@unban/@unblock) [Yor] + * Added check on character name with less than 4 characters [Yor] + * Added @chardelitem GM command [Yor] + * Fixed Kafras (no more buttonless msg bugs, Kafra Pass works fine) [Lupus] + * Changed input exploit, only checks for negative now instead of having an input cap. Fixed up vending exploit. [Valaris] + * Added check for src with High Wizard's soul drain. [Valaris] + * Fixed up npc_suicide and npc_selfdestruction, should fix up crashes caused by them. [Valaris] + * Added more pointer checks in the clif_authok function. [Valaris] + * Added some pointer checks to clif.c, should prevent crashes. [Valaris] + * Added some checks about writing errors of item names in GM commands (check cases). [Yor] + * Fixed Hunter Job Quest 1.6 [Lupus] + * Removed Kalaspuff's fix for mob/npc data not always being recieved. It was causing + excessive amounts of lag. [Valaris] + +08/01 + * Added ability to spawn character pets. [Valaris] + * Added show_mob_hp. [Valaris] + * @item/@item2 GM commands now work correctly with name begining by a number. [Yor] + * @spawn/@monster2 GM commands authorise spawn of guardians. [Yor] + * Fixed so guardians may be spawned outside of castles. [Valaris] + * Fixed/Improved @spawn/@monster2 GM command. [Yor] + @spawn/@monster2 GM command: you can use space in the desired name now (use "") [Yor] + * Added TODO 26 and 27. [Yor] + * Guardians if owned by a guild will display guild name and castle on name request. [Valaris] + * Added checks for null blocks in mapforeachin functions. [Valaris] + * Addition of a GM level 99 account for test of GM commands. [Yor] + * Creation of a default structure for GM levels (sub-gm, gm, admin, etc.). [Yor] + * Improved @time GM command (better code and display more informations). [Yor] + * Added informations about game time in @time command [Yor] + * Added @time command to have server time [Yor] + * Fix night at start if administrator want night and there is no duration for night and day [Yor] + * Fix for NPCs / mobs not showing up when chars walk around [Kalaspuff] + * Begin @unban/@unblock GM command (structure done). [Yor] + * It's now possible to disable Night or Day (set to 0 in battle.conf). [Yor] + * @day/@night: when already the desired cycle, display a message. [Yor] + * Fixed overlapping Ice-Cream Maker NPC, duplicated NPCs, restored duplicated Akaru's MrSmile [Lupus] + +07/31 + * Terminated: night/day cycles. [Yor] + * When a state comes back to normal, player stay in night if it's night. [Yor] + * Started to add management of day/night: [Yor] + creation of 3 parameters in battle.conf + TODO: usage of these parameters (later). + * added line '// $Id: Changelog.txt,v 1.65 2004/09/29 17:31:42 kalaspuff Exp $' in all code source files to avoid overwrite in CVS. [Yor] + * Fixed number/quantity in @item command. [Yor] + * Fixed when night and disconnect/reconnect, it's night. [Yor] + * Removed extension to check a map in char.c (less tests). [Yor] + * Added savepoint coordonates (x,y) if player is set to a new map (char.c). [Yor] + * Added izlude to check major cities. [Yor] + * Began adding developer mobs. [Valaris] + * Added dyes and fixed client crashes with player mobs. [Valaris] + +07/30 + * Added temp fix for "nullpo player not attached" error message (script.c script_rid2sd) [Lupus] + * Added checks for major cities in afm format. [Valaris] + * Added preliminary AFM(Advanced Fusion Map) support. Actual map-reading works, but rest of server needs to recognize them. + Thanks to alexkreuz [Valaris] + * Changed Map and NPC loading display. [Valaris] + * Removed unneeded 'End' and duplicate 'end' script commands. [Valaris] + * Added 'language ' command in ladmin (perl) to change language of displaying. [Yor] + * Fixed atcommand_gm_only parameter: [Yor] + 0: you can define level command '0' for normal players (gm level 0) + 1: even you define a level 0 for a command, normal player can not use it. Only GM level 1 or more can use command (if command level is possible for this GM) + Note: This parameter is not like atcommand_for_all (this parameter doesn't exist actually) . + * Fixed Kafras (Cart Service for Super Novice), some warps in Morroc, Aldebaran. [Lupus] + Added official shop into St.Abbey. [Lupus] + Added quests: Lutie Town Hat Quest by TonyMan, 23 new hats custom quest. [Lupus] + Fixed jobchange.txt. [Lupus] + Improved pvp.txt. [Lupus] + Rearranged and updated! (now in 2 variants) mapflags. [Lupus] + Updated map_athena.conf [Lupus] + * Fixed: battle_athena config's atcommand_gm_only; yes was no and vice versa [Kalaspuff] + +07/29 + * Added 'language ' command in ladmin.c to change language of displaying. [Yor] + * Re-added guardians don't attack guild members, someone must have removed it by accident. [Valaris] + * Restore correct displaying (LAN/WAN) previous was good :) (sorry... prabably tiredness). [Yor] + * Fixed some errors in novice.txt script. [Yor] + * Kashy's script fixes. [Valaris] + * Displaying of correct information in LAN/WAN test (displaying was reversed) in char.c [Yor] + * Creation of a char_unblocked directory (char directory is blocked) [Yor] + - modification of makefile + * Added a note in TODO 14: encrypted password - problem with client versions [Yor] + +---------eAthena 1.0.0 RC2 TXT--------- +07/28 + * Added metaller to equipped mobs. [Valaris] + * Added a note in TODO 19 [Yor] + * REMOVED last changelog: cvs server: [14:29:29] waiting for cvs's lock in /usr/cvsroot/athena/src/char [Yor] + * Displaying of correct information in LAN/WAN test (displaying was reversed) in char.c [Yor] + * Added "OMG" emotion to weapon/armor breaking. [Valaris] + * Removed space in a pointer in mob.c. [Valaris] + * Restored previous version of lan management in login.c, because: [Yor] + - check test was incorrect (no mask for controled ip). + - in check test, we recalculate every time the subnetwork (loss of time). + - impossible to have a name definition for the sub-network (some network administrator use a name to define the sub-network). + - no more default configuration of sub-network. + - possible errors in the reading function of the lan file. + - no more logs about sub-network. + - BUT, conserved: - new default name for lan file + - color for displaying of LAN/WAN + * Removed some memsets from chrif.c that caused segfaults. [Valaris] + * Added fix for anklesnare and spiderweb. [Valaris] + * Added Kashy's Lan Support code. [Valaris] + * Removed variables and assignment used by prevent_multi_login. [Valaris] + * Removed prevent_multi_login. (many problems reported with it) [Valaris] + * Fixed armor breaking. Was being broken when pc was attacking instead of when being attacked. [Valaris] + * Fixed checkcart, checkfalcon, checkriding (they didn't return any value) in script.c [Lupus] + * Fixed breeder.txt renter.npc, kafras NPC (added correct class check, added correct checkcart, checkfalcon, checkriding) [Lupus] + * Fixed Kafra functions_kafras.txt NPC (added correct checkcart, fixed cmall cart giving bug) [Lupus] + * Fixed Kafra functions_kafras.txt NPC (fixed Kafra Pass exploit) [Kobra_k88] + * Fixed Hunter.txt coords of the Guild entrance warp [Lupus] + +07/27 + * Improved check command in ladmin.c [Yor] + * Added map_id check in map_foreachinarea, to prevent eventual crashes [Kalaspuff] + * Added @enablenpc and @disablenpc in help files [Yor] + * Fixed Thunder Storm range (thanks midas) [Kalaspuff] + * Added Anthell NPC trigger in Morroc.txt warps/town [Lupus] + * Added missing Warps for Job Quests of Swordman, Hunter and Thief in jobquests.txt [Lupus] + * Updated atcommand_conf, missing GM-level for @enablenpc and @disablenpc [Yor] + * Removed possible overflow error in @enablenpc and @disablenpc [Yor] + * Updated atcommand_conf, missing GM-level for haircolor [Kalaspuff] + * Improved best job test in novice.txt [Yor] + * Improved @go command: [Yor] + - give list of cities if no value + - added start point (to welcome newbies) + - give possibilities to use city names (@go geffen): at least 3 characters, and some writing errors are tested + * Replaced every Job Quest Script (excluding Assassin, 2-2 and 2-2-X ). Now all 2-1 Jobs have big quests. [Kobra_k88] + * Replaced all Skill Quests (Added Sand Attack Skill Quest). [Kobra_k88] + * Added Legendary Swords quest. [Kobra_k88] + * Replaced 6 towns with new scripts: Izlude, Prontera, Morocc, Geffen, Alberta, Al De Baran. Splitted all towns quests into files. [Kobra_k88] + * Splitted and optimized Kafras & Guides. [Kobra_k88] + * Implemented Kafra Pass! [Kobra_k88] + * Removed free Breeders (replaced by the correct ones). [Kobra_k88] + * Placed all Sign Posts/Signs into a single file. [Lupus] + * Files arrangement, additional warps/scripts correction. Fixed several scripts (NPC overlapping, bad sprites, etc). [Lupus] + +07/26 + * More accurate pvp point system. It skips ranks, needs more work. [Valaris] + * Fixed crash in executioner card code. [Valaris] + * Fixed mob respawn after death bug. [Valaris] + * Fixed exp problem caused by bounds checking. [Valaris] + * Fixed pvp rank so only one person may be rank 1. [Valaris] + * Any time a person is on a pvp map, the rank will calculate, preventing bad rank packets from being sent. [Valaris] + * Added Job Agencies for Training Ground (novice.txt). [Yor] + * PVP respawn client crash fix. [Valaris] + * Fixed small error in kafra.txt [Syrus22] + * Finished adding special equipped mobs. [Valaris] + * Added 2 living statues behind the NPC 'Monster Master'. [Yor] + * Removed infinite possibilities to have items from helper (novice.txt, new_1-4.gat,60,149). [Yor] + * Added 2 living statues behind the NPC 'Monster Expert'. [Yor] + * Improved a little 1st course of novice training. [Yor] + +07/25 + * Allow mobs to be equipped with pet armor. mob_avail and clone mobs need to be created. [Valaris] + * Removed [AppleGirl]'s armor breaking code. [Valaris] + * Commented out data_dir. [Valaris] + * Finished exp bounds checking. [valaris] + * Added negative value checks to clif_updatestatus. [Valaris] + * Added exp bounds checking for those rediculously high rate servers. [Valaris] + * Added bounds checking to the @zeny and @charzeny commands. [Valaris] + * Improved and corrected some errors 1st course of novice training. [Yor] + * Removed no guild check for Guardians. Guardians SHOULD attack people with no guild. [Syrus22] + * Fixed Alliance check in mob.c [Syrus22] + * Added armor breaking to normal battle (crits will double the chance) [Valaris] + * Fixed mistake in map.c causing compile errors. [Syrus22] + * Fixed backstab bow penalty option. [Syrus22] + * Fixed Alliance check in battle.c for emp/guardian damage. [Syrus22] + +07/24 + * Added backstab bow penalty option [Akaru] + * Fixed OnGuardianDied events on prontera castles 3 to 5. [Valaris] + * Another vending fix. [Valaris] + * Fixed bugs in npc headers caused by someone using spaces and not tabs. (kafra.txt, guide.txt, yuno.txt) [Valaris] + * Fixed a vending bug. [Valaris] + +---------eAthena 1.0.0 RC1 TXT--------- +07/22 + * Fixed numerous startup errors in aldebaron castles and one geffen castle. [Valaris] + * Full Guild Wars Script Complete!!! [Akaru] + * Fixed rice ball item. [Valaris] + * Fixed problems with options and peco riding. [Valaris] + * Updated item_db with fix for Sleipnir and more translations. [Akaru] + * Translated item_violetbox, mob_poring, mob_branch, mob_boss. Fixed wizard.txt (wrong item id), headgeatquest.txt(added Zeny check) [Lupus] + +07/21 + * Updated refine.txt. Added optional features and optimized the file. [Syrus22] + * Evened out the # of columns in mob_db, filled in some blanks. [Valaris] + * Undid compilation errors caused by Akaru's removal of nullpo.o from map-server compile [Valaris] + +07/20 + * Removed Ghostring from gef_fild13.gat [rg] + +07/19 + * Fixed Graffiti [Valaris] + * Zeny Bug In Vending Fixed [Darkchild] + +07/18 + * Added a check about level of at_command when reading the file [Yor] + * Updated /help and conf/help.txt [Yor] + * Added @nuke command in conf/help.txt [Yor] + * More WoE Castles Done [Hikaru] + * Changed: inter.txt->inter.log in log directory [Yor] + * Added some char_log when character can not be created (invalid value, invalid name, etc...) [Yor] + * Changed: char.txt->char.log in log directory [Yor] + * Update features.html/changlog.html [Yor] + * Fixed compilationissue on FreeBSD [Kalaspuff] + +07/16 + * Remove limit for kami/kamib ladmin command. [Yor] + * Fixed crash in weddingtxt.txt where it was checking an invalid equip index. [Valaris] + * Added some TODO for next version. [Yor] + +07/15 + * Changed: login.txt->login.log in log directory [Yor] + * added system to choice authorised ip for remote administration [Yor] + * Added listBan/listOk commands in ladmin's. [Yor] + * Speed up a little search_mapserver function. [Yor] + * Init map strings of each servers when map-server send informations. [Yor] + * Added some TODO for next version. [Yor] + +07/14 + * Fixed another lockup with multi_level_up [Valaris] + * Added kami(yellow)/kamib(blue) commands in ladmin (terminated). [Yor] + * Fixed name of ladmin_athena.conf. [Yor] + * Fixed mvp item reading. [Valaris/Syrus22] + * Added new move packet in map (ver.13jully04) [Yor] + * Added new auth packet in map (ver.13jully04) [Yor] + * Added kami/kamib commands in ladmin. not terminated: to do: login->char [Yor] + * Updated Some Npcs [Darkchild] + * Added Gefenia Warps [Darkchild] + * Added Berzebub Quest [Darkchild] + * Removed random alchemist marine sphere code, until some other system is worked out. [Valaris] + * Fixed infinite loop caused by turning multi level off. [Valaris] + * Added display id the char-server is freezed. [Yor] + * Added debug printf about the max_connect_user in char-server. [Yor] + * Added banadd command in ladmin.c [Yor] + * Removed duplicate check in chrif.c. [Yor] + +07/13 + * Fixed GM_level code in map-server. [Yor] + problem is in the hash system of the db -> use simple db until we found solution. + note: for this db, it's not necessary to use a db system (little db, 2 values: key, value) + * Improved GM_level code in map-srv, but not solve the problem. [Yor] + * Fixed error of 'return' without value in chrif_parse (chrif.c). [Yor] + * Added character name, account id and gm level on console in map-server when auth is accepted. [Yor] + * Added gm_level of the account on console in char-server when auth is accepted. [Yor] + * Added gm_level of the account on console in login-server when auth is accepted. [Yor] + * Added timeadd command in ladmin.c [Yor] + * Added help for each command (help ) in ladmin (perl and c). [Yor] + * Fixed global message (normal speak) name spoof exploit. [Valaris] + * Added timeset command in ladmin.c [Yor] + * Added banset command in ladmin.c [Yor] + * Added vending and trading dupe fixes, thanks to Kinko and Kazzy [AppleGirl] + * Added multi_level_up command to battle_athena and commandline. [Valaris] + Turning it off will allow a player to only level up once from a monster. + * Added: explanations of ladmin_athena.conf keys in conf_ref.txt. [Yor] + * Fixed: init mmo_map_server structure (to 0) in char-server. [Yor] + * Added Gefenia Maps [Darkchild] + * Added @nuke command do to user request. [Valaris] + * Removed nick spoof fix code for now, it broke chat. [Valaris] + * Added some code for @nuke command. [Valaris] + * Finished adding battle_athena options to command line. Every option in battle_athena.conf + can now be passed directly through the command prompt. [Valaris] + +07/12 + * Added many battle_athena options to command line arguments. [Valaris] + * Allow battle_config_switch to be used globally in map-server. [Valaris] + * Rewrote map-server command-line code. Will now begin implemented nice commands for map-server. [Valaris] + * Added BETA version of ladmin in C. [Yor] + * Added new packet structure of authentification and move - automatic detection. [Yor] + * Added /item command. It is same as /monster. Both commands will search for mobid first, if not found will give item. [Valaris] + * Fixed a displaying error in state command (perl ladmin). [Yor] + * Added /monster command. Syntax is /monster . [Valaris] + * Fixed chat spoofing in global messages. [Valaris] + * Prevent nick spoofing in whispers. [Valaris] + * Added check about lenght of packet 0x72 for new client version [Yor] + * Added Pet Equip Items Quest Npc + * Added Pet Taming Items Quest Npc + * Added Slotted Sunglasses Quest Npc + * Added pet_equip_required option for pet skills. [Valaris] + * Changed: create a sub-function for help command in ladmin (perl). [Yor] + +07/11 + * Added Petit pet skill. [Valaris] + * Added some code for Petite Heaven Drive, still does not work, but doesn't crash. [Valaris] + * Fixed dokebi and baby desert wolf pet skills. [Valaris] + * Added Orc Warrior, Hunter Fly, Poison Spore, Baby Desert Wolf, Baphomet Jr, and Dokebi pet skills. [Valaris] + * Added script command petskillattack.[Valaris] + * Fixed search command in ldamin (perl) ignore sensitive case now. [Yor] + * Fixed default to 0 for save_unknown_packets configuration in login. [Yor] + * Fixed the warnings about implicit declarations. [Kalaspuff] + * Added @guildrecall/@partyrecall commands. [Yor] + * Added Isis pet skill. [Valaris] + * Added petmag script command for magnificat. [Valaris] + +07/10 + * Added Banker NPC because alot of users wanted one. [Syrus22] + +07/09 + * Added Sohee pet skill. [Valaris] + * Added petheal command. [Valaris] + * Added Smokie pet skill. [Valaris] + * Added bonus bPerfectHide for Smokie pet skill. [Valaris] + * Added Spore pet skill. [Valaris] + * Created petrecovery script command. [Valaris] + * Added Poring, Drops, Poporing, and Yoyo loot skills. [Valaris] + * Added petloot script command for pet looting. [Valaris] + * Removed pet_loot config settings. [Valaris] + * If pk_mode is on, a message will show up in map-server. [Valaris] + * Fixed pk_mode extra experience and drops so will occur if monsters is 20 levels or higher than player. [Valaris] + * Fixed @killmonster crash caused by implementation of pk_mode. [Valaris] + * Finished setting up pk_mode, should be 100% complete now. [Valaris] + * Added nopvp.txt for pk_mode. [Valaris] + * Prevent novice engagement in pk_mode. [Valaris] + * Fixed up and changed the exp penalty system. [Valaris] + * Pk_mode will now give double exp loss if killed by player. [Valaris] + * Updated conf/help with new commands [Yor] + * Removed more pvp timer stuff from pk_mode [Valaris] + * Increase drop rates +25% if over level 20 on pk_mode. [Valaris] + * Changed +25% exp increase on pk_mode to 15%. [Valaris] + +07/08 + * Disabled pvp rank and timer if pk_mode is on. [Valaris] + * All maps made pvp if pk_mode is on. [Valaris] + * pk_mode additional 25% exp given over level 20 [Valaris] + * Disable @pvpon and @pvpoff commands if pk_mode is on. [Valaris] + * Added pk_mode option in battle_athena.conf (not yet implemented) [Valaris] + * Reworked prevent_multi_login, should work perfectly now. [Valaris] + * Removed need for eof=2 for prevent multilogin, will now just delete the blocks containing both sessions. [Valaris] + * Added map-servers anti-freezed connection in char-server. [Yor] + * Added char-servers anti-freezed connection in login-server. [Yor] + * Fixed spy commands so that inputting the same id/name turns off the command. [Syrus22] + * Created @partyspy command. [Syrus22] + * Renamed search_guildname function to conform with normal naming standards in guild.c. [Syrus22] + * Created @whomap/@whomap2/@whomap3 commands to show online players on a specifical map. [Yor] + * Updated and Shrunk the Kafra Script. [Syrus22] + * Create @reloadgmdb gm command. [Yor] + +07/07 + (Dated On Aegis Website) + *--Released 1.0.0 RC3--* + * Fixed crashed with prevent_multi_login. [Valaris] + * Allow infinited local logins if prevent multi_login is on. [Valaris] + * If prevent_multi_login is on, it will disconnect both clients on the same ip. [Valaris] + * Prevent_multi_login will now list the character names of both accounts when logged out, and give a message. [Valaris] + * added updated const.txt and pet_db.txt [Valaris] + * GM accounts/level updating without restarting completed (by reloadgm ladmin command). [Yor] + * Removed gm_account_filename definition from map.conf. [Yor] + * Updated GM level by reloadGM ladmin command. [Yor] + * Added a packet between char and map to send GM accounts and their level. [Yor] + * Added a GM minimum level option to display 'GM' in online files. [Yor] + * Added a warning when a GM account is defined twice in the file. [Yor] + * Check for castle before guardian searches for emblem. [Valaris] + * Prevent stealing from treasure boxes. [Valaris] + * Enable mounted classes to use pedestrian counterpart's items. [Valaris] + * Change so petskillbonus will only update stats(client-side) if need be to prevent errors. [Valaris] + * Fixed crash with putting pets with skills back into egg. [Valaris] + * Added Steel ChonChon, Rocker, and Deviruchi pet skills. [Valaris] + * Added bAllStats(SP_ALL_STATS), bAgiVit(SP_AGI_VIT), bAgiDexStr(SP_AGI_DEX_STR) bonuses for pet skills. [Valaris] + * Added ChonChon, Lunatic, Picky, and Savage Babe pet skills to pet_db.txt. [Valaris] + * Added petskillbonus command for pet skills. Added pet_skill_bonus functions in pet.c. Made pointers for pet skills. [Valaris] + * Added 'GM' display option for online files [Yor] + * Improved GM accounts file reading in login-server [Yor] + +07/06 + * Changed heal dog in prontera to a poring. [Valaris] + * NPCs with mob sprites can now be used in scripts. [Valaris] + * Removed sd->brokencounter. Made getbrokenid more scripter friendly. Updated refine.txt getbrokenid commands. [Valaris] + * Mounted classes will now use equipment of their pedestrian counterpart. [Valaris] + * Improved management of GM account structure in char-server. [Yor] + * Added packet betwen login to char to send GM accounts value. [Yor] + * Added reloadGM command in ladmin to reload GM accounts file without stop the login-server. [Yor] + * Added listGM/lsGM command in ladmin to list only GM. [Yor] + * Correct an error in loop of char_divorce function (incorrect variable). [Yor] + * Added some comments. [Yor] + * Added a check on start_point.map when configuration is readed. [Yor] + * Modified final message of login log at end of login-server. [Yor] + +07/05 + * Flamelauncher,frostweapon,lightningloader,seismicweapon, and enchant poison now check to make sure target's weapon is not already enchanted. [Valaris] + * If sage breaks another person's weapon due to enchant failure, it will tell caster. [Valaris] + * Modified venom splasher to hopefully stop crashes caused by spamming. [Valaris] + * SA_FLAMELAUNCHER,SA_FROSTWEAPON,SA_LIGHTNINGLOADER,SA_SEISMICWEAPON now check to make sure target is holding a weapon. [Valaris] + * SA_FLAMELAUNCHER,SA_FROSTWEAPON,SA_LIGHTNINGLOADER,SA_SEISMICWEAPON now will break target's weapon on failure (if one + is being held and caster met requirements) [Valaris] + * Prevent unidentified and broken items from being sold. [Valaris] + * Added buildin_repair for equipment repair npc. [Valaris] + * Added repair npc to forgery in prontera. (refine.txt) [Valaris] + * Added sd->brokencounter and buildin_getbrokenid for item repair npc. [Valaris] + * Corrected some item names [rg] + * Fixed so @repairall success message and effect will only display once. [Valaris] + * Added "No items needed to be repaired" message and added forge success effect to @repairall. [Valaris] + * Added @repairall command. [Valaris] + * Added equipment_breaking option, changed weapon_break_chance to weapon_break_rate (changed to %) [Valaris] + * Crit's will now double weapon breaking chance if turned on. [Valaris] + * Added missing commands in atcommand_athena.conf. [Yor] + * Added @warpto command (same @jumpto). [Yor] + * Added increase in chance to break weapon if using powerthrust. [Valaris] + * Added weapon_break_chance to battle_athena.conf. [Valaris] + * Modified multiple login from one ip prevention(and remove gm bypass). [Valaris] + * Broken weapons will now have their description names in red. [Valaris] + * Speed up characters saving [Yor] + * Improved logs when a character isn't readed [Yor] + +07/04 + * Completed Prontera guild castles [Akaru] + * break_weapon_chance now works, but broken weapon will not be displayed any differently than a normal weapon. + Also does not yet affect a dual dagger assassin's 2nd weapon. No way to repair yet, and no skills/stats affect breaking chances. [Valaris] + * Update int_storage to include broken column on all items (updates from old version) [Valaris] + * Added @guildspy command. [Syrus22] + * Added weapon_break_chance. (Not implemented yet) [Valaris] + * Added break column for items in athena.txt (will upgrade older versions automatically) [Valaris] + * Changed default required GM levels for GM commands (effective if corresponding directive(s) in /conf/atcommand_athena.conf is/are missing) to 1 [rg] + * Added packet_table_en.txt in doc folder. Has some translations of the client_packet.txt. [Valaris] + * Prevent @monster and @spawn of guardians/emperium. [Valaris] + * Changed killmonster so it will not destroy guardians. [Valaris] + * Added prevent_multi_login in battle_athena.conf to disable multiple logins from same ip (ignores gms, and will + display ip of offending ip if turned on) [Valaris] + * Added checks on player trading to prevent possible exploits. [Valaris] + * Make sure cart is on before vending. [Valaris] + * Cleaned up vending exploit fixes. Now checks to make sure not vending more than max items per skill level. [Valaris] + +07/03 + * Prevent use of potion pitcher on oneself, fixed potion pitcher so can be used on other targets. [Valaris] + * Fixed the damage code for Falcon Assault, so its not totally useless. [?] + * Update peco riders for people upgrading athena, fixed bug in unmounting pecos. [Valaris] + * Removed option 32 from @option, added @mountpeco command. [?] + * Removing peco will revert to proper job level, fixed so jobchanging from peco status to peco user without peco status, + will update job to peco status. (ie going from Mounted crusader to Unmounted knight, will jobchange to mounted knight) [Valaris] + * Fixed so Peco mounting will not reset job level. Set to remove peco status if jobchanging to a class that does not use them. [Valaris] + * Peco mounting will now jobchange accordingly. [Valaris] + * Added checkfalcon and checkriding script commands. [Valaris] + * Added checkcart script command (since was already being used in scripts) [Valaris] + * Re-added unix fd_setsize definitions, makefile will now pass -DFD_SETSIZE=4096 only for windows compiles. + Tested new implementation of using -DFD_SETSIZE=4096 in makefile on windows box, and got past 64 connections even. [Valaris] + * Improved messages between servers about connections. [Yor] + * Improved pc_resetlvl, fixed the bug about options being left. [?] + +07/02 + * Added optional match_test in @who/who2/who3 commands (no sensitive case) [Yor] + * If there is no map-server, send right message to client (char-server) [Yor] + * Improved counter of users (char-server) [Yor] + * Improved save of characters (char-server) [Yor] + * Improved sorting of account before save (login-server) [Yor] + * Improved map search at selection of a character (char-server) [Yor] + +07/01 + * Removed FD_SETSIZE definitions from socket.h, added -DFD_SETSIZE=4096 argument to makefiles. [Valaris] + * Changed exploit fix in chrif.c [Valaris] + * Added assassin mask view_id in item_db [Valaris] + * Added a parameter to authorise minimum GM level at connection (login) [Yor] + * Fixed crash caused by making raw connection to map-server. [Valaris] + * Corrected a possible error at check of online players [Yor] + * Improved characters names control/check [Yor] + * Improved save/load of REG2 strings and values (login) [Yor] + * When there is no char-server, login-server sends proper message instead of a void list of servers [Yor] + +06/30 + * Fixed a crash when used @charmodel,@charstpoint,@charskpoint and + @charzeny with the wrong name [Kalaspuff] + * Added possibilities for switchs in battle.conf (add some foreign language) [Yor] + * Protected char-server again disconnection of login-server [Yor] + * Added possible protection against packet exploits in chrif.c. [Valaris] + * Login-server: Added an option for the format of the date (log, etc...) [Yor] + Improved some little code. + Added log for char-server packets. + * Correction of prtg_cas03.txt that crash server AT START! [Yor] + * Added functions of mapflag noskill [Kalaspuff] + +06/29 + (Dated On Aegis Website) + *--Released 1.0.0 RC2--* + +06/28 + * Added monsters_ignore_gm option. Monster won't attack GMs if turned on unless attacked and within 1 cell. [Valaris] + * Added drops_by_luk option in battle_athena.conf. Anything higher than 0 will turn this option on, and act as a mutiplier. + Example : Setting of 10 with 50 luk would add 5 to the drop rate. So say a card has a drop rate of 2, it would become 7. [Valaris] + * Fixed range and removed skill failed message from Venom Splasher, also moved some of it's code around. [Valaris] + * When a player arrive on map-server, time limit of its account is displayed if not unlimited [Yor] + * Fixed problem where warp portals broke in npc.c [Valaris] + * Updated atcommand_heal so it works like it should [Kalaspuff] + +06/27 + * Changed Venom Splasher so it will increase damage based on level of Poison React (had it set so the player had to be + using it, but it turns out it doesn't need to be) [Valaris] + * Venom Splasher now works except for the counter part. Damage is instantly dealt if skill is successful. [Valaris] + * Improved @item command to make correctly pet eggs [Yor] + * Updated Chase Walk so you can't attack while you have it casted [?] + * Removed un-needed code for graffiti from clif.c [Valaris] + * Added @ban command (to ban a player for a limited time) [Yor] + * Added @charblock command (you have been blocked by GM team) [Yor] + * Added the mapflag nowarpto [Kalaspuff] + * Updated the function of nowarp [Kalaspuff] + +06/26 + * When a player is banned (or with a state != 0), he is disconnected [Yor] + * When sex is changed, skills of other sex are reseted (and skill points increased of the same number) [Yor] + * To avoid problem with change sex and equipement, changed sex character is unequipped of all equipment [Yor] + +06/25 + * Added @charchangesex GM command [Yor] + * Changed: Changesex is now done after that the login-server has confirmed the change [Yor]. + becuase sex is saved in account file. + +06/24 + * Added new classes in change sex script command (buildin_changesex). [Yor] + * Translated pet_db.txt again [Valaris] + * Initial implementation of Venom Splasher. Runs checks on target poison status and whether or not hp is less then 2/3. + Will display skill failed if checks do not pass. Shows effect when successful. [Valaris] + * Added administration system to change final date of a banishment. [Yor] + * Added information about banishment in admin packets about an account. [Yor] + * Updated Chase Walk so it cancels when recasted to fix it. [?] + * Initial implementation for Chase Walk skill for Stalker Class [?] + * When an account is banned, message_error_7 is not more modified [Yor]. + +06/23 + (Dated On Aegis Website) + *--Released 1.0.0 RC1--* + * Added bRandomAttackIncrease for Executioner card. Chance stacks, attack does not. [Valaris] + * Fixed magic_damage_return so it will actually work (for Maya card). [Valaris] + * Add a ban timestamp in the structure of the accounts. Management not yet make [Yor] + +06/22 + * Don't send a message when it's void (packet 0x8e) - client doesn't display it [Yor]. + * Add a refresh time parameter for the html online file (refresh time in the explorer) [Yor]. + * Create a job_name function in atcommand to have the name of the job (suppress repeated code) [Yor]. + * Added New City: Jawaii + * Fix free memory of online structure at end of char-server [Yor]. + * Remove possible duplicated online players (multiple map-servers) [Yor]. + * Add examples in state command (ladmin) [Yor]. + * Use a function to display warnings in login-server to avoid duplicated messages with import option [Yor]. + * Iinitial implementation for magicdamagereturn for Maya Card [?] + * skill_out_range_consume - If it is set 'no' the skill will still be cast (like real servers). + If it is set to yes, skill will fail and sp and items required will be lost. [Valaris] + +06/21 + * Updated Sacrifice skill code to be more flexible for user usage [?] + * Changed SC_ATTACKPOTION and SC_MATTACKPOTION to SC_ATKPOT and SC_MATKPOT, also added it in item_db.txt [?] + * Guild Territory will now display the # of castles owned or "None Taken". [Valaris] + * Changed SC_ATTACKPOTION and SC_MATTACKPOTION so the increase can be specified in itemdb.txt. + Example : sc_start SC_AtkPot,18,30; (+30 atk for 30 seconds) [Valaris] + * Added SC_ATTACKPOTION and SC_MATTACKPOTION for +30 atk for specified time period (need to get the correct id's yet, + right now giving wrong icons and wrong message). Added entries in const.txt, need more info to complete these. [Valaris] + * Fixed so players will always spawn with guild emblem if one is needed. [Valaris] + * Reduce number of tests in atcommand_character_stats_all (@charstatsall). [Yor] + * Fix memory management for online players list. [Yor] + * Party HP now updates instantly on change. [Valaris] + * Fixed crash when non-guild members are in the area of guardians in attack mode.(Will ignore them) [Valaris] + * A higher level GM is not displayed by who/who2/who3 if he uses HIDEGM. [Yor] + * When a GM with HIDEGM relogs, he is always HIDEGM (only GM). [Yor] + * Improve presentation of online.txt file. [Yor] + * In /npc/quests/magicalhatquest, corrected checking for and deletion of Mage Hat instead of Wizard Hat. [rg] + +06/20 + * Fixed problem with guardian emblems disappearing [Valaris] + * If a GM use GM HIDE, he is not counted in the number of players [Yor] + * Setup prtg_cas01 to load guardians on server startup and to spawn them when purchased. Also switched from GuardianDied + to OnGuardianDied (other way wasn't working). Changed so guardians won't be killed on agitend. [Valaris] + * Guardians cannot attack and cannot be hurt during non woe time. [Valaris] + * Switched checking of castle.txt format so it won't wipe guardian hp everytime it loads. [Valaris] + * Made it so if guardians were installed in old db, that it will set guardians to full hp based on defense and class. [Valaris] + * Autosave will save guardian HP data. [Valaris] + * Castle.txt visibleG flags will be set when guardians are killed. [Valaris] + * Moved emperium defense upgrade to mob.c. [Valaris] + * Removed guardian hp saving from agitend. [Valaris] + * Added option to choose which columns are displayed in the online files [Yor] + * Added option to choose how to sort online players in the online files [Yor] + * Correction of a new error on guild (from [Valaris]). Old castle.txt files couldn't be readed. [Yor] + * Kafra Points And Rewards fixed [Darkchild] + * Kafra file made a lot smaller with DoEvents [Darkchild] + * Fixed lotsa bugs in Kafra's [Darkchild] + * Initial implementation for paladin's skill sacrifice [?] + * Loading/Saving of guardian hp (loads on agitstart, saves on agitend) [Valaris] + * Added so guardian hp will change accordingly. Moved the guardian defense increase to mob.c [Valaris] + * Implemented guardian and guardianinfo script commands [Valaris] + +06/19 + * Added Ghp0-7 into castle database [Valaris] + * Added configuration parameters to choose online files filename [Yor] + * Added online files (txt and html) [Yor] + * Added choose of authorised letters/symbols for characters names [Yor] + * Added 3 new Dragon Boat Festival monsters with temporary stats to mob_db [Akaru] + * Translated more of item_db [Akaru] + * Added correct effects for Dragon Boat Festival items [Akaru] + * Solve problem about the change of MAX_GUILDPOSITION by [Valaris] when we load an old guild.txt file. [Yor] + * Improve allow/deny configuration. Write warnings if necessary. [Yor] + +06/18 + * Add heal_payment.txt as an alternative to heal.txt. [Yor] + * Sex change (char.C): Correct error in jobchange. Disconnect player if connected. [Yor] + * Sex change/account deletion: Change authentification to avoid that player comes back on char-server within the 5 secondes before disconnection. [Yor] + * Save configuration of login-server in log file at start. [Yor] + +06/17 + * Added fritz's vending exploit fixes. [Valaris] + * Increased max guild castle size to accomodate for novice guild castles. [Valaris] + * Fixed investment in prontera castle 1. [Valaris] + * Implemented of showing guardian hp on guardian investment in prontera castle 1 (factors in defense investment) [Valaris] + * Added strmobinfo script command. Syntax is strmobinfo(x,y). 'y' is the mob's id. x will show different values. + 1=english name, 2=jap name, 3=level, 4=max_hp, 5=max_sp,6=base_exp,7=job_exp. [Valaris] + * Disable % and / for 1st symbol of commands (party chat symbol and standard ragnarok GM commands) [Yor] + +06/16 + * Added fully functional economy for Prontera Castle 2 Guild Wars script [Akaru] + * added fix for cross-class ensemble skills. [?] + * Increased max guild member limit to accomodate for +2 member increase per extension level + and increased max position to 56 to accomodate for all members. [Valaris] + * More of fov's fixes for atcommand.c, chrif.c, and clif.c. [Valaris] + * added fixes for class checking skills like bard & dancer skills and a priest skill. [?] + * updated skill_cast_db and skill_require_db.txt [?] + * changed int_guild.c added +4 for extension skill to match kRO [?] + * remote administration: add a command/packet to change sex of an account [Yor] + * Log detailled reason of refused connection in remote administration [Yor] + * Create a mmo_auth_tostr for accounts [Yor] + * Add a message when char-server is terminated [Yor] + * Save deleted accounts (administration deletion) in log file [Yor] + * Add a message when login-server is terminated [Yor] + +06/15 + * Added in fov's fixes for socket.c, atcommand.c, npc.c and skill.c [Valaris] + * Added a char_log function. Save unreadable characters in log instead of a specific file [Yor] + * Save invalid account lines in log file. Account will be never lost [Yor] + * Sort characters of same player with the slot number in the characters file [Yor] + +06/14 + * Fix errors in prtg_cas01, prtg_cas05 and MrSmile scripts [Akaru] + * Added fully functional economy for Prontera Castle 1 Guild Wars script [Akaru] + +06/13 + * If player is on map-server when the account is deleted, player is now disconnected [Yor] + * Correction of char deletion bug when account is deleted [Yor] + * Added Prontera Castle 5 guild wars script [Akaru] + * Added Prontera Castle 4 guild wars script [Akaru] + * Add checks about duplicated character ids and names [Yor] + * Don't save a reg of a character if its string is void [Yor] + * Read a character even if a reg string is void (don't suppress the char for that) [Yor] + * Save characters in account_id order [Yor] + * Save not readed characters in a file (char file name + "not_readed.txt") [Yor] + * Display line number when a character can not be readed [Yor] + * Initialise char_num! Display number of readed characters [Yor] + * Do right initialization of char_dat [Yor] + * Add red color for ERROR displays in char.c [Yor] + +06/12 + * Change 0 to '\0' for char in login.c. Add red color for ERROR displays [Yor] + * Optimised Mr. Smile NPC script [Akaru] + * Add a configuration in atcommand.conf to set the 1st character of ALL commands (Now, you can choose @, #, !..., any char that is not control character) [Yor] + * Optimised Prontera Castle 1 and 2 guild wars scripts [Akaru] + * Added Prontera Castle 3 guild wars script [Akaru] + * Changed Graffiti placement, will allow placement of one painting at a time (old one will be replaced). [Valaris] + * Graffiti displays to other plays and remains on map for set time period. [Valaris] + +06/11 + * Initial implementation of graffiti (does not change directions yet (vertical/upsidedown) and doesn't dissappear [Valaris] + * Add config_switch (0/1, yes/no, ...) for char-server configuration [Yor] + * Add a display when a player does a connection [Yor] + * Add a display when a remote administration does a connection [Yor] + +06/10 + * Improve compiling instructions for cygwin (socket.h) (depends of the cygwin version). [Yor] with help of [Lostsoul] + * Add parameters in login.conf to display or not parse information [Yor] + * Remove some repeated codes in ladmin / add example when error of command [Yor] + * Remove delete_session error in login.c (sorry) [Yor] + * Display correct message for char-server disconnection [Yor] + * Finish translation of ladmin [Yor] + * Fixed Various Npc Bugs [Darkchild] + * Added green colour for READY displays in char-server, login-server and map-server [Akaru] + +06/09 + * Add some comments in ladmin [Yor] + * Remove displaying of packet 0x2714 from login-server [Yor] + * Correct length of password send to login-server in char-server [Yor] + * Char-server/login-server: put default lan to 127.0.0.1 instead of any hasardous value [Yor] + * Change displaying of the title [Yor] + * Optimised twin towers script to use duplicate [Akaru] + * Edited to a more user friendly error message for invalid server communication password [Akaru] + * Updated the item_db for more item name consistencies [Akaru] + * Reverted training grounds back to new_1-?.gat maps. [Valaris] + * Added added more variety to sending packets to guild members (same map, same map w/out self, ect) [Valaris] + +06/08 + * Put a HOWTO in lan_support.conf. [Yor] + * Removed extra semicolons in char.c, map.c, and pc.c. [Valaris] + * Added missing } to clif_storageitemlist in clif.c and found a couple lines ending with 2 semicolons, removed them. [Valaris] + +06/07 + * Translated refine_db.txt. [Valaris] + * Negative vending fix. [Fritz] + * Correction of mktime parameters in ladmin + some translations [Yor]. + * Add some checks on login-server configuration parameters [Yor]. + +06/06 + * Fixed error in skill_tree.txt that would crash some people's servers when changing to Professor. [Valaris] + * Added admin_state directive for enabling and disabling remote administration, instead of testing whether admin_pass == "" [rg] + * Add title to the servers. [Yor] + * Add warnings about default password usage (administration and gm passwords). [Yor] + * Modify adduser.c for the default configuration. [Yor] + * Write the complete admin_packet.txt. [Yor] + * Champion NPC was looking for a priest instead of monk, changed to correct value. [Valaris] + * Small fixes in guide.txt, kafra.txt, and swordsman.txt pointed out by StiNKy. [Valaris] + * Begin splitting monsters.txt [Akaru] + * Removed obselete monster spawn files [Akaru] + * Complete Guild Wars for Prontera Castle 2 script done [Akaru] + * Fixed prevent_logout option. [Valaris] + +06/05 + * Implemented guild castle regen.(Stackable 2x for castle owners) [Valaris] + * Fixed player logout display on map-server console. [Valaris] + * Added atcommand_spawn_quantity_limit directive to /conf/battle_athena.conf [rg] + * Fixed noskill map flag [?] + * Complete information about login configuration in conf_ref.txt [Yor] + * Add possible configuration values on/off or yes/no in login-server [Yor] + * Guardians and emp will now get +2000 hp for every defense investment within a castle [Valaris] + * Changed the login server to reject all remote administration authentication if the admin_pass directive isn't set, and commented-out the admin_pass directive in /conf/login_athena.conf [rg] + * Changed /src/common/grfio.c so it doesn't try to read GRF files with no respective directive in /conf/grf-files.txt [rg] + * Changed so no one can spawn inside castles. [Valaris] + * Updated item_db with more consistant names, fixed some unknown_items [Akaru] + * Complete Guild Wars for Prontera Castle 1 script done [Akaru] + * Disabled guild breaking, alliance breaking, and alliance making during WoE. [Valaris] + * Will not default to prontera.gat if map-server is not connected. [Valaris] + * Warp players who are not in guild out of castles when WoE starts. [Valaris] + +06/04 + * Allies now do no damage to guardians or emperium. [Valaris] + * Prevent allies from being attacked by guardians. [Valaris] + * Optimized guardian emblem code. [Valaris] + * Fixed map-server crashing with spawning guardians in untaken castles. [Valaris] + * Guardian emblems will change if castle is taken, but client needs to refresh map. [Valaris] + * Fixed problem where guild emblem would vanish from guild info screen. [Valaris] + +06/03 + * Improve e-mails checks and LAN/WAN checks on char-server. [Yor]. + * Add some explanations in front of accounts file. [Yor] + * Set a non LAN configuration for basic configuration in lan_support.conf. Explain parameters. [Yor] + * add missing parameters of char_athena.conf, and explain them. [Yor] + * Restore default admin pass and gm pass of login_athena.conf, and add missing parameters. [Yor] + * fix missing include in char.c. [Yor] + * Translation of checkversion. Add some explanations in front of file. [Yor] + * Translation of getlogincount [Yor] + * Finish translation of new login.c [Yor] + * Implemented Guardian Emblems [Valaris] + +06/02 + * Added maximum_level option in battle_athena.conf [Valaris] + * Added maximum level cap to all the level up commands. [Valaris] + * Added "Deal has been cancelled" message to Fritz's input exploit fix. [Valaris] + +06/01 + * Fixed training ground npcs and warps, removed depreceated maps, using new ones. [Valaris] + +05/30 + * Small map-server crashing fix with Leo and Guide npcs in training ground [Valaris] + +05/29 + * Removed item_value_db.txt and all references to it [Valaris] + * Removed unused class_equip_db.txt [Valaris] + * Fixed stat and level reset bug where needed status points wouldnt reset unless relogged [Valaris] + * @monster will summon monster without an amount specified [Valaris] + +05/28 + * Added heal and usable item rate modifier [Valaris] + * Added pet equipment to equipment rate modifier [Valaris] + * Added option to turn alchemist summon experience and drops on and off [Valaris] + * Alchemist Marine Spheres now randomly explode [Valaris] + * Fixed bug where if certain items lowered max hp (4 mysteltain, and 1 eddga) below 0 + would loop to server max hp value. [Valaris] + +05/26 + * Added New Hats [Darkchild] + * Added New Monsters [Darkchild] +05/23 + * Added @charstatsall, views all characters (easy for money bug scaning etc! [Fritz] + * Max to input npc command, 0 is lowest, 99999999 is max, this to prevent money bugs! [Fritz] + +05/21 + (Dated On Aegis Website) + *--Released 0.5.2--* + +05/20 + (Dated On Aegis Website) + *--Released 0.5.1--* + * got dye working again [Darkchild/fritz] + +05/19 + (Dated On Aegis Website) + *--Released 0.5.0--* + +05/09 + * added Prontera Guild Castle 3 test guild wars test script [Akaru] + * modified Prontera Guild Castle 1 and 2 guild wars test script [Akaru] + * fixed several valkyrie jobchangers [Akaru] +05/08 + (Dated On Aegis Website) + *--Released 0.4.2--* + *--Released 0.4.1--* + * added Prontera Guild Castle 2 test guild wars test script [Akaru] + +05/07 (Dated On Aegis Website) + *--Released 0.4.0--* + +05/06 + * added Prontera Guild Castle 1 test guild wars test script [Akaru] +05/04 + * removed parses and added ENGLISH! [?] + +04/29 (Dated On Aegis Website) + *--Released 953 Delta--* + +04/28 (Dated On Aegis Website) (Whose Ideas Were These?) + *--Released 953 Gamma--* +04/27 + *--Released 951 Beta--* + * fixed @jobchange crash [credits to Mugendai, commited by Akaru] + +04/25 (Dated On Aegis Website) + *--Released 947 Alpha--* +04/23 + * added more Professor Skills and added checks [?] +04/10 + * added more upper skills from moonsoul's works [?] +02/12-04/10 + * CVS Down - Not Many changes could be made...* + +02/22 (Dated On Aegis Website) + *--Released 817--* + +02/12 + * added more mob skill conditions (friendstatuseq, mysyatuseq, friendhpltmaxrate) [RoVeRT] +02/06 + * dumped @skillall for @allskill [?] +02/05 + * fixed provoke so it doesnt work on undead [RoVeRT] + * added TyrNemesis^ card removal code and min/max settings [RoVeRT] +02/04 + * added start_zeny and party_level_range to char_athena.conf [RoVeRT] +02/03 + * Improved the prontera.gat map fallback. [Sara-chan] + * Improved the way guild emblems act when logging in. [Sara-chan] + * Undead-class armor, and Undead monster themselves will never be frozen [RoVeRT] + * fixed negative values for NPC to always be 0 +01/26 + * mob_warpslave correction [RoVeRT] +01/25 + * added poison hp reduction [AppleGirl] +01/20 + * added intimidate [RoVeRT] + * added mvp checks for some skills +01/17 + * added skill check for empelium attack and removed drops from NULL kills [RoVeRT] +01/16 + * added secondary effects for when characters with appropriate elemental armor + are within area of effect of sage spells SA_VOLCANO(atk up), SA_DELUGE(max hp up), + SA_VIOLENTGALE(flee up) [moonsoul] + * removeal of @randmon as it isnt needed [RoVeRT] +01/15 + * fixed auto spell so it works the prober way [RoVeRT] +01/12 + * added mob_warpslave [RoVeRT] + * added mob_warp to check noteleport mapflag +01/07 + * added OnCommand for NPC [RoVeRT] + * added new on death method for NPC spawned mobs [RoVeRT] + * added mobcount [RoVeRT] +01/06 + * fixed icon status for spear quicken [AppleGirl] + * added quoted name support for @monster [RoVeRT] +01/05 + * added indivudal support for card and equip drop rates [RoVeRT] +01/04 + * added TF_PICKSTONE and skill check condition for TF_THROWSTONE [AppleGirl] + * added updated cast_db.txt and fixed SA_VOLCANO, SA_DELUGE, + SA_VIOLENTGALE, and SA_LANDPROTECTOR GRAPHICS [AppleGirl] + * Fixed Effects of a few bard Skills. [AppleGirl] + * added option to stop logout for 10 seconds after taking a hit [RoVeRT] +01/03 + * added inet_ip support to char and map [RoVeRT] + * added checkcart, checkfalcon and checkriding npc commands +01/02 + * added new npc timer support that is independant of a player [RoVeRT] +12/31 + * Added @refineall [Mark] +12/30 + * added support for custom_item-db.txt with battle_athena.conf option [RoVeRT] + * fixed @charzeny bug + * translated help.txt to english anong with a few other files [RoVeRT] +12/29 + * added umbala maps to map_athena.conf [RoVeRT] +12/26 + * added Skill_range based on level, and partially working AutoGuard [Moonsoul] + * added Correction of Whip and Instrument Damage Again [Sara-Chan] +12/25 + * Spear Quicken Correct Graphics,Fixed Magnum Break (Which Fixes All Other + Splash skills), and Fixed Brandish Spear [AppleGirl] + * Updated Command For @SkillAll Added Atcommand_athena.conf [RoVeRT] +12/24 + * Added Side Effects for multiple skills for 2-2 classes [AppleGirl] +12/23 + * Added GM Command Called @Skillall [RoVeRT] + * @skillall to skill-up all your current skills [RoVeRT] + * @hide does hide you from all monsters [RoVeRT] + * fire wall limited to 5 per map [RoVeRT] + * to turn on PVP without @pvpon and to disable flywing search for mapflag [RoVeRT] + * no luck with @morph at this time yet [RoVeRT] + * splash attack added but still kinda buggy [RoVeRT] + * Added in Dancing and Song Playing for Bard and Dancer [AppleGirl] + * Added Skill Arrow Check For Archer Skills [AppleGirl] + * Added Skill Status Recovery [AppleGirl] + * Added Skill Bard and Dancer Skills Last Longer [AppleGirl] + * Added Skill Grimtooth does splash damage [AppleGirl] + * Added Skill Steal Fixed and Snatcher [AppleGirl] + * Added Skill SonicBlow only works with Katars Now [AppleGirl] +12/22 + * Added Skills Shield Boomerang, Shield Charge, and Defender [AppleGirl] diff --git a/Dev/Dev-Folder-Notes.txt b/Dev/Dev-Folder-Notes.txt index ded4eb5e4..1936b8fc1 100644 --- a/Dev/Dev-Folder-Notes.txt +++ b/Dev/Dev-Folder-Notes.txt @@ -1,3 +1,3 @@ -- This folder and all files inside it must be deleted before any distribution -- This folder is meant for developers only -- Use this folder to contain notes, todo, testcases, problems, etc +- This folder and all files inside it must be deleted before any distribution +- This folder is meant for developers only +- Use this folder to contain notes, todo, testcases, problems, etc diff --git a/Dev/TODO.txt b/Dev/TODO.txt index c43eddaf8..f6fd346af 100644 --- a/Dev/TODO.txt +++ b/Dev/TODO.txt @@ -1,684 +1,684 @@ -The format of to-do list items is: - -Description - A description of the task -Status - The status of the task. The possible values are Pending and Completed -Assignee - The nickname of the person whom is assigned the task -Notes - Miscellaneous notes concerning the task - -********** - -Only the to-do list for the flat-file module should contain tasks concerning database corrections because databases changes for the SQL module are inherited from the flat-file module. - -********** -1. -Description: Fix the equip field values in item_db - -Status: Pending - -Assignee: NONE - -Notes: i know the equip values in item_db are ****ed not ****ed but supernovice equip is - - -********** -2. -Description: Change monster summoning commands so they summon 1 monster if a quantity isn't specified - -Status: 50% - -Assignee: NONE - -Notes: Will work with just mob_id/name specified (ie @monster poring) - need to make it work with mob_id and name (ie @monster poring test) - Valaris - - -********** -3. -Description: Fix Ghostring Card - -Status: Done - -Assignee: MouseJstr - -Notes: battle_config flag to disable ghosty armor - protecting you from mobs - -********** -4. -Description: Add nomagic mapflag/@skilloff/@skillon - -Status: Done - -Assignee: MouseJstr - -Notes: NONE - - -********** -5. -Description: Checking help.txt (main directory, conf directory, doc directory) with atcommand.c - -Status: Pending - -Assignee: None - -Notes: In doc directory, do a help.txt for explaination of all commands. - In conf directory, do a help.txt for displaying the resume of each command in chat windows of the client - (chat windows does support more than 200 lines). - In main directory, suggestion to delete it. - - -********** -6. -Description: Update produce_db - -Status: Pending - -Assignee: None - -Notes: The Alchemist Forging items were recently changed. The DB needs to be edited and if needed, source to be modified - - -********** -7. -Description: novice.txt: new_1-4.gat,60,149,4 script Helper 55 - This NPC gives infinite items and zenys. - -Status: Completed - -Assignee: Yor - -Notes: If you clicks on 'cancel' button or quits the game to come back, you can have infinite zenys and items. - So, we must save (in a variable) when the npc gives items/zenys and don't given them again. - - -********** -8. -Description: scripts, register variables and job 1 - When you become job 1, reset all variables of OTHER jobs too to save register memory. - -Status: Pending - -Assignee: None - -Notes: None - - -********** -9. -Description: @mapspy command - -Status: Pending - -Assignee: None - -Notes: to receive any messages of all characters on a specifical map. - don't send duplicate messages if already @guildspy ou @partyspy - - -********** -10. -Description: Pet Skills. - -Status: 90% - -Assignee: Valaris - -Notes: Don't touch pet.c, pet.h, or pet dbs. - - -********** -11. -Description: Add kRO server side friends list. - -Status: 80% - -Assignee: davidsiaw - -Notes: Got most of the packets. Except the ones that tell the client that a player is online and tell the client to give messages. - - -********** -12. -Description: Updating the 'gmcommands.html' with actual commands. - -Status: Pending - -Assignee: None - -Notes: NONE - - -********** -13. -Description: On PVP map, don't count a 'GM HIDE' GM (2 normal players + 1 HIDE GM: 2/2, not 3/3). - -Status: Pending - -Assignee: None - -Notes: NONE - - -********** -14. -Description: Add encrypted password option in login-server. - -Status: Blocked, no solution without limited client version. - -Assignee: Yor - -Notes: It's impossible to use encrypted password in the account file, if we want to authorise all client version. - Some clients use a (random) md5key and send a composed encrypted of the password. - So, these clients send a different encrypted password based on plain text password at every connection. - If the password is encrypted, we can not more compare with plain text. - The other solution can be to not authorise these clients. But, that will probably be the futur of ALL clients. - Reduce possibilities of client version isn't a good idea for the futur and for the compatibility (like use only plain text password client version). - Save in account the plain text and the encypted version use more memory for nothing, and don't add security. - Conclusion: - If you want protected your password, you must: - - protected you account file - - never send a password outside the server - - use only encypted client version (that send an encrypted password to server). - - -********** -15. -Description: Create all reloaddb command in ladmin. - -Status: Affected - -Assignee: Yor - -Notes: NONE - - -********** -16. -Description: Create a shutdown + time command in ladmin. - -Status: Affected - -Assignee: Yor - -Notes: NONE - - -********** -17. -Description: Create a kickall command in ladmin. - -Status: Affected - -Assignee: Yor - -Notes: NONE - - -********** -18. -Description: Create listban/listok command in ladmin. - -Status: Completed - -Assignee: Yor - -Notes: NONE - - -********** -19. -Description: Login-server: create a first anti-hack system versus multiple connections trying. - -Status: Affected - -Assignee: Yor - -Notes: Set on IP. - An option to set number of connections before to block (number_of_try_before_block) - An option to set number of second where the tries must be done (within_seconds_for tries) - An option to set the time of impossible connection after block (blocked_time_in_minutes) - About wrong password, add: - dynamic_pass_failure_ban_time: 5 (duration of ban, in minutes) - dynamic_pass_failure_ban_how_many: 3 (number of tries before to ban) - dynamic_pass_failure_ban_how_long: 60 (inside time where the tries must be done before to ban, in sec) - - -********** -20. -Description: Create @unban and @unblock GM command. - -Status: Completed - -Assignee: Yor - -Notes: NONE - - -********** -21. -Description: Fix @nuke GM command. - -Status: Completed - -Assignee: Valaris - -Notes: If you nuke a mounted Knight/Crusader they lose Peco but see it in the equip.window. - And can't get another one. - - -********** -22. -Description: Adding GM command @guildmaster - -Status: Pending - -Assignee: MC_Cameri - -Notes: Guild Master turns another member of his guild into Guild Master. - MC Cameri: It will now be called @swapgm, meaning swap of guild master. - - -********** -23. -Description: In Guilds folder change all checkcart -> checkcart(0) - -Status: Completed? - -Assignee: Aria - -Notes: All checkcart were in the old/ folder o_O? - Because just "checkcart" always returns 0. (All common Kafras&breeder have been already fixed) - - -********** -24. -Description: In script.c parser should be fixed to allow argumentless functions return value. - -Status: Pending - -Assignee: None - -Notes: Functions like "checkcart", "checkfalcon", "checkriding" don't return value if used without agruments or without "()". - Example: 'checkcart' always return Zero (because the parser doesn't recognize it as a function!) - Example: 'checkcart()' map server doesn't load (because argless funcs aren't in use) - As a temp fix Lupus added "*" in script.c in "checkcart", "checkfalcon", "checkriding" definitions. - To be able running them with any fake arg. i.e. checkcart(0) works fine! - - -********** -25. -Description: Create a LAN management, 1 by server - -Status: Affected - -Assignee: Yor - -Notes: 1 computer can be on multiple LAN. So, each server must have 1 LAN definition. - - -********** -26. -Description: @ban/@block must be usable when player is offline - -Status: Completed - -Assignee: Yor - -Notes: NONE - - -********** -27. -Description: When it's night, inscreasing spawn of undeads - -Status: Pending - -Assignee: None - -Notes: Variable 'night_flag' is 0 if it's day, or 1 if it's night. - - -********** -28. -Description: in ladmin, create a method for account with spaces - -Status: Completed - -Assignee: Yor - -Notes: use "" or ''. - - -********** -29. -Description: @(un)ban/@(un)block: reduction of number of packets - improvement of messages - -Status: Completed - -Assignee: Yor - -Notes: None. - - -********** -30. -Description: Create (un)ban/(un)block in ladmin to be similar with GM command - -Status: Completed - -Assignee: Yor - -Notes: None. - - -********** -31. -Description: Packet 0x3831 need too much size! IMPORTANT to found a solution! - It's cause of crashes or freeze of servers (char or map). - -Status: Pending - -Assignee: None - -Notes: When map-server do a connection to char-server, this packet is send (C->M). Example of display (1 connection!): - socket #5: - wdata (size: 131072 bytes) need to be expanded. - wdata is actually used for 111654 bytes (free bytes: 19418). - packet 0x3831 need mode space (size of the packet: 12332). - wdata expanded to 262144 bytes. - socket #5: - wdata (size: 262144 bytes) need to be expanded. - wdata is actually used for 234974 bytes (free bytes: 27170). - packet 0x3831 need mode space (size of the packet: 12332). - wdata expanded to 524288 bytes. - Additional note: there is only 63 guilds on this server... - - -********** -32. -Description: Management of PM ignore for wisps - -Status: Completed - -Assignee: Yor - -Notes: None. - - -********** -33. -Description: Add a GM info hacker minimum level parameter - -Status: Completed - -Assignee: Yor - -Notes: first use: spoof namer - - -********** -34. -Description: Create @makepet to create directly a pet - -Status: Pending - -Assignee: None - -Notes: NONE - - -********** -35. -Description: In dungeon, set night for people. In shop, set day for people. - -Status: Assigned - -Assignee: Yor - -Notes: work like variable 'night_flag' is 0 if it's day, or 1 if it's night. - - -********** -36 -Description: Create your limited time.... but an option can be good :)... - -Status: Completed - -Assignee: Yor - -Notes: NONE - -********** -37. -Description: @killer - enables a @gm to hit a player outside of pvp - -Status: Done - -Assignee: MouseJstr - -Notes: - -********** -38. -Description: atcommand scripts - script @atcommands` - -Status: Pending - -Assignee: MouseJstr - -Notes: - -********** -40. -Description: @addwarp - create a static warp to a target location - -Status: Done - -Assignee: MouseJstr - -Notes: -********** -41. -Description: @movenpc - - manipulate npc's at runtime - -Status: Done - -Assignee: MouseJstr - -Notes: handling npc's with the same name on multiple maps - requires thoughts -********** -42. -Description: @uptime - how long as the server been up? - -Status: Pending - -Assignee: MouseJstr, MC Cameri - -Notes: - MC Cameri: This is done already in OA, wait for merge. - Aria: I said that, but they told me it was BROKED! -********** -43. -Description: map aliases - - create virtual copies of maps but don't require - changes to the client to support it - -Status: 80% done - -Assignee: MouseJstr - -Notes -********** -44. -Description: Fix GTB card - -Status: Done - -Assignee: MouseJstr - -Notes: battle_config command that controls just how magic resistant - you raelly are -********** -45. -Description: gm @follow command - -Status: Done - -Assignee: MouseJstr - -Notes: follows players, including warping to them... lets you do - a gm hide and grab a cup of coffee while watching a player - do bad things.. -********** -47. -Description: different max aspd for players and GM's - -Status: Pending - -Assignee: MouseJstr - -Notes: -********** -48. -Description: Configurable max num castles for a guild - -Status: Done - -Assignee: MouseJstr - -Notes: We limit each guild to 3 castles on my server -********* -49 -Description: Add @chareffect - Done [MouseJstr] - set a persistant effect on another character - Add @chardisguise - done [MouseJstr] - set a persistant disguise effect on another character - Add @mobid - look up a monster by name - needed? - Add @petid - look up a pet by name - Add @chardye - Add @charhairstyle - Add @charhaircolor - Versions of dye hairstyle and haircolor fo other chars - Add @followme - make a character follow you.. including warps - Add @shuffle - re-arrange everybody on the map randomly - Add @dropall - done [MouseJstr] - takes all my possessions and throws them on the ground - Add @chardropall - done [MouseJstr] - takes all the players possessions and throws them on the ground.. - Add @storeall - done [MouseJstr] - takes all my possessions and puts them in storage, leaving 500 zeny to let you take it all back out again - Add @charstoreall - done [MouseJstr] - takes all the players possessions and puts them in storage, leaving 500 zeny to let you take it all back out again - Add @skillid - lookup a skill by name - done [MouseJstr - Add @useskill - use a skill given the number or name - done [MouseJstr] -********* -50. -Description: New Guild Skills - -Status: Pending - -Assignee: NONE - -Notes: use http://forums.emperium.org/viewtopic.php?t=43245 for a list -******** -51. -Description: Devilring - -Status: Pending - -Assignee: NONE - -Notes: New mini-boss; find as much about it as possible including stats and drops -********* -52. -Description: LV4 Weapon Quests - -Status: Pending - -Assignee: NONE - -Notes: Info here http://forums.emperium.org/viewtopic.php?t=39934 Use perm variables? -********* -53. -Description: Monster Pictures - -Status: Pending - -Assignee: NONE - -Notes: WTF! http://forums.emperium.org/viewtopic.php?t=32998 -********* -54. -Description: Wandering Singer - -Status: Pending - -Assignee: NONE - -Notes: May have to spy on kRO to get more info. http://forums.emperium.org/viewtopic.php?t=32998 -******** -55. -Description: Arena Points - -Status: Pending - -Assignee: NONE - -Notes: points->item system; http://forums.emperium.org/viewtopic.php?t=32998 -******** -56. -Description: kRO Account - -Status: Pending - -Assignee: NONE - -Notes: Give us a kRO account, gm or whatever so we can spy =OOOOOOOO -********* -57. -Description: Baby Skills - -Stats: Pending - -Assignee: NONE - -Notes: 1. Skills - - Come here, baby. - ( Summons the adoptee ) - - Mom, Dad, I love you. - ( For 5 minutes, the parent characters will not have EXP penalty upon death ) - - Mom, Dad, I want to see you. - ( Summons the parents ) - * For the summon skill, it works like wedding summon skill - it can only be done in areas where warps can be saved at. - - 2. EXP Sharing - - Only the parents and the child can EXP share; nobody else can be in the party. If any other person joins, the EXP share resets. - - If you move to a different map, the EXP share resets. - - The EXP returned is only 1/3rd of normal since both mother and father character has to be in the same party with the child. - - 3. Changes after adoption - - For the child character, the character becomes small. - - 4. What happens if parents divorce - - The parents can NEVER adopt another child ever again even after divorce + remarry. - - The character child continues to be as it is (meaning, even if the child no longer has a parent, he or she will continue to be the 'child'), and only 1 child can be obtained per character. - - Even if the child character is deleted, the parents can never get another child. - * This means, when you adopt a child character, DO IT CAREFULLY. For the entire history of your character, you can only, and I mean ONLY get one child character. - - - The Child Adoption system now changes as following, so please make note of this: - * The adopted child cannot raise any stat to beyond 80. - * The adopted child will have 70% of MaxHP and MaxSP of normal characters. - * The adopted child cannot marry. - * "Mom, Dad, I love you" skill will only last 2 minutes instead of 5. - * The parents must be both LV 70 or above in order to adopt. - * The parents must be both LV 70 or above in order to share EXP as family. - * "Mom, Dad, I love you" skill will now take 10% of MaxSP instead of taking 1 SP. +The format of to-do list items is: + +Description - A description of the task +Status - The status of the task. The possible values are Pending and Completed +Assignee - The nickname of the person whom is assigned the task +Notes - Miscellaneous notes concerning the task + +********** + +Only the to-do list for the flat-file module should contain tasks concerning database corrections because databases changes for the SQL module are inherited from the flat-file module. + +********** +1. +Description: Fix the equip field values in item_db + +Status: Pending + +Assignee: NONE + +Notes: i know the equip values in item_db are ****ed not ****ed but supernovice equip is + + +********** +2. +Description: Change monster summoning commands so they summon 1 monster if a quantity isn't specified + +Status: 50% + +Assignee: NONE + +Notes: Will work with just mob_id/name specified (ie @monster poring) + need to make it work with mob_id and name (ie @monster poring test) - Valaris + + +********** +3. +Description: Fix Ghostring Card + +Status: Done + +Assignee: MouseJstr + +Notes: battle_config flag to disable ghosty armor + protecting you from mobs + +********** +4. +Description: Add nomagic mapflag/@skilloff/@skillon + +Status: Done + +Assignee: MouseJstr + +Notes: NONE + + +********** +5. +Description: Checking help.txt (main directory, conf directory, doc directory) with atcommand.c + +Status: Pending + +Assignee: None + +Notes: In doc directory, do a help.txt for explaination of all commands. + In conf directory, do a help.txt for displaying the resume of each command in chat windows of the client + (chat windows does support more than 200 lines). + In main directory, suggestion to delete it. + + +********** +6. +Description: Update produce_db + +Status: Pending + +Assignee: None + +Notes: The Alchemist Forging items were recently changed. The DB needs to be edited and if needed, source to be modified + + +********** +7. +Description: novice.txt: new_1-4.gat,60,149,4 script Helper 55 + This NPC gives infinite items and zenys. + +Status: Completed + +Assignee: Yor + +Notes: If you clicks on 'cancel' button or quits the game to come back, you can have infinite zenys and items. + So, we must save (in a variable) when the npc gives items/zenys and don't given them again. + + +********** +8. +Description: scripts, register variables and job 1 + When you become job 1, reset all variables of OTHER jobs too to save register memory. + +Status: Pending + +Assignee: None + +Notes: None + + +********** +9. +Description: @mapspy command + +Status: Pending + +Assignee: None + +Notes: to receive any messages of all characters on a specifical map. + don't send duplicate messages if already @guildspy ou @partyspy + + +********** +10. +Description: Pet Skills. + +Status: 90% + +Assignee: Valaris + +Notes: Don't touch pet.c, pet.h, or pet dbs. + + +********** +11. +Description: Add kRO server side friends list. + +Status: 80% + +Assignee: davidsiaw + +Notes: Got most of the packets. Except the ones that tell the client that a player is online and tell the client to give messages. + + +********** +12. +Description: Updating the 'gmcommands.html' with actual commands. + +Status: Pending + +Assignee: None + +Notes: NONE + + +********** +13. +Description: On PVP map, don't count a 'GM HIDE' GM (2 normal players + 1 HIDE GM: 2/2, not 3/3). + +Status: Pending + +Assignee: None + +Notes: NONE + + +********** +14. +Description: Add encrypted password option in login-server. + +Status: Blocked, no solution without limited client version. + +Assignee: Yor + +Notes: It's impossible to use encrypted password in the account file, if we want to authorise all client version. + Some clients use a (random) md5key and send a composed encrypted of the password. + So, these clients send a different encrypted password based on plain text password at every connection. + If the password is encrypted, we can not more compare with plain text. + The other solution can be to not authorise these clients. But, that will probably be the futur of ALL clients. + Reduce possibilities of client version isn't a good idea for the futur and for the compatibility (like use only plain text password client version). + Save in account the plain text and the encypted version use more memory for nothing, and don't add security. + Conclusion: + If you want protected your password, you must: + - protected you account file + - never send a password outside the server + - use only encypted client version (that send an encrypted password to server). + + +********** +15. +Description: Create all reloaddb command in ladmin. + +Status: Affected + +Assignee: Yor + +Notes: NONE + + +********** +16. +Description: Create a shutdown + time command in ladmin. + +Status: Affected + +Assignee: Yor + +Notes: NONE + + +********** +17. +Description: Create a kickall command in ladmin. + +Status: Affected + +Assignee: Yor + +Notes: NONE + + +********** +18. +Description: Create listban/listok command in ladmin. + +Status: Completed + +Assignee: Yor + +Notes: NONE + + +********** +19. +Description: Login-server: create a first anti-hack system versus multiple connections trying. + +Status: Affected + +Assignee: Yor + +Notes: Set on IP. + An option to set number of connections before to block (number_of_try_before_block) + An option to set number of second where the tries must be done (within_seconds_for tries) + An option to set the time of impossible connection after block (blocked_time_in_minutes) + About wrong password, add: + dynamic_pass_failure_ban_time: 5 (duration of ban, in minutes) + dynamic_pass_failure_ban_how_many: 3 (number of tries before to ban) + dynamic_pass_failure_ban_how_long: 60 (inside time where the tries must be done before to ban, in sec) + + +********** +20. +Description: Create @unban and @unblock GM command. + +Status: Completed + +Assignee: Yor + +Notes: NONE + + +********** +21. +Description: Fix @nuke GM command. + +Status: Completed + +Assignee: Valaris + +Notes: If you nuke a mounted Knight/Crusader they lose Peco but see it in the equip.window. + And can't get another one. + + +********** +22. +Description: Adding GM command @guildmaster + +Status: Pending + +Assignee: MC_Cameri + +Notes: Guild Master turns another member of his guild into Guild Master. + MC Cameri: It will now be called @swapgm, meaning swap of guild master. + + +********** +23. +Description: In Guilds folder change all checkcart -> checkcart(0) + +Status: Completed? + +Assignee: Aria + +Notes: All checkcart were in the old/ folder o_O? + Because just "checkcart" always returns 0. (All common Kafras&breeder have been already fixed) + + +********** +24. +Description: In script.c parser should be fixed to allow argumentless functions return value. + +Status: Pending + +Assignee: None + +Notes: Functions like "checkcart", "checkfalcon", "checkriding" don't return value if used without agruments or without "()". + Example: 'checkcart' always return Zero (because the parser doesn't recognize it as a function!) + Example: 'checkcart()' map server doesn't load (because argless funcs aren't in use) + As a temp fix Lupus added "*" in script.c in "checkcart", "checkfalcon", "checkriding" definitions. + To be able running them with any fake arg. i.e. checkcart(0) works fine! + + +********** +25. +Description: Create a LAN management, 1 by server + +Status: Affected + +Assignee: Yor + +Notes: 1 computer can be on multiple LAN. So, each server must have 1 LAN definition. + + +********** +26. +Description: @ban/@block must be usable when player is offline + +Status: Completed + +Assignee: Yor + +Notes: NONE + + +********** +27. +Description: When it's night, inscreasing spawn of undeads + +Status: Pending + +Assignee: None + +Notes: Variable 'night_flag' is 0 if it's day, or 1 if it's night. + + +********** +28. +Description: in ladmin, create a method for account with spaces + +Status: Completed + +Assignee: Yor + +Notes: use "" or ''. + + +********** +29. +Description: @(un)ban/@(un)block: reduction of number of packets + improvement of messages + +Status: Completed + +Assignee: Yor + +Notes: None. + + +********** +30. +Description: Create (un)ban/(un)block in ladmin to be similar with GM command + +Status: Completed + +Assignee: Yor + +Notes: None. + + +********** +31. +Description: Packet 0x3831 need too much size! IMPORTANT to found a solution! + It's cause of crashes or freeze of servers (char or map). + +Status: Pending + +Assignee: None + +Notes: When map-server do a connection to char-server, this packet is send (C->M). Example of display (1 connection!): + socket #5: + wdata (size: 131072 bytes) need to be expanded. + wdata is actually used for 111654 bytes (free bytes: 19418). + packet 0x3831 need mode space (size of the packet: 12332). + wdata expanded to 262144 bytes. + socket #5: + wdata (size: 262144 bytes) need to be expanded. + wdata is actually used for 234974 bytes (free bytes: 27170). + packet 0x3831 need mode space (size of the packet: 12332). + wdata expanded to 524288 bytes. + Additional note: there is only 63 guilds on this server... + + +********** +32. +Description: Management of PM ignore for wisps + +Status: Completed + +Assignee: Yor + +Notes: None. + + +********** +33. +Description: Add a GM info hacker minimum level parameter + +Status: Completed + +Assignee: Yor + +Notes: first use: spoof namer + + +********** +34. +Description: Create @makepet to create directly a pet + +Status: Pending + +Assignee: None + +Notes: NONE + + +********** +35. +Description: In dungeon, set night for people. In shop, set day for people. + +Status: Assigned + +Assignee: Yor + +Notes: work like variable 'night_flag' is 0 if it's day, or 1 if it's night. + + +********** +36 +Description: Create your limited time.... but an option can be good :)... + +Status: Completed + +Assignee: Yor + +Notes: NONE + +********** +37. +Description: @killer - enables a @gm to hit a player outside of pvp + +Status: Done + +Assignee: MouseJstr + +Notes: + +********** +38. +Description: atcommand scripts - script @atcommands` + +Status: Pending + +Assignee: MouseJstr + +Notes: + +********** +40. +Description: @addwarp - create a static warp to a target location + +Status: Done + +Assignee: MouseJstr + +Notes: +********** +41. +Description: @movenpc + - manipulate npc's at runtime + +Status: Done + +Assignee: MouseJstr + +Notes: handling npc's with the same name on multiple maps + requires thoughts +********** +42. +Description: @uptime - how long as the server been up? + +Status: Pending + +Assignee: MouseJstr, MC Cameri + +Notes: + MC Cameri: This is done already in OA, wait for merge. + Aria: I said that, but they told me it was BROKED! +********** +43. +Description: map aliases - + create virtual copies of maps but don't require + changes to the client to support it + +Status: 80% done + +Assignee: MouseJstr + +Notes +********** +44. +Description: Fix GTB card + +Status: Done + +Assignee: MouseJstr + +Notes: battle_config command that controls just how magic resistant + you raelly are +********** +45. +Description: gm @follow command + +Status: Done + +Assignee: MouseJstr + +Notes: follows players, including warping to them... lets you do + a gm hide and grab a cup of coffee while watching a player + do bad things.. +********** +47. +Description: different max aspd for players and GM's + +Status: Pending + +Assignee: MouseJstr + +Notes: +********** +48. +Description: Configurable max num castles for a guild + +Status: Done + +Assignee: MouseJstr + +Notes: We limit each guild to 3 castles on my server +********* +49 +Description: Add @chareffect - Done [MouseJstr] + set a persistant effect on another character + Add @chardisguise - done [MouseJstr] + set a persistant disguise effect on another character + Add @mobid + look up a monster by name - needed? + Add @petid + look up a pet by name + Add @chardye + Add @charhairstyle + Add @charhaircolor + Versions of dye hairstyle and haircolor fo other chars + Add @followme + make a character follow you.. including warps + Add @shuffle + re-arrange everybody on the map randomly + Add @dropall - done [MouseJstr] + takes all my possessions and throws them on the ground + Add @chardropall - done [MouseJstr] + takes all the players possessions and throws them on the ground.. + Add @storeall - done [MouseJstr] + takes all my possessions and puts them in storage, leaving 500 zeny to let you take it all back out again + Add @charstoreall - done [MouseJstr] + takes all the players possessions and puts them in storage, leaving 500 zeny to let you take it all back out again + Add @skillid - lookup a skill by name - done [MouseJstr + Add @useskill - use a skill given the number or name - done [MouseJstr] +********* +50. +Description: New Guild Skills + +Status: Pending + +Assignee: NONE + +Notes: use http://forums.emperium.org/viewtopic.php?t=43245 for a list +******** +51. +Description: Devilring + +Status: Pending + +Assignee: NONE + +Notes: New mini-boss; find as much about it as possible including stats and drops +********* +52. +Description: LV4 Weapon Quests + +Status: Pending + +Assignee: NONE + +Notes: Info here http://forums.emperium.org/viewtopic.php?t=39934 Use perm variables? +********* +53. +Description: Monster Pictures + +Status: Pending + +Assignee: NONE + +Notes: WTF! http://forums.emperium.org/viewtopic.php?t=32998 +********* +54. +Description: Wandering Singer + +Status: Pending + +Assignee: NONE + +Notes: May have to spy on kRO to get more info. http://forums.emperium.org/viewtopic.php?t=32998 +******** +55. +Description: Arena Points + +Status: Pending + +Assignee: NONE + +Notes: points->item system; http://forums.emperium.org/viewtopic.php?t=32998 +******** +56. +Description: kRO Account + +Status: Pending + +Assignee: NONE + +Notes: Give us a kRO account, gm or whatever so we can spy =OOOOOOOO +********* +57. +Description: Baby Skills + +Stats: Pending + +Assignee: NONE + +Notes: 1. Skills + - Come here, baby. + ( Summons the adoptee ) + - Mom, Dad, I love you. + ( For 5 minutes, the parent characters will not have EXP penalty upon death ) + - Mom, Dad, I want to see you. + ( Summons the parents ) + * For the summon skill, it works like wedding summon skill - it can only be done in areas where warps can be saved at. + + 2. EXP Sharing + - Only the parents and the child can EXP share; nobody else can be in the party. If any other person joins, the EXP share resets. + - If you move to a different map, the EXP share resets. + - The EXP returned is only 1/3rd of normal since both mother and father character has to be in the same party with the child. + + 3. Changes after adoption + - For the child character, the character becomes small. + + 4. What happens if parents divorce + - The parents can NEVER adopt another child ever again even after divorce + remarry. + - The character child continues to be as it is (meaning, even if the child no longer has a parent, he or she will continue to be the 'child'), and only 1 child can be obtained per character. + - Even if the child character is deleted, the parents can never get another child. + * This means, when you adopt a child character, DO IT CAREFULLY. For the entire history of your character, you can only, and I mean ONLY get one child character. + + - The Child Adoption system now changes as following, so please make note of this: + * The adopted child cannot raise any stat to beyond 80. + * The adopted child will have 70% of MaxHP and MaxSP of normal characters. + * The adopted child cannot marry. + * "Mom, Dad, I love you" skill will only last 2 minutes instead of 5. + * The parents must be both LV 70 or above in order to adopt. + * The parents must be both LV 70 or above in order to share EXP as family. + * "Mom, Dad, I love you" skill will now take 10% of MaxSP instead of taking 1 SP. - The wedding skills will now depend on percentage of MaxHP/MaxSP. \ No newline at end of file diff --git a/Dev/TODO_MOB_AI.txt b/Dev/TODO_MOB_AI.txt index 3ea2bc0e2..9f73656f9 100644 --- a/Dev/TODO_MOB_AI.txt +++ b/Dev/TODO_MOB_AI.txt @@ -1,134 +1,134 @@ -// eAthena TODO for Monster AI -// ----------------------------------------- -// The idea of this file is to write a system to use for mob AI because -// to put it bluntly, our mobs are stupid. If we can pull off some sweet -// AI, we will own the other emulators. -// -// What we have here are 2 columns. I describe them below... -// - 'mode' : Mode is when the monster can attack, like, can it move? can it -// attack first? can it assist other monsters? -// -// - 'AI' : AI is the smart part of the monster. This is how the monster -// will actully go about attacking something. For example we -// could make archer skeletons fire an arrow or 2, then flee -// and fire a few more arrows. Or we could have them avoid other -// classes with range (archers, mages). We could also have mobs -// run when being sniped off cliffs by archers/mages (wont they -// hate that, but in reality, thats what they would do). -// -// The mode flags will be given an ID to the power of 2, (binary style, like -// job id's in the item_db) and added together to make the mode. But before -// the system can be written we need a nice file to explain it. That would be -// this file. So add away, when it looks done, begin the implementation. -// -// Also, if possible, new config file in /conf/. 'mob_ai_athena.conf'. This is -// where mob AI is enabled/disable. And options can be set to allow and dis- -// allow certin modes. Ex: People like the AI, but dont like one options, can -// simply disable THAT AI feature rather then rewriting mob_db to remove it. -// -// I wrote the first modes, C devs, move them around as you see fit for programming. -// -// -Ancyker -// -// (check bottom for more AI ideas) -// - - -'mode' -Immobile - Monster can not move, can not be moved (like by archers knockback skills) -Agressive - Monster can attack first (doesn't mean it will, decided in 'AI') -Detect cast - Monster will detect if someone is casting on it, and attack back -Assist - Monster will help other monsters (what monsters it will assist is decided in 'AI') -Looter - Monster will loot items (if 'Agressive' flag is set, it will attack before looting) -No Target Change - Monster will not start attacking another target until the first target is dead or out of range -Passive - Monster will not attack back (ever, unless 'Agressive' flag is also set?) -Detects Hidden - Monster can see hidden players - -'ai' -NoAI - Doesn't do anything (plants) -NoSnipe - Monster will run away if being 'sniped' from a clif by archer, mage, etc. -AttackFlee - Monster will attack, then flee, attack, then flee, etc (Archer Skels, run away, shoot arrow, etc) -AttackRange1 - Will only attack if player is in a set range [0-3] (It's like the player is close, its a threat now) -AttackRange2 - Will only attack if player is in a set range [4-6] -ClassFlee1 - Will run from any player with range (archers, mages, thiefs with bows) -NoviceNoFlee - Will not run if a player is a novice -LevelFlee - Wlll run if player is of a higher level (porings would run from level 99s, AHH DONT KILL ME!) -AvoidPlayer - Will run if it sees any player (So it cancels 'Agressive' flag) -AttackMostDamage - Will attack the player doing the overall most damage -AttackLessDamage - Will attack the player doing the overall least damage -AttackLowestLevel - Will attack the lowest level first -AttackHighestLevel - Will attack the highest level first -WarpLowHP - Will warp if HP is low (how low is low?) -NeverStop - Monster will always be on the move, never stop walking. (Is over-ridden by 'Immobile' flag) - - -// -// Again, more stuff... -// -// The monster spawns sripts need some more params. some examples... -// -// We have: map,x,y,offsetx,offsety, ... -// What if we added more? To only let the monster move so far off from -// where it was spawned. It could 'guard' an arena, an exit/enterance -// an npc, whatever =). -// -// .... ID,time,time,blah...,mode,WAP -// Have monsters walk a certin path. Waypoint files are your friend. -// If a monster has a WAP (optional) it will walk this path. -// Guardians on patrol? Could be interesting. -// -// Add more if you think of any =) -// -// If you don't like an idea, comment why, dont remove it. -// example: (using this one cuz not sure about it) -// -// // NeverStop - Will/Could cause lag, don't think its a good idea -name -// NeverStop - ... -// - -Lupus: (guys, rearrange my ideas or move them as u want) -Some memory - speed optimizations: - -There'a big "for cycle" when u look up for a place to mob spawn. -It could be made quite fast: -On server .GAT loading you should make an array with OFFSETS (not even X,Y) of right -places for future mob spawns. -If the waypoints aren't found for the loadied map then you should make at least 1-2 waypoints automatically. - -About AI: -EACH map has defined mobs. Your mob should have a flag "healer", "supporter" etc. "weak", "ranged attacker" -and each map should contain an attached list of mobs with their types -when one MVP is hurt it'd look for "helpers", "healers". -And if a mob is almost 0 HP it should look for helpers or look for other mobs ranged attackers -defence. Etc. - -Mobs AI should be WRITTEN IN SPECIAL SCRIPTS. -Some default mobs will use the same script. -And some advanced ones will use their own. - -MOB-scripts are quite interesting. (remember Robot-Wars game?) - -Gulid Wars: -I think guardians should be able to warp from room to room using WARPS like common Players. - - -Aria's Ideas: (do whatever u want) - -We can make aggressive monsters make ambushes, where one attacks and runs away to a huge group of the same monster - -instead of dropping 2 x1 items, just drop 1 x2 item - -make AI vary inside of a group of monsters (IE 1/2 porings do 1 thing, and the other half do another) - -aggressive monsters sould surround enemies, not just blindly attack them - -we should also make monsters look as player-like as possible. There should be groups traveling together, or 2 monsters -next to eachother, chatting. - -we shouldn't let mobs spawn right infront of people, like in anime or manga. they always walk towards you, or you walk -towards them. - -let mob stats vary a little bit - every mob shouldn't be the exact same. if it's stronger it gives more exp, and vice -versa. - +// eAthena TODO for Monster AI +// ----------------------------------------- +// The idea of this file is to write a system to use for mob AI because +// to put it bluntly, our mobs are stupid. If we can pull off some sweet +// AI, we will own the other emulators. +// +// What we have here are 2 columns. I describe them below... +// - 'mode' : Mode is when the monster can attack, like, can it move? can it +// attack first? can it assist other monsters? +// +// - 'AI' : AI is the smart part of the monster. This is how the monster +// will actully go about attacking something. For example we +// could make archer skeletons fire an arrow or 2, then flee +// and fire a few more arrows. Or we could have them avoid other +// classes with range (archers, mages). We could also have mobs +// run when being sniped off cliffs by archers/mages (wont they +// hate that, but in reality, thats what they would do). +// +// The mode flags will be given an ID to the power of 2, (binary style, like +// job id's in the item_db) and added together to make the mode. But before +// the system can be written we need a nice file to explain it. That would be +// this file. So add away, when it looks done, begin the implementation. +// +// Also, if possible, new config file in /conf/. 'mob_ai_athena.conf'. This is +// where mob AI is enabled/disable. And options can be set to allow and dis- +// allow certin modes. Ex: People like the AI, but dont like one options, can +// simply disable THAT AI feature rather then rewriting mob_db to remove it. +// +// I wrote the first modes, C devs, move them around as you see fit for programming. +// +// -Ancyker +// +// (check bottom for more AI ideas) +// + + +'mode' +Immobile - Monster can not move, can not be moved (like by archers knockback skills) +Agressive - Monster can attack first (doesn't mean it will, decided in 'AI') +Detect cast - Monster will detect if someone is casting on it, and attack back +Assist - Monster will help other monsters (what monsters it will assist is decided in 'AI') +Looter - Monster will loot items (if 'Agressive' flag is set, it will attack before looting) +No Target Change - Monster will not start attacking another target until the first target is dead or out of range +Passive - Monster will not attack back (ever, unless 'Agressive' flag is also set?) +Detects Hidden - Monster can see hidden players + +'ai' +NoAI - Doesn't do anything (plants) +NoSnipe - Monster will run away if being 'sniped' from a clif by archer, mage, etc. +AttackFlee - Monster will attack, then flee, attack, then flee, etc (Archer Skels, run away, shoot arrow, etc) +AttackRange1 - Will only attack if player is in a set range [0-3] (It's like the player is close, its a threat now) +AttackRange2 - Will only attack if player is in a set range [4-6] +ClassFlee1 - Will run from any player with range (archers, mages, thiefs with bows) +NoviceNoFlee - Will not run if a player is a novice +LevelFlee - Wlll run if player is of a higher level (porings would run from level 99s, AHH DONT KILL ME!) +AvoidPlayer - Will run if it sees any player (So it cancels 'Agressive' flag) +AttackMostDamage - Will attack the player doing the overall most damage +AttackLessDamage - Will attack the player doing the overall least damage +AttackLowestLevel - Will attack the lowest level first +AttackHighestLevel - Will attack the highest level first +WarpLowHP - Will warp if HP is low (how low is low?) +NeverStop - Monster will always be on the move, never stop walking. (Is over-ridden by 'Immobile' flag) + + +// +// Again, more stuff... +// +// The monster spawns sripts need some more params. some examples... +// +// We have: map,x,y,offsetx,offsety, ... +// What if we added more? To only let the monster move so far off from +// where it was spawned. It could 'guard' an arena, an exit/enterance +// an npc, whatever =). +// +// .... ID,time,time,blah...,mode,WAP +// Have monsters walk a certin path. Waypoint files are your friend. +// If a monster has a WAP (optional) it will walk this path. +// Guardians on patrol? Could be interesting. +// +// Add more if you think of any =) +// +// If you don't like an idea, comment why, dont remove it. +// example: (using this one cuz not sure about it) +// +// // NeverStop - Will/Could cause lag, don't think its a good idea -name +// NeverStop - ... +// + +Lupus: (guys, rearrange my ideas or move them as u want) +Some memory - speed optimizations: + +There'a big "for cycle" when u look up for a place to mob spawn. +It could be made quite fast: +On server .GAT loading you should make an array with OFFSETS (not even X,Y) of right +places for future mob spawns. +If the waypoints aren't found for the loadied map then you should make at least 1-2 waypoints automatically. + +About AI: +EACH map has defined mobs. Your mob should have a flag "healer", "supporter" etc. "weak", "ranged attacker" +and each map should contain an attached list of mobs with their types +when one MVP is hurt it'd look for "helpers", "healers". +And if a mob is almost 0 HP it should look for helpers or look for other mobs ranged attackers +defence. Etc. + +Mobs AI should be WRITTEN IN SPECIAL SCRIPTS. +Some default mobs will use the same script. +And some advanced ones will use their own. + +MOB-scripts are quite interesting. (remember Robot-Wars game?) + +Gulid Wars: +I think guardians should be able to warp from room to room using WARPS like common Players. + + +Aria's Ideas: (do whatever u want) + +We can make aggressive monsters make ambushes, where one attacks and runs away to a huge group of the same monster + +instead of dropping 2 x1 items, just drop 1 x2 item + +make AI vary inside of a group of monsters (IE 1/2 porings do 1 thing, and the other half do another) + +aggressive monsters sould surround enemies, not just blindly attack them + +we should also make monsters look as player-like as possible. There should be groups traveling together, or 2 monsters +next to eachother, chatting. + +we shouldn't let mobs spawn right infront of people, like in anime or manga. they always walk towards you, or you walk +towards them. + +let mob stats vary a little bit - every mob shouldn't be the exact same. if it's stronger it gives more exp, and vice +versa. + have a monster be able to use its drops, and not drop it. like a poring using an apple. \ No newline at end of file diff --git a/Dev/bugs.txt b/Dev/bugs.txt index 26bdb99bb..2feedce73 100644 --- a/Dev/bugs.txt +++ b/Dev/bugs.txt @@ -1,72 +1,72 @@ -Problem: Adding the new guild skills causes it to crash? -Assigned: N/A -Progess: 0% - -Problem: 2-2-1 classes are regarded as Novicies by the game server. NPCs aren't taking them as thier jobs but if you the the NPC to do something for a novice class it works with the 2-2-1 like renters. Also if some one becomes high novice, if they use jobra they can become first jobs like a swordsman. -Assigned: N/A -Progess: 0% - -Problem: Stats nor skills don't downgrade when your level gets reverted due to exp loss. -Assigned: N/A -Progess: 0% - -Problem: You can hit yourself with your own spider web. -Assigned: N/A -Progess: 0% - -Problem: Pre skill requirements for new skills are wrong it makes you use 49 skills points before you can get the newer skills. -Assigned: N/A -Progess: 0% - -Problem: Monster hp view only shows but does not go down with a hit. -Assigned: N/A -Progess: 0% - -Problem: Monsters always freeze, when hit they don't move but 2 mins later they move. -Assigned: N/A -Progess: 0% - -Problem: Mobs don't attack -Assigned: N/A -Progess: 0% - -Problem: When u spawn ~300 mobs (and more or less) then do @killmonster then some mobs freeze on the screen (have no names, don't move, etc) -Assigned: N/A -Progess: 0% - -Problem: With 1025 client, some NPC sprites look different (i.e. Black Jack's NPC sprite) -Assigned: N/A -Progess: 0% - -Problem: Thiefs can steal ZENY / items from TREASURE chests!!baaaah!! and Guardians! -Assigned: N/A -Progess: 0% - -Problem: Joker card 4139 lets anyone to steal money / zeny. Just like he's a thief. It shoul;d be revised - success rates lowered and "steal item" disabled -Assigned: N/A -Progess: 0% - -Problem: When servers restart sometime the gm lvls in sql get reset back to 0 -Assigned: Wizputer -Progess: 0% - -Problem: [mob attacks againsts players wearing ghostring armor do full damage mob_ghostring_fix: yes] Does not work, does nothing. -Assigned: N/A -Progess: 0% - -Problem: If two clients using the same account the server will crash and it allows people to dupe using the trade bug, one person trades over and item relogs it saves and the other person doesn't, they crash server both of them end up with the item. -Assigned: N/A -Progess: 0% - -Problem: When athena is run in linux it creates core files which takes 300 megs. -Assigned: N/A -Progess: 0% - -Problem: The skill tree's max skill lvl is not read/used. -Assigned: N/A -Progess: 0% - -Problem: Cannot connect to map server when logging in in both txt and sql on svn. -Assigned: N/A -Progess: 0% - +Problem: Adding the new guild skills causes it to crash? +Assigned: N/A +Progess: 0% + +Problem: 2-2-1 classes are regarded as Novicies by the game server. NPCs aren't taking them as thier jobs but if you the the NPC to do something for a novice class it works with the 2-2-1 like renters. Also if some one becomes high novice, if they use jobra they can become first jobs like a swordsman. +Assigned: N/A +Progess: 0% + +Problem: Stats nor skills don't downgrade when your level gets reverted due to exp loss. +Assigned: N/A +Progess: 0% + +Problem: You can hit yourself with your own spider web. +Assigned: N/A +Progess: 0% + +Problem: Pre skill requirements for new skills are wrong it makes you use 49 skills points before you can get the newer skills. +Assigned: N/A +Progess: 0% + +Problem: Monster hp view only shows but does not go down with a hit. +Assigned: N/A +Progess: 0% + +Problem: Monsters always freeze, when hit they don't move but 2 mins later they move. +Assigned: N/A +Progess: 0% + +Problem: Mobs don't attack +Assigned: N/A +Progess: 0% + +Problem: When u spawn ~300 mobs (and more or less) then do @killmonster then some mobs freeze on the screen (have no names, don't move, etc) +Assigned: N/A +Progess: 0% + +Problem: With 1025 client, some NPC sprites look different (i.e. Black Jack's NPC sprite) +Assigned: N/A +Progess: 0% + +Problem: Thiefs can steal ZENY / items from TREASURE chests!!baaaah!! and Guardians! +Assigned: N/A +Progess: 0% + +Problem: Joker card 4139 lets anyone to steal money / zeny. Just like he's a thief. It shoul;d be revised - success rates lowered and "steal item" disabled +Assigned: N/A +Progess: 0% + +Problem: When servers restart sometime the gm lvls in sql get reset back to 0 +Assigned: Wizputer +Progess: 0% + +Problem: [mob attacks againsts players wearing ghostring armor do full damage mob_ghostring_fix: yes] Does not work, does nothing. +Assigned: N/A +Progess: 0% + +Problem: If two clients using the same account the server will crash and it allows people to dupe using the trade bug, one person trades over and item relogs it saves and the other person doesn't, they crash server both of them end up with the item. +Assigned: N/A +Progess: 0% + +Problem: When athena is run in linux it creates core files which takes 300 megs. +Assigned: N/A +Progess: 0% + +Problem: The skill tree's max skill lvl is not read/used. +Assigned: N/A +Progess: 0% + +Problem: Cannot connect to map server when logging in in both txt and sql on svn. +Assigned: N/A +Progess: 0% + diff --git a/Dev/forSQLdev.txt b/Dev/forSQLdev.txt index c54c531a6..9f0f1a59a 100644 --- a/Dev/forSQLdev.txt +++ b/Dev/forSQLdev.txt @@ -1,146 +1,146 @@ -// $Id: forSQLdev.txt,v 1.1 2004/09/19 09:18:32 Akaru Exp $ - -This file is to informe SQL dev about all modifications on TXT version. - -When a modification is done, TXT dev try to add it here with some explanations. -When a modification is added in SQL version, SQL dev remove it from this file. - - -********* 9th september ------------------------------------- -changed: - sd->newauth (map.h/clif.c) by sd->packet_ver (look all function where was newauth) - value become // 5: old, 6: 7july04, 7: 13july04, 8: 26july04, 9: 30aug04 (by [Yor]) - instead of // 0: old 0x72 (19 b), 3: new 0x72 7july04 (22 b), 20: new 0x72 13july04 (39 b), 0: old 0x7E (6 b - not for auth), 27: new 0x7E 26july04 (33 b), 31: new 0x7E 30aug04 (37 b) (by [Yor]) - note: local variable 'newauth' not changed in clif_parse_WantToConnection - ------------------------------------- -Added - if (sd->packet_ver == 8) { // 5: old, 6: 7july04, 7: 13july04, 8: 26july04, 9: 30aug04 (by [Yor]) - clif_displaymessage(sd->fd, "This client version (of 26 jul 2004) is not actually supported by this server."); - } else if (sd->packet_ver == 9) { // 5: old, 6: 7july04, 7: 13july04, 8: 26july04, 9: 30aug04 (by [Yor]) - clif_displaymessage(sd->fd, "This client version (of 30 august 2004) is not actually supported by this server."); - } -at end of 'pc_authok' function (pc.c) - ------------------------------------- -Changed - in 'atcommand_effect' function, set the correct message in back of: - clif_displaymessage(fd, msg_table[229]); // Your effect has changed. - ------------------------------------- -Changed - in 'atcommand_servertime' function, replace permanent message by msg_table and put them in msg_athena.conf - ------------------------------------- -Changed to reduce (a little) lag - in char.c, commented printf about auth: - case 0x2afc: - if (RFIFOREST(fd) < 22) - return 0; - //printf("auth_fifo search: account: %d, char: %d, secure: %08x-%08x\n", RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10), RFIFOL(fd,14)); - for(i = 0; i < AUTH_FIFO_SIZE; i++) { - - - case 0x2b02: - if (RFIFOREST(fd) < 18) - return 0; - if (auth_fifo_pos >= AUTH_FIFO_SIZE) - auth_fifo_pos = 0; - //printf("auth_fifo set (auth #%d) - account: %d, secure: %08x-%08x\n", auth_fifo_pos, RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10)); - auth_fifo[auth_fifo_pos].account_id = RFIFOL(fd,2); - - - case 0x2b05: - if (RFIFOREST(fd) < 49) - return 0; - if (auth_fifo_pos >= AUTH_FIFO_SIZE) - auth_fifo_pos = 0; - WFIFOW(fd,0) = 0x2b06; - memcpy(WFIFOP(fd,2), RFIFOP(fd,2), 42); - //printf("auth_fifo set (auth#%d) - account: %d, secure: 0x%08x-0x%08x\n", auth_fifo_pos, RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10)); - auth_fifo[auth_fifo_pos].account_id = RFIFOL(fd,2); - - - in case 0x66: // ƒLƒƒƒ‰‘I‘ð - if (auth_fifo_pos >= AUTH_FIFO_SIZE) - auth_fifo_pos = 0; - //printf("auth_fifo set #%d - account %d, char: %d, secure: %08x-%08x\n", auth_fifo_pos, sd->account_id, char_dat[sd->found_char[ch]].char_id, sd->login_id1, sd->login_id2); - auth_fifo[auth_fifo_pos].account_id = sd->account_id; - - - commented printf about searching map server (in 'search_mapserver' function) - ------------------------------------- -Improved At_command about monsters spawn (atcommand_spawn and atcommand_monster): - modified message 39: - //39: All monster summoned! - Added message 240: - //240: %d monster(s) summoned! - Added variables (output, j and k): - char output[200]; - int i, j, k; - memset(output, '\0', sizeof(output)); - Changed loop to check at least 8 times (to try to spawn in closed area): - count = 0; - for (i = 0; i < number; i++) { - j = 0; - k = 0; - while(j++ < 8 && k == 0) { // try 8 times to spawn the monster (needed for close area) - if (x <= 0) - mx = sd->bl.x + (rand() % 11 - 5); - else - mx = x; - if (y <= 0) - my = sd->bl.y + (rand() % 11 - 5); - else - my = y; - k = mob_once_spawn((struct map_session_data*)sd, "this", mx, my, name, mob_id, 1, ""); - } - count += (k != 0) ? 1 : 0; - } - Changed last message display (to add number != count): - if (count != 0) - if (number == count) - clif_displaymessage(fd, msg_table[39]); // All monster summoned! - else { - sprintf(output, msg_table[240], count); // %d monster(s) summoned! - clif_displaymessage(fd, output); - } - else { - -********* 10th september ------------------------------------- -Correction of an error in char.c in 'char_config_read' function: - replace 'wisp_server_name' by 'w2' in the test of the lenght: - } else if (strcmpi(w1, "wisp_server_name") == 0) { - if (strlen(w2) >= 4) { - memcpy(wisp_server_name, w2, sizeof(wisp_server_name)); - wisp_server_name[sizeof(wisp_server_name) - 1] = '\0'; - } - ------------------------------------- -Added a better id control of monster id in @spawn/@monster... GM commands: - added in mob.h: - int mobdb_checkid(const int id); - Added in mob.c: - /*========================================== - * Id Mob is checked. - *------------------------------------------ - */ - int mobdb_checkid(const int id) { - if (id <= 0 || id >= (sizeof(mob_db) / sizeof(mob_db[0])) || mob_db[id].name[0] == '\0') - return 0; - - return id; - } - Changed in at_command.c ('atcommand_monster' and 'atcommand_spawn' functions) (only second line is modified): - if ((mob_id = mobdb_searchname(monster)) == 0) // check name first (to avoid possible name begining by a number) - mob_id = atoi(monster); - by: - if ((mob_id = mobdb_searchname(monster)) == 0) // check name first (to avoid possible name begining by a number) - mob_id = mobdb_checkid(atoi(monster)); - -********* 11th september ------------------------------------- -Changed @effect from level 60 to level 40. - ------------------------------------- -Added 3 new commands: @charitemlist, @charstoragelist, @charcarlist - modified file: atcommand.c/h, atcommand_athena.conf, all help.txt, and gmcommands.html +// $Id: forSQLdev.txt,v 1.1 2004/09/19 09:18:32 Akaru Exp $ + +This file is to informe SQL dev about all modifications on TXT version. + +When a modification is done, TXT dev try to add it here with some explanations. +When a modification is added in SQL version, SQL dev remove it from this file. + + +********* 9th september +------------------------------------ +changed: + sd->newauth (map.h/clif.c) by sd->packet_ver (look all function where was newauth) + value become // 5: old, 6: 7july04, 7: 13july04, 8: 26july04, 9: 30aug04 (by [Yor]) + instead of // 0: old 0x72 (19 b), 3: new 0x72 7july04 (22 b), 20: new 0x72 13july04 (39 b), 0: old 0x7E (6 b - not for auth), 27: new 0x7E 26july04 (33 b), 31: new 0x7E 30aug04 (37 b) (by [Yor]) + note: local variable 'newauth' not changed in clif_parse_WantToConnection + +------------------------------------ +Added + if (sd->packet_ver == 8) { // 5: old, 6: 7july04, 7: 13july04, 8: 26july04, 9: 30aug04 (by [Yor]) + clif_displaymessage(sd->fd, "This client version (of 26 jul 2004) is not actually supported by this server."); + } else if (sd->packet_ver == 9) { // 5: old, 6: 7july04, 7: 13july04, 8: 26july04, 9: 30aug04 (by [Yor]) + clif_displaymessage(sd->fd, "This client version (of 30 august 2004) is not actually supported by this server."); + } +at end of 'pc_authok' function (pc.c) + +------------------------------------ +Changed + in 'atcommand_effect' function, set the correct message in back of: + clif_displaymessage(fd, msg_table[229]); // Your effect has changed. + +------------------------------------ +Changed + in 'atcommand_servertime' function, replace permanent message by msg_table and put them in msg_athena.conf + +------------------------------------ +Changed to reduce (a little) lag + in char.c, commented printf about auth: + case 0x2afc: + if (RFIFOREST(fd) < 22) + return 0; + //printf("auth_fifo search: account: %d, char: %d, secure: %08x-%08x\n", RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10), RFIFOL(fd,14)); + for(i = 0; i < AUTH_FIFO_SIZE; i++) { + - + case 0x2b02: + if (RFIFOREST(fd) < 18) + return 0; + if (auth_fifo_pos >= AUTH_FIFO_SIZE) + auth_fifo_pos = 0; + //printf("auth_fifo set (auth #%d) - account: %d, secure: %08x-%08x\n", auth_fifo_pos, RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10)); + auth_fifo[auth_fifo_pos].account_id = RFIFOL(fd,2); + - + case 0x2b05: + if (RFIFOREST(fd) < 49) + return 0; + if (auth_fifo_pos >= AUTH_FIFO_SIZE) + auth_fifo_pos = 0; + WFIFOW(fd,0) = 0x2b06; + memcpy(WFIFOP(fd,2), RFIFOP(fd,2), 42); + //printf("auth_fifo set (auth#%d) - account: %d, secure: 0x%08x-0x%08x\n", auth_fifo_pos, RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10)); + auth_fifo[auth_fifo_pos].account_id = RFIFOL(fd,2); + - + in case 0x66: // ƒLƒƒƒ‰‘I‘ð + if (auth_fifo_pos >= AUTH_FIFO_SIZE) + auth_fifo_pos = 0; + //printf("auth_fifo set #%d - account %d, char: %d, secure: %08x-%08x\n", auth_fifo_pos, sd->account_id, char_dat[sd->found_char[ch]].char_id, sd->login_id1, sd->login_id2); + auth_fifo[auth_fifo_pos].account_id = sd->account_id; + - + commented printf about searching map server (in 'search_mapserver' function) + +------------------------------------ +Improved At_command about monsters spawn (atcommand_spawn and atcommand_monster): + modified message 39: + //39: All monster summoned! + Added message 240: + //240: %d monster(s) summoned! + Added variables (output, j and k): + char output[200]; + int i, j, k; + memset(output, '\0', sizeof(output)); + Changed loop to check at least 8 times (to try to spawn in closed area): + count = 0; + for (i = 0; i < number; i++) { + j = 0; + k = 0; + while(j++ < 8 && k == 0) { // try 8 times to spawn the monster (needed for close area) + if (x <= 0) + mx = sd->bl.x + (rand() % 11 - 5); + else + mx = x; + if (y <= 0) + my = sd->bl.y + (rand() % 11 - 5); + else + my = y; + k = mob_once_spawn((struct map_session_data*)sd, "this", mx, my, name, mob_id, 1, ""); + } + count += (k != 0) ? 1 : 0; + } + Changed last message display (to add number != count): + if (count != 0) + if (number == count) + clif_displaymessage(fd, msg_table[39]); // All monster summoned! + else { + sprintf(output, msg_table[240], count); // %d monster(s) summoned! + clif_displaymessage(fd, output); + } + else { + +********* 10th september +------------------------------------ +Correction of an error in char.c in 'char_config_read' function: + replace 'wisp_server_name' by 'w2' in the test of the lenght: + } else if (strcmpi(w1, "wisp_server_name") == 0) { + if (strlen(w2) >= 4) { + memcpy(wisp_server_name, w2, sizeof(wisp_server_name)); + wisp_server_name[sizeof(wisp_server_name) - 1] = '\0'; + } + +------------------------------------ +Added a better id control of monster id in @spawn/@monster... GM commands: + added in mob.h: + int mobdb_checkid(const int id); + Added in mob.c: + /*========================================== + * Id Mob is checked. + *------------------------------------------ + */ + int mobdb_checkid(const int id) { + if (id <= 0 || id >= (sizeof(mob_db) / sizeof(mob_db[0])) || mob_db[id].name[0] == '\0') + return 0; + + return id; + } + Changed in at_command.c ('atcommand_monster' and 'atcommand_spawn' functions) (only second line is modified): + if ((mob_id = mobdb_searchname(monster)) == 0) // check name first (to avoid possible name begining by a number) + mob_id = atoi(monster); + by: + if ((mob_id = mobdb_searchname(monster)) == 0) // check name first (to avoid possible name begining by a number) + mob_id = mobdb_checkid(atoi(monster)); + +********* 11th september +------------------------------------ +Changed @effect from level 60 to level 40. + +------------------------------------ +Added 3 new commands: @charitemlist, @charstoragelist, @charcarlist + modified file: atcommand.c/h, atcommand_athena.conf, all help.txt, and gmcommands.html diff --git a/Dev/quotes.txt b/Dev/quotes.txt index 463e7df9c..a82eaae68 100644 --- a/Dev/quotes.txt +++ b/Dev/quotes.txt @@ -1,148 +1,148 @@ -ADD UR QUOTES HERE FOR DEV EDITION NPCS! -Remember to add map, coords, and sprite number! - -NEW 10-21-04! -Add Biography areas --Real name --Age --Where u live --What u do here --Why ur here --and ur own small self intro. - -Completed people: MC Cameri, Aria, david, mouse - - -Also put some coords so that u walk around -//************************************\\ - -davidsiaw -- put me in payon next to kawaii no kafra with npc sprite no. 1002 -- [davidsiaw] -- Wud are you looking at? -- baka... -- next; -- [davidsiaw] -- *drops 100 Mjolnirs on the floor -- There ya go ;) - -Aria -prontera.gat,156,179,4 script Aria 805,{ -151,175-OMGWTFBBQ -152,182-So its u -> 0 -... That did not look right -158,177-OMGITSJEEBUS!#!@%! -164,176-Evera died. I guess. -147,176-I CLICK THE BUTTON AND THEY DON'T DIE! -155,172-RO? wtf? -Oh yeah. -165,171-omgnoob. DIE! -157,176-WooT! -[@Aria] is that why u bought windows -[@Aria] cuz bill has red hair -bio -Okay, I'm Evera's brother, Aria <- small sentence self-intro -^FF00FFAge^000000: 13 years <-age -^FF00FFWhat I do^000000: Graphics and NPCs <-wtf u do -^FF00FFWhy I'm here^000000: Cuz eAthena ROX <-y - -Anyway, here. I get to talk about myself now <-ur own bio -I'm from California, and I wub MMORPGS -So yeah that's it. GO EA! - -Shinigami --imma n00b --lol --:P --Shinigami stabs Azndragon --there you go bitches --watashi wa Shinigami desu --huh?, wtf? - -Lord --Me + ebil = bad me + ebil + power = omg .... -<@Wishy> me + you = you get owns -<@Lord> Me + Revenge = You Got owned -<@Wishy> Me > You -<@Lord> No i own you in bed :3 -<@Wishy> ... - -Codemaster -"Everything begins with Nu and everything ends with Nu. -This is the truth! This is my belief... at least for now." - - Mysteries of Life Volume 184. Chapter 26. - -MouseJstr - -"The only difference between a hurricane and skydiving is -which direction the tree's come at you from.." - -"Wanna be a GM? Write me a C routine that reverses a string - in place.." - -"Wanna be a GM? Write me a C routine that finds me the highest - bit set in a network order 32 bit integer..." - -"I am the dark angel of eAthena.. withen weeks of my arrival, - almost everybody was gone or dead.. fear me..." - -Lupus, I demand you rewrite yours.. - -MC Cameri -morroc.gat,160,97,4 script MC Cameri 706,{ --I'm the @command guy from oa... --Can't tell you my name. --16 years --Dominican Republic, in the caribbean. --Mostly work on @commands for GMs... --Because I like programming... --I'm a senior student, programmer, body builder(yes, I lift weights), etc. -160,95-I owns you all, under my commands. *lol* -162,95-I forgot what my script, what do I have to say again? *_*U -164,95-ŋDonde estoy? *wonders* (<-- Means, where am I?) -164,97-Are you guys my friends? -164,99-My mom told me not to talk to strangers. *stares* -162,99-How can you be SO ugly!? -160,99-I need a friend to play with =(. *sobs* -160,97-I've been kicking this rock for as long as I can remember. -160,95-My computer just broke, and I don't know how to format. *sobs* - -Darkchild - -// Place me Next to Valaris (ELSE I DO IT MYSELF :P) -- I think Aria Has A Lot To Do -- The Darkness Within -- Watch Out For Trucks, They Tend To Drive You Down -- Who Am I? Really? Shure! -- GAH! -- Everyone Lubs Me! (I Hope!) -- I Lub Everyone! - As Long As They Are Female - Hot.... - Goodlooking - Big Boobs - Nice Ass - And Workship Me! -- Wannabe GM? Host Your Own Server -- kRO is €20 A Month! Sick Bastards! - -Biography: - mes "Okay, So I'm Darkchild......."; - mes "^FF00FFAge^000000: 17 years"; - mes "^FF00FFWhat I do^000000: Writing Biography"; - mes "^FF00FFWhy I'm here^000000: I Have NO Idea"; - next; - mes "Ehm Well..... Whats There To Say About Me.......?"; - mes "I Dunno.... As Long As You Love Me........."; - mes "Well Okay, A Lil Bit Then:"; - mes "I'm From The Netherlands And Doing Some Wacko Collega Atm"; - mes "More? WTF? YOU WANT MORE? GO BLOW URSELF!"; - next; -// let it do an npc event on Valaris - -// His Npc Event: - npctalk "DARKCHILD, DON'T YOU SHOUT AT POOR LIL N00BIEZ!!!"; - -// Back 2 Me :P - npctalk "Sorry Valaris"; - npctalk "(He Is Da Man!)"; +ADD UR QUOTES HERE FOR DEV EDITION NPCS! +Remember to add map, coords, and sprite number! + +NEW 10-21-04! +Add Biography areas +-Real name +-Age +-Where u live +-What u do here +-Why ur here +-and ur own small self intro. + +Completed people: MC Cameri, Aria, david, mouse + + +Also put some coords so that u walk around +//************************************\\ + +davidsiaw +- put me in payon next to kawaii no kafra with npc sprite no. 1002 +- [davidsiaw] +- Wud are you looking at? +- baka... +- next; +- [davidsiaw] +- *drops 100 Mjolnirs on the floor +- There ya go ;) + +Aria +prontera.gat,156,179,4 script Aria 805,{ +151,175-OMGWTFBBQ +152,182-So its u -> 0 +... That did not look right +158,177-OMGITSJEEBUS!#!@%! +164,176-Evera died. I guess. +147,176-I CLICK THE BUTTON AND THEY DON'T DIE! +155,172-RO? wtf? +Oh yeah. +165,171-omgnoob. DIE! +157,176-WooT! +[@Aria] is that why u bought windows +[@Aria] cuz bill has red hair +bio +Okay, I'm Evera's brother, Aria <- small sentence self-intro +^FF00FFAge^000000: 13 years <-age +^FF00FFWhat I do^000000: Graphics and NPCs <-wtf u do +^FF00FFWhy I'm here^000000: Cuz eAthena ROX <-y + +Anyway, here. I get to talk about myself now <-ur own bio +I'm from California, and I wub MMORPGS +So yeah that's it. GO EA! + +Shinigami +-imma n00b +-lol +-:P +-Shinigami stabs Azndragon +-there you go bitches +-watashi wa Shinigami desu +-huh?, wtf? + +Lord +-Me + ebil = bad me + ebil + power = omg .... +<@Wishy> me + you = you get owns +<@Lord> Me + Revenge = You Got owned +<@Wishy> Me > You +<@Lord> No i own you in bed :3 +<@Wishy> ... + +Codemaster +"Everything begins with Nu and everything ends with Nu. +This is the truth! This is my belief... at least for now." + - Mysteries of Life Volume 184. Chapter 26. + +MouseJstr + +"The only difference between a hurricane and skydiving is +which direction the tree's come at you from.." + +"Wanna be a GM? Write me a C routine that reverses a string + in place.." + +"Wanna be a GM? Write me a C routine that finds me the highest + bit set in a network order 32 bit integer..." + +"I am the dark angel of eAthena.. withen weeks of my arrival, + almost everybody was gone or dead.. fear me..." + +Lupus, I demand you rewrite yours.. + +MC Cameri +morroc.gat,160,97,4 script MC Cameri 706,{ +-I'm the @command guy from oa... +-Can't tell you my name. +-16 years +-Dominican Republic, in the caribbean. +-Mostly work on @commands for GMs... +-Because I like programming... +-I'm a senior student, programmer, body builder(yes, I lift weights), etc. +160,95-I owns you all, under my commands. *lol* +162,95-I forgot what my script, what do I have to say again? *_*U +164,95-ŋDonde estoy? *wonders* (<-- Means, where am I?) +164,97-Are you guys my friends? +164,99-My mom told me not to talk to strangers. *stares* +162,99-How can you be SO ugly!? +160,99-I need a friend to play with =(. *sobs* +160,97-I've been kicking this rock for as long as I can remember. +160,95-My computer just broke, and I don't know how to format. *sobs* + +Darkchild + +// Place me Next to Valaris (ELSE I DO IT MYSELF :P) +- I think Aria Has A Lot To Do +- The Darkness Within +- Watch Out For Trucks, They Tend To Drive You Down +- Who Am I? Really? Shure! +- GAH! +- Everyone Lubs Me! (I Hope!) +- I Lub Everyone! + As Long As They Are Female + Hot.... + Goodlooking + Big Boobs + Nice Ass + And Workship Me! +- Wannabe GM? Host Your Own Server +- kRO is €20 A Month! Sick Bastards! + +Biography: + mes "Okay, So I'm Darkchild......."; + mes "^FF00FFAge^000000: 17 years"; + mes "^FF00FFWhat I do^000000: Writing Biography"; + mes "^FF00FFWhy I'm here^000000: I Have NO Idea"; + next; + mes "Ehm Well..... Whats There To Say About Me.......?"; + mes "I Dunno.... As Long As You Love Me........."; + mes "Well Okay, A Lil Bit Then:"; + mes "I'm From The Netherlands And Doing Some Wacko Collega Atm"; + mes "More? WTF? YOU WANT MORE? GO BLOW URSELF!"; + next; +// let it do an npc event on Valaris + +// His Npc Event: + npctalk "DARKCHILD, DON'T YOU SHOUT AT POOR LIL N00BIEZ!!!"; + +// Back 2 Me :P + npctalk "Sorry Valaris"; + npctalk "(He Is Da Man!)"; diff --git a/Dev/resnametable.TXT b/Dev/resnametable.TXT index 411bf6cd0..6c62e2a1b 100644 --- a/Dev/resnametable.TXT +++ b/Dev/resnametable.TXT @@ -1,64 +1,64 @@ -Resnametable reading problem, testcases and description -by Akaru ------------------------------------------------------------------- -EDITED Resnametable, add at the end: -aaa.gnd#valkyrie.gnd# -aaa.gat#valkyrie.gat# -aaa.rsw#valkyrie.rsw# -ĀŊĀúĀÎÅÍÆäĀĖ―š\map\aaa.bmp#ĀŊĀúĀÎÅÍÆäĀĖ―š\map\valkyrie.bmp# - -At map_athena.conf, add: -map: aaa.gat - -Case 1: -In data.grf there's the base resnametable without reference of aaa.gat -In sdata.grf there's no resnametable -In data folder there's an edited resnametable with aaa.gat reference -Results: Athena gives aaa.gat not found error -What this proves: Athena doesn't even use the values in the datafolder resnametable - -Case 2: -In data.grf there's the base resnametable without reference of aaa.gat -In sdata.grf there's the edited resnametable aaa.gat reference -In data folder there's an edited resnametable with aaa.gat reference -Results: Athena loads aaa.gat -What this proves: Athena only checks for the existance of the datafolder resnametable, but uses value from sdata.grf resnametable - -Case 3: -In data.grf there's the base resnametable without reference of aaa.gat -In sdata.grf there's the edited resnametable aaa.gat reference -In data folder there's no resnametable -BEFORE MY CHANGE: Athena exits, "data/resnametable.txt not found" -AFTER MY CHANGE: Athena loads aaa.gat -What this proves: Athena do not need the datafolder resnametable at all and it still runs from the resnametable in the GRFs - -Case 4: -In data.grf there's no resnametable -In sdata.grf there's no resnametable -In data folder there's no resnametable -BEFORE MY CHANGE: Athena exits, "data/resnametable.txt not found" -AFTER MY CHANGE: Athena exits, "data/resnametable.txt not found" - -How it is now: -- It searches for the datafolder resnametable: - - If it exist, it continues but only use the resnametable from the GRF - - If it does not exist, - - If resnametable isn't found in data.grf/sdata.grf/adata.grf, it errors "resnametable not found" and exits - - If resnametable is found in data.grf/sdata.grf/adata.grf, it errors "resnametable not found" and exits - -What is should do: -- Check if data_folder in grf-files is enabled: - - If it is, search for the datafolder resnametable: - - If it exist: - - If resnametable isn't found in data.grf/sdata.grf/adata.grf, it continues and uses this resnametable - - If resnametable is found in data.grf/sdata.grf/adata.grf, it continues and overwrites the GRF resnametable with this one from the datafolder - - If it does not exist: - - If resnametable isn't found in data.grf/sdata.grf/adata.grf, it errors "resnametable not found" and exits - - If resnametable is found in data.grf/sdata.grf/adata.grf, it continues and use the GRF resnametable - - If it isn't, then: - - If resnametable isn't found in data.grf/sdata.grf/adata.grf, it errors "resnametable not found" and exits - - If resnametable is found in data.grf/sdata.grf/adata.grf, it continues and use the GRF resnametable - ------------------------------------------------------------------- -Fixes, comments, discussions, etc goes below here: +Resnametable reading problem, testcases and description +by Akaru +------------------------------------------------------------------ +EDITED Resnametable, add at the end: +aaa.gnd#valkyrie.gnd# +aaa.gat#valkyrie.gat# +aaa.rsw#valkyrie.rsw# +ĀŊĀúĀÎÅÍÆäĀĖ―š\map\aaa.bmp#ĀŊĀúĀÎÅÍÆäĀĖ―š\map\valkyrie.bmp# + +At map_athena.conf, add: +map: aaa.gat + +Case 1: +In data.grf there's the base resnametable without reference of aaa.gat +In sdata.grf there's no resnametable +In data folder there's an edited resnametable with aaa.gat reference +Results: Athena gives aaa.gat not found error +What this proves: Athena doesn't even use the values in the datafolder resnametable + +Case 2: +In data.grf there's the base resnametable without reference of aaa.gat +In sdata.grf there's the edited resnametable aaa.gat reference +In data folder there's an edited resnametable with aaa.gat reference +Results: Athena loads aaa.gat +What this proves: Athena only checks for the existance of the datafolder resnametable, but uses value from sdata.grf resnametable + +Case 3: +In data.grf there's the base resnametable without reference of aaa.gat +In sdata.grf there's the edited resnametable aaa.gat reference +In data folder there's no resnametable +BEFORE MY CHANGE: Athena exits, "data/resnametable.txt not found" +AFTER MY CHANGE: Athena loads aaa.gat +What this proves: Athena do not need the datafolder resnametable at all and it still runs from the resnametable in the GRFs + +Case 4: +In data.grf there's no resnametable +In sdata.grf there's no resnametable +In data folder there's no resnametable +BEFORE MY CHANGE: Athena exits, "data/resnametable.txt not found" +AFTER MY CHANGE: Athena exits, "data/resnametable.txt not found" + +How it is now: +- It searches for the datafolder resnametable: + - If it exist, it continues but only use the resnametable from the GRF + - If it does not exist, + - If resnametable isn't found in data.grf/sdata.grf/adata.grf, it errors "resnametable not found" and exits + - If resnametable is found in data.grf/sdata.grf/adata.grf, it errors "resnametable not found" and exits + +What is should do: +- Check if data_folder in grf-files is enabled: + - If it is, search for the datafolder resnametable: + - If it exist: + - If resnametable isn't found in data.grf/sdata.grf/adata.grf, it continues and uses this resnametable + - If resnametable is found in data.grf/sdata.grf/adata.grf, it continues and overwrites the GRF resnametable with this one from the datafolder + - If it does not exist: + - If resnametable isn't found in data.grf/sdata.grf/adata.grf, it errors "resnametable not found" and exits + - If resnametable is found in data.grf/sdata.grf/adata.grf, it continues and use the GRF resnametable + - If it isn't, then: + - If resnametable isn't found in data.grf/sdata.grf/adata.grf, it errors "resnametable not found" and exits + - If resnametable is found in data.grf/sdata.grf/adata.grf, it continues and use the GRF resnametable + +------------------------------------------------------------------ +Fixes, comments, discussions, etc goes below here: ------------------------------------------------------------------ \ No newline at end of file diff --git a/INSTALL b/INSTALL index ab8609bf3..c98db12b4 100644 --- a/INSTALL +++ b/INSTALL @@ -1,246 +1,246 @@ -eAthena SQL Installation and Upgrade Instructions - -1 Installation - 1.1 Windows - 1.2 Linux - 1.3 FreeBSD -2 Upgrading - 2.1 Upgrading from version 817 - 2.2 Upgrading from version 0.5.2 - 2.3 Upgrading from version 1.0 RC 1 -3 Mail System - 3.1 Adding the mail database - 3.2 Activating the mail system - -1 Installation -============== - -1.1 Windows ------------ - -1. It is not the aim of this document to explain the installation, concepts or usage of MySQL. If you are unfamiliar with MySQL, familiarise yourself with it and read at least these sections of the MySQL reference manual (http://dev.mysql.com/doc/mysql/en/index.html): - -- 2.2.1 Installing MySQL on Windows -- 2.4 Post-Installation Setup and Testing -- 5.4 General Security Issues -- 5.5 The MySQL Access Privilege System -- 5.6 MySQL User Account Management - -2. If fast and secure access to a MySQL server is unavailable, install, start and configure MySQL database server version 4.0.x. If you are using a version of Windows which is a member of the NT family, we recommend that you install MySQL as a service. - -3. Create a new database and a new user account with only SELECT, INSERT, UPDATE and DELETE privileges on the database. For example: - -CREATE DATABASE ragnarok; -GRANT - SELECT,INSERT,UPDATE,DELETE - ON `ragnarok`.* # database - TO 'ragnarok'@'localhost' # username@address - IDENTIFIED BY 'password'; # password - -For security, do not use the password "password" for your user account. - -4. Execute the batch queries stored in sql\main.sql. If you want your item and monster databases stored in your MySQL database, execute sql\database.sql too. For example: - -mysql -D ragnarok -h localhost -u root -p < sql/main.sql | more && mysql -D ragnarok -h localhost -u root -p < sql/database.sql | more - -5. Add an inter-server account for every character server you intend to link to your login server. For example: - -USE ragnarok -INSERT INTO `login` - (`userid`,`user_pass`,`sex`,`email`) - VALUES ('inter-server_chaos','password','S',''); - -Every character server linked to your login server requires its own inter-server account; inter-server accounts are used by the servers to communicate with each other. The differences between user and inter-server accounts are: - -- The "sex" field value must equal "S" -- The "e-mail" field value is unused and therefore should be set to "" -- The "level", "error_message", "connect_until", "memo", "ban_until" and "state" field values are unsued and therefore should be set to 0 - -Anyone who knows the username and password of an inter-server account can control a character server using that account. Therefore, choose secure passwords for your inter-server accounts. - -6. Add accounts or convert existing accounts from a text file database. - -To add new accounts, use, for example: - -USE ragnarok -INSERT INTO `login` - (`userid`,`user_pass`,`sex`,`email`,`level`) - VALUES ('','','','',); - -Where is either M, F, or S for male, female, and inter-server respectively and is the e-mail address (for confirmation of character deletion). - -To convert existing accounts stored in a text file database, use login-converter.exe and char-converter.exe. Parties and guilds cannot be converted. - -7. Edit the configuration files in conf\ (except import\, mapflag\, help.txt, water.txt and water_height.txt) according to your computer configuration, network configuration, MySQL database server configuration and personal preferences. - -8. Download the latest cygwin1-yyyymmdd.dll.bz2 snapshot, where "yyyymmdd" is the build date, from http://cygwin.com/snapshots/. Extract cygwin1-yyyymmdd.dll from the archive, rename it to cygwin1.dll, and move it to your system or system32 directory -- depending on your version of Windows -- in your system root directory. - -9. Optionally compile: - -a. Install Cygwin with these packages: - -devel/ - gcc, - gcc-g++, - gcc-mingw-core, - gcc-mingw-g++, - make, - mingw-runtime, - mktemp - -b. Using Cygwin, install the MySQL libraries by compiling and installing the MySQL database server source distribution for Linux with "./configure --without-server && make && make install". - -c. Using Cygwin, enter "make" in the eAthena SQL directory. Recompile with "make clean && make". - -1.2 Linux ---------- - -1. It is not the aim of this document to explain the installation, concepts or usage of MySQL. If you are unfamiliar with MySQL, familiarise yourself with it and read at least these sections of the MySQL reference manual (http://dev.mysql.com/doc/mysql/en/index.html): - -- 2.2.2 Installing MySQL on Linux -- 2.4 Post-Installation Setup and Testing -- 5.4 General Security Issues -- 5.5 The MySQL Access Privilege System -- 5.6 MySQL User Account Management - -2. If fast and secure access to a MySQL server is unavailable, install, start and configure MySQL database server version 4.0.x. If you are using a version of Windows which is a member of the NT family, we recommend that you install MySQL as a service. - -3. Create a new database and a new user account with only SELECT, INSERT, UPDATE and DELETE privileges on the database. For example: - -CREATE DATABASE ragnarok; -GRANT - SELECT,INSERT,UPDATE,DELETE - ON `ragnarok`.* # database - TO 'ragnarok'@'localhost' # username@address - IDENTIFIED BY 'password'; # password - -For security, do not use the password "password" for your user account. - -4. Execute the batch queries stored in sql/main.sql. If you want your item and monster databases stored in your MySQL database, execute sql/database.sql too. For example: - -mysql -D ragnarok -h localhost -u root -p < sql/main.sql | more && mysql -D ragnarok -h localhost -u root -p < sql/database.sql | more - -5. Add an inter-server account for every character server you intend to link to your login server. For example: - -USE ragnarok -INSERT INTO `login` - (`userid`,`user_pass`,`sex`,`email`) - VALUES ('inter-server_chaos','password','S',''); - -Every character server linked to your login server requires its own inter-server account; inter-server accounts are used by the servers to communicate with each other. The differences between user and inter-server accounts are: - -- The "sex" field value must equal "S" -- The "e-mail" field value is unused and therefore should be set to "" -- The "level", "error_message", "connect_until", "memo", "ban_until" and "state" field values are unsued and therefore should be set to 0 - -Anyone who knows the username and password of an inter-server account can control a character server using that account. Therefore, choose secure passwords for your inter-server accounts. - -6. Add accounts or convert existing accounts from a text file database. - -To add new accounts, use, for example: - -USE ragnarok -INSERT INTO `login` - (`userid`,`user_pass`,`sex`,`email`,`level`) - VALUES ('','','','',); - -Where is either M, F, or S for male, female, and inter-server respectively and is the e-mail address (for confirmation of character deletion). - -To convert existing accounts stored in a text file database, use login-converter and char-converter. Parties and guilds cannot be converted. - -7. Edit the configuration files in conf/ (except import/, mapflag/, help.txt, water.txt and water_height.txt) according to your computer configuration, network configuration, MySQL database server configuration and personal preferences. - -8. Compile with "make". Recompile with "make clean && make". - -1.3 FreeBSD ------------ - -1. It is not the aim of this document to explain the installation, concepts or usage of MySQL. If you are unfamiliar with MySQL, familiarise yourself with it and read at least these sections of the MySQL reference manual (http://dev.mysql.com/doc/mysql/en/index.html): - -- 2.2.5 Installing MySQL on Other Unix-Like Systems -- 2.4 Post-Installation Setup and Testing -- 5.4 General Security Issues -- 5.5 The MySQL Access Privilege System -- 5.6 MySQL User Account Management - -2. If fast and secure access to a MySQL server is unavailable, install, start and configure MySQL database server version 4.0.x. If you are using a version of Windows which is a member of the NT family, we recommend that you install MySQL as a service. - -3. Create a new database and a new user account with only SELECT, INSERT, UPDATE and DELETE privileges on the database. For example: - -CREATE DATABASE ragnarok; -GRANT - SELECT,INSERT,UPDATE,DELETE - ON `ragnarok`.* # database - TO 'ragnarok'@'localhost' # username@address - IDENTIFIED BY 'password'; # password - -For security, do not use the password "password" for your user account. - -4. Execute the batch queries stored in sql/main.sql. If you want your item and monster databases stored in your MySQL database, execute sql/database.sql too. For example: - -mysql -D ragnarok -h localhost -u root -p < sql/main.sql | more && mysql -D ragnarok -h localhost -u root -p < sql/database.sql | more - -5. Add an inter-server account for every character server you intend to link to your login server. For example: - -USE ragnarok -INSERT INTO `login` - (`userid`,`user_pass`,`sex`,`email`) - VALUES ('inter-server_chaos','password','S',''); - -Every character server linked to your login server requires its own inter-server account; inter-server accounts are used by the servers to communicate with each other. The differences between user and inter-server accounts are: - -- The "sex" field value must equal "S" -- The "e-mail" field value is unused and therefore should be set to "" -- The "level", "error_message", "connect_until", "memo", "ban_until" and "state" field values are unsued and therefore should be set to 0 - -Anyone who knows the username and password of an inter-server account can control a character server using that account. Therefore, choose secure passwords for your inter-server accounts. - -6. Add accounts or convert existing accounts from a text file database. - -To add new accounts, use, for example: - -USE ragnarok -INSERT INTO `login` - (`userid`,`user_pass`,`sex`,`email`,`level`) - VALUES ('','','','',); - -Where is either M, F, or S for male, female, and inter-server respectively and is the e-mail address (for confirmation of character deletion). - -To convert existing accounts stored in a text file database, use login-converter and char-converter. Parties and guilds cannot be converted. - -7. Edit the configuration files in conf/ (except import/, mapflag/, help.txt, water.txt and water_height.txt) according to your computer configuration, network configuration, MySQL database server configuration and personal preferences. - -8. Compile with "gmake". Recompile with "gmake clean && gmake". - - -2 Upgrading -=========== - -2.1 Upgrading from version 817 ------------------------------- - -1. Execute the batch queries stored in sql/upgrade_817.sql and sql/upgrade_0.5.2_main.sql. - -2. If you want your item and monster databases stored in your MySQL database, execute the batch queries stored in sql/database.sql. - -2.2 Upgrading from version 0.5.2 --------------------------------- - -1. Execute the batch queries stored in sql/upgrade_0.5.2_main.sql. - -2. If you created the item_db and mob_db tables, execute the batch queries stored in sql/upgrade_0.5.2_database.sql. - -2.3 Upgrading from version 1.0 RC 1 ------------------------------------ - -1. Execute the batch queries stored in sql/upgrade_1.0.0-rc1_main.sql. - - -3 Mail System -============= - -2.1 Adding the mail database ----------------------------- -1. Execute the batch queries stored in sql/mail.sql - -2. Set mail_system option in conf/battle_athena.conf to 1 or yes. +eAthena SQL Installation and Upgrade Instructions + +1 Installation + 1.1 Windows + 1.2 Linux + 1.3 FreeBSD +2 Upgrading + 2.1 Upgrading from version 817 + 2.2 Upgrading from version 0.5.2 + 2.3 Upgrading from version 1.0 RC 1 +3 Mail System + 3.1 Adding the mail database + 3.2 Activating the mail system + +1 Installation +============== + +1.1 Windows +----------- + +1. It is not the aim of this document to explain the installation, concepts or usage of MySQL. If you are unfamiliar with MySQL, familiarise yourself with it and read at least these sections of the MySQL reference manual (http://dev.mysql.com/doc/mysql/en/index.html): + +- 2.2.1 Installing MySQL on Windows +- 2.4 Post-Installation Setup and Testing +- 5.4 General Security Issues +- 5.5 The MySQL Access Privilege System +- 5.6 MySQL User Account Management + +2. If fast and secure access to a MySQL server is unavailable, install, start and configure MySQL database server version 4.0.x. If you are using a version of Windows which is a member of the NT family, we recommend that you install MySQL as a service. + +3. Create a new database and a new user account with only SELECT, INSERT, UPDATE and DELETE privileges on the database. For example: + +CREATE DATABASE ragnarok; +GRANT + SELECT,INSERT,UPDATE,DELETE + ON `ragnarok`.* # database + TO 'ragnarok'@'localhost' # username@address + IDENTIFIED BY 'password'; # password + +For security, do not use the password "password" for your user account. + +4. Execute the batch queries stored in sql\main.sql. If you want your item and monster databases stored in your MySQL database, execute sql\database.sql too. For example: + +mysql -D ragnarok -h localhost -u root -p < sql/main.sql | more && mysql -D ragnarok -h localhost -u root -p < sql/database.sql | more + +5. Add an inter-server account for every character server you intend to link to your login server. For example: + +USE ragnarok +INSERT INTO `login` + (`userid`,`user_pass`,`sex`,`email`) + VALUES ('inter-server_chaos','password','S',''); + +Every character server linked to your login server requires its own inter-server account; inter-server accounts are used by the servers to communicate with each other. The differences between user and inter-server accounts are: + +- The "sex" field value must equal "S" +- The "e-mail" field value is unused and therefore should be set to "" +- The "level", "error_message", "connect_until", "memo", "ban_until" and "state" field values are unsued and therefore should be set to 0 + +Anyone who knows the username and password of an inter-server account can control a character server using that account. Therefore, choose secure passwords for your inter-server accounts. + +6. Add accounts or convert existing accounts from a text file database. + +To add new accounts, use, for example: + +USE ragnarok +INSERT INTO `login` + (`userid`,`user_pass`,`sex`,`email`,`level`) + VALUES ('','','','',); + +Where is either M, F, or S for male, female, and inter-server respectively and is the e-mail address (for confirmation of character deletion). + +To convert existing accounts stored in a text file database, use login-converter.exe and char-converter.exe. Parties and guilds cannot be converted. + +7. Edit the configuration files in conf\ (except import\, mapflag\, help.txt, water.txt and water_height.txt) according to your computer configuration, network configuration, MySQL database server configuration and personal preferences. + +8. Download the latest cygwin1-yyyymmdd.dll.bz2 snapshot, where "yyyymmdd" is the build date, from http://cygwin.com/snapshots/. Extract cygwin1-yyyymmdd.dll from the archive, rename it to cygwin1.dll, and move it to your system or system32 directory -- depending on your version of Windows -- in your system root directory. + +9. Optionally compile: + +a. Install Cygwin with these packages: + +devel/ + gcc, + gcc-g++, + gcc-mingw-core, + gcc-mingw-g++, + make, + mingw-runtime, + mktemp + +b. Using Cygwin, install the MySQL libraries by compiling and installing the MySQL database server source distribution for Linux with "./configure --without-server && make && make install". + +c. Using Cygwin, enter "make" in the eAthena SQL directory. Recompile with "make clean && make". + +1.2 Linux +--------- + +1. It is not the aim of this document to explain the installation, concepts or usage of MySQL. If you are unfamiliar with MySQL, familiarise yourself with it and read at least these sections of the MySQL reference manual (http://dev.mysql.com/doc/mysql/en/index.html): + +- 2.2.2 Installing MySQL on Linux +- 2.4 Post-Installation Setup and Testing +- 5.4 General Security Issues +- 5.5 The MySQL Access Privilege System +- 5.6 MySQL User Account Management + +2. If fast and secure access to a MySQL server is unavailable, install, start and configure MySQL database server version 4.0.x. If you are using a version of Windows which is a member of the NT family, we recommend that you install MySQL as a service. + +3. Create a new database and a new user account with only SELECT, INSERT, UPDATE and DELETE privileges on the database. For example: + +CREATE DATABASE ragnarok; +GRANT + SELECT,INSERT,UPDATE,DELETE + ON `ragnarok`.* # database + TO 'ragnarok'@'localhost' # username@address + IDENTIFIED BY 'password'; # password + +For security, do not use the password "password" for your user account. + +4. Execute the batch queries stored in sql/main.sql. If you want your item and monster databases stored in your MySQL database, execute sql/database.sql too. For example: + +mysql -D ragnarok -h localhost -u root -p < sql/main.sql | more && mysql -D ragnarok -h localhost -u root -p < sql/database.sql | more + +5. Add an inter-server account for every character server you intend to link to your login server. For example: + +USE ragnarok +INSERT INTO `login` + (`userid`,`user_pass`,`sex`,`email`) + VALUES ('inter-server_chaos','password','S',''); + +Every character server linked to your login server requires its own inter-server account; inter-server accounts are used by the servers to communicate with each other. The differences between user and inter-server accounts are: + +- The "sex" field value must equal "S" +- The "e-mail" field value is unused and therefore should be set to "" +- The "level", "error_message", "connect_until", "memo", "ban_until" and "state" field values are unsued and therefore should be set to 0 + +Anyone who knows the username and password of an inter-server account can control a character server using that account. Therefore, choose secure passwords for your inter-server accounts. + +6. Add accounts or convert existing accounts from a text file database. + +To add new accounts, use, for example: + +USE ragnarok +INSERT INTO `login` + (`userid`,`user_pass`,`sex`,`email`,`level`) + VALUES ('','','','',); + +Where is either M, F, or S for male, female, and inter-server respectively and is the e-mail address (for confirmation of character deletion). + +To convert existing accounts stored in a text file database, use login-converter and char-converter. Parties and guilds cannot be converted. + +7. Edit the configuration files in conf/ (except import/, mapflag/, help.txt, water.txt and water_height.txt) according to your computer configuration, network configuration, MySQL database server configuration and personal preferences. + +8. Compile with "make". Recompile with "make clean && make". + +1.3 FreeBSD +----------- + +1. It is not the aim of this document to explain the installation, concepts or usage of MySQL. If you are unfamiliar with MySQL, familiarise yourself with it and read at least these sections of the MySQL reference manual (http://dev.mysql.com/doc/mysql/en/index.html): + +- 2.2.5 Installing MySQL on Other Unix-Like Systems +- 2.4 Post-Installation Setup and Testing +- 5.4 General Security Issues +- 5.5 The MySQL Access Privilege System +- 5.6 MySQL User Account Management + +2. If fast and secure access to a MySQL server is unavailable, install, start and configure MySQL database server version 4.0.x. If you are using a version of Windows which is a member of the NT family, we recommend that you install MySQL as a service. + +3. Create a new database and a new user account with only SELECT, INSERT, UPDATE and DELETE privileges on the database. For example: + +CREATE DATABASE ragnarok; +GRANT + SELECT,INSERT,UPDATE,DELETE + ON `ragnarok`.* # database + TO 'ragnarok'@'localhost' # username@address + IDENTIFIED BY 'password'; # password + +For security, do not use the password "password" for your user account. + +4. Execute the batch queries stored in sql/main.sql. If you want your item and monster databases stored in your MySQL database, execute sql/database.sql too. For example: + +mysql -D ragnarok -h localhost -u root -p < sql/main.sql | more && mysql -D ragnarok -h localhost -u root -p < sql/database.sql | more + +5. Add an inter-server account for every character server you intend to link to your login server. For example: + +USE ragnarok +INSERT INTO `login` + (`userid`,`user_pass`,`sex`,`email`) + VALUES ('inter-server_chaos','password','S',''); + +Every character server linked to your login server requires its own inter-server account; inter-server accounts are used by the servers to communicate with each other. The differences between user and inter-server accounts are: + +- The "sex" field value must equal "S" +- The "e-mail" field value is unused and therefore should be set to "" +- The "level", "error_message", "connect_until", "memo", "ban_until" and "state" field values are unsued and therefore should be set to 0 + +Anyone who knows the username and password of an inter-server account can control a character server using that account. Therefore, choose secure passwords for your inter-server accounts. + +6. Add accounts or convert existing accounts from a text file database. + +To add new accounts, use, for example: + +USE ragnarok +INSERT INTO `login` + (`userid`,`user_pass`,`sex`,`email`,`level`) + VALUES ('','','','',); + +Where is either M, F, or S for male, female, and inter-server respectively and is the e-mail address (for confirmation of character deletion). + +To convert existing accounts stored in a text file database, use login-converter and char-converter. Parties and guilds cannot be converted. + +7. Edit the configuration files in conf/ (except import/, mapflag/, help.txt, water.txt and water_height.txt) according to your computer configuration, network configuration, MySQL database server configuration and personal preferences. + +8. Compile with "gmake". Recompile with "gmake clean && gmake". + + +2 Upgrading +=========== + +2.1 Upgrading from version 817 +------------------------------ + +1. Execute the batch queries stored in sql/upgrade_817.sql and sql/upgrade_0.5.2_main.sql. + +2. If you want your item and monster databases stored in your MySQL database, execute the batch queries stored in sql/database.sql. + +2.2 Upgrading from version 0.5.2 +-------------------------------- + +1. Execute the batch queries stored in sql/upgrade_0.5.2_main.sql. + +2. If you created the item_db and mob_db tables, execute the batch queries stored in sql/upgrade_0.5.2_database.sql. + +2.3 Upgrading from version 1.0 RC 1 +----------------------------------- + +1. Execute the batch queries stored in sql/upgrade_1.0.0-rc1_main.sql. + + +3 Mail System +============= + +2.1 Adding the mail database +---------------------------- +1. Execute the batch queries stored in sql/mail.sql + +2. Set mail_system option in conf/battle_athena.conf to 1 or yes. diff --git a/LICENCE b/LICENCE index 45645b4b5..5b6e7c66c 100644 --- a/LICENCE +++ b/LICENCE @@ -1,340 +1,340 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/LICENCE_JA b/LICENCE_JA index 0888c67e2..d6306074a 100644 --- a/LICENCE_JA +++ b/LICENCE_JA @@ -1,416 +1,416 @@ - GNU ˆę”ĘŒöO—˜—p‹–‘øŒ_–ņ‘ - ƒo[ƒWƒ‡ƒ“2A1991”N6ŒŽ - “ú–{Œę–óA2002”N5ŒŽ20“ú - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - ‚ą‚Ė—˜—p‹–‘øŒ_–ņ‘‚ðAˆęŽšˆę‹å‚ŧ‚˂܂܂ɕĄŧ‚ĩ”Еz‚·‚邹‚Ƃ͋–‰Â‚·‚éB - ‚ĩ‚Đ‚ĩ•ύX‚Í”F‚߂ȂǁB - - This is an unofficial translation of the GNU General Public License - into Japanese. It was not published by the Free Software Foundation, - and does not legally state the distribution terms for software that - uses the GNU GPL--only the original English text of the GNU GPL does - that. However, we hope that this translation will help Japanese - speakers understand the GNU GPL better. - - (–ó: ˆČ‰š‚ÍGNU General Public License‚Ė”ņŒöŽŪ‚Č“ú–{Œę–ó‚Å‚·B‚ą‚ę‚̓t - ƒŠ[ƒ\ƒtƒgƒEƒFƒAā’c(the Free Software Foundataion)‚É‚æ‚Á‚Ä”­•\‚ģ‚ę‚― - ‚ā‚Ė‚Å‚Í‚Č‚­AGNU GPL‚ð“K—p‚ĩ‚―ƒ\ƒtƒgƒEƒFƒA‚Ė”Ð•zðŒ‚ð–@“I‚É—LŒø‚ČŒ` - ‚ŏq‚Ũ‚―‚ā‚Ė‚Å‚Í‚ ‚č‚Ü‚đ‚ņB”ЕzðŒ‚Æ‚ĩ‚Ä‚ÍGNU GPL‚ˉpŒę”ŃeƒLƒXƒg‚Å - Žw’č‚ģ‚ę‚Ăǂé‚ā‚Ė‚Ė‚Ý‚Š—LŒø‚Å‚·B‚ĩ‚Đ‚ĩ‚ȂЂįAŽ„‚―‚ŋ‚Í‚ą‚Ė–|–󂊁A - “ú–{Œę‚ðŽg—p‚·‚élX‚ɂƂÁ‚ÄGNU GPL‚ð‚æ‚č—Į‚­—‰ð‚·‚鏕‚Ŋ‚Æ‚Č‚é‚ą‚Æ‚ð - –]‚ņ‚łǂ܂·B) - - –|–ó‚Í ”Š“c^s‚Šs‚Á‚―BŒī•ķ‚Í - http://www.gnu.org/licenses/gpl.txt‚Å‚ ‚éBŒë–ó‚ĖŽw“E‚â‰ü‘PˆÄ‚ðŠ―Œ}‚· - ‚éB - ‚Í‚ķ‚ß‚É - -ƒ\ƒtƒgƒEƒFƒAŒü‚Ŋƒ‰ƒCƒZƒ“ƒX‚Ė‘å”ž‚́A‚ ‚Č‚―‚Š‚ŧ‚Ėƒ\ƒtƒgƒEƒFƒA‚ð‹Ī—L‚ĩ‚― -‚č•ύX‚ĩ‚―‚č‚·‚éŽĐ—R‚ð’D‚Ī‚æ‚Ī‚ÉÝŒv‚ģ‚ę‚Ăǂ܂·B‘ΏƓI‚ɁAGNU ˆę”ĘŒö -O—˜—p‹–‘øŒ_–ņ‘‚́A‚ ‚Č‚―‚ŠƒtƒŠ[ƒ\ƒtƒgƒEƒFƒA‚ð‹Ī—L‚ĩ‚―‚č•ύX‚ĩ‚―‚č‚· -‚éŽĐ—R‚ð•ۏ؂·‚é--‚·‚Č‚í‚ŋAƒ\ƒtƒgƒEƒFƒA‚Š‚ŧ‚Ėƒ†[ƒU‚·‚Ũ‚ĂɂƂÁ‚ătƒŠ[ -‚Å‚ ‚邹‚Æ‚ð•ۏ؂·‚邹‚Æ‚ð–Ú“I‚Æ‚ĩ‚Ăǂ܂·B‚ą‚Ėˆę”ĘŒöO—˜—p‹–‘øŒ_–ņ‘ -‚̓tƒŠ[ƒ\ƒtƒgƒEƒFƒAā’c‚Ėƒ\ƒtƒgƒEƒFƒA‚Ė‚Ų‚Æ‚ņ‚Į‚É“K—p‚ģ‚ę‚ĂςčA‚Ü‚― -GNU GPL‚ð“K—p‚·‚邯Œˆ‚ß‚―ƒtƒŠ[ƒ\ƒtƒgƒEƒFƒAā’cˆČŠO‚ĖėŽŌ‚É‚æ‚éƒvƒƒO -ƒ‰ƒ€‚É‚ā“K—p‚ģ‚ę‚Ăǂ܂·(‚Ē‚­‚Â‚Đ‚ĖƒtƒŠ[ƒ\ƒtƒgƒEƒFƒAā’c‚Ėƒ\ƒtƒgƒEƒF -ƒA‚ɂ́AGNU GPL‚Å‚Í‚Č‚­GNU ƒ‰ƒCƒuƒ‰ƒŠˆę”ĘŒöO—˜—p‹–‘øŒ_–ņ‘‚Š“K—p‚ģ‚ę -‚Ä‚Ē‚é‚ą‚Æ‚ā‚ ‚č‚Ü‚·)B‚ ‚Č‚―‚ā‚Ü‚―A‚ēŽĐ•Š‚ĖƒvƒƒOƒ‰ƒ€‚ÉGNU GPL‚ð“K—p -‚·‚邹‚Æ‚Š‰Â”\‚Å‚·B - -Ž„‚―‚ŋ‚ŠƒtƒŠ[ƒ\ƒtƒgƒEƒFƒA‚ÆŒū‚Ī‚Æ‚ŦA‚ŧ‚ę‚Í—˜—p‚ĖŽĐ—R‚É‚Â‚Ē‚ÄŒū‹y‚ĩ‚Ä -‚Ē‚é‚˂ł ‚Á‚āA‰ŋŠi‚Í–â‘č‚É‚ĩ‚Ăǂ܂đ‚ņBŽ„‚―‚ŋ‚Ėˆę”ĘŒöO—˜—p‹–‘øŒ_–ņ -‘‚́A‚ ‚Č‚―‚ŠƒtƒŠ[ƒ\ƒtƒgƒEƒFƒA‚Ė•Ąŧ•Ļ‚ð”Еz‚·‚éŽĐ—R‚ð•ۏ؂·‚邿‚ĪÝ -Œv‚ģ‚ę‚Ăǂ܂·(Šó–]‚ɉž‚ķ‚Ä‚ŧ‚ĖŽí‚ĖƒT[ƒrƒX‚Ɏ萔—ŋ‚ð‰Û‚·ŽĐ—R‚ā•ۏ؂ģ -‚ę‚Ü‚·)B‚Ü‚―A‚ ‚Č‚―‚Šƒ\[ƒXƒR[ƒh‚ðŽó‚ŊŽæ‚é‚ЁA‚ ‚é‚Ē‚Í–]‚߂΂ŧ‚ę‚ð -“üŽč‚·‚邹‚Æ‚Š‰Â”\‚Å‚ ‚邯‚Ē‚Ī‚ą‚ÆA‚ ‚Č‚―‚Šƒ\ƒtƒgƒEƒFƒA‚ð•ύX‚ĩA‚ŧ‚Ė -ˆę•”‚ðV‚―‚ČƒtƒŠ[‚ĖƒvƒƒOƒ‰ƒ€‚Å—˜—p‚Å‚Ŧ‚邯‚Ē‚Ī‚ą‚ÆA‚ŧ‚ĩ‚āAˆČã‚ŏq -‚Ũ‚―‚æ‚Ī‚Č‚ą‚Æ‚ЂłŦ‚邯‚Ē‚Ī‚ą‚Æ‚Š‚ ‚Č‚―‚É’m‚į‚ģ‚ę‚邯‚Ē‚Ī‚ą‚Æ‚ā•ۏ؂ģ -‚ę‚Ü‚·B - -‚ ‚Č‚―‚ĖŒ —˜‚ðŽį‚é‚―‚߁AŽ„‚―‚ŋ‚Í’N‚Đ‚Š‚ ‚Č‚―‚Ė—L‚·‚邹‚ę‚į‚ĖŒ —˜‚ð”Û’č -‚·‚邹‚Æ‚âA‚ą‚ę‚į‚ĖŒ —˜‚ð•úŠü‚·‚邿‚Ī—v‹‚·‚邹‚Æ‚ð‹ÖŽ~‚·‚邯‚ǂΐ§ŒĀ -‚ð‰Á‚Ķ‚é•K—v‚Š‚ ‚č‚Ü‚·B‚æ‚Á‚āA‚ ‚Č‚―‚Šƒ\ƒtƒgƒEƒFƒA‚Ė•Ąŧ•Ļ‚ð”Еz‚ĩ‚― -‚č‚ŧ‚ę‚ð•ύX‚ĩ‚―‚č‚·‚éę‡‚ɂ́A‚ą‚ę‚į‚ː§ŒĀ‚Ė‚―‚߂ɂ ‚Č‚―‚É‚ ‚éŽí‚ĖÓ -”C‚Š”­ķ‚·‚邹‚Æ‚É‚Č‚č‚Ü‚·B - -—á‚Ķ‚ÎA‚ ‚Č‚―‚ŠƒtƒŠ[‚ČƒvƒƒOƒ‰ƒ€‚Ė•Ąŧ•Ļ‚ð”Еz‚·‚éę‡A—L—ŋ‚Đ–ģ—ŋ‚É -ŠÖ‚í‚į‚ļA‚ ‚Č‚―‚ÍŽĐ•Š‚Š—L‚·‚錠—˜‚ð‘S‚ÄŽó—ĖŽŌ‚É—^‚͂ȂŊ‚ę‚΂Ȃč‚Ü‚đ‚ņB -‚Ü‚―A‚ ‚Č‚―‚͔ނį‚āƒ\[ƒXƒR[ƒh‚ðŽó‚ŊŽæ‚é‚ĐŽč‚É“ü‚ę‚邹‚Æ‚Š‚Å‚Ŧ‚邿‚Ī -•ۏ؂ĩ‚Č‚Ŋ‚ę‚΂Ȃč‚Ü‚đ‚ņB‚ŧ‚ĩ‚āA‚ ‚Č‚―‚͔ނį‚ɑ΂ĩ‚ÄˆČ‰š‚ŏq‚Ũ‚éðŒ -‚ðŽĶ‚ĩA”Þ‚į‚ÉŽĐ‚į‚ĖŽ‚ÂŒ —˜‚É‚Â‚Ē‚Ä’m‚į‚ĩ‚߂邿‚΂ɂĩ‚Č‚Ŋ‚ę‚΂Ȃč‚Ü‚đ -‚ņB - -Ž„‚―‚ŋ‚Í‚ ‚Č‚―‚ĖŒ —˜‚ð“ņ’iŠK‚ĖŽč‡‚ð“Ĩ‚ņ‚ŕیė‚ĩ‚Ü‚·B(1) ‚Ü‚ļƒ\ƒtƒgƒEƒF -ƒA‚ɑ΂ĩ‚Ä’˜ėŒ ‚ðŽå’Ģ‚ĩA‚ŧ‚ĩ‚Ä (2) ‚ ‚Č‚―‚ɑ΂ĩ‚āAƒ\ƒtƒgƒEƒFƒA‚Ė•Ą -ŧ‚â”Еz‚Ü‚―‚͉ü•Ï‚É‚Â‚Ē‚Ä‚Ė–@“I‚Č‹–‰Â‚ð—^‚Ķ‚é‚ą‚ĖŒ_–ņ‘‚ð’ņŽĶ‚ĩ‚Ü‚·B - -‚Ü‚―AŠeėŽŌ‚⎄‚―‚ŋ‚ð•ÛŒė‚·‚é‚―‚߁AŽ„‚―‚ŋ‚Í‚ą‚ĖƒtƒŠ[ƒ\ƒtƒgƒEƒFƒA‚É‚Í -‰―‚Ė•ÛØ‚ā–ģ‚Ē‚Æ‚Ē‚Ī‚ą‚Æ‚ð’N‚ā‚ŠŠmŽĀ‚É—‰ð‚·‚邿‚΂ɂĩA‚Ü‚―ƒ\ƒtƒgƒEƒF -ƒA‚Š’N‚Đ‘žl‚É‚æ‚Á‚ĉü•Ï‚ģ‚ęA‚ŧ‚ę‚ŠŽŸX‚ƔЕz‚ģ‚ę‚ĂǂÁ‚―‚Æ‚ĩ‚Ä‚āA‚ŧ -‚ĖŽó—ĖŽŌ‚Í”Þ‚į‚ŠŽč‚É“ü‚ę‚―ƒ\ƒtƒgƒEƒFƒA‚ŠƒIƒŠƒWƒiƒ‹‚Ėƒo[ƒWƒ‡ƒ“‚ł͖ģ‚Ē -‚ą‚ÆA‚ŧ‚ĩ‚ÄŒīėŽŌ‚Ė–žš‚Í‘žl‚É‚æ‚Á‚ÄŽ‚ŋž‚Ü‚ę‚―‰Â”\Ŧ‚Ė‚ ‚é–â‘č‚É‚æ‚Á -‚ĉe‹ŋ‚ģ‚ę‚邹‚Æ‚Š‚Č‚Ē‚Æ‚Ē‚Ī‚ą‚Æ‚ðŽü’m‚ģ‚đ‚―‚Ē‚ÆŽv‚ǂ܂·B - -ÅŒã‚ɁAƒ\ƒtƒgƒEƒFƒA“Á‹–‚Š‚Ē‚Đ‚Č‚éƒtƒŠ[‚ĖƒvƒƒOƒ‰ƒ€‚Ė‘ķÝ‚É‚ā•s’f‚Ė‹š -ˆÐ‚𓊂°‚Đ‚Ŋ‚Ăǂ܂·‚ЁAŽ„‚―‚ŋ‚́AƒtƒŠ[‚ČƒvƒƒOƒ‰ƒ€‚ĖÄ”Ð•zŽŌ‚ŠŒÂX‚É -“Á‹–ƒ‰ƒCƒZƒ“ƒX‚ðŽæ“ū‚·‚邹‚Ƃɂæ‚Á‚āAŽ–ŽĀãƒvƒƒOƒ‰ƒ€‚ð“Æč“I‚É‚ĩ‚Ä‚ĩ -‚Ü‚Ī‚Æ‚Ē‚ĪŠëŒŊ‚ð”ð‚Ŋ‚―‚Ē‚ÆŽv‚ǂ܂·B‚ą‚΂ǂÁ‚―Ž–‘Ô‚ð—\–h‚·‚é‚―‚߁AŽ„‚― -‚ŋ‚Í‚Ē‚Đ‚Č‚é“Á‹–‚ā’N‚ā‚ŠŽĐ—R‚É—˜—p‚Å‚Ŧ‚邿‚Īƒ‰ƒCƒZƒ“ƒX‚ģ‚ę‚é‚ЁA‘S‚­ƒ‰ -ƒCƒZƒ“ƒX‚ģ‚ę‚Č‚Ē‚Đ‚Ė‚Į‚ŋ‚į‚Đ‚Å‚Č‚Ŋ‚ę‚΂Ȃį‚Č‚Ē‚ą‚Æ‚ð–ūŠm‚É‚ĩ‚Ü‚ĩ‚―B - -(–ó’: –{Œ_–ņ‘‚Łu“Ɛč“I(proprietary)v‚Ƃ́Aƒ\ƒtƒgƒEƒFƒA‚Ė—˜—p‚âÄ”Ð -•zA‰ü•Ï‚Š‹ÖŽ~‚ģ‚ę‚Ăǂé‚ЁA‹–‰Â‚ð“ū‚邹‚Æ‚Š•K—v‚Æ‚ģ‚ę‚Ăǂé‚ЁA‚ ‚é‚Ē -‚ÍŒĩ‚ĩ‚ǐ§ŒĀ‚Š‰Û‚đ‚į‚ę‚Ä‚Ē‚ÄŽĐ—R‚É‚ŧ‚Ī‚·‚邹‚Æ‚ŠŽ–ŽĀã‚Å‚Ŧ‚Č‚­‚Č‚Á‚Ä‚Ē -‚éó‘Ô‚Ė‚ą‚Æ‚ðŽw‚·BÚ‚ĩ‚­‚Í -http://www.gnu.org/philosophy/categories.ja.html#ProprietarySoftware‚ð -ŽQÆ‚đ‚æB) - -•Ąŧ‚â”ЕzA‰ü•Ï‚É‚Â‚Ē‚Ä‚ĖģŠm‚ČðŒ‚Æ§–ņ‚ðˆČ‰š‚ŏq‚Ũ‚ĂǂŦ‚Ü‚·B - - GNU ˆę”ĘŒöO—˜—p‹–‘øŒ_–ņ‘ - •ĄŧA”ЕzA‰ü•ςɊւ·‚éðŒ‚Ɛ§–ņ - -0. ‚ą‚Ė—˜—p‹–‘øŒ_–ņ‘‚́A‚ŧ‚ĖƒvƒƒOƒ‰ƒ€(‚Ü‚―‚Í‚ŧ‚Ė‘ž‚Ė’˜ė•Ļ)‚ð‚ą‚Ėˆę -”ĘŒöO—˜—p‹–‘øŒ_–ņ‘‚Ė’č‚ß‚éðŒ‚ˉš‚ŔЕz‚Å‚Ŧ‚邯‚Ē‚Ī’m‚Š’˜ėŒ ŽŌ‚É -‚æ‚Á‚Ä‹LÚ‚ģ‚ę‚―ƒvƒƒOƒ‰ƒ€‚Ü‚―‚Í‚ŧ‚Ė‘ž‚Ė’˜ė•Ļ‘S”ʂɓK—p‚ģ‚ę‚éBˆČ‰š‚Å -‚́AuwƒvƒƒOƒ‰ƒ€xv‚Ƃ͂ŧ‚Ė‚æ‚΂ɂĩ‚Ä‚ą‚ĖŒ_–ņ‘‚Š“K—p‚ģ‚ę‚―ƒvƒƒOƒ‰ -ƒ€‚â’˜ė•Ļ‘S”Ę‚ðˆÓ–Ą‚ĩA‚Ü‚―uwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚ĩ‚―’˜ė•ρv‚Ƃ́wƒv -ƒƒOƒ‰ƒ€x‚â‚ŧ‚Ė‘ž’˜ėŒ –@‚ˉš‚Å”hķ•Ļ‚ÆŒĐ‚Č‚ģ‚ę‚é‚ā‚Ė‘S”Ę‚ðŽw‚·B‚·‚Č -‚í‚ŋAwƒvƒƒOƒ‰ƒ€x‚Đ‚ŧ‚Ėˆę•”‚ðA‘S‚­“Ŋˆę‚Ė‚Ü‚Ü‚ĐA‰ü•Ï‚ð‰Á‚Ķ‚―‚ЁA‚  -‚é‚Ē‚Í‘ž‚ĖŒūŒę‚É–|–ó‚ģ‚ę‚―Œ`‚Ŋ܂ޒ˜ė•Ļ‚Ė‚ą‚Æ‚Å‚ ‚é(u‰ü•ρv‚Æ‚Ē‚ĪŒę -‚Ė–{—ˆ‚ĖˆÓ–Ą‚Đ‚į‚Í‚ļ‚ę‚邊AˆČ‰š‚ł͖|–ó‚ā‰ü•Ï‚ĖˆęŽí‚ÆŒĐ‚Č‚·)B‚ŧ‚ꂞ -‚ę‚ĖŒ_–ņŽŌ‚́u‚ ‚Č‚―v‚Æ•\Œŧ‚ģ‚ę‚éB - -•Ąŧ‚â”ЕzA‰ü•ÏˆČŠO‚ĖŠˆ“Ū‚Í‚ą‚ĖŒ_–ņ‘‚ł̓Jƒo[‚ģ‚ę‚ȂǁB‚ŧ‚ę‚į‚Í‚ą‚Ė -Œ_–ņ‘‚Ė‘ÎÛŠO‚Å‚ ‚éBwƒvƒƒOƒ‰ƒ€x‚ðŽĀs‚·‚ésˆŨŽĐ‘˂ɐ§ŒĀ‚Í‚Č‚ĒB‚Ü -‚―A‚ŧ‚Ė‚æ‚΂ȁwƒvƒƒOƒ‰ƒ€x‚Ėo—ÍŒ‹‰Ę‚́A‚ŧ‚Ė“ā—e‚ЁwƒvƒƒOƒ‰ƒ€x‚ðŠî -‚É‚ĩ‚―’˜ė•Ļ‚ð\Ž‚·‚éę‡‚Ė‚Ý‚ą‚ĖŒ_–ņ‘‚É‚æ‚Á‚ĕیė‚ģ‚ę‚é(wƒvƒƒOƒ‰ -ƒ€x‚ðŽĀs‚ĩ‚―‚ą‚Æ‚É‚æ‚Á‚ÄėŽ‚ģ‚ę‚―‚Æ‚Ē‚Ī‚ą‚Æ‚Ƃ͖ģŠÖŒW‚Å‚ ‚é)B‚ą‚Ė -‚æ‚΂Ȑüˆø‚Ŧ‚Ė‘Ã“–Ŧ‚́AwƒvƒƒOƒ‰ƒ€x‚Љ―‚ð‚·‚é‚Ė‚Đ‚ÉˆË‘ķ‚·‚éB - -1. ‚ŧ‚ꂞ‚ę‚Ė•Ąŧ•ςɂςǂēKØ‚Č’˜ėŒ •\ŽĶ‚Æ•ÛØ‚Ė”Û”Fš–ū(disclaimer -of warranty)‚ð–Ú—§‚‚æ‚Ī“KØ‚ÉŒfÚ‚ĩA‚Ü‚―‚ą‚ĖŒ_–ņ‘‚Ļ‚æ‚ŅˆęØ‚Ė•ÛØ‚Ė -•sÝ‚ɐG‚ę‚―’m‚·‚Ũ‚Ä‚ð‚ŧ‚Ė‚Ü‚ÜŽc‚ĩA‚ŧ‚ĩ‚Ä‚ą‚ĖŒ_–ņ‘‚Ė•Ąŧ•Ļ‚ðwƒvƒ -ƒOƒ‰ƒ€x‚Ė‚Ē‚Đ‚Č‚éŽó—ĖŽŌ‚É‚āwƒvƒƒOƒ‰ƒ€x‚Æ‹Ī‚É”Ð•z‚·‚éŒĀ‚čA‚ ‚Č‚―‚Í -wƒvƒƒOƒ‰ƒ€x‚Ėƒ\[ƒXƒR[ƒh‚Ė•Ąŧ•Ļ‚ðA‚ ‚Č‚―‚ŠŽó‚ŊŽæ‚Á‚―’Ę‚č‚ĖŒ`‚Å•Ą -ŧ‚Ü‚―‚͔Еz‚·‚邹‚Æ‚Š‚Å‚Ŧ‚éB”}‘Ė‚Í–â‚í‚ȂǁB - -‚ ‚Č‚―‚́A•Ļ—“I‚É•Ąŧ•Ļ‚ðũ“n‚·‚邯‚Ē‚ĪsˆŨ‚ÉŠÖ‚ĩ‚Ď萔—ŋ‚ð‰Û‚ĩ‚Ä‚ā—Į -‚Ē‚ĩAŠó–]‚É‚æ‚Á‚Ă͎萔—ŋ‚ðŽæ‚Á‚ÄŒðŠ·‚É‚Ļ‚Ŋ‚é•ÛŒė‚Ė•ÛØ‚ð’ņ‹Ÿ‚ĩ‚Ä‚ā—Į -‚ǁB - -2. ‚ ‚Č‚―‚ÍŽĐ•Š‚ĖwƒvƒƒOƒ‰ƒ€x‚Ė•Ąŧ•Ļ‚Đ‚ŧ‚Ėˆę•”‚ð‰ü•Ï‚ĩ‚āwƒvƒƒOƒ‰ -ƒ€x‚ðŠî‚É‚ĩ‚―’˜ė•Ļ‚ðŒ`Ž‚ĩA‚ŧ‚Ė‚æ‚΂ȉü•Ï“_‚â’˜ė•Ļ‚ðã‹L‘æ1ß‚Ė’č -‚ß‚éðŒ‚ˉš‚Å•Ąŧ‚Ü‚―‚͔Еz‚·‚邹‚Æ‚Š‚Å‚Ŧ‚éB‚―‚ū‚ĩA‚ŧ‚Ė‚―‚ß‚É‚ÍˆČ‰š -‚ĖðŒ‚·‚Ũ‚Ă𖞂―‚ĩ‚ĂǂȂŊ‚ę‚΂Ȃį‚Č‚Ē: - - a) ‚ ‚Č‚―‚Š‚ŧ‚ę‚į‚Ėƒtƒ@ƒCƒ‹‚ð•ύX‚ĩ‚―‚Æ‚Ē‚Ī‚ą‚Æ‚ƕύX‚ĩ‚―“úŽž‚Š—Į - ‚­•Š‚Đ‚é‚æ‚΁A‰ü•Ï‚ģ‚ę‚―ƒtƒ@ƒCƒ‹‚ɍŽĶ‚ĩ‚Č‚Ŋ‚ę‚΂Ȃį‚ȂǁB - - b) wƒvƒƒOƒ‰ƒ€x‚Ü‚―‚Í‚ŧ‚Ėˆę•”‚ðŠÜ‚Þ’˜ė•ρA‚ ‚é‚Ē‚ÍwƒvƒƒOƒ‰ƒ€x - ‚Đ‚ŧ‚Ėˆę•”‚Đ‚į”hķ‚ĩ‚―’˜ė•Ļ‚ð”Еz‚ ‚é‚Ē‚Í”­•\‚·‚éę‡‚ɂ́A‚ŧ‚Ė‘S - ‘Ė‚ð‚ą‚ĖŒ_–ņ‘‚ĖðŒ‚É]‚Á‚Ä‘æŽOŽŌ‚Ö–ģž‚Å—˜—p‹–‘ø‚ĩ‚Č‚Ŋ‚ę‚΂Ȃį‚Č - ‚ǁB - - c) ‰ü•Ï‚ģ‚ę‚―ƒvƒƒOƒ‰ƒ€‚ЁA’ʏíŽĀs‚·‚éÛ‚ɑΘb“I‚ɃRƒ}ƒ“ƒh‚ð“Į‚Þ - ‚æ‚΂ɂȂÁ‚Ăǂé‚Č‚į‚΁A‚ŧ‚ĖƒvƒƒOƒ‰ƒ€‚ðÅ‚āˆę”Ę“I‚Č•û–@‚őΘb“I‚É - ŽĀs‚·‚éÛA“KØ‚Č’˜ėŒ •\ŽĶA–ģ•ۏ؂ł ‚邹‚Æ(‚ ‚é‚Ē‚Í‚ ‚Č‚―‚Š•Û - Ø‚ð’ņ‹Ÿ‚·‚邯‚Ē‚Ī‚ą‚Æ)Aƒ†[ƒU‚ŠƒvƒƒOƒ‰ƒ€‚ð‚ą‚ĖŒ_–ņ‘‚ŏq‚Ũ‚―ð - Œ‚ˉš‚ŔЕz‚·‚邹‚Æ‚Š‚Å‚Ŧ‚邯‚Ē‚Ī‚ą‚ÆA‚ŧ‚ĩ‚Ä‚ą‚ĖŒ_–ņ‘‚Ė•Ąŧ•Ļ‚ð - ‰{——‚·‚é‚ɂ͂Į‚Ī‚ĩ‚―‚Ⴟ‚Ē‚Đ‚Æ‚Ē‚Īƒ†[ƒU‚ւːā–ū‚ðŠÜ‚ލ’m‚Šˆóü‚ģ - ‚ę‚é‚ЁA‚ ‚é‚Ē‚Í‰æ–ʂɕ\ŽĶ‚ģ‚ę‚邿‚΂ɂĩ‚Č‚Ŋ‚ę‚΂Ȃį‚Č‚Ē(—áŠO‚Æ‚ĩ - ‚āAwƒvƒƒOƒ‰ƒ€x‚ŧ‚Ė‚ā‚Ė‚Í‘Î˜b“I‚Å‚ ‚Á‚Ä‚ā’ʏí‚ŧ‚Ė‚æ‚Ī‚Č’m‚ðˆó - ü‚ĩ‚Č‚Ēę‡‚ɂ́AwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚ĩ‚―‚ ‚Č‚―‚Ė’˜ė•ςɂŧ‚Ė‚æ‚Ī - ‚ȍ’m‚ðˆóü‚ģ‚đ‚é•K—v‚͂ȂĒ)B - -ˆČã‚Ė•K—vðŒ‚Í‘S‘Ė‚Æ‚ĩ‚Ăˉü•Ï‚ģ‚ę‚―’˜ė•ςɓK—p‚ģ‚ę‚éB’˜ė•Ļ‚Ėˆę•” -‚ЁwƒvƒƒOƒ‰ƒ€x‚Đ‚į”hķ‚ĩ‚―‚ā‚Ė‚Å‚Í‚Č‚Ē‚ÆŠm”F‚Å‚ŦA‚ŧ‚ę‚įŽĐg•Ę‚Ė“Æ—§ -‚ĩ‚―’˜ė•ςł ‚邯‡—“I‚ɍl‚Ķ‚į‚ę‚é‚Č‚į‚΁A‚ ‚Č‚―‚Š‚ŧ‚ę‚į‚ð•Ƃ˒˜ė•Ļ -‚Æ‚ĩ‚ĕЂŊ‚ĔЕz‚·‚éę‡A‚ŧ‚΂ǂÁ‚―•”•Š‚É‚Í‚ą‚ĖŒ_–ņ‘‚Æ‚ŧ‚ĖðŒ‚Í -“K—p‚ģ‚ę‚ȂǁB‚ĩ‚Đ‚ĩA‚ ‚Č‚―‚Š“Ŋ‚ķ•”•Š‚ðwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚ĩ‚―’˜ė•Ļ -‘S‘Ė‚Ėˆę•”‚Æ‚ĩ‚ĔЕz‚·‚é‚Č‚į‚΁A‘S‘Ė‚Æ‚ĩ‚Ä‚Ė”Ð•z•Ļ‚ÍA‚ą‚ĖŒ_–ņ‘‚Š -‰Û‚·ðŒ‚ɏ]‚í‚Č‚Ŋ‚ę‚΂Ȃį‚ȂǁB‚Æ‚Ē‚Ī‚Ė‚ÍA‚ą‚ĖŒ_–ņ‘‚Š‘ž‚ĖŒ_–ņŽŌ -‚É—^‚͂鋖‰Â‚́wƒvƒƒOƒ‰ƒ€xŠÛ‚炯‘S‘˂ɋy‚ҁA’N‚Š‘‚Ē‚―‚Đ‚ÍŠÖŒW‚Č‚­Še -•”•Ђ˂·‚Ũ‚Ä‚ð•ÛŒė‚·‚é‚Đ‚į‚Å‚ ‚éB - -‚æ‚Á‚āA‚·‚Ũ‚Ä‚ ‚Č‚―‚É‚æ‚Á‚ď‘‚Đ‚ę‚―’˜ė•Ļ‚É‘Î‚ĩAŒ —˜‚ðŽå’Ģ‚ĩ‚―‚č‚ ‚Č -‚―‚ĖŒ —˜‚ÉˆŲ‹c‚ð\‚ĩ—§‚Ă邹‚Ƃ͂ą‚Ėß‚ĖˆÓ}‚·‚邯‚ą‚ë‚Å‚Í‚Č‚ĒB‚Þ‚ĩ‚ëA -‚ŧ‚ĖŽïŽ|‚́wƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚ĩ‚―”hķ•ςȂǂĩW‡’˜ė•Ļ‚Ė”Ð•z‚ðŠĮ—‚· -‚錠—˜‚ðsŽg‚·‚邯‚Ē‚Ī‚ą‚Æ‚É‚ ‚éB - -‚Ü‚―AwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚ĩ‚ĂǂȂǂŧ‚Ė‘ž‚Ė’˜ė•Ļ‚ðwƒvƒƒOƒ‰ƒ€x(‚  -‚é‚Ē‚ÍwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚ĩ‚―’˜ė•Ļ)‚Æˆę‚ɏW‚ß‚―‚ū‚Ŋ‚Ė‚ā‚Ė‚ðˆęŠŠ‚Ė -•ÛŠĮ‘•’u‚Ȃǂĩ”Еz”}‘Ė‚ÉŽû‚߂ĂāA‚ŧ‚Ė‘ž‚Ė’˜ė•ς܂łą‚ĖŒ_–ņ‘‚Š•Û -Œė‚·‚é‘ÎÛ‚É‚Č‚é‚Æ‚Ē‚Ī‚ą‚Æ‚ɂ͂Ȃį‚ȂǁB - -3. ‚ ‚Č‚―‚͏ã‹L‘æ1ß‚Ļ‚æ‚Ņ2ß‚ĖðŒ‚É]‚ǁAwƒvƒƒOƒ‰ƒ€x(‚ ‚é‚Ē‚Í‘æ2 -ß‚ɂςŊ‚é”hķ•Ļ)‚ðƒIƒuƒWƒFƒNƒgƒR[ƒh‚ȂǂĩŽĀsŒ`ŽŪ‚Å•Ąŧ‚Ü‚―‚͔Еz‚· -‚邹‚Æ‚Š‚Å‚Ŧ‚éB‚―‚ū‚ĩA‚ŧ‚Ėę‡‚ ‚Č‚―‚ÍˆČ‰š‚˂΂ŋ‚Į‚ę‚Đˆę‚‚ðŽĀŽ{‚ĩ‚Č -‚Ŋ‚ę‚΂Ȃį‚Č‚Ē: - - a) ’˜ė•ςɁAwƒvƒƒOƒ‰ƒ€x‚ɑΉž‚ĩ‚―ŠŪ‘S‚Ђ‹@ŠB‚Å“Į‚ÝŽæ‚č‰Â”\‚Č - ƒ\[ƒXƒR[ƒh‚ð“Y•t‚·‚éB‚―‚ū‚ĩAƒ\[ƒXƒR[ƒh‚͏ã‹L‘æ1ß‚Ļ‚æ‚Ņ2ß‚Ė - ðŒ‚ɏ]‚Ēƒ\ƒtƒgƒEƒFƒA‚ĖŒðŠ·‚ÅKŠĩ“I‚ÉŽg‚í‚ę‚é”}‘Ė‚Å”Ð•z‚ĩ‚Č‚Ŋ‚ę‚Î - ‚Č‚į‚ȂǁB‚ ‚é‚Ē‚ÍA - - b) ’˜ė•ςɁA‚Ē‚Đ‚Č‚é‘æŽOŽŌ‚ɑ΂ĩ‚Ä‚āAwƒvƒƒOƒ‰ƒ€x‚ɑΉž‚ĩ‚―ŠŪ - ‘S‚Ђ‹@ŠB‚Å“Į‚ÝŽæ‚č‰Â”\‚Čƒ\[ƒXƒR[ƒh‚ðA”Еz‚É—v‚·‚é•Ļ—“IƒRƒXƒg - ‚ðã‰ņ‚į‚Ȃǒö“x‚ĖŽč”—ŋ‚ƈø‚ŦŠ·‚͂ɒņ‹Ÿ‚·‚éŽ|q‚Ũ‚―­‚Č‚­‚Æ‚ā3”N - ŠÔ‚Í—LŒø‚ȏ‘–ʂɂȂÁ‚―\‚ĩo‚ð“Y‚Ķ‚éB‚―‚ū‚ĩAƒ\[ƒXƒR[ƒh‚͏ã‹L‘æ - 1ß‚Ļ‚æ‚Ņ2ß‚ĖðŒ‚É]‚Ēƒ\ƒtƒgƒEƒFƒA‚ĖŒðŠ·‚ÅKŠĩ“I‚ÉŽg‚í‚ę‚é”}‘˂Š- ”Еz‚ĩ‚Č‚Ŋ‚ę‚΂Ȃį‚ȂǁB‚ ‚é‚Ē‚ÍA - - c) ‘Ήž‚·‚éƒ\[ƒXƒR[ƒh”Еz‚ː\‚ĩo‚ɍۂĩ‚āA‚ ‚Č‚―‚Š“ū‚―î•ņ‚ðˆę - ‚Ɉø‚Ŧ“n‚·(‚ą‚Ė‘I‘ðŽˆ‚ÍA‰c—˜‚ð–Ú“I‚Æ‚ĩ‚Č‚Ē”Ð•z‚Å‚ ‚Á‚āA‚Ђ‚  - ‚Č‚―‚Šã‹LŽßb‚ÅŽw’č‚ģ‚ę‚Ăǂ邿‚΂Ȑ\‚ĩo‚Æ‹Ī‚ÉƒIƒuƒWƒFƒNƒgƒR[ - ƒh‚ ‚é‚Ē‚ÍŽĀsŒ`ŽŪ‚ĖƒvƒƒOƒ‰ƒ€‚ĩ‚Đ“üŽč‚ĩ‚Ä‚Ē‚Č‚Ēę‡‚ÉŒĀ‚č‹–‰Â‚ģ‚ę - ‚é)B - -’˜ė•Ļ‚Ėƒ\[ƒXƒR[ƒh‚Ƃ́A‚ŧ‚ę‚ɑ΂ĩ‚ĉü•Ï‚ð‰Á‚Ķ‚éã‚ōD‚Ü‚ĩ‚Ē‚Æ‚ģ‚ę‚é -’˜ė•Ļ‚ĖŒ`ŽŪ‚ðˆÓ–Ą‚·‚éB‚ ‚éŽĀsŒ`ŽŪ‚Ė’˜ė•Ļ‚É‚Æ‚Á‚ÄŠŪ‘S‚Čƒ\[ƒXƒR[ƒh -‚Ƃ́A‚ŧ‚ꂊŠÜ‚Þƒ‚ƒWƒ…[ƒ‹‚·‚Ũ‚Ä‚Ėƒ\[ƒXƒR[ƒh‘S•”‚ɉÁ‚́AŠÖ˜A‚·‚éƒCƒ“ -ƒ^[ƒtƒF[ƒX’č‹`ƒtƒ@ƒCƒ‹‚Ė‚·‚Ũ‚Ăƃ‰ƒCƒuƒ‰ƒŠ‚ĖƒRƒ“ƒpƒCƒ‹‚âƒCƒ“ƒXƒg[ƒ‹ -‚𐧌䂷‚é‚―‚߂Ɏg‚í‚ę‚éƒXƒNƒŠƒvƒg‚ð‚ā‰Á‚Ķ‚―‚ā‚Ė‚ðˆÓ–Ą‚·‚éB‚ĩ‚Đ‚ĩ“Á•Ę -‚Č—áŠO‚Æ‚ĩ‚āA‚ŧ‚ĖƒRƒ“ƒ|[ƒlƒ“ƒgŽĐ‘Ė‚ŠŽĀsŒ`ŽŪ‚É•t‚·‚é‚Ė‚Å‚Í–ģ‚ĒŒĀ‚čA -”Еz‚ģ‚ę‚é‚ā‚˂˒†‚ɁAŽĀsŒ`ŽŪ‚ŠŽĀs‚ģ‚ę‚éƒIƒyƒŒ[ƒeƒBƒ“ƒOƒVƒXƒeƒ€‚ĖŽå -—v‚ČƒRƒ“ƒ|[ƒlƒ“ƒg(ƒRƒ“ƒpƒCƒ‰‚âƒJ[ƒlƒ‹“™)‚Æ’Ęíˆę‚É(ƒ\[ƒX‚ĐƒoƒCƒi -ƒŠŒ`ŽŪ‚Ė‚Į‚ŋ‚į‚Đ‚Å)”Еz‚ģ‚ę‚é‚ā‚Ė‚ðŠÜ‚ņ‚łǂé•K—v‚Í‚Č‚Ē‚Æ‚·‚éB - -ŽĀsŒ`ŽŪ‚Ü‚―‚̓IƒuƒWƒFƒNƒgƒR[ƒh‚Ė”Ð•z‚ЁAŽw’č‚ģ‚ę‚―ęŠ‚Đ‚įƒRƒs[‚·‚é -‚―‚ß‚ĖƒAƒNƒZƒXŽč’i‚ð’ņ‹Ÿ‚·‚邹‚ƂňŨ‚ģ‚ę‚邯‚ĩ‚āA‚ŧ‚Ėã‚Ń\[ƒXƒR[ƒh -‚ā“Ŋ“™‚ĖƒAƒNƒZƒXŽč’i‚É‚æ‚Á‚Ä“Ŋ‚ķęŠ‚Đ‚įƒRƒs[‚Å‚Ŧ‚邿‚΂ɂȂÁ‚Ăǂé‚Č -‚į‚΁A‘æŽOŽŌ‚ŠƒIƒuƒWƒFƒNƒgƒR[ƒh‚Æˆę‚Ƀ\[ƒX‚ā‹­§“I‚ɃRƒs[‚ģ‚đ‚į‚ę -‚邿‚΂ɂȂÁ‚ĂǂȂ­‚Ä‚āƒ\[ƒXƒR[ƒh”Еz‚ĖðŒ‚ð–ž‚―‚ĩ‚Ăǂé‚ā‚Ė‚Æ‚·‚éB - -4. ‚ ‚Č‚―‚́wƒvƒƒOƒ‰ƒ€x‚ðA‚ą‚ĖŒ_–ņ‘‚ɂςǂĖūŠm‚É’ņŽĶ‚ģ‚ę‚―s -ˆŨ‚ðœ‚Ŧ•Ąŧ‚â‰ü•ρAƒTƒuƒ‰ƒCƒZƒ“ƒXA‚ ‚é‚Ē‚Í”Ð•z‚ĩ‚Ă͂Ȃį‚ȂǁB‘ž‚É -wƒvƒƒOƒ‰ƒ€x‚ð•Ąŧ‚â‰ü•ρAƒTƒuƒ‰ƒCƒZƒ“ƒXA‚ ‚é‚Ē‚Í”Ð•z‚·‚éŠé‚Ă͂·‚Ũ -‚Ä–ģŒø‚Å‚ ‚čA‚ą‚ĖŒ_–ņ‘‚ˉš‚ł˂ ‚Č‚―‚ĖŒ —˜‚ðŽĐ“Ū“I‚ɏIŒ‹‚ģ‚đ‚邹 -‚Æ‚É‚Č‚ë‚΁B‚ĩ‚Đ‚ĩA•Ąŧ•Ļ‚âŒ —˜‚ð‚ą‚ĖŒ_–ņ‘‚ɏ]‚Á‚Ä‚ ‚Č‚―‚Đ‚į“ū‚― -lX‚ÉŠÖ‚ĩ‚ẮA‚ŧ‚Ė‚æ‚΂ȐlX‚Š‚ą‚ĖŒ_–ņ‘‚ÉŠŪ‘S‚ɏ]‚Á‚ĂǂéŒĀ‚č”Þ -‚į‚Ėƒ‰ƒCƒZƒ“ƒX‚܂ŏIŒ‹‚·‚邹‚Æ‚Í‚Č‚ĒB - -5. ‚ ‚Č‚―‚Í‚ą‚ĖŒ_–ņ‘‚ðŽó‘ø‚·‚é•K—v‚Í–ģ‚ǁB‚Æ‚Ē‚Ī‚Ė‚ÍA‚ ‚Č‚―‚Í‚ą -‚ę‚ɏ–ž‚ĩ‚Ä‚Ē‚Č‚Ē‚Đ‚į‚Å‚ ‚éB‚ĩ‚Đ‚ĩA‚ą‚ĖŒ_–ņ‘ˆČŠO‚É‚ ‚Č‚―‚ɑ΂ĩ -‚āwƒvƒƒOƒ‰ƒ€x‚â‚ŧ‚Ė”hķ•Ļ‚ð•ύXA”Еz‚·‚é‹–‰Â‚ð—^‚Ķ‚é‚ā‚Ė‚Í‘ķÝ‚ĩ‚Č -‚ǁB‚ą‚ę‚į‚ĖsˆŨ‚́A‚ ‚Č‚―‚Š‚ą‚ĖŒ_–ņ‘‚ðŽó‚Ŋ“ü‚ę‚Č‚ĒŒĀ‚č–@‚É‚æ‚Á‚Ä -‹Ö‚ķ‚į‚ę‚ĂǂéB‚ŧ‚ą‚ŁAwƒvƒƒOƒ‰ƒ€x(‚ ‚é‚Ē‚ÍwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚ĩ -‚―’˜ė•ς˂·‚Ũ‚Ä)‚ð‰ü•Ï‚Č‚Ē‚ĩ”Еz‚·‚邹‚Ƃɂæ‚čA‚ ‚Č‚―‚ÍŽĐ•Š‚Š‚ŧ‚Ė‚æ -‚Ī‚ČsˆŨ‚ðs‚Ī‚―‚߂ɂą‚ĖŒ_–ņ‘‚ðŽó‘ø‚ĩ‚―‚Æ‚Ē‚Ī‚ą‚ÆA‚ŧ‚ĩ‚āwƒvƒƒO -ƒ‰ƒ€x‚Æ‚ŧ‚ę‚ÉŠî‚­’˜ė•ς˕Ąŧ‚â”ЕzA‰ü•Ï‚É‚Â‚Ē‚Ä‚ą‚ĖŒ_–ņ‘‚Š‰Û -‚·§–ņ‚ÆðŒ‚ð‚·‚Ũ‚ÄŽó‚Ŋ“ü‚ę‚―‚Æ‚Ē‚Ī‚ą‚Æ‚ðŽĶ‚ĩ‚―‚ā‚Ė‚ÆŒĐ‚Č‚·B - -6. ‚ ‚Č‚―‚ЁwƒvƒƒOƒ‰ƒ€x(‚Ü‚―‚́wƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚ĩ‚―’˜ė•Ļ‘S”Ę)‚ð -Ä”Еz‚·‚é‚―‚҂ɁA‚ŧ‚ĖŽó—ĖŽŌ‚ÍŒģX‚Ėƒ‰ƒCƒZƒ“ƒX‹–‰ÂŽŌ‚Đ‚įA‚ą‚ĖŒ_–ņ‘‚Å -Žw’č‚ģ‚ę‚―ðŒ‚Ɛ§–ņ‚ˉš‚ŁwƒvƒƒOƒ‰ƒ€x‚ð•Ąŧ‚â”ЕzA‚ ‚é‚Ē‚Í‰ü•Ï‚·‚é -‹–‰Â‚ðŽĐ“Ū“I‚É“ū‚é‚ā‚Ė‚Æ‚·‚éB‚ ‚Č‚―‚́AŽó—ĖŽŌ‚Š‚ą‚ą‚Å”F‚ß‚į‚ę‚―Œ —˜‚ð -sŽg‚·‚邹‚ƂɊւĩ‚Ä‚ą‚ęˆČã‘ž‚Ė‚Ē‚Đ‚Č‚é§ŒĀ‚ā‰Û‚·‚ą‚Æ‚ЂłŦ‚ȂǁB‚ ‚Č -‚―‚ɂ́A‘æŽOŽŌ‚Š‚ą‚ĖŒ_–ņ‘‚ɏ]‚Ī‚ą‚Æ‚ð‹­§‚·‚éÓ”C‚Í‚Č‚ĒB - -7. “Á‹–NŠQ‚ ‚é‚Ē‚Í‚ŧ‚Ė‘ž‚Ė——R(“Á‹–ŠÖŒW‚ÉŒĀ‚į‚Č‚Ē)‚Đ‚įAŲ”ŧŠ‚Ė”ŧŒˆ -‚ ‚é‚Ē‚Í\‚ĩ—§‚Ä‚ĖŒ‹‰Ę‚Æ‚ĩ‚Ä‚ ‚Č‚―‚É(Ų”ŧŠ–―—ß‚âŒ_–ņ‚Č‚Į‚É‚æ‚č)‚ą‚ĖŒ_ -–ņ‘‚ĖðŒ‚Æ–ĩ‚‚·‚鐧–ņ‚Š‰Û‚ģ‚ę‚―ę‡‚Å‚āA‚ ‚Č‚―‚Š‚ą‚ĖŒ_–ņ‘‚ĖðŒ‚ð -–Əœ‚ģ‚ę‚é‚í‚Ŋ‚Å‚Í‚Č‚ĒB‚ā‚ĩ‚ą‚ĖŒ_–ņ‘‚ˉš‚Å‚ ‚Č‚―‚ɉۂđ‚į‚ę‚―Ó”C‚Æ‘ž -‚ĖŠÖ˜A‚·‚éÓ”C‚ð“ŊŽž‚É–ž‚―‚·‚æ‚Ī‚ČŒ`‚ŔЕz‚Å‚Ŧ‚ȂǂȂį‚΁AŒ‹‰Ę‚Æ‚ĩ‚Ä‚  -‚Č‚―‚́wƒvƒƒOƒ‰ƒ€x‚ð”Еz‚·‚邹‚Æ‚Š‘S‚­‚Å‚Ŧ‚Č‚Ē‚Æ‚Ē‚Ī‚ą‚Æ‚Å‚ ‚éB—á‚Ķ -‚ΓÁ‹–ƒ‰ƒCƒZƒ“ƒX‚ЁA‚ ‚Č‚―‚Đ‚į’žÚŠÔÚ‚ð–â‚í‚ļƒRƒs[‚ðŽó‚ŊŽæ‚Á‚―l‚Š’N -‚Å‚āwƒvƒƒOƒ‰ƒ€x‚ðŽg—p—ŋ–ģ—ŋ‚ōĔЕz‚·‚邹‚Æ‚ð”F‚ß‚Ä‚Ē‚Č‚Ēę‡A‚ ‚Č -‚―‚Š‚ŧ‚ː§–ņ‚Æ‚ą‚ĖŒ_–ņ‘‚ð—ž•û‚Æ‚ā–ž‚―‚·‚ɂ́wƒvƒƒOƒ‰ƒ€x‚Ė”Ð•z‚ðŠŪ‘S -‚É’†Ž~‚·‚é‚ĩ‚Đ‚Č‚Ē‚ū‚ë‚΁B - -‚ą‚Ėß‚Ėˆę•”•ЂГÁ’č‚Ėó‹ĩ‚ˉš‚Å–ģŒø‚ȂǂĩŽĀŽ{•s‰Â”\‚Čę‡‚Å‚āAß‚ĖŽc -‚č‚Ė•”•Š‚Í“K—p‚ģ‚ę‚邿‚ĪˆÓ}‚ģ‚ę‚ĂǂéB‚ŧ‚Ė‘ž‚Ėó‹ĩ‚Å‚Íß‚Š‘S‘Ė‚Æ‚ĩ‚Ä -“K—p‚ģ‚ę‚邿‚ĪˆÓ}‚ģ‚ę‚ĂǂéB - -“Á‹–‚â‚ŧ‚Ė‘ž‚ĖāŽYŒ ‚ðNŠQ‚ĩ‚―‚čA‚ŧ‚Ė‚æ‚Ī‚ČŒ —˜‚ĖŽå’Ģ‚ĖŒø—Í‚ÉˆŲ‹c‚ðĨ -‚Ķ‚―‚č‚·‚邿‚Ī‚ ‚Č‚―‚ð—U˜f‚·‚邹‚Æ‚Š‚ą‚Ėß‚Ė–Ú“I‚Å‚Í‚Č‚ĒB‚ą‚Ėß‚É‚ÍA -lX‚É‚æ‚Á‚ă‰ƒCƒZƒ“ƒXŠĩs‚Æ‚ĩ‚ÄŽĀŒŧ‚ģ‚ę‚Ä‚Ŧ‚―AƒtƒŠ[ƒ\ƒtƒgƒEƒFƒA”Еz -‚ĖƒVƒXƒeƒ€‚ĖŠŪ‘SŦ‚ðŒė‚邯‚Ē‚Ī–Ú“I‚ĩ‚Đ‚Č‚ĒB‘―‚­‚ːlX‚ЁAƒtƒŠ[ƒ\ƒtƒg -ƒEƒFƒA‚Ė”Ð•zƒVƒXƒeƒ€‚ŠŽņ”öˆęŠŅ‚ĩ‚Ä“K—p‚ģ‚ę‚Ăǂ邯‚ǂΐM—Š‚ÉŠî‚ÂŦA‚ą -‚ĖƒVƒXƒeƒ€‚ð’Ę‚ķ‚ĔЕz‚ģ‚ę‚é‘―—l‚Čƒ\ƒtƒgƒEƒFƒA‚ÉŠ°‘å‚ȍvŒĢ‚ð‚ĩ‚Ä‚Ŧ‚―‚Ė -‚ÍŽ–ŽĀ‚Å‚ ‚邊Al‚Š‚Į‚Ė‚æ‚Ī‚ČƒVƒXƒeƒ€‚ð’Ę‚ķ‚ă\ƒtƒgƒEƒFƒA‚ð”Еz‚ĩ‚―‚Ē -‚ÆŽv‚Ī‚Đ‚Í‚ ‚­‚܂łāėŽŌ/Šņ—^ŽŌŽŸ‘æ‚Å‚ ‚čA‚ ‚Č‚―‚Š‘I‘ð‚ð‰Ÿ‚ĩ‚‚Ŋ‚邹 -‚Ƃ͂łŦ‚ȂǁB - -‚ą‚Ėß‚ÍA‚ą‚ĖŒ_–ņ‘‚Ė‚ą‚ĖßˆČŠO‚Ė•”•Š‚Ėˆę‹AŒ‹‚ɂȂ邯l‚Ķ‚į‚ę‚éƒP[ -ƒX‚ð“O’ę“I‚É–ū‚į‚Ђɂ·‚邹‚Æ‚ð–Ú“I‚Æ‚ĩ‚ĂǂéB - -8. wƒvƒƒOƒ‰ƒ€x‚Ė”Ð•z‚â—˜—p‚ЁA‚ ‚鍑‚É‚Ļ‚Ē‚Ä‚Í“Á‹–‚Ü‚―‚Í’˜ėŒ ‚ŠŽå -’Ģ‚ģ‚ę‚―ƒCƒ“ƒ^[ƒtƒF[ƒX‚˂ǂļ‚ę‚Ђɂæ‚Á‚ЧŒĀ‚ģ‚ę‚Ăǂéę‡AwƒvƒƒO -ƒ‰ƒ€x‚É‚ą‚ĖŒ_–ņ‘‚ð“K—p‚ĩ‚―Œģ‚Ė’˜ėŒ ŽŌ‚́A‚ŧ‚΂ǂÁ‚―‘X‚ð”rœ‚ĩ -‚―–ūŠm‚Č’n—“I”Еz§ŒĀ‚ð‰Á‚́A‚ŧ‚ą‚Å”rœ‚ģ‚ę‚Ä‚Ē‚Č‚Ē‘‚Ė’†‚â‚ŧ‚ę‚į‚Ė‘X -‚ĖŠÔ‚Å‚Ė‚Ý”Ð•z‚Š‹–‰Â‚ģ‚ę‚邿‚΂ɂĩ‚Ä‚ā\‚í‚ȂǁB‚ŧ‚Ėę‡A‚ŧ‚Ė‚æ‚΂Ȑ§ -ŒĀ‚Í‚ą‚ĖŒ_–ņ‘–{•ķ‚ŏ‘‚Đ‚ę‚Ăǂé‚Ė‚Æ“Ŋ—l‚ÉŒĐ‚Č‚ģ‚ę‚éB - -9. ƒtƒŠ[ƒ\ƒtƒgƒEƒFƒAā’c‚́AŽž‚É‚æ‚Á‚ĉü’ų‚Ü‚―‚͐V”Å‚Ėˆę”ĘŒöO—˜—p‹– -‘ø‘‚ð”­•\‚·‚邹‚Æ‚Š‚Å‚Ŧ‚éB‚ŧ‚Ė‚æ‚΂ȐV”ł͌ŧÝ‚Ėƒo[ƒWƒ‡ƒ“‚Æ‚ŧ‚ːļ_ -‚É‚Ļ‚Ē‚Ä‚ÍŽ—‚―‚ā‚˂ɂȂé‚ū‚ë‚΂ЁAV‚―‚Č–â‘č‚⌜”O‚ð‰ðŒˆ‚·‚é‚―‚ߍŨ•”‚Å -‚ÍˆŲ‚Č‚é‰Â”\Ŧ‚Š‚ ‚éB - -‚ŧ‚ꂞ‚ę‚Ėƒo[ƒWƒ‡ƒ“‚ɂ́AŒĐ•Š‚Ŋ‚Š•t‚­‚æ‚Ī‚Éƒo[ƒWƒ‡ƒ“”ԍ†‚АU‚į‚ę‚Ä‚Ē -‚éBwƒvƒƒOƒ‰ƒ€x‚ɂςǂĂŧ‚ę‚É“K—p‚ģ‚ę‚邹‚ĖŒ_–ņ‘‚Ėƒo[ƒWƒ‡ƒ“”ԍ†‚Š -Žw’č‚ģ‚ę‚ĂǂāAX‚Ɂu‚ŧ‚ęˆČ~‚Ė‚Ē‚Đ‚Č‚éƒo[ƒWƒ‡ƒ“v‚ā“K—p‚ĩ‚Ä—Į‚Ē‚Æ‚Č‚Á -‚Ăǂ―ę‡A‚ ‚Č‚―‚͏]‚ĪðŒ‚Æ§–ņ‚Æ‚ĩ‚āAŽw’č‚Ėƒo[ƒWƒ‡ƒ“‚ЁAƒtƒŠ[ƒ\ -ƒtƒgƒEƒFƒAā’c‚É‚æ‚Á‚Ä”­s‚ģ‚ę‚―Žw’č‚Ėƒo[ƒWƒ‡ƒ“ˆČ~‚˔ł˂Į‚ę‚Đˆę‚Â‚Ė -‚Į‚ŋ‚į‚Đ‚ð‘I‚Ô‚ą‚Æ‚Šo—ˆ‚éBwƒvƒƒOƒ‰ƒ€x‚щƒCƒZƒ“ƒX‚Ėƒo[ƒWƒ‡ƒ“”ԍ† -‚ŠŽw’č‚ģ‚ę‚ĂǂȂǂȂį‚΁A‚ ‚Č‚―‚͍Ą‚܂łɃtƒŠ[ƒ\ƒtƒgƒEƒFƒAā’c‚Đ‚į”­ -s‚ģ‚ę‚―ƒo[ƒWƒ‡ƒ“‚Ė’†‚Đ‚įD‚Ŧ‚É‘I‚ņ‚ō\‚í‚ȂǁB - -10. ‚ā‚ĩ‚ ‚Č‚―‚ЁwƒvƒƒOƒ‰ƒ€x‚Ėˆę•”‚ðA‚ŧ‚Ė”Ð•zðŒ‚Š‚ą‚ĖŒ_–ņ‘‚Æ -ˆŲ‚Ȃ鑞‚ĖƒtƒŠ[‚ČƒvƒƒOƒ‰ƒ€‚Æ“‡‚ĩ‚―‚ǂȂį‚΁AėŽŌ‚ɘA—‚ĩ‚Ä‹–‰Â‚ð‹ -‚ß‚æBƒtƒŠ[ƒ\ƒtƒgƒEƒFƒAā’c‚Š’˜ėŒ ‚ð•Û—L‚·‚éƒ\ƒtƒgƒEƒFƒA‚É‚Â‚Ē‚Ä‚ÍA -ƒtƒŠ[ƒ\ƒtƒgƒEƒFƒAā’c‚ɘA—‚đ‚æBŽ„‚―‚ŋ‚́A‚ą‚Ė‚æ‚Ī‚Čę‡‚Ė‚―‚߂ɓÁ•Ę -‚Č—áŠO‚ðÝ‚Ŋ‚邹‚Æ‚ā‚ ‚éBŽ„‚―‚ŋ‚ŠŒˆ’č‚ð‰š‚·‚É‚ ‚―‚Á‚ẮAŽ„‚―‚ŋ‚ĖƒtƒŠ[ -ƒ\ƒtƒgƒEƒFƒA‚Ė”hķ•Ļ‚·‚Ũ‚Ä‚ŠƒtƒŠ[‚ȏó‘Ԃɕۂ―‚ę‚邯‚Ē‚Ī‚ą‚Æ‚ƁAˆę”Ę“I -‚Ƀ\ƒtƒgƒEƒFƒA‚ˋΗL‚ƍė˜—p‚ð‘̐i‚·‚邯‚ǂΓņ‚Â‚Ė–Ú•W‚ð‹K€‚ÉŒŸ“Ē‚ģ‚ę -‚é‚Å‚ ‚ë‚΁B - –ģ•ÛØ‚É‚Â‚Ē‚Ä - -11. wƒvƒƒOƒ‰ƒ€x‚Í‘ã‰ŋ–ģ‚ĩ‚É—˜—p‚Š‹–‰Â‚ģ‚ę‚é‚˂ŁA“KØ‚Č–@‚Š”F‚ß‚éŒĀ -‚č‚ɂςǂāAwƒvƒƒOƒ‰ƒ€x‚ÉŠÖ‚·‚é‚Ē‚Đ‚Č‚é•ۏ؂ā‘ķÝ‚ĩ‚ȂǁB‘–Ę‚Å•Ę‚É -q‚Ũ‚éę‡‚ðœ‚Ē‚ÄA’˜ėŒ ŽŌA‚Ü‚―‚Í‚ŧ‚Ė‘ž‚Ė’c‘Ė‚ÍAwƒvƒƒOƒ‰ƒ€x‚ðA -•\–ū‚ģ‚ę‚―‚ĐŒūŠO‚ɂЂ͖â‚í‚ļAĪ‹Æ“I“KŦ‚ð•ۏ؂·‚é‚Ų‚Ė‚ß‚Đ‚ĩ‚â‚ ‚é“Á’č -‚Ė–Ú“I‚Ö‚Ė“K‡Ŧ(‚ÉŒĀ‚į‚ę‚Č‚Ē)‚ðŠÜ‚ÞˆęØ‚Ė•ÛØ–ģ‚ĩ‚Ɂu‚ ‚邊‚܂܁v‚Å’ņ -‹Ÿ‚·‚éBwƒvƒƒOƒ‰ƒ€x‚ĖŽŋ‚ƐŦ”\‚ÉŠÖ‚·‚郊ƒXƒN‚Ė‚·‚Ũ‚Ă͂ ‚Č‚―‚É‹A‘Ū‚· -‚éBwƒvƒƒOƒ‰ƒ€x‚ÉŒ‡ŠŨ‚Š‚ ‚邯”ŧ–ū‚ĩ‚―ę‡A‚ ‚Č‚―‚Í•K—v‚Č•ÛŽį“_ŒŸ‚â -•âCACģ‚É—v‚·‚éƒRƒXƒg‚Ė‚·‚Ũ‚Ä‚ðˆø‚ŦŽó‚Ŋ‚邹‚Æ‚É‚Č‚éB - -12. “KØ‚Č–@‚Џ‘–Ƃł˓ŊˆÓ‚É‚æ‚Á‚Ä–―‚š‚į‚ę‚Č‚ĒŒĀ‚čA’˜ėŒ ŽŌA‚Ü‚―‚͏ã -‹L‚Å‹–‰Â‚ģ‚ę‚Ăǂé’Ę‚č‚ɁwƒvƒƒOƒ‰ƒ€x‚ð‰ü•ς܂―‚͍ĔЕz‚ĩ‚―‚ŧ‚Ė‘ž‚Ė’c -‘Ė‚ÍA‚ ‚Č‚―‚ɑ΂ĩ‚āwƒvƒƒOƒ‰ƒ€x‚Ė—˜—p‚Ȃǂĩ—˜—p•s”\‚Őķ‚ķ‚―ˆę”Ę“IA -“Á•Ę“IA‹ô‘R“IA•K‘R“I‚Č‘đŠQ(ƒf[ƒ^‚ĖÁŽļ‚â•sģŠm‚ȏˆ—A‚ ‚Č‚―‚Đ‘æŽO -ŽŌ‚Š”í‚Á‚―‘đŽļA‚ ‚é‚Ē‚ÍwƒvƒƒOƒ‰ƒ€x‚Š‘ž‚Ėƒ\ƒtƒgƒEƒFƒA‚Æˆę‚É“Ūė‚ĩ -‚Č‚Ē‚Æ‚Ē‚Ī•s‹ï‡‚Č‚Į‚ðŠÜ‚Þ‚Š‚ŧ‚ę‚į‚ÉŒĀ‚į‚Č‚Ē)‚ÉˆęØ‚ːӔC‚𕉂í‚ȂǁB -‚ŧ‚Ė‚æ‚΂ȑđŠQ‚Аķ‚ļ‚é‰Â”\Ŧ‚É‚Â‚Ē‚Ä”Þ‚į‚Š’‰‚ģ‚ę‚Ăǂ―‚Æ‚ĩ‚Ä‚ā“Ŋ—l‚Å -‚ ‚éB - - ðŒ‚Ɛ§–ņI‚í‚č - - ˆČã‚Ėð€‚ð‚ ‚Č‚―‚ːV‚ĩ‚ĒƒvƒƒOƒ‰ƒ€‚É“K—p‚·‚é•û–@ - -‚ ‚Č‚―‚АV‚ĩ‚ĒƒvƒƒOƒ‰ƒ€‚ðŠJ”­‚ĩ‚―‚Æ‚ĩ‚āAŒöO‚É‚æ‚Á‚Ä‚ŧ‚ꂊ—˜—p‚ģ‚ę‚é -‰Â”\Ŧ‚ðÅ‘å‚É‚ĩ‚―‚ǂȂįA‚ŧ‚ĖƒvƒƒOƒ‰ƒ€‚ð‚ą‚ĖŒ_–ņ‘‚Ėð€‚É]‚Á‚Ä -’N‚Å‚āÄ”Еz‚ ‚é‚Ē‚Í•ÏX‚Å‚Ŧ‚邿‚ĪƒtƒŠ[ƒ\ƒtƒgƒEƒFƒA‚É‚·‚é‚Ė‚ŠÅ‘P‚Å‚·B - -‚ŧ‚Ė‚―‚߂ɂ́AƒvƒƒOƒ‰ƒ€‚ÉˆČ‰š‚Ė‚æ‚΂ȕ\ŽĶ‚ð“Y•t‚ĩ‚Ä‚­‚ū‚ģ‚ǁB‚ŧ‚Ėę‡A -•ÛØ‚Š”rœ‚ģ‚ę‚Ăǂ邯‚Ē‚Ī‚ą‚Æ‚ðÅ‚āŒø‰Ę“I‚É“`‚Ķ‚é‚―‚߂ɁA‚ŧ‚ꂞ‚ę‚Ėƒ\[ -ƒXƒtƒ@ƒCƒ‹‚Ė–`“Ђɕ\ŽĶ‚ð“Y•t‚·‚ę‚΍łāˆĀ‘S‚Å‚·B­‚Č‚­‚Æ‚āAu’˜ėŒ •\ -ŽĶv‚Æ‚Ē‚Īs‚Æ‘S•ķ‚Š‚ ‚éęŠ‚Ö‚Ėƒ|ƒCƒ“ƒ^‚ū‚Ŋ‚ÍŠeƒtƒ@ƒCƒ‹‚Ɋ܂߂Ēu‚Ē‚Ä -‚­‚ū‚ģ‚ǁB - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - (–ó: - - <ƒvƒƒOƒ‰ƒ€‚Ė–ž‘O‚ƁA‚ŧ‚ꂊ‰―‚ð‚·‚é‚Đ‚É‚Â‚Ē‚Ä‚ĖŠČ’P‚Ȑā–ūB> - Copyright (C) <ž—ï”N> <ėŽŌ‚Ė–ž‘O> - - ‚ą‚ĖƒvƒƒOƒ‰ƒ€‚̓tƒŠ[ƒ\ƒtƒgƒEƒFƒA‚Å‚·B‚ ‚Č‚―‚Í‚ą‚ę‚ðAƒtƒŠ[ƒ\ƒt - ƒgƒEƒFƒAā’c‚É‚æ‚Á‚Ä”­s‚ģ‚ę‚― GNU ˆę”ĘŒöO—˜—p‹–‘øŒ_–ņ‘(ƒo[ƒWƒ‡ - ƒ“2‚ЁAŠó–]‚É‚æ‚Á‚Ă͂ŧ‚ęˆČ~‚Ėƒo[ƒWƒ‡ƒ“‚˂΂ŋ‚Į‚ę‚Đ)‚Ė’č‚ß‚éðŒ - ‚ˉš‚ōĔЕz‚Ü‚―‚͉ü•Ï‚·‚邹‚Æ‚Š‚Å‚Ŧ‚Ü‚·B - - ‚ą‚ĖƒvƒƒOƒ‰ƒ€‚Í—L—p‚Å‚ ‚邹‚Æ‚ðŠč‚Á‚ĔЕz‚ģ‚ę‚Ü‚·‚ЁA*‘S‚­‚Ė–ģ•Û - Ø* ‚Å‚·BĪ‹Æ‰Â”\Ŧ‚Ė•ÛØ‚â“Á’č‚Ė–Ú“I‚Ö‚Ė“K‡Ŧ‚́AŒūŠO‚ÉŽĶ‚ģ‚ę‚― - ‚ā‚Ė‚āŠÜ‚ß‘S‚­‘ķÝ‚ĩ‚Ü‚đ‚ņBÚ‚ĩ‚­‚ÍGNU ˆę”ĘŒöO—˜—p‹–‘øŒ_–ņ‘‚ð‚ē - ——‚­‚ū‚ģ‚ǁB - - ‚ ‚Č‚―‚Í‚ą‚ĖƒvƒƒOƒ‰ƒ€‚Æ‹Ī‚ÉAGNU ˆę”ĘŒöO—˜—p‹–‘øŒ_–ņ‘‚Ė•Ąŧ•Ļ‚ð - ˆę•”Žó‚ŊŽæ‚Á‚―‚Í‚ļ‚Å‚·B‚ā‚ĩŽó‚ŊŽæ‚Á‚ĂǂȂŊ‚ę‚΁AƒtƒŠ[ƒ\ƒtƒgƒEƒF - ƒAā’c‚܂Őŋ‹‚ĩ‚Ä‚­‚ū‚ģ‚Ē(ˆķæ‚Í the Free Software Foundation, - Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA)B - - ) - -“dŽq‚Ȃǂĩކ‚Ėƒ[ƒ‹‚Å‚ ‚Č‚―‚É–â‚Ē‡‚í‚đ‚é•û–@‚É‚Â‚Ē‚Ä‚Ėî•ņ‚ā‘‚Ŧ‰Á‚Ķ -‚Ü‚ĩ‚å‚΁B - -ƒvƒƒOƒ‰ƒ€‚Š‘Î˜b“I‚Č‚ā‚˂Ȃį‚΁A‘Θbƒ‚[ƒh‚Å‹N“Ū‚ĩ‚―Û‚ɏo—͂Ƃĩ‚ÄˆČ‰š -‚Ė‚æ‚΂ȒZ‚Ē’m‚Š•\ŽĶ‚ģ‚ę‚邿‚΂ɂĩ‚Ä‚­‚ū‚ģ‚Ē: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - - (–ó: - - Gnomovision ƒo[ƒWƒ‡ƒ“ 69, Copyright (C) ”N ėŽŌ‚Ė–ž‘O - Gnomovision ‚Í*‘S‚­‚Ė–ģ•ۏØ*‚Å’ņ‹Ÿ‚ģ‚ę‚Ü‚·BÚ‚ĩ‚­‚́ushow wv - ‚ƃ^ƒCƒv‚ĩ‚ĉš‚ģ‚ǁB‚ą‚ę‚̓tƒŠ[ƒ\ƒtƒgƒEƒFƒA‚Å‚ ‚čA‚ ‚éðŒ‚ˉš‚Å - Ä”Еz‚·‚邹‚Æ‚Š§—ã‚ģ‚ę‚Ăǂ܂·BÚ‚ĩ‚­‚́ushow cv‚ƃ^ƒCƒv‚ĩ‚ĉš - ‚ģ‚ǁB - - ) - -‚ą‚ą‚ŁA‰ž‘z“I‚ČƒRƒ}ƒ“ƒhushow wv‚Ɓushow cv‚͈ę”ĘŒöO—˜—p‹–‘øŒ_–ņ‘ -‚Ė“KØ‚Č•”•Š‚ð•\ŽĶ‚·‚邿‚΂ɂȂÁ‚ĂǂȂŊ‚ę‚΂Ȃč‚Ü‚đ‚ņB‚ā‚ŋ‚ë‚ņA‚ ‚Č -‚―‚ŠŽg‚ĪƒRƒ}ƒ“ƒh‚ðushow wv‚âushow cv‚ƌĂԕK‘RŦ‚Í‚ ‚č‚Ü‚đ‚ņ‚˂ŁA -‚ ‚Č‚―‚ĖƒvƒƒOƒ‰ƒ€‚ɍ‡‚í‚đ‚ă}ƒEƒX‚ĖƒNƒŠƒbƒN‚⃁ƒjƒ…[‚ĖƒAƒCƒeƒ€‚É‚ĩ‚Ä -‚āŒ‹\‚Å‚·B - -‚Ü‚―‚ ‚Č‚―‚́A•K—v‚Č‚į‚Î(ƒvƒƒOƒ‰ƒ}[‚Æ‚ĩ‚Ä“­‚ǂĂǂ―‚į)‚ ‚Č‚―‚ĖŒŲ—pŽåA -‚ ‚é‚Ē‚Íę‡‚É‚æ‚Á‚Ă͊wZ‚Đ‚įA‚ŧ‚ĖƒvƒƒOƒ‰ƒ€‚ÉŠÖ‚·‚éu’˜ėŒ •úŠüš–ū -(copyright disclaimer)v‚ɏ–ž‚ĩ‚Ä‚ā‚į‚Ī‚Ũ‚Ŧ‚Å‚·BˆČ‰š‚Í—á‚Å‚·‚˂ŁA–ž -‘O‚ð•Ï‚Ķ‚Ä‚­‚ū‚ģ‚Ē: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - - (–ó: - - YoyodyneŽÐ‚Í‚ą‚ą‚ɁAJames Hacker‚É‚æ‚Á‚ď‘‚Đ‚ę‚―ƒvƒƒOƒ‰ƒ€ - uGnomovisionv(ƒRƒ“ƒpƒCƒ‰‚Ö’Ę‚·ƒvƒƒOƒ‰ƒ€)‚ÉŠÖ‚·‚éˆęØ‚Ė’˜ėŒ ‚Ė—˜ - ‰v‚ð•úŠü‚ĩ‚Ü‚·B - - A1989”N4ŒŽ1“ú - Ty CoonA•›ŽÐ’· - - ) - -‚ą‚Ėˆę”ĘŒöO—˜—p‹–‘øŒ_–ņ‘‚ł́A‚ ‚Č‚―‚ĖƒvƒƒOƒ‰ƒ€‚ð“Æč“I‚ČƒvƒƒOƒ‰ƒ€ -‚É“‡‚·‚邹‚Æ‚ð”F‚߂Ăǂ܂đ‚ņB‚ ‚Č‚―‚ĖƒvƒƒOƒ‰ƒ€‚ŠƒTƒuƒ‹[ƒ`ƒ“ƒ‰ƒCƒu -ƒ‰ƒŠ‚Č‚į‚΁A“Ɛč“I‚ČƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Æ‚ ‚Č‚―‚Ėƒ‰ƒCƒuƒ‰ƒŠ‚ðƒŠƒ“ƒN‚·‚邹 -‚Æ‚ð‹–‰Â‚ĩ‚―‚؂΂Ђæ‚č•Ö—˜‚Å‚ ‚邯l‚Ķ‚é‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņB‚ā‚ĩ‚ą‚ꂊ‚ ‚Č -‚―‚Ė–]‚Þ‚ą‚Æ‚Č‚į‚΁A‚ą‚ĖŒ_–ņ‘‚Ė‘ã‚í‚č‚ÉGNU ƒ‰ƒCƒuƒ‰ƒŠˆę”ĘŒöO—˜—p‹–‘ø -Œ_–ņ‘‚ð“K—p‚ĩ‚Ä‚­‚ū‚ģ‚ǁB + GNU ˆę”ĘŒöO—˜—p‹–‘øŒ_–ņ‘ + ƒo[ƒWƒ‡ƒ“2A1991”N6ŒŽ + “ú–{Œę–óA2002”N5ŒŽ20“ú + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + ‚ą‚Ė—˜—p‹–‘øŒ_–ņ‘‚ðAˆęŽšˆę‹å‚ŧ‚˂܂܂ɕĄŧ‚ĩ”Еz‚·‚邹‚Ƃ͋–‰Â‚·‚éB + ‚ĩ‚Đ‚ĩ•ύX‚Í”F‚߂ȂǁB + + This is an unofficial translation of the GNU General Public License + into Japanese. It was not published by the Free Software Foundation, + and does not legally state the distribution terms for software that + uses the GNU GPL--only the original English text of the GNU GPL does + that. However, we hope that this translation will help Japanese + speakers understand the GNU GPL better. + + (–ó: ˆČ‰š‚ÍGNU General Public License‚Ė”ņŒöŽŪ‚Č“ú–{Œę–ó‚Å‚·B‚ą‚ę‚̓t + ƒŠ[ƒ\ƒtƒgƒEƒFƒAā’c(the Free Software Foundataion)‚É‚æ‚Á‚Ä”­•\‚ģ‚ę‚― + ‚ā‚Ė‚Å‚Í‚Č‚­AGNU GPL‚ð“K—p‚ĩ‚―ƒ\ƒtƒgƒEƒFƒA‚Ė”Ð•zðŒ‚ð–@“I‚É—LŒø‚ČŒ` + ‚ŏq‚Ũ‚―‚ā‚Ė‚Å‚Í‚ ‚č‚Ü‚đ‚ņB”ЕzðŒ‚Æ‚ĩ‚Ä‚ÍGNU GPL‚ˉpŒę”ŃeƒLƒXƒg‚Å + Žw’č‚ģ‚ę‚Ăǂé‚ā‚Ė‚Ė‚Ý‚Š—LŒø‚Å‚·B‚ĩ‚Đ‚ĩ‚ȂЂįAŽ„‚―‚ŋ‚Í‚ą‚Ė–|–󂊁A + “ú–{Œę‚ðŽg—p‚·‚élX‚ɂƂÁ‚ÄGNU GPL‚ð‚æ‚č—Į‚­—‰ð‚·‚鏕‚Ŋ‚Æ‚Č‚é‚ą‚Æ‚ð + –]‚ņ‚łǂ܂·B) + + –|–ó‚Í ”Š“c^s‚Šs‚Á‚―BŒī•ķ‚Í + http://www.gnu.org/licenses/gpl.txt‚Å‚ ‚éBŒë–ó‚ĖŽw“E‚â‰ü‘PˆÄ‚ðŠ―Œ}‚· + ‚éB + ‚Í‚ķ‚ß‚É + +ƒ\ƒtƒgƒEƒFƒAŒü‚Ŋƒ‰ƒCƒZƒ“ƒX‚Ė‘å”ž‚́A‚ ‚Č‚―‚Š‚ŧ‚Ėƒ\ƒtƒgƒEƒFƒA‚ð‹Ī—L‚ĩ‚― +‚č•ύX‚ĩ‚―‚č‚·‚éŽĐ—R‚ð’D‚Ī‚æ‚Ī‚ÉÝŒv‚ģ‚ę‚Ăǂ܂·B‘ΏƓI‚ɁAGNU ˆę”ĘŒö +O—˜—p‹–‘øŒ_–ņ‘‚́A‚ ‚Č‚―‚ŠƒtƒŠ[ƒ\ƒtƒgƒEƒFƒA‚ð‹Ī—L‚ĩ‚―‚č•ύX‚ĩ‚―‚č‚· +‚éŽĐ—R‚ð•ۏ؂·‚é--‚·‚Č‚í‚ŋAƒ\ƒtƒgƒEƒFƒA‚Š‚ŧ‚Ėƒ†[ƒU‚·‚Ũ‚ĂɂƂÁ‚ătƒŠ[ +‚Å‚ ‚邹‚Æ‚ð•ۏ؂·‚邹‚Æ‚ð–Ú“I‚Æ‚ĩ‚Ăǂ܂·B‚ą‚Ėˆę”ĘŒöO—˜—p‹–‘øŒ_–ņ‘ +‚̓tƒŠ[ƒ\ƒtƒgƒEƒFƒAā’c‚Ėƒ\ƒtƒgƒEƒFƒA‚Ė‚Ų‚Æ‚ņ‚Į‚É“K—p‚ģ‚ę‚ĂςčA‚Ü‚― +GNU GPL‚ð“K—p‚·‚邯Œˆ‚ß‚―ƒtƒŠ[ƒ\ƒtƒgƒEƒFƒAā’cˆČŠO‚ĖėŽŌ‚É‚æ‚éƒvƒƒO +ƒ‰ƒ€‚É‚ā“K—p‚ģ‚ę‚Ăǂ܂·(‚Ē‚­‚Â‚Đ‚ĖƒtƒŠ[ƒ\ƒtƒgƒEƒFƒAā’c‚Ėƒ\ƒtƒgƒEƒF +ƒA‚ɂ́AGNU GPL‚Å‚Í‚Č‚­GNU ƒ‰ƒCƒuƒ‰ƒŠˆę”ĘŒöO—˜—p‹–‘øŒ_–ņ‘‚Š“K—p‚ģ‚ę +‚Ä‚Ē‚é‚ą‚Æ‚ā‚ ‚č‚Ü‚·)B‚ ‚Č‚―‚ā‚Ü‚―A‚ēŽĐ•Š‚ĖƒvƒƒOƒ‰ƒ€‚ÉGNU GPL‚ð“K—p +‚·‚邹‚Æ‚Š‰Â”\‚Å‚·B + +Ž„‚―‚ŋ‚ŠƒtƒŠ[ƒ\ƒtƒgƒEƒFƒA‚ÆŒū‚Ī‚Æ‚ŦA‚ŧ‚ę‚Í—˜—p‚ĖŽĐ—R‚É‚Â‚Ē‚ÄŒū‹y‚ĩ‚Ä +‚Ē‚é‚˂ł ‚Á‚āA‰ŋŠi‚Í–â‘č‚É‚ĩ‚Ăǂ܂đ‚ņBŽ„‚―‚ŋ‚Ėˆę”ĘŒöO—˜—p‹–‘øŒ_–ņ +‘‚́A‚ ‚Č‚―‚ŠƒtƒŠ[ƒ\ƒtƒgƒEƒFƒA‚Ė•Ąŧ•Ļ‚ð”Еz‚·‚éŽĐ—R‚ð•ۏ؂·‚邿‚ĪÝ +Œv‚ģ‚ę‚Ăǂ܂·(Šó–]‚ɉž‚ķ‚Ä‚ŧ‚ĖŽí‚ĖƒT[ƒrƒX‚Ɏ萔—ŋ‚ð‰Û‚·ŽĐ—R‚ā•ۏ؂ģ +‚ę‚Ü‚·)B‚Ü‚―A‚ ‚Č‚―‚Šƒ\[ƒXƒR[ƒh‚ðŽó‚ŊŽæ‚é‚ЁA‚ ‚é‚Ē‚Í–]‚߂΂ŧ‚ę‚ð +“üŽč‚·‚邹‚Æ‚Š‰Â”\‚Å‚ ‚邯‚Ē‚Ī‚ą‚ÆA‚ ‚Č‚―‚Šƒ\ƒtƒgƒEƒFƒA‚ð•ύX‚ĩA‚ŧ‚Ė +ˆę•”‚ðV‚―‚ČƒtƒŠ[‚ĖƒvƒƒOƒ‰ƒ€‚Å—˜—p‚Å‚Ŧ‚邯‚Ē‚Ī‚ą‚ÆA‚ŧ‚ĩ‚āAˆČã‚ŏq +‚Ũ‚―‚æ‚Ī‚Č‚ą‚Æ‚ЂłŦ‚邯‚Ē‚Ī‚ą‚Æ‚Š‚ ‚Č‚―‚É’m‚į‚ģ‚ę‚邯‚Ē‚Ī‚ą‚Æ‚ā•ۏ؂ģ +‚ę‚Ü‚·B + +‚ ‚Č‚―‚ĖŒ —˜‚ðŽį‚é‚―‚߁AŽ„‚―‚ŋ‚Í’N‚Đ‚Š‚ ‚Č‚―‚Ė—L‚·‚邹‚ę‚į‚ĖŒ —˜‚ð”Û’č +‚·‚邹‚Æ‚âA‚ą‚ę‚į‚ĖŒ —˜‚ð•úŠü‚·‚邿‚Ī—v‹‚·‚邹‚Æ‚ð‹ÖŽ~‚·‚邯‚ǂΐ§ŒĀ +‚ð‰Á‚Ķ‚é•K—v‚Š‚ ‚č‚Ü‚·B‚æ‚Á‚āA‚ ‚Č‚―‚Šƒ\ƒtƒgƒEƒFƒA‚Ė•Ąŧ•Ļ‚ð”Еz‚ĩ‚― +‚č‚ŧ‚ę‚ð•ύX‚ĩ‚―‚č‚·‚éę‡‚ɂ́A‚ą‚ę‚į‚ː§ŒĀ‚Ė‚―‚߂ɂ ‚Č‚―‚É‚ ‚éŽí‚ĖÓ +”C‚Š”­ķ‚·‚邹‚Æ‚É‚Č‚č‚Ü‚·B + +—á‚Ķ‚ÎA‚ ‚Č‚―‚ŠƒtƒŠ[‚ČƒvƒƒOƒ‰ƒ€‚Ė•Ąŧ•Ļ‚ð”Еz‚·‚éę‡A—L—ŋ‚Đ–ģ—ŋ‚É +ŠÖ‚í‚į‚ļA‚ ‚Č‚―‚ÍŽĐ•Š‚Š—L‚·‚錠—˜‚ð‘S‚ÄŽó—ĖŽŌ‚É—^‚͂ȂŊ‚ę‚΂Ȃč‚Ü‚đ‚ņB +‚Ü‚―A‚ ‚Č‚―‚͔ނį‚āƒ\[ƒXƒR[ƒh‚ðŽó‚ŊŽæ‚é‚ĐŽč‚É“ü‚ę‚邹‚Æ‚Š‚Å‚Ŧ‚邿‚Ī +•ۏ؂ĩ‚Č‚Ŋ‚ę‚΂Ȃč‚Ü‚đ‚ņB‚ŧ‚ĩ‚āA‚ ‚Č‚―‚͔ނį‚ɑ΂ĩ‚ÄˆČ‰š‚ŏq‚Ũ‚éðŒ +‚ðŽĶ‚ĩA”Þ‚į‚ÉŽĐ‚į‚ĖŽ‚ÂŒ —˜‚É‚Â‚Ē‚Ä’m‚į‚ĩ‚߂邿‚΂ɂĩ‚Č‚Ŋ‚ę‚΂Ȃč‚Ü‚đ +‚ņB + +Ž„‚―‚ŋ‚Í‚ ‚Č‚―‚ĖŒ —˜‚ð“ņ’iŠK‚ĖŽč‡‚ð“Ĩ‚ņ‚ŕیė‚ĩ‚Ü‚·B(1) ‚Ü‚ļƒ\ƒtƒgƒEƒF +ƒA‚ɑ΂ĩ‚Ä’˜ėŒ ‚ðŽå’Ģ‚ĩA‚ŧ‚ĩ‚Ä (2) ‚ ‚Č‚―‚ɑ΂ĩ‚āAƒ\ƒtƒgƒEƒFƒA‚Ė•Ą +ŧ‚â”Еz‚Ü‚―‚͉ü•Ï‚É‚Â‚Ē‚Ä‚Ė–@“I‚Č‹–‰Â‚ð—^‚Ķ‚é‚ą‚ĖŒ_–ņ‘‚ð’ņŽĶ‚ĩ‚Ü‚·B + +‚Ü‚―AŠeėŽŌ‚⎄‚―‚ŋ‚ð•ÛŒė‚·‚é‚―‚߁AŽ„‚―‚ŋ‚Í‚ą‚ĖƒtƒŠ[ƒ\ƒtƒgƒEƒFƒA‚É‚Í +‰―‚Ė•ÛØ‚ā–ģ‚Ē‚Æ‚Ē‚Ī‚ą‚Æ‚ð’N‚ā‚ŠŠmŽĀ‚É—‰ð‚·‚邿‚΂ɂĩA‚Ü‚―ƒ\ƒtƒgƒEƒF +ƒA‚Š’N‚Đ‘žl‚É‚æ‚Á‚ĉü•Ï‚ģ‚ęA‚ŧ‚ę‚ŠŽŸX‚ƔЕz‚ģ‚ę‚ĂǂÁ‚―‚Æ‚ĩ‚Ä‚āA‚ŧ +‚ĖŽó—ĖŽŌ‚Í”Þ‚į‚ŠŽč‚É“ü‚ę‚―ƒ\ƒtƒgƒEƒFƒA‚ŠƒIƒŠƒWƒiƒ‹‚Ėƒo[ƒWƒ‡ƒ“‚ł͖ģ‚Ē +‚ą‚ÆA‚ŧ‚ĩ‚ÄŒīėŽŌ‚Ė–žš‚Í‘žl‚É‚æ‚Á‚ÄŽ‚ŋž‚Ü‚ę‚―‰Â”\Ŧ‚Ė‚ ‚é–â‘č‚É‚æ‚Á +‚ĉe‹ŋ‚ģ‚ę‚邹‚Æ‚Š‚Č‚Ē‚Æ‚Ē‚Ī‚ą‚Æ‚ðŽü’m‚ģ‚đ‚―‚Ē‚ÆŽv‚ǂ܂·B + +ÅŒã‚ɁAƒ\ƒtƒgƒEƒFƒA“Á‹–‚Š‚Ē‚Đ‚Č‚éƒtƒŠ[‚ĖƒvƒƒOƒ‰ƒ€‚Ė‘ķÝ‚É‚ā•s’f‚Ė‹š +ˆÐ‚𓊂°‚Đ‚Ŋ‚Ăǂ܂·‚ЁAŽ„‚―‚ŋ‚́AƒtƒŠ[‚ČƒvƒƒOƒ‰ƒ€‚ĖÄ”Ð•zŽŌ‚ŠŒÂX‚É +“Á‹–ƒ‰ƒCƒZƒ“ƒX‚ðŽæ“ū‚·‚邹‚Ƃɂæ‚Á‚āAŽ–ŽĀãƒvƒƒOƒ‰ƒ€‚ð“Æč“I‚É‚ĩ‚Ä‚ĩ +‚Ü‚Ī‚Æ‚Ē‚ĪŠëŒŊ‚ð”ð‚Ŋ‚―‚Ē‚ÆŽv‚ǂ܂·B‚ą‚΂ǂÁ‚―Ž–‘Ô‚ð—\–h‚·‚é‚―‚߁AŽ„‚― +‚ŋ‚Í‚Ē‚Đ‚Č‚é“Á‹–‚ā’N‚ā‚ŠŽĐ—R‚É—˜—p‚Å‚Ŧ‚邿‚Īƒ‰ƒCƒZƒ“ƒX‚ģ‚ę‚é‚ЁA‘S‚­ƒ‰ +ƒCƒZƒ“ƒX‚ģ‚ę‚Č‚Ē‚Đ‚Ė‚Į‚ŋ‚į‚Đ‚Å‚Č‚Ŋ‚ę‚΂Ȃį‚Č‚Ē‚ą‚Æ‚ð–ūŠm‚É‚ĩ‚Ü‚ĩ‚―B + +(–ó’: –{Œ_–ņ‘‚Łu“Ɛč“I(proprietary)v‚Ƃ́Aƒ\ƒtƒgƒEƒFƒA‚Ė—˜—p‚âÄ”Ð +•zA‰ü•Ï‚Š‹ÖŽ~‚ģ‚ę‚Ăǂé‚ЁA‹–‰Â‚ð“ū‚邹‚Æ‚Š•K—v‚Æ‚ģ‚ę‚Ăǂé‚ЁA‚ ‚é‚Ē +‚ÍŒĩ‚ĩ‚ǐ§ŒĀ‚Š‰Û‚đ‚į‚ę‚Ä‚Ē‚ÄŽĐ—R‚É‚ŧ‚Ī‚·‚邹‚Æ‚ŠŽ–ŽĀã‚Å‚Ŧ‚Č‚­‚Č‚Á‚Ä‚Ē +‚éó‘Ô‚Ė‚ą‚Æ‚ðŽw‚·BÚ‚ĩ‚­‚Í +http://www.gnu.org/philosophy/categories.ja.html#ProprietarySoftware‚ð +ŽQÆ‚đ‚æB) + +•Ąŧ‚â”ЕzA‰ü•Ï‚É‚Â‚Ē‚Ä‚ĖģŠm‚ČðŒ‚Æ§–ņ‚ðˆČ‰š‚ŏq‚Ũ‚ĂǂŦ‚Ü‚·B + + GNU ˆę”ĘŒöO—˜—p‹–‘øŒ_–ņ‘ + •ĄŧA”ЕzA‰ü•ςɊւ·‚éðŒ‚Ɛ§–ņ + +0. ‚ą‚Ė—˜—p‹–‘øŒ_–ņ‘‚́A‚ŧ‚ĖƒvƒƒOƒ‰ƒ€(‚Ü‚―‚Í‚ŧ‚Ė‘ž‚Ė’˜ė•Ļ)‚ð‚ą‚Ėˆę +”ĘŒöO—˜—p‹–‘øŒ_–ņ‘‚Ė’č‚ß‚éðŒ‚ˉš‚ŔЕz‚Å‚Ŧ‚邯‚Ē‚Ī’m‚Š’˜ėŒ ŽŌ‚É +‚æ‚Á‚Ä‹LÚ‚ģ‚ę‚―ƒvƒƒOƒ‰ƒ€‚Ü‚―‚Í‚ŧ‚Ė‘ž‚Ė’˜ė•Ļ‘S”ʂɓK—p‚ģ‚ę‚éBˆČ‰š‚Å +‚́AuwƒvƒƒOƒ‰ƒ€xv‚Ƃ͂ŧ‚Ė‚æ‚΂ɂĩ‚Ä‚ą‚ĖŒ_–ņ‘‚Š“K—p‚ģ‚ę‚―ƒvƒƒOƒ‰ +ƒ€‚â’˜ė•Ļ‘S”Ę‚ðˆÓ–Ą‚ĩA‚Ü‚―uwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚ĩ‚―’˜ė•ρv‚Ƃ́wƒv +ƒƒOƒ‰ƒ€x‚â‚ŧ‚Ė‘ž’˜ėŒ –@‚ˉš‚Å”hķ•Ļ‚ÆŒĐ‚Č‚ģ‚ę‚é‚ā‚Ė‘S”Ę‚ðŽw‚·B‚·‚Č +‚í‚ŋAwƒvƒƒOƒ‰ƒ€x‚Đ‚ŧ‚Ėˆę•”‚ðA‘S‚­“Ŋˆę‚Ė‚Ü‚Ü‚ĐA‰ü•Ï‚ð‰Á‚Ķ‚―‚ЁA‚  +‚é‚Ē‚Í‘ž‚ĖŒūŒę‚É–|–ó‚ģ‚ę‚―Œ`‚Ŋ܂ޒ˜ė•Ļ‚Ė‚ą‚Æ‚Å‚ ‚é(u‰ü•ρv‚Æ‚Ē‚ĪŒę +‚Ė–{—ˆ‚ĖˆÓ–Ą‚Đ‚į‚Í‚ļ‚ę‚邊AˆČ‰š‚ł͖|–ó‚ā‰ü•Ï‚ĖˆęŽí‚ÆŒĐ‚Č‚·)B‚ŧ‚ꂞ +‚ę‚ĖŒ_–ņŽŌ‚́u‚ ‚Č‚―v‚Æ•\Œŧ‚ģ‚ę‚éB + +•Ąŧ‚â”ЕzA‰ü•ÏˆČŠO‚ĖŠˆ“Ū‚Í‚ą‚ĖŒ_–ņ‘‚ł̓Jƒo[‚ģ‚ę‚ȂǁB‚ŧ‚ę‚į‚Í‚ą‚Ė +Œ_–ņ‘‚Ė‘ÎÛŠO‚Å‚ ‚éBwƒvƒƒOƒ‰ƒ€x‚ðŽĀs‚·‚ésˆŨŽĐ‘˂ɐ§ŒĀ‚Í‚Č‚ĒB‚Ü +‚―A‚ŧ‚Ė‚æ‚΂ȁwƒvƒƒOƒ‰ƒ€x‚Ėo—ÍŒ‹‰Ę‚́A‚ŧ‚Ė“ā—e‚ЁwƒvƒƒOƒ‰ƒ€x‚ðŠî +‚É‚ĩ‚―’˜ė•Ļ‚ð\Ž‚·‚éę‡‚Ė‚Ý‚ą‚ĖŒ_–ņ‘‚É‚æ‚Á‚ĕیė‚ģ‚ę‚é(wƒvƒƒOƒ‰ +ƒ€x‚ðŽĀs‚ĩ‚―‚ą‚Æ‚É‚æ‚Á‚ÄėŽ‚ģ‚ę‚―‚Æ‚Ē‚Ī‚ą‚Æ‚Ƃ͖ģŠÖŒW‚Å‚ ‚é)B‚ą‚Ė +‚æ‚΂Ȑüˆø‚Ŧ‚Ė‘Ã“–Ŧ‚́AwƒvƒƒOƒ‰ƒ€x‚Љ―‚ð‚·‚é‚Ė‚Đ‚ÉˆË‘ķ‚·‚éB + +1. ‚ŧ‚ꂞ‚ę‚Ė•Ąŧ•ςɂςǂēKØ‚Č’˜ėŒ •\ŽĶ‚Æ•ÛØ‚Ė”Û”Fš–ū(disclaimer +of warranty)‚ð–Ú—§‚‚æ‚Ī“KØ‚ÉŒfÚ‚ĩA‚Ü‚―‚ą‚ĖŒ_–ņ‘‚Ļ‚æ‚ŅˆęØ‚Ė•ÛØ‚Ė +•sÝ‚ɐG‚ę‚―’m‚·‚Ũ‚Ä‚ð‚ŧ‚Ė‚Ü‚ÜŽc‚ĩA‚ŧ‚ĩ‚Ä‚ą‚ĖŒ_–ņ‘‚Ė•Ąŧ•Ļ‚ðwƒvƒ +ƒOƒ‰ƒ€x‚Ė‚Ē‚Đ‚Č‚éŽó—ĖŽŌ‚É‚āwƒvƒƒOƒ‰ƒ€x‚Æ‹Ī‚É”Ð•z‚·‚éŒĀ‚čA‚ ‚Č‚―‚Í +wƒvƒƒOƒ‰ƒ€x‚Ėƒ\[ƒXƒR[ƒh‚Ė•Ąŧ•Ļ‚ðA‚ ‚Č‚―‚ŠŽó‚ŊŽæ‚Á‚―’Ę‚č‚ĖŒ`‚Å•Ą +ŧ‚Ü‚―‚͔Еz‚·‚邹‚Æ‚Š‚Å‚Ŧ‚éB”}‘Ė‚Í–â‚í‚ȂǁB + +‚ ‚Č‚―‚́A•Ļ—“I‚É•Ąŧ•Ļ‚ðũ“n‚·‚邯‚Ē‚ĪsˆŨ‚ÉŠÖ‚ĩ‚Ď萔—ŋ‚ð‰Û‚ĩ‚Ä‚ā—Į +‚Ē‚ĩAŠó–]‚É‚æ‚Á‚Ă͎萔—ŋ‚ðŽæ‚Á‚ÄŒðŠ·‚É‚Ļ‚Ŋ‚é•ÛŒė‚Ė•ÛØ‚ð’ņ‹Ÿ‚ĩ‚Ä‚ā—Į +‚ǁB + +2. ‚ ‚Č‚―‚ÍŽĐ•Š‚ĖwƒvƒƒOƒ‰ƒ€x‚Ė•Ąŧ•Ļ‚Đ‚ŧ‚Ėˆę•”‚ð‰ü•Ï‚ĩ‚āwƒvƒƒOƒ‰ +ƒ€x‚ðŠî‚É‚ĩ‚―’˜ė•Ļ‚ðŒ`Ž‚ĩA‚ŧ‚Ė‚æ‚΂ȉü•Ï“_‚â’˜ė•Ļ‚ðã‹L‘æ1ß‚Ė’č +‚ß‚éðŒ‚ˉš‚Å•Ąŧ‚Ü‚―‚͔Еz‚·‚邹‚Æ‚Š‚Å‚Ŧ‚éB‚―‚ū‚ĩA‚ŧ‚Ė‚―‚ß‚É‚ÍˆČ‰š +‚ĖðŒ‚·‚Ũ‚Ă𖞂―‚ĩ‚ĂǂȂŊ‚ę‚΂Ȃį‚Č‚Ē: + + a) ‚ ‚Č‚―‚Š‚ŧ‚ę‚į‚Ėƒtƒ@ƒCƒ‹‚ð•ύX‚ĩ‚―‚Æ‚Ē‚Ī‚ą‚Æ‚ƕύX‚ĩ‚―“úŽž‚Š—Į + ‚­•Š‚Đ‚é‚æ‚΁A‰ü•Ï‚ģ‚ę‚―ƒtƒ@ƒCƒ‹‚ɍŽĶ‚ĩ‚Č‚Ŋ‚ę‚΂Ȃį‚ȂǁB + + b) wƒvƒƒOƒ‰ƒ€x‚Ü‚―‚Í‚ŧ‚Ėˆę•”‚ðŠÜ‚Þ’˜ė•ρA‚ ‚é‚Ē‚ÍwƒvƒƒOƒ‰ƒ€x + ‚Đ‚ŧ‚Ėˆę•”‚Đ‚į”hķ‚ĩ‚―’˜ė•Ļ‚ð”Еz‚ ‚é‚Ē‚Í”­•\‚·‚éę‡‚ɂ́A‚ŧ‚Ė‘S + ‘Ė‚ð‚ą‚ĖŒ_–ņ‘‚ĖðŒ‚É]‚Á‚Ä‘æŽOŽŌ‚Ö–ģž‚Å—˜—p‹–‘ø‚ĩ‚Č‚Ŋ‚ę‚΂Ȃį‚Č + ‚ǁB + + c) ‰ü•Ï‚ģ‚ę‚―ƒvƒƒOƒ‰ƒ€‚ЁA’ʏíŽĀs‚·‚éÛ‚ɑΘb“I‚ɃRƒ}ƒ“ƒh‚ð“Į‚Þ + ‚æ‚΂ɂȂÁ‚Ăǂé‚Č‚į‚΁A‚ŧ‚ĖƒvƒƒOƒ‰ƒ€‚ðÅ‚āˆę”Ę“I‚Č•û–@‚őΘb“I‚É + ŽĀs‚·‚éÛA“KØ‚Č’˜ėŒ •\ŽĶA–ģ•ۏ؂ł ‚邹‚Æ(‚ ‚é‚Ē‚Í‚ ‚Č‚―‚Š•Û + Ø‚ð’ņ‹Ÿ‚·‚邯‚Ē‚Ī‚ą‚Æ)Aƒ†[ƒU‚ŠƒvƒƒOƒ‰ƒ€‚ð‚ą‚ĖŒ_–ņ‘‚ŏq‚Ũ‚―ð + Œ‚ˉš‚ŔЕz‚·‚邹‚Æ‚Š‚Å‚Ŧ‚邯‚Ē‚Ī‚ą‚ÆA‚ŧ‚ĩ‚Ä‚ą‚ĖŒ_–ņ‘‚Ė•Ąŧ•Ļ‚ð + ‰{——‚·‚é‚ɂ͂Į‚Ī‚ĩ‚―‚Ⴟ‚Ē‚Đ‚Æ‚Ē‚Īƒ†[ƒU‚ւːā–ū‚ðŠÜ‚ލ’m‚Šˆóü‚ģ + ‚ę‚é‚ЁA‚ ‚é‚Ē‚Í‰æ–ʂɕ\ŽĶ‚ģ‚ę‚邿‚΂ɂĩ‚Č‚Ŋ‚ę‚΂Ȃį‚Č‚Ē(—áŠO‚Æ‚ĩ + ‚āAwƒvƒƒOƒ‰ƒ€x‚ŧ‚Ė‚ā‚Ė‚Í‘Î˜b“I‚Å‚ ‚Á‚Ä‚ā’ʏí‚ŧ‚Ė‚æ‚Ī‚Č’m‚ðˆó + ü‚ĩ‚Č‚Ēę‡‚ɂ́AwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚ĩ‚―‚ ‚Č‚―‚Ė’˜ė•ςɂŧ‚Ė‚æ‚Ī + ‚ȍ’m‚ðˆóü‚ģ‚đ‚é•K—v‚͂ȂĒ)B + +ˆČã‚Ė•K—vðŒ‚Í‘S‘Ė‚Æ‚ĩ‚Ăˉü•Ï‚ģ‚ę‚―’˜ė•ςɓK—p‚ģ‚ę‚éB’˜ė•Ļ‚Ėˆę•” +‚ЁwƒvƒƒOƒ‰ƒ€x‚Đ‚į”hķ‚ĩ‚―‚ā‚Ė‚Å‚Í‚Č‚Ē‚ÆŠm”F‚Å‚ŦA‚ŧ‚ę‚įŽĐg•Ę‚Ė“Æ—§ +‚ĩ‚―’˜ė•ςł ‚邯‡—“I‚ɍl‚Ķ‚į‚ę‚é‚Č‚į‚΁A‚ ‚Č‚―‚Š‚ŧ‚ę‚į‚ð•Ƃ˒˜ė•Ļ +‚Æ‚ĩ‚ĕЂŊ‚ĔЕz‚·‚éę‡A‚ŧ‚΂ǂÁ‚―•”•Š‚É‚Í‚ą‚ĖŒ_–ņ‘‚Æ‚ŧ‚ĖðŒ‚Í +“K—p‚ģ‚ę‚ȂǁB‚ĩ‚Đ‚ĩA‚ ‚Č‚―‚Š“Ŋ‚ķ•”•Š‚ðwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚ĩ‚―’˜ė•Ļ +‘S‘Ė‚Ėˆę•”‚Æ‚ĩ‚ĔЕz‚·‚é‚Č‚į‚΁A‘S‘Ė‚Æ‚ĩ‚Ä‚Ė”Ð•z•Ļ‚ÍA‚ą‚ĖŒ_–ņ‘‚Š +‰Û‚·ðŒ‚ɏ]‚í‚Č‚Ŋ‚ę‚΂Ȃį‚ȂǁB‚Æ‚Ē‚Ī‚Ė‚ÍA‚ą‚ĖŒ_–ņ‘‚Š‘ž‚ĖŒ_–ņŽŌ +‚É—^‚͂鋖‰Â‚́wƒvƒƒOƒ‰ƒ€xŠÛ‚炯‘S‘˂ɋy‚ҁA’N‚Š‘‚Ē‚―‚Đ‚ÍŠÖŒW‚Č‚­Še +•”•Ђ˂·‚Ũ‚Ä‚ð•ÛŒė‚·‚é‚Đ‚į‚Å‚ ‚éB + +‚æ‚Á‚āA‚·‚Ũ‚Ä‚ ‚Č‚―‚É‚æ‚Á‚ď‘‚Đ‚ę‚―’˜ė•Ļ‚É‘Î‚ĩAŒ —˜‚ðŽå’Ģ‚ĩ‚―‚č‚ ‚Č +‚―‚ĖŒ —˜‚ÉˆŲ‹c‚ð\‚ĩ—§‚Ă邹‚Ƃ͂ą‚Ėß‚ĖˆÓ}‚·‚邯‚ą‚ë‚Å‚Í‚Č‚ĒB‚Þ‚ĩ‚ëA +‚ŧ‚ĖŽïŽ|‚́wƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚ĩ‚―”hķ•ςȂǂĩW‡’˜ė•Ļ‚Ė”Ð•z‚ðŠĮ—‚· +‚錠—˜‚ðsŽg‚·‚邯‚Ē‚Ī‚ą‚Æ‚É‚ ‚éB + +‚Ü‚―AwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚ĩ‚ĂǂȂǂŧ‚Ė‘ž‚Ė’˜ė•Ļ‚ðwƒvƒƒOƒ‰ƒ€x(‚  +‚é‚Ē‚ÍwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚ĩ‚―’˜ė•Ļ)‚Æˆę‚ɏW‚ß‚―‚ū‚Ŋ‚Ė‚ā‚Ė‚ðˆęŠŠ‚Ė +•ÛŠĮ‘•’u‚Ȃǂĩ”Еz”}‘Ė‚ÉŽû‚߂ĂāA‚ŧ‚Ė‘ž‚Ė’˜ė•ς܂łą‚ĖŒ_–ņ‘‚Š•Û +Œė‚·‚é‘ÎÛ‚É‚Č‚é‚Æ‚Ē‚Ī‚ą‚Æ‚ɂ͂Ȃį‚ȂǁB + +3. ‚ ‚Č‚―‚͏ã‹L‘æ1ß‚Ļ‚æ‚Ņ2ß‚ĖðŒ‚É]‚ǁAwƒvƒƒOƒ‰ƒ€x(‚ ‚é‚Ē‚Í‘æ2 +ß‚ɂςŊ‚é”hķ•Ļ)‚ðƒIƒuƒWƒFƒNƒgƒR[ƒh‚ȂǂĩŽĀsŒ`ŽŪ‚Å•Ąŧ‚Ü‚―‚͔Еz‚· +‚邹‚Æ‚Š‚Å‚Ŧ‚éB‚―‚ū‚ĩA‚ŧ‚Ėę‡‚ ‚Č‚―‚ÍˆČ‰š‚˂΂ŋ‚Į‚ę‚Đˆę‚‚ðŽĀŽ{‚ĩ‚Č +‚Ŋ‚ę‚΂Ȃį‚Č‚Ē: + + a) ’˜ė•ςɁAwƒvƒƒOƒ‰ƒ€x‚ɑΉž‚ĩ‚―ŠŪ‘S‚Ђ‹@ŠB‚Å“Į‚ÝŽæ‚č‰Â”\‚Č + ƒ\[ƒXƒR[ƒh‚ð“Y•t‚·‚éB‚―‚ū‚ĩAƒ\[ƒXƒR[ƒh‚͏ã‹L‘æ1ß‚Ļ‚æ‚Ņ2ß‚Ė + ðŒ‚ɏ]‚Ēƒ\ƒtƒgƒEƒFƒA‚ĖŒðŠ·‚ÅKŠĩ“I‚ÉŽg‚í‚ę‚é”}‘Ė‚Å”Ð•z‚ĩ‚Č‚Ŋ‚ę‚Î + ‚Č‚į‚ȂǁB‚ ‚é‚Ē‚ÍA + + b) ’˜ė•ςɁA‚Ē‚Đ‚Č‚é‘æŽOŽŌ‚ɑ΂ĩ‚Ä‚āAwƒvƒƒOƒ‰ƒ€x‚ɑΉž‚ĩ‚―ŠŪ + ‘S‚Ђ‹@ŠB‚Å“Į‚ÝŽæ‚č‰Â”\‚Čƒ\[ƒXƒR[ƒh‚ðA”Еz‚É—v‚·‚é•Ļ—“IƒRƒXƒg + ‚ðã‰ņ‚į‚Ȃǒö“x‚ĖŽč”—ŋ‚ƈø‚ŦŠ·‚͂ɒņ‹Ÿ‚·‚éŽ|q‚Ũ‚―­‚Č‚­‚Æ‚ā3”N + ŠÔ‚Í—LŒø‚ȏ‘–ʂɂȂÁ‚―\‚ĩo‚ð“Y‚Ķ‚éB‚―‚ū‚ĩAƒ\[ƒXƒR[ƒh‚͏ã‹L‘æ + 1ß‚Ļ‚æ‚Ņ2ß‚ĖðŒ‚É]‚Ēƒ\ƒtƒgƒEƒFƒA‚ĖŒðŠ·‚ÅKŠĩ“I‚ÉŽg‚í‚ę‚é”}‘˂Š+ ”Еz‚ĩ‚Č‚Ŋ‚ę‚΂Ȃį‚ȂǁB‚ ‚é‚Ē‚ÍA + + c) ‘Ήž‚·‚éƒ\[ƒXƒR[ƒh”Еz‚ː\‚ĩo‚ɍۂĩ‚āA‚ ‚Č‚―‚Š“ū‚―î•ņ‚ðˆę + ‚Ɉø‚Ŧ“n‚·(‚ą‚Ė‘I‘ðŽˆ‚ÍA‰c—˜‚ð–Ú“I‚Æ‚ĩ‚Č‚Ē”Ð•z‚Å‚ ‚Á‚āA‚Ђ‚  + ‚Č‚―‚Šã‹LŽßb‚ÅŽw’č‚ģ‚ę‚Ăǂ邿‚΂Ȑ\‚ĩo‚Æ‹Ī‚ÉƒIƒuƒWƒFƒNƒgƒR[ + ƒh‚ ‚é‚Ē‚ÍŽĀsŒ`ŽŪ‚ĖƒvƒƒOƒ‰ƒ€‚ĩ‚Đ“üŽč‚ĩ‚Ä‚Ē‚Č‚Ēę‡‚ÉŒĀ‚č‹–‰Â‚ģ‚ę + ‚é)B + +’˜ė•Ļ‚Ėƒ\[ƒXƒR[ƒh‚Ƃ́A‚ŧ‚ę‚ɑ΂ĩ‚ĉü•Ï‚ð‰Á‚Ķ‚éã‚ōD‚Ü‚ĩ‚Ē‚Æ‚ģ‚ę‚é +’˜ė•Ļ‚ĖŒ`ŽŪ‚ðˆÓ–Ą‚·‚éB‚ ‚éŽĀsŒ`ŽŪ‚Ė’˜ė•Ļ‚É‚Æ‚Á‚ÄŠŪ‘S‚Čƒ\[ƒXƒR[ƒh +‚Ƃ́A‚ŧ‚ꂊŠÜ‚Þƒ‚ƒWƒ…[ƒ‹‚·‚Ũ‚Ä‚Ėƒ\[ƒXƒR[ƒh‘S•”‚ɉÁ‚́AŠÖ˜A‚·‚éƒCƒ“ +ƒ^[ƒtƒF[ƒX’č‹`ƒtƒ@ƒCƒ‹‚Ė‚·‚Ũ‚Ăƃ‰ƒCƒuƒ‰ƒŠ‚ĖƒRƒ“ƒpƒCƒ‹‚âƒCƒ“ƒXƒg[ƒ‹ +‚𐧌䂷‚é‚―‚߂Ɏg‚í‚ę‚éƒXƒNƒŠƒvƒg‚ð‚ā‰Á‚Ķ‚―‚ā‚Ė‚ðˆÓ–Ą‚·‚éB‚ĩ‚Đ‚ĩ“Á•Ę +‚Č—áŠO‚Æ‚ĩ‚āA‚ŧ‚ĖƒRƒ“ƒ|[ƒlƒ“ƒgŽĐ‘Ė‚ŠŽĀsŒ`ŽŪ‚É•t‚·‚é‚Ė‚Å‚Í–ģ‚ĒŒĀ‚čA +”Еz‚ģ‚ę‚é‚ā‚˂˒†‚ɁAŽĀsŒ`ŽŪ‚ŠŽĀs‚ģ‚ę‚éƒIƒyƒŒ[ƒeƒBƒ“ƒOƒVƒXƒeƒ€‚ĖŽå +—v‚ČƒRƒ“ƒ|[ƒlƒ“ƒg(ƒRƒ“ƒpƒCƒ‰‚âƒJ[ƒlƒ‹“™)‚Æ’Ęíˆę‚É(ƒ\[ƒX‚ĐƒoƒCƒi +ƒŠŒ`ŽŪ‚Ė‚Į‚ŋ‚į‚Đ‚Å)”Еz‚ģ‚ę‚é‚ā‚Ė‚ðŠÜ‚ņ‚łǂé•K—v‚Í‚Č‚Ē‚Æ‚·‚éB + +ŽĀsŒ`ŽŪ‚Ü‚―‚̓IƒuƒWƒFƒNƒgƒR[ƒh‚Ė”Ð•z‚ЁAŽw’č‚ģ‚ę‚―ęŠ‚Đ‚įƒRƒs[‚·‚é +‚―‚ß‚ĖƒAƒNƒZƒXŽč’i‚ð’ņ‹Ÿ‚·‚邹‚ƂňŨ‚ģ‚ę‚邯‚ĩ‚āA‚ŧ‚Ėã‚Ń\[ƒXƒR[ƒh +‚ā“Ŋ“™‚ĖƒAƒNƒZƒXŽč’i‚É‚æ‚Á‚Ä“Ŋ‚ķęŠ‚Đ‚įƒRƒs[‚Å‚Ŧ‚邿‚΂ɂȂÁ‚Ăǂé‚Č +‚į‚΁A‘æŽOŽŌ‚ŠƒIƒuƒWƒFƒNƒgƒR[ƒh‚Æˆę‚Ƀ\[ƒX‚ā‹­§“I‚ɃRƒs[‚ģ‚đ‚į‚ę +‚邿‚΂ɂȂÁ‚ĂǂȂ­‚Ä‚āƒ\[ƒXƒR[ƒh”Еz‚ĖðŒ‚ð–ž‚―‚ĩ‚Ăǂé‚ā‚Ė‚Æ‚·‚éB + +4. ‚ ‚Č‚―‚́wƒvƒƒOƒ‰ƒ€x‚ðA‚ą‚ĖŒ_–ņ‘‚ɂςǂĖūŠm‚É’ņŽĶ‚ģ‚ę‚―s +ˆŨ‚ðœ‚Ŧ•Ąŧ‚â‰ü•ρAƒTƒuƒ‰ƒCƒZƒ“ƒXA‚ ‚é‚Ē‚Í”Ð•z‚ĩ‚Ă͂Ȃį‚ȂǁB‘ž‚É +wƒvƒƒOƒ‰ƒ€x‚ð•Ąŧ‚â‰ü•ρAƒTƒuƒ‰ƒCƒZƒ“ƒXA‚ ‚é‚Ē‚Í”Ð•z‚·‚éŠé‚Ă͂·‚Ũ +‚Ä–ģŒø‚Å‚ ‚čA‚ą‚ĖŒ_–ņ‘‚ˉš‚ł˂ ‚Č‚―‚ĖŒ —˜‚ðŽĐ“Ū“I‚ɏIŒ‹‚ģ‚đ‚邹 +‚Æ‚É‚Č‚ë‚΁B‚ĩ‚Đ‚ĩA•Ąŧ•Ļ‚âŒ —˜‚ð‚ą‚ĖŒ_–ņ‘‚ɏ]‚Á‚Ä‚ ‚Č‚―‚Đ‚į“ū‚― +lX‚ÉŠÖ‚ĩ‚ẮA‚ŧ‚Ė‚æ‚΂ȐlX‚Š‚ą‚ĖŒ_–ņ‘‚ÉŠŪ‘S‚ɏ]‚Á‚ĂǂéŒĀ‚č”Þ +‚į‚Ėƒ‰ƒCƒZƒ“ƒX‚܂ŏIŒ‹‚·‚邹‚Æ‚Í‚Č‚ĒB + +5. ‚ ‚Č‚―‚Í‚ą‚ĖŒ_–ņ‘‚ðŽó‘ø‚·‚é•K—v‚Í–ģ‚ǁB‚Æ‚Ē‚Ī‚Ė‚ÍA‚ ‚Č‚―‚Í‚ą +‚ę‚ɏ–ž‚ĩ‚Ä‚Ē‚Č‚Ē‚Đ‚į‚Å‚ ‚éB‚ĩ‚Đ‚ĩA‚ą‚ĖŒ_–ņ‘ˆČŠO‚É‚ ‚Č‚―‚ɑ΂ĩ +‚āwƒvƒƒOƒ‰ƒ€x‚â‚ŧ‚Ė”hķ•Ļ‚ð•ύXA”Еz‚·‚é‹–‰Â‚ð—^‚Ķ‚é‚ā‚Ė‚Í‘ķÝ‚ĩ‚Č +‚ǁB‚ą‚ę‚į‚ĖsˆŨ‚́A‚ ‚Č‚―‚Š‚ą‚ĖŒ_–ņ‘‚ðŽó‚Ŋ“ü‚ę‚Č‚ĒŒĀ‚č–@‚É‚æ‚Á‚Ä +‹Ö‚ķ‚į‚ę‚ĂǂéB‚ŧ‚ą‚ŁAwƒvƒƒOƒ‰ƒ€x(‚ ‚é‚Ē‚ÍwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚ĩ +‚―’˜ė•ς˂·‚Ũ‚Ä)‚ð‰ü•Ï‚Č‚Ē‚ĩ”Еz‚·‚邹‚Ƃɂæ‚čA‚ ‚Č‚―‚ÍŽĐ•Š‚Š‚ŧ‚Ė‚æ +‚Ī‚ČsˆŨ‚ðs‚Ī‚―‚߂ɂą‚ĖŒ_–ņ‘‚ðŽó‘ø‚ĩ‚―‚Æ‚Ē‚Ī‚ą‚ÆA‚ŧ‚ĩ‚āwƒvƒƒO +ƒ‰ƒ€x‚Æ‚ŧ‚ę‚ÉŠî‚­’˜ė•ς˕Ąŧ‚â”ЕzA‰ü•Ï‚É‚Â‚Ē‚Ä‚ą‚ĖŒ_–ņ‘‚Š‰Û +‚·§–ņ‚ÆðŒ‚ð‚·‚Ũ‚ÄŽó‚Ŋ“ü‚ę‚―‚Æ‚Ē‚Ī‚ą‚Æ‚ðŽĶ‚ĩ‚―‚ā‚Ė‚ÆŒĐ‚Č‚·B + +6. ‚ ‚Č‚―‚ЁwƒvƒƒOƒ‰ƒ€x(‚Ü‚―‚́wƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚ĩ‚―’˜ė•Ļ‘S”Ę)‚ð +Ä”Еz‚·‚é‚―‚҂ɁA‚ŧ‚ĖŽó—ĖŽŌ‚ÍŒģX‚Ėƒ‰ƒCƒZƒ“ƒX‹–‰ÂŽŌ‚Đ‚įA‚ą‚ĖŒ_–ņ‘‚Å +Žw’č‚ģ‚ę‚―ðŒ‚Ɛ§–ņ‚ˉš‚ŁwƒvƒƒOƒ‰ƒ€x‚ð•Ąŧ‚â”ЕzA‚ ‚é‚Ē‚Í‰ü•Ï‚·‚é +‹–‰Â‚ðŽĐ“Ū“I‚É“ū‚é‚ā‚Ė‚Æ‚·‚éB‚ ‚Č‚―‚́AŽó—ĖŽŌ‚Š‚ą‚ą‚Å”F‚ß‚į‚ę‚―Œ —˜‚ð +sŽg‚·‚邹‚ƂɊւĩ‚Ä‚ą‚ęˆČã‘ž‚Ė‚Ē‚Đ‚Č‚é§ŒĀ‚ā‰Û‚·‚ą‚Æ‚ЂłŦ‚ȂǁB‚ ‚Č +‚―‚ɂ́A‘æŽOŽŌ‚Š‚ą‚ĖŒ_–ņ‘‚ɏ]‚Ī‚ą‚Æ‚ð‹­§‚·‚éÓ”C‚Í‚Č‚ĒB + +7. “Á‹–NŠQ‚ ‚é‚Ē‚Í‚ŧ‚Ė‘ž‚Ė——R(“Á‹–ŠÖŒW‚ÉŒĀ‚į‚Č‚Ē)‚Đ‚įAŲ”ŧŠ‚Ė”ŧŒˆ +‚ ‚é‚Ē‚Í\‚ĩ—§‚Ä‚ĖŒ‹‰Ę‚Æ‚ĩ‚Ä‚ ‚Č‚―‚É(Ų”ŧŠ–―—ß‚âŒ_–ņ‚Č‚Į‚É‚æ‚č)‚ą‚ĖŒ_ +–ņ‘‚ĖðŒ‚Æ–ĩ‚‚·‚鐧–ņ‚Š‰Û‚ģ‚ę‚―ę‡‚Å‚āA‚ ‚Č‚―‚Š‚ą‚ĖŒ_–ņ‘‚ĖðŒ‚ð +–Əœ‚ģ‚ę‚é‚í‚Ŋ‚Å‚Í‚Č‚ĒB‚ā‚ĩ‚ą‚ĖŒ_–ņ‘‚ˉš‚Å‚ ‚Č‚―‚ɉۂđ‚į‚ę‚―Ó”C‚Æ‘ž +‚ĖŠÖ˜A‚·‚éÓ”C‚ð“ŊŽž‚É–ž‚―‚·‚æ‚Ī‚ČŒ`‚ŔЕz‚Å‚Ŧ‚ȂǂȂį‚΁AŒ‹‰Ę‚Æ‚ĩ‚Ä‚  +‚Č‚―‚́wƒvƒƒOƒ‰ƒ€x‚ð”Еz‚·‚邹‚Æ‚Š‘S‚­‚Å‚Ŧ‚Č‚Ē‚Æ‚Ē‚Ī‚ą‚Æ‚Å‚ ‚éB—á‚Ķ +‚ΓÁ‹–ƒ‰ƒCƒZƒ“ƒX‚ЁA‚ ‚Č‚―‚Đ‚į’žÚŠÔÚ‚ð–â‚í‚ļƒRƒs[‚ðŽó‚ŊŽæ‚Á‚―l‚Š’N +‚Å‚āwƒvƒƒOƒ‰ƒ€x‚ðŽg—p—ŋ–ģ—ŋ‚ōĔЕz‚·‚邹‚Æ‚ð”F‚ß‚Ä‚Ē‚Č‚Ēę‡A‚ ‚Č +‚―‚Š‚ŧ‚ː§–ņ‚Æ‚ą‚ĖŒ_–ņ‘‚ð—ž•û‚Æ‚ā–ž‚―‚·‚ɂ́wƒvƒƒOƒ‰ƒ€x‚Ė”Ð•z‚ðŠŪ‘S +‚É’†Ž~‚·‚é‚ĩ‚Đ‚Č‚Ē‚ū‚ë‚΁B + +‚ą‚Ėß‚Ėˆę•”•ЂГÁ’č‚Ėó‹ĩ‚ˉš‚Å–ģŒø‚ȂǂĩŽĀŽ{•s‰Â”\‚Čę‡‚Å‚āAß‚ĖŽc +‚č‚Ė•”•Š‚Í“K—p‚ģ‚ę‚邿‚ĪˆÓ}‚ģ‚ę‚ĂǂéB‚ŧ‚Ė‘ž‚Ėó‹ĩ‚Å‚Íß‚Š‘S‘Ė‚Æ‚ĩ‚Ä +“K—p‚ģ‚ę‚邿‚ĪˆÓ}‚ģ‚ę‚ĂǂéB + +“Á‹–‚â‚ŧ‚Ė‘ž‚ĖāŽYŒ ‚ðNŠQ‚ĩ‚―‚čA‚ŧ‚Ė‚æ‚Ī‚ČŒ —˜‚ĖŽå’Ģ‚ĖŒø—Í‚ÉˆŲ‹c‚ðĨ +‚Ķ‚―‚č‚·‚邿‚Ī‚ ‚Č‚―‚ð—U˜f‚·‚邹‚Æ‚Š‚ą‚Ėß‚Ė–Ú“I‚Å‚Í‚Č‚ĒB‚ą‚Ėß‚É‚ÍA +lX‚É‚æ‚Á‚ă‰ƒCƒZƒ“ƒXŠĩs‚Æ‚ĩ‚ÄŽĀŒŧ‚ģ‚ę‚Ä‚Ŧ‚―AƒtƒŠ[ƒ\ƒtƒgƒEƒFƒA”Еz +‚ĖƒVƒXƒeƒ€‚ĖŠŪ‘SŦ‚ðŒė‚邯‚Ē‚Ī–Ú“I‚ĩ‚Đ‚Č‚ĒB‘―‚­‚ːlX‚ЁAƒtƒŠ[ƒ\ƒtƒg +ƒEƒFƒA‚Ė”Ð•zƒVƒXƒeƒ€‚ŠŽņ”öˆęŠŅ‚ĩ‚Ä“K—p‚ģ‚ę‚Ăǂ邯‚ǂΐM—Š‚ÉŠî‚ÂŦA‚ą +‚ĖƒVƒXƒeƒ€‚ð’Ę‚ķ‚ĔЕz‚ģ‚ę‚é‘―—l‚Čƒ\ƒtƒgƒEƒFƒA‚ÉŠ°‘å‚ȍvŒĢ‚ð‚ĩ‚Ä‚Ŧ‚―‚Ė +‚ÍŽ–ŽĀ‚Å‚ ‚邊Al‚Š‚Į‚Ė‚æ‚Ī‚ČƒVƒXƒeƒ€‚ð’Ę‚ķ‚ă\ƒtƒgƒEƒFƒA‚ð”Еz‚ĩ‚―‚Ē +‚ÆŽv‚Ī‚Đ‚Í‚ ‚­‚܂łāėŽŌ/Šņ—^ŽŌŽŸ‘æ‚Å‚ ‚čA‚ ‚Č‚―‚Š‘I‘ð‚ð‰Ÿ‚ĩ‚‚Ŋ‚邹 +‚Ƃ͂łŦ‚ȂǁB + +‚ą‚Ėß‚ÍA‚ą‚ĖŒ_–ņ‘‚Ė‚ą‚ĖßˆČŠO‚Ė•”•Š‚Ėˆę‹AŒ‹‚ɂȂ邯l‚Ķ‚į‚ę‚éƒP[ +ƒX‚ð“O’ę“I‚É–ū‚į‚Ђɂ·‚邹‚Æ‚ð–Ú“I‚Æ‚ĩ‚ĂǂéB + +8. wƒvƒƒOƒ‰ƒ€x‚Ė”Ð•z‚â—˜—p‚ЁA‚ ‚鍑‚É‚Ļ‚Ē‚Ä‚Í“Á‹–‚Ü‚―‚Í’˜ėŒ ‚ŠŽå +’Ģ‚ģ‚ę‚―ƒCƒ“ƒ^[ƒtƒF[ƒX‚˂ǂļ‚ę‚Ђɂæ‚Á‚ЧŒĀ‚ģ‚ę‚Ăǂéę‡AwƒvƒƒO +ƒ‰ƒ€x‚É‚ą‚ĖŒ_–ņ‘‚ð“K—p‚ĩ‚―Œģ‚Ė’˜ėŒ ŽŌ‚́A‚ŧ‚΂ǂÁ‚―‘X‚ð”rœ‚ĩ +‚―–ūŠm‚Č’n—“I”Еz§ŒĀ‚ð‰Á‚́A‚ŧ‚ą‚Å”rœ‚ģ‚ę‚Ä‚Ē‚Č‚Ē‘‚Ė’†‚â‚ŧ‚ę‚į‚Ė‘X +‚ĖŠÔ‚Å‚Ė‚Ý”Ð•z‚Š‹–‰Â‚ģ‚ę‚邿‚΂ɂĩ‚Ä‚ā\‚í‚ȂǁB‚ŧ‚Ėę‡A‚ŧ‚Ė‚æ‚΂Ȑ§ +ŒĀ‚Í‚ą‚ĖŒ_–ņ‘–{•ķ‚ŏ‘‚Đ‚ę‚Ăǂé‚Ė‚Æ“Ŋ—l‚ÉŒĐ‚Č‚ģ‚ę‚éB + +9. ƒtƒŠ[ƒ\ƒtƒgƒEƒFƒAā’c‚́AŽž‚É‚æ‚Á‚ĉü’ų‚Ü‚―‚͐V”Å‚Ėˆę”ĘŒöO—˜—p‹– +‘ø‘‚ð”­•\‚·‚邹‚Æ‚Š‚Å‚Ŧ‚éB‚ŧ‚Ė‚æ‚΂ȐV”ł͌ŧÝ‚Ėƒo[ƒWƒ‡ƒ“‚Æ‚ŧ‚ːļ_ +‚É‚Ļ‚Ē‚Ä‚ÍŽ—‚―‚ā‚˂ɂȂé‚ū‚ë‚΂ЁAV‚―‚Č–â‘č‚⌜”O‚ð‰ðŒˆ‚·‚é‚―‚ߍŨ•”‚Å +‚ÍˆŲ‚Č‚é‰Â”\Ŧ‚Š‚ ‚éB + +‚ŧ‚ꂞ‚ę‚Ėƒo[ƒWƒ‡ƒ“‚ɂ́AŒĐ•Š‚Ŋ‚Š•t‚­‚æ‚Ī‚Éƒo[ƒWƒ‡ƒ“”ԍ†‚АU‚į‚ę‚Ä‚Ē +‚éBwƒvƒƒOƒ‰ƒ€x‚ɂςǂĂŧ‚ę‚É“K—p‚ģ‚ę‚邹‚ĖŒ_–ņ‘‚Ėƒo[ƒWƒ‡ƒ“”ԍ†‚Š +Žw’č‚ģ‚ę‚ĂǂāAX‚Ɂu‚ŧ‚ęˆČ~‚Ė‚Ē‚Đ‚Č‚éƒo[ƒWƒ‡ƒ“v‚ā“K—p‚ĩ‚Ä—Į‚Ē‚Æ‚Č‚Á +‚Ăǂ―ę‡A‚ ‚Č‚―‚͏]‚ĪðŒ‚Æ§–ņ‚Æ‚ĩ‚āAŽw’č‚Ėƒo[ƒWƒ‡ƒ“‚ЁAƒtƒŠ[ƒ\ +ƒtƒgƒEƒFƒAā’c‚É‚æ‚Á‚Ä”­s‚ģ‚ę‚―Žw’č‚Ėƒo[ƒWƒ‡ƒ“ˆČ~‚˔ł˂Į‚ę‚Đˆę‚Â‚Ė +‚Į‚ŋ‚į‚Đ‚ð‘I‚Ô‚ą‚Æ‚Šo—ˆ‚éBwƒvƒƒOƒ‰ƒ€x‚щƒCƒZƒ“ƒX‚Ėƒo[ƒWƒ‡ƒ“”ԍ† +‚ŠŽw’č‚ģ‚ę‚ĂǂȂǂȂį‚΁A‚ ‚Č‚―‚͍Ą‚܂łɃtƒŠ[ƒ\ƒtƒgƒEƒFƒAā’c‚Đ‚į”­ +s‚ģ‚ę‚―ƒo[ƒWƒ‡ƒ“‚Ė’†‚Đ‚įD‚Ŧ‚É‘I‚ņ‚ō\‚í‚ȂǁB + +10. ‚ā‚ĩ‚ ‚Č‚―‚ЁwƒvƒƒOƒ‰ƒ€x‚Ėˆę•”‚ðA‚ŧ‚Ė”Ð•zðŒ‚Š‚ą‚ĖŒ_–ņ‘‚Æ +ˆŲ‚Ȃ鑞‚ĖƒtƒŠ[‚ČƒvƒƒOƒ‰ƒ€‚Æ“‡‚ĩ‚―‚ǂȂį‚΁AėŽŌ‚ɘA—‚ĩ‚Ä‹–‰Â‚ð‹ +‚ß‚æBƒtƒŠ[ƒ\ƒtƒgƒEƒFƒAā’c‚Š’˜ėŒ ‚ð•Û—L‚·‚éƒ\ƒtƒgƒEƒFƒA‚É‚Â‚Ē‚Ä‚ÍA +ƒtƒŠ[ƒ\ƒtƒgƒEƒFƒAā’c‚ɘA—‚đ‚æBŽ„‚―‚ŋ‚́A‚ą‚Ė‚æ‚Ī‚Čę‡‚Ė‚―‚߂ɓÁ•Ę +‚Č—áŠO‚ðÝ‚Ŋ‚邹‚Æ‚ā‚ ‚éBŽ„‚―‚ŋ‚ŠŒˆ’č‚ð‰š‚·‚É‚ ‚―‚Á‚ẮAŽ„‚―‚ŋ‚ĖƒtƒŠ[ +ƒ\ƒtƒgƒEƒFƒA‚Ė”hķ•Ļ‚·‚Ũ‚Ä‚ŠƒtƒŠ[‚ȏó‘Ԃɕۂ―‚ę‚邯‚Ē‚Ī‚ą‚Æ‚ƁAˆę”Ę“I +‚Ƀ\ƒtƒgƒEƒFƒA‚ˋΗL‚ƍė˜—p‚ð‘̐i‚·‚邯‚ǂΓņ‚Â‚Ė–Ú•W‚ð‹K€‚ÉŒŸ“Ē‚ģ‚ę +‚é‚Å‚ ‚ë‚΁B + –ģ•ÛØ‚É‚Â‚Ē‚Ä + +11. wƒvƒƒOƒ‰ƒ€x‚Í‘ã‰ŋ–ģ‚ĩ‚É—˜—p‚Š‹–‰Â‚ģ‚ę‚é‚˂ŁA“KØ‚Č–@‚Š”F‚ß‚éŒĀ +‚č‚ɂςǂāAwƒvƒƒOƒ‰ƒ€x‚ÉŠÖ‚·‚é‚Ē‚Đ‚Č‚é•ۏ؂ā‘ķÝ‚ĩ‚ȂǁB‘–Ę‚Å•Ę‚É +q‚Ũ‚éę‡‚ðœ‚Ē‚ÄA’˜ėŒ ŽŌA‚Ü‚―‚Í‚ŧ‚Ė‘ž‚Ė’c‘Ė‚ÍAwƒvƒƒOƒ‰ƒ€x‚ðA +•\–ū‚ģ‚ę‚―‚ĐŒūŠO‚ɂЂ͖â‚í‚ļAĪ‹Æ“I“KŦ‚ð•ۏ؂·‚é‚Ų‚Ė‚ß‚Đ‚ĩ‚â‚ ‚é“Á’č +‚Ė–Ú“I‚Ö‚Ė“K‡Ŧ(‚ÉŒĀ‚į‚ę‚Č‚Ē)‚ðŠÜ‚ÞˆęØ‚Ė•ÛØ–ģ‚ĩ‚Ɂu‚ ‚邊‚܂܁v‚Å’ņ +‹Ÿ‚·‚éBwƒvƒƒOƒ‰ƒ€x‚ĖŽŋ‚ƐŦ”\‚ÉŠÖ‚·‚郊ƒXƒN‚Ė‚·‚Ũ‚Ă͂ ‚Č‚―‚É‹A‘Ū‚· +‚éBwƒvƒƒOƒ‰ƒ€x‚ÉŒ‡ŠŨ‚Š‚ ‚邯”ŧ–ū‚ĩ‚―ę‡A‚ ‚Č‚―‚Í•K—v‚Č•ÛŽį“_ŒŸ‚â +•âCACģ‚É—v‚·‚éƒRƒXƒg‚Ė‚·‚Ũ‚Ä‚ðˆø‚ŦŽó‚Ŋ‚邹‚Æ‚É‚Č‚éB + +12. “KØ‚Č–@‚Џ‘–Ƃł˓ŊˆÓ‚É‚æ‚Á‚Ä–―‚š‚į‚ę‚Č‚ĒŒĀ‚čA’˜ėŒ ŽŌA‚Ü‚―‚͏ã +‹L‚Å‹–‰Â‚ģ‚ę‚Ăǂé’Ę‚č‚ɁwƒvƒƒOƒ‰ƒ€x‚ð‰ü•ς܂―‚͍ĔЕz‚ĩ‚―‚ŧ‚Ė‘ž‚Ė’c +‘Ė‚ÍA‚ ‚Č‚―‚ɑ΂ĩ‚āwƒvƒƒOƒ‰ƒ€x‚Ė—˜—p‚Ȃǂĩ—˜—p•s”\‚Őķ‚ķ‚―ˆę”Ę“IA +“Á•Ę“IA‹ô‘R“IA•K‘R“I‚Č‘đŠQ(ƒf[ƒ^‚ĖÁŽļ‚â•sģŠm‚ȏˆ—A‚ ‚Č‚―‚Đ‘æŽO +ŽŌ‚Š”í‚Á‚―‘đŽļA‚ ‚é‚Ē‚ÍwƒvƒƒOƒ‰ƒ€x‚Š‘ž‚Ėƒ\ƒtƒgƒEƒFƒA‚Æˆę‚É“Ūė‚ĩ +‚Č‚Ē‚Æ‚Ē‚Ī•s‹ï‡‚Č‚Į‚ðŠÜ‚Þ‚Š‚ŧ‚ę‚į‚ÉŒĀ‚į‚Č‚Ē)‚ÉˆęØ‚ːӔC‚𕉂í‚ȂǁB +‚ŧ‚Ė‚æ‚΂ȑđŠQ‚Аķ‚ļ‚é‰Â”\Ŧ‚É‚Â‚Ē‚Ä”Þ‚į‚Š’‰‚ģ‚ę‚Ăǂ―‚Æ‚ĩ‚Ä‚ā“Ŋ—l‚Å +‚ ‚éB + + ðŒ‚Ɛ§–ņI‚í‚č + + ˆČã‚Ėð€‚ð‚ ‚Č‚―‚ːV‚ĩ‚ĒƒvƒƒOƒ‰ƒ€‚É“K—p‚·‚é•û–@ + +‚ ‚Č‚―‚АV‚ĩ‚ĒƒvƒƒOƒ‰ƒ€‚ðŠJ”­‚ĩ‚―‚Æ‚ĩ‚āAŒöO‚É‚æ‚Á‚Ä‚ŧ‚ꂊ—˜—p‚ģ‚ę‚é +‰Â”\Ŧ‚ðÅ‘å‚É‚ĩ‚―‚ǂȂįA‚ŧ‚ĖƒvƒƒOƒ‰ƒ€‚ð‚ą‚ĖŒ_–ņ‘‚Ėð€‚É]‚Á‚Ä +’N‚Å‚āÄ”Еz‚ ‚é‚Ē‚Í•ÏX‚Å‚Ŧ‚邿‚ĪƒtƒŠ[ƒ\ƒtƒgƒEƒFƒA‚É‚·‚é‚Ė‚ŠÅ‘P‚Å‚·B + +‚ŧ‚Ė‚―‚߂ɂ́AƒvƒƒOƒ‰ƒ€‚ÉˆČ‰š‚Ė‚æ‚΂ȕ\ŽĶ‚ð“Y•t‚ĩ‚Ä‚­‚ū‚ģ‚ǁB‚ŧ‚Ėę‡A +•ÛØ‚Š”rœ‚ģ‚ę‚Ăǂ邯‚Ē‚Ī‚ą‚Æ‚ðÅ‚āŒø‰Ę“I‚É“`‚Ķ‚é‚―‚߂ɁA‚ŧ‚ꂞ‚ę‚Ėƒ\[ +ƒXƒtƒ@ƒCƒ‹‚Ė–`“Ђɕ\ŽĶ‚ð“Y•t‚·‚ę‚΍łāˆĀ‘S‚Å‚·B­‚Č‚­‚Æ‚āAu’˜ėŒ •\ +ŽĶv‚Æ‚Ē‚Īs‚Æ‘S•ķ‚Š‚ ‚éęŠ‚Ö‚Ėƒ|ƒCƒ“ƒ^‚ū‚Ŋ‚ÍŠeƒtƒ@ƒCƒ‹‚Ɋ܂߂Ēu‚Ē‚Ä +‚­‚ū‚ģ‚ǁB + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + (–ó: + + <ƒvƒƒOƒ‰ƒ€‚Ė–ž‘O‚ƁA‚ŧ‚ꂊ‰―‚ð‚·‚é‚Đ‚É‚Â‚Ē‚Ä‚ĖŠČ’P‚Ȑā–ūB> + Copyright (C) <ž—ï”N> <ėŽŌ‚Ė–ž‘O> + + ‚ą‚ĖƒvƒƒOƒ‰ƒ€‚̓tƒŠ[ƒ\ƒtƒgƒEƒFƒA‚Å‚·B‚ ‚Č‚―‚Í‚ą‚ę‚ðAƒtƒŠ[ƒ\ƒt + ƒgƒEƒFƒAā’c‚É‚æ‚Á‚Ä”­s‚ģ‚ę‚― GNU ˆę”ĘŒöO—˜—p‹–‘øŒ_–ņ‘(ƒo[ƒWƒ‡ + ƒ“2‚ЁAŠó–]‚É‚æ‚Á‚Ă͂ŧ‚ęˆČ~‚Ėƒo[ƒWƒ‡ƒ“‚˂΂ŋ‚Į‚ę‚Đ)‚Ė’č‚ß‚éðŒ + ‚ˉš‚ōĔЕz‚Ü‚―‚͉ü•Ï‚·‚邹‚Æ‚Š‚Å‚Ŧ‚Ü‚·B + + ‚ą‚ĖƒvƒƒOƒ‰ƒ€‚Í—L—p‚Å‚ ‚邹‚Æ‚ðŠč‚Á‚ĔЕz‚ģ‚ę‚Ü‚·‚ЁA*‘S‚­‚Ė–ģ•Û + Ø* ‚Å‚·BĪ‹Æ‰Â”\Ŧ‚Ė•ÛØ‚â“Á’č‚Ė–Ú“I‚Ö‚Ė“K‡Ŧ‚́AŒūŠO‚ÉŽĶ‚ģ‚ę‚― + ‚ā‚Ė‚āŠÜ‚ß‘S‚­‘ķÝ‚ĩ‚Ü‚đ‚ņBÚ‚ĩ‚­‚ÍGNU ˆę”ĘŒöO—˜—p‹–‘øŒ_–ņ‘‚ð‚ē + ——‚­‚ū‚ģ‚ǁB + + ‚ ‚Č‚―‚Í‚ą‚ĖƒvƒƒOƒ‰ƒ€‚Æ‹Ī‚ÉAGNU ˆę”ĘŒöO—˜—p‹–‘øŒ_–ņ‘‚Ė•Ąŧ•Ļ‚ð + ˆę•”Žó‚ŊŽæ‚Á‚―‚Í‚ļ‚Å‚·B‚ā‚ĩŽó‚ŊŽæ‚Á‚ĂǂȂŊ‚ę‚΁AƒtƒŠ[ƒ\ƒtƒgƒEƒF + ƒAā’c‚܂Őŋ‹‚ĩ‚Ä‚­‚ū‚ģ‚Ē(ˆķæ‚Í the Free Software Foundation, + Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA)B + + ) + +“dŽq‚Ȃǂĩކ‚Ėƒ[ƒ‹‚Å‚ ‚Č‚―‚É–â‚Ē‡‚í‚đ‚é•û–@‚É‚Â‚Ē‚Ä‚Ėî•ņ‚ā‘‚Ŧ‰Á‚Ķ +‚Ü‚ĩ‚å‚΁B + +ƒvƒƒOƒ‰ƒ€‚Š‘Î˜b“I‚Č‚ā‚˂Ȃį‚΁A‘Θbƒ‚[ƒh‚Å‹N“Ū‚ĩ‚―Û‚ɏo—͂Ƃĩ‚ÄˆČ‰š +‚Ė‚æ‚΂ȒZ‚Ē’m‚Š•\ŽĶ‚ģ‚ę‚邿‚΂ɂĩ‚Ä‚­‚ū‚ģ‚Ē: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + + (–ó: + + Gnomovision ƒo[ƒWƒ‡ƒ“ 69, Copyright (C) ”N ėŽŌ‚Ė–ž‘O + Gnomovision ‚Í*‘S‚­‚Ė–ģ•ۏØ*‚Å’ņ‹Ÿ‚ģ‚ę‚Ü‚·BÚ‚ĩ‚­‚́ushow wv + ‚ƃ^ƒCƒv‚ĩ‚ĉš‚ģ‚ǁB‚ą‚ę‚̓tƒŠ[ƒ\ƒtƒgƒEƒFƒA‚Å‚ ‚čA‚ ‚éðŒ‚ˉš‚Å + Ä”Еz‚·‚邹‚Æ‚Š§—ã‚ģ‚ę‚Ăǂ܂·BÚ‚ĩ‚­‚́ushow cv‚ƃ^ƒCƒv‚ĩ‚ĉš + ‚ģ‚ǁB + + ) + +‚ą‚ą‚ŁA‰ž‘z“I‚ČƒRƒ}ƒ“ƒhushow wv‚Ɓushow cv‚͈ę”ĘŒöO—˜—p‹–‘øŒ_–ņ‘ +‚Ė“KØ‚Č•”•Š‚ð•\ŽĶ‚·‚邿‚΂ɂȂÁ‚ĂǂȂŊ‚ę‚΂Ȃč‚Ü‚đ‚ņB‚ā‚ŋ‚ë‚ņA‚ ‚Č +‚―‚ŠŽg‚ĪƒRƒ}ƒ“ƒh‚ðushow wv‚âushow cv‚ƌĂԕK‘RŦ‚Í‚ ‚č‚Ü‚đ‚ņ‚˂ŁA +‚ ‚Č‚―‚ĖƒvƒƒOƒ‰ƒ€‚ɍ‡‚í‚đ‚ă}ƒEƒX‚ĖƒNƒŠƒbƒN‚⃁ƒjƒ…[‚ĖƒAƒCƒeƒ€‚É‚ĩ‚Ä +‚āŒ‹\‚Å‚·B + +‚Ü‚―‚ ‚Č‚―‚́A•K—v‚Č‚į‚Î(ƒvƒƒOƒ‰ƒ}[‚Æ‚ĩ‚Ä“­‚ǂĂǂ―‚į)‚ ‚Č‚―‚ĖŒŲ—pŽåA +‚ ‚é‚Ē‚Íę‡‚É‚æ‚Á‚Ă͊wZ‚Đ‚įA‚ŧ‚ĖƒvƒƒOƒ‰ƒ€‚ÉŠÖ‚·‚éu’˜ėŒ •úŠüš–ū +(copyright disclaimer)v‚ɏ–ž‚ĩ‚Ä‚ā‚į‚Ī‚Ũ‚Ŧ‚Å‚·BˆČ‰š‚Í—á‚Å‚·‚˂ŁA–ž +‘O‚ð•Ï‚Ķ‚Ä‚­‚ū‚ģ‚Ē: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + + (–ó: + + YoyodyneŽÐ‚Í‚ą‚ą‚ɁAJames Hacker‚É‚æ‚Á‚ď‘‚Đ‚ę‚―ƒvƒƒOƒ‰ƒ€ + uGnomovisionv(ƒRƒ“ƒpƒCƒ‰‚Ö’Ę‚·ƒvƒƒOƒ‰ƒ€)‚ÉŠÖ‚·‚éˆęØ‚Ė’˜ėŒ ‚Ė—˜ + ‰v‚ð•úŠü‚ĩ‚Ü‚·B + + A1989”N4ŒŽ1“ú + Ty CoonA•›ŽÐ’· + + ) + +‚ą‚Ėˆę”ĘŒöO—˜—p‹–‘øŒ_–ņ‘‚ł́A‚ ‚Č‚―‚ĖƒvƒƒOƒ‰ƒ€‚ð“Æč“I‚ČƒvƒƒOƒ‰ƒ€ +‚É“‡‚·‚邹‚Æ‚ð”F‚߂Ăǂ܂đ‚ņB‚ ‚Č‚―‚ĖƒvƒƒOƒ‰ƒ€‚ŠƒTƒuƒ‹[ƒ`ƒ“ƒ‰ƒCƒu +ƒ‰ƒŠ‚Č‚į‚΁A“Ɛč“I‚ČƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Æ‚ ‚Č‚―‚Ėƒ‰ƒCƒuƒ‰ƒŠ‚ðƒŠƒ“ƒN‚·‚邹 +‚Æ‚ð‹–‰Â‚ĩ‚―‚؂΂Ђæ‚č•Ö—˜‚Å‚ ‚邯l‚Ķ‚é‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņB‚ā‚ĩ‚ą‚ꂊ‚ ‚Č +‚―‚Ė–]‚Þ‚ą‚Æ‚Č‚į‚΁A‚ą‚ĖŒ_–ņ‘‚Ė‘ã‚í‚č‚ÉGNU ƒ‰ƒCƒuƒ‰ƒŠˆę”ĘŒöO—˜—p‹–‘ø +Œ_–ņ‘‚ð“K—p‚ĩ‚Ä‚­‚ū‚ģ‚ǁB diff --git a/Makefile b/Makefile index 1480d8015..2f0b29f4e 100644 --- a/Makefile +++ b/Makefile @@ -1,127 +1,127 @@ -# $Id: Makefile 158 2004-10-01 03:45:15Z PoW $ - -CC = gcc -pipe -PACKETDEF = -DPACKETVER=6 -DNEW_006b -DSO_REUSEPORT -#PACKETDEF = -DPACKETVER=5 -DNEW_006b -#PACKETDEF = -DPACKETVER=4 -DNEW_006b -#PACKETDEF = -DPACKETVER=3 -DNEW_006b -#PACKETDEF = -DPACKETVER=2 -DNEW_006b -#PACKETDEF = -DPACKETVER=1 -DNEW_006b - -PLATFORM = $(shell uname) - -ifeq ($(findstring FreeBSD,$(PLATFORM)), FreeBSD) -MAKE = gmake -else -MAKE = make -endif - -OPT = -g -O2 - -ifeq ($(findstring CYGWIN,$(PLATFORM)), CYGWIN) -OS_TYPE = -DCYGWIN -CFLAGS = $(OPT) -Wall -DFD_SETSIZE=4096 -I../common $(PACKETDEF) $(OS_TYPE) -else -OS_TYPE = -CFLAGS = $(OPT) -Wall -I../common $(PACKETDEF) $(OS_TYPE) -endif - -MYSQLFLAG_INCLUDE_DEFAULT = /usr/local/include/mysql - -ifdef SQLFLAG -MYSQLFLAG_CONFIG = $(shell which mysql_config) -ifeq ($(findstring /,$(MYSQLFLAG_CONFIG)), /) -MYSQLFLAG_VERSION = $(shell $(MYSQLFLAG_CONFIG) --version | sed s:\\..*::) -endif - -ifeq ($(findstring 5,$(MYSQLFLAG_VERSION)), 5) -MYSQLFLAG_CONFIG_ARGUMENT = --include -endif -ifeq ($(findstring 4,$(MYSQLFLAG_VERSION)), 4) -MYSQLFLAG_CONFIG_ARGUMENT = --include -endif -ifndef MYSQLFLAG_CONFIG_ARGUMENT -MYSQLFLAG_CONFIG_ARGUMENT = --cflags -endif - -ifeq ($(findstring /,$(MYSQLFLAG_CONFIG)), /) -MYSQLFLAG_INCLUDE = $(shell $(MYSQLFLAG_CONFIG) $(MYSQLFLAG_CONFIG_ARGUMENT)) -else -MYSQLFLAG_INCLUDE = -I$(MYSQLFLAG_INCLUDE_DEFAULT) -endif - -LIB_S_DEFAULT = -L/usr/local/lib/mysql -lmysqlclient -lz -MYSQLFLAG_CONFIG = $(shell which mysql_config) -ifeq ($(findstring /,$(MYSQLFLAG_CONFIG)), /) -LIB_S = $(shell $(MYSQLFLAG_CONFIG) --libs) -else -LIB_S = $(LIB_S_DEFAULT) -endif - -MYLIB = CC="$(CC)" CFLAGS="$(CFLAGS) $(MYSQLFLAG_INCLUDE)" LIB_S="$(LIB_S)" - -endif - -MKDEF = CC="$(CC)" CFLAGS="$(CFLAGS)" - -all: conf txt - -conf: - cp -r conf-tmpl conf - rm -rf conf/.svn conf/*/.svn - -txt : src/common/GNUmakefile src/login/GNUmakefile src/char/GNUmakefile src/map/GNUmakefile src/ladmin/GNUmakefile conf - cd src ; cd common ; $(MAKE) $(MKDEF) $@ ; cd .. - cd src ; cd login ; $(MAKE) $(MKDEF) $@ ; cd .. - cd src ; cd char ; $(MAKE) $(MKDEF) $@ ; cd .. - cd src ; cd map ; $(MAKE) $(MKDEF) $@ ; cd .. - cd src ; cd ladmin ; $(MAKE) $(MKDEF) $@ ; cd .. - - -ifdef SQLFLAG -sql: src/common/GNUmakefile src/login_sql/GNUmakefile src/char_sql/GNUmakefile src/map/GNUmakefile src/ladmin/GNUmakefile src/txt-converter/login/GNUmakefile src/txt-converter/char/GNUmakefile conf - cd src ; cd common ; $(MAKE) $(MKDEF) $@ ; cd .. - cd src ; cd login_sql ; $(MAKE) $(MYLIB) $@ ; cd .. - cd src ; cd char_sql ; $(MAKE) $(MYLIB) $@ ; cd .. - cd src ; cd map ; $(MAKE) $(MYLIB) $@ ; cd .. - cd src ; cd ladmin ; $(MAKE) $(MKDEF) $@ ; cd .. - cd src ; cd txt-converter ; cd login ; $(MAKE) $(MYLIB) $@ ; cd .. - cd src ; cd txt-converter ; cd char ; $(MAKE) $(MYLIB) $@ ; cd .. -else -sql: - $(MAKE) CC="$(CC)" OPT="$(OPT)" SQLFLAG=1 $@ -endif - -clean: src/common/GNUmakefile src/login/GNUmakefile src/char/GNUmakefile src/map/GNUmakefile src/ladmin/GNUmakefile src/txt-converter/login/GNUmakefile src/txt-converter/char/GNUmakefile - cd src ; cd common ; $(MAKE) $(MKDEF) $@ ; cd .. - cd src ; cd login ; $(MAKE) $(MKDEF) $@ ; cd .. - cd src ; cd login_sql ; $(MAKE) $(MKLIB) $@ ; cd .. - cd src ; cd char ; $(MAKE) $(MKDEF) $@ ; cd .. - cd src ; cd char_sql ; $(MAKE) $(MKLIB) $@ ; cd .. - cd src ; cd map ; $(MAKE) $(MKLIB) $@ ; cd .. - cd src ; cd ladmin ; $(MAKE) $(MKDEF) $@ ; cd .. - cd src ; cd txt-converter ; cd login ; $(MAKE) $(MKLIB) $@ ; cd .. - cd src ; cd txt-converter ; cd char ; $(MAKE) $(MKLIB) $@ ; cd .. - -tools: - cd tool && $(MAKE) $(MKDEF) && cd .. - $(CC) -o setupwizard setupwizard.c - -src/common/GNUmakefile: src/common/Makefile - sed -e 's/$$>/$$^/' src/common/Makefile > src/common/GNUmakefile -src/login/GNUmakefile: src/login/Makefile - sed -e 's/$$>/$$^/' src/login/Makefile > src/login/GNUmakefile -src/login_sql/GNUmakefile: src/login_sql/Makefile - sed -e 's/$$>/$$^/' src/login_sql/Makefile > src/login_sql/GNUmakefile -src/char/GNUmakefile: src/char/Makefile - sed -e 's/$$>/$$^/' src/char/Makefile > src/char/GNUmakefile -src/char_sql/GNUmakefile: src/char_sql/Makefile - sed -e 's/$$>/$$^/' src/char_sql/Makefile > src/char_sql/GNUmakefile -src/map/GNUmakefile: src/map/Makefile - sed -e 's/$$>/$$^/' src/map/Makefile > src/map/GNUmakefile -src/ladmin/GNUmakefile: src/ladmin/Makefile - sed -e 's/$$>/$$^/' src/ladmin/Makefile > src/ladmin/GNUmakefile -src/txt-converter/login/GNUmakefile: src/txt-converter/login/Makefile - sed -e 's/$$>/$$^/' src/txt-converter/login/Makefile > src/txt-converter/login/GNUmakefile -src/txt-converter/char/GNUmakefile: src/txt-converter/char/Makefile - sed -e 's/$$>/$$^/' src/txt-converter/char/Makefile > src/txt-converter/char/GNUmakefile +# $Id: Makefile 158 2004-10-01 03:45:15Z PoW $ + +CC = gcc -pipe +PACKETDEF = -DPACKETVER=6 -DNEW_006b -DSO_REUSEPORT +#PACKETDEF = -DPACKETVER=5 -DNEW_006b +#PACKETDEF = -DPACKETVER=4 -DNEW_006b +#PACKETDEF = -DPACKETVER=3 -DNEW_006b +#PACKETDEF = -DPACKETVER=2 -DNEW_006b +#PACKETDEF = -DPACKETVER=1 -DNEW_006b + +PLATFORM = $(shell uname) + +ifeq ($(findstring FreeBSD,$(PLATFORM)), FreeBSD) +MAKE = gmake +else +MAKE = make +endif + +OPT = -g -O2 + +ifeq ($(findstring CYGWIN,$(PLATFORM)), CYGWIN) +OS_TYPE = -DCYGWIN +CFLAGS = $(OPT) -Wall -DFD_SETSIZE=4096 -I../common $(PACKETDEF) $(OS_TYPE) +else +OS_TYPE = +CFLAGS = $(OPT) -Wall -I../common $(PACKETDEF) $(OS_TYPE) +endif + +MYSQLFLAG_INCLUDE_DEFAULT = /usr/local/include/mysql + +ifdef SQLFLAG +MYSQLFLAG_CONFIG = $(shell which mysql_config) +ifeq ($(findstring /,$(MYSQLFLAG_CONFIG)), /) +MYSQLFLAG_VERSION = $(shell $(MYSQLFLAG_CONFIG) --version | sed s:\\..*::) +endif + +ifeq ($(findstring 5,$(MYSQLFLAG_VERSION)), 5) +MYSQLFLAG_CONFIG_ARGUMENT = --include +endif +ifeq ($(findstring 4,$(MYSQLFLAG_VERSION)), 4) +MYSQLFLAG_CONFIG_ARGUMENT = --include +endif +ifndef MYSQLFLAG_CONFIG_ARGUMENT +MYSQLFLAG_CONFIG_ARGUMENT = --cflags +endif + +ifeq ($(findstring /,$(MYSQLFLAG_CONFIG)), /) +MYSQLFLAG_INCLUDE = $(shell $(MYSQLFLAG_CONFIG) $(MYSQLFLAG_CONFIG_ARGUMENT)) +else +MYSQLFLAG_INCLUDE = -I$(MYSQLFLAG_INCLUDE_DEFAULT) +endif + +LIB_S_DEFAULT = -L/usr/local/lib/mysql -lmysqlclient -lz +MYSQLFLAG_CONFIG = $(shell which mysql_config) +ifeq ($(findstring /,$(MYSQLFLAG_CONFIG)), /) +LIB_S = $(shell $(MYSQLFLAG_CONFIG) --libs) +else +LIB_S = $(LIB_S_DEFAULT) +endif + +MYLIB = CC="$(CC)" CFLAGS="$(CFLAGS) $(MYSQLFLAG_INCLUDE)" LIB_S="$(LIB_S)" + +endif + +MKDEF = CC="$(CC)" CFLAGS="$(CFLAGS)" + +all: conf txt + +conf: + cp -r conf-tmpl conf + rm -rf conf/.svn conf/*/.svn + +txt : src/common/GNUmakefile src/login/GNUmakefile src/char/GNUmakefile src/map/GNUmakefile src/ladmin/GNUmakefile conf + cd src ; cd common ; $(MAKE) $(MKDEF) $@ ; cd .. + cd src ; cd login ; $(MAKE) $(MKDEF) $@ ; cd .. + cd src ; cd char ; $(MAKE) $(MKDEF) $@ ; cd .. + cd src ; cd map ; $(MAKE) $(MKDEF) $@ ; cd .. + cd src ; cd ladmin ; $(MAKE) $(MKDEF) $@ ; cd .. + + +ifdef SQLFLAG +sql: src/common/GNUmakefile src/login_sql/GNUmakefile src/char_sql/GNUmakefile src/map/GNUmakefile src/ladmin/GNUmakefile src/txt-converter/login/GNUmakefile src/txt-converter/char/GNUmakefile conf + cd src ; cd common ; $(MAKE) $(MKDEF) $@ ; cd .. + cd src ; cd login_sql ; $(MAKE) $(MYLIB) $@ ; cd .. + cd src ; cd char_sql ; $(MAKE) $(MYLIB) $@ ; cd .. + cd src ; cd map ; $(MAKE) $(MYLIB) $@ ; cd .. + cd src ; cd ladmin ; $(MAKE) $(MKDEF) $@ ; cd .. + cd src ; cd txt-converter ; cd login ; $(MAKE) $(MYLIB) $@ ; cd .. + cd src ; cd txt-converter ; cd char ; $(MAKE) $(MYLIB) $@ ; cd .. +else +sql: + $(MAKE) CC="$(CC)" OPT="$(OPT)" SQLFLAG=1 $@ +endif + +clean: src/common/GNUmakefile src/login/GNUmakefile src/char/GNUmakefile src/map/GNUmakefile src/ladmin/GNUmakefile src/txt-converter/login/GNUmakefile src/txt-converter/char/GNUmakefile + cd src ; cd common ; $(MAKE) $(MKDEF) $@ ; cd .. + cd src ; cd login ; $(MAKE) $(MKDEF) $@ ; cd .. + cd src ; cd login_sql ; $(MAKE) $(MKLIB) $@ ; cd .. + cd src ; cd char ; $(MAKE) $(MKDEF) $@ ; cd .. + cd src ; cd char_sql ; $(MAKE) $(MKLIB) $@ ; cd .. + cd src ; cd map ; $(MAKE) $(MKLIB) $@ ; cd .. + cd src ; cd ladmin ; $(MAKE) $(MKDEF) $@ ; cd .. + cd src ; cd txt-converter ; cd login ; $(MAKE) $(MKLIB) $@ ; cd .. + cd src ; cd txt-converter ; cd char ; $(MAKE) $(MKLIB) $@ ; cd .. + +tools: + cd tool && $(MAKE) $(MKDEF) && cd .. + $(CC) -o setupwizard setupwizard.c + +src/common/GNUmakefile: src/common/Makefile + sed -e 's/$$>/$$^/' src/common/Makefile > src/common/GNUmakefile +src/login/GNUmakefile: src/login/Makefile + sed -e 's/$$>/$$^/' src/login/Makefile > src/login/GNUmakefile +src/login_sql/GNUmakefile: src/login_sql/Makefile + sed -e 's/$$>/$$^/' src/login_sql/Makefile > src/login_sql/GNUmakefile +src/char/GNUmakefile: src/char/Makefile + sed -e 's/$$>/$$^/' src/char/Makefile > src/char/GNUmakefile +src/char_sql/GNUmakefile: src/char_sql/Makefile + sed -e 's/$$>/$$^/' src/char_sql/Makefile > src/char_sql/GNUmakefile +src/map/GNUmakefile: src/map/Makefile + sed -e 's/$$>/$$^/' src/map/Makefile > src/map/GNUmakefile +src/ladmin/GNUmakefile: src/ladmin/Makefile + sed -e 's/$$>/$$^/' src/ladmin/Makefile > src/ladmin/GNUmakefile +src/txt-converter/login/GNUmakefile: src/txt-converter/login/Makefile + sed -e 's/$$>/$$^/' src/txt-converter/login/Makefile > src/txt-converter/login/GNUmakefile +src/txt-converter/char/GNUmakefile: src/txt-converter/char/Makefile + sed -e 's/$$>/$$^/' src/txt-converter/char/Makefile > src/txt-converter/char/GNUmakefile diff --git a/Readme-jap b/Readme-jap index 3e2ac8648..6bf23c87b 100644 --- a/Readme-jap +++ b/Readme-jap @@ -1,17507 +1,17507 @@ --------------------- -//1032 by (“Ę) -E1031‚ʼn―ŒĖ‚Đíœ‚ģ‚ę‚Ăǂ―buildin_getitemname()‚𕜊ˆ -EƒoƒOƒXƒŒ‚Č‚Į‚ɏo‚―Cģ‚ð”―‰f -E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģ - - (map/) - clif.c - clif_disp_onlyself() NULLƒ`ƒFƒbƒN’Į‰Á - map.c - map_nick2sd() nick‚ŠNULL‚ū‚Æ‚·‚ŪNULL‚ð•Ô‚·‚æ‚Ī‚É•ÏX - mob.c - mob_setdelayspawn() NULLƒ`ƒFƒbƒN•ύX - mob_delete() Cģ - npc.c - npc_parse_warp() Cģ - script.c - buildin_getitemname() •œŠˆ - ----------------------------------------- -//1031 by huge -ENPC‚Ėscript‚ɁAmakepet‚ð’Į‰ÁB - makepet —‘ID; ‚ŁAƒyƒbƒg‚ðėŽ‚ĩ‚Ü‚·B -ENPC‚Ėscript‚ɁAgetexp‚ð’Į‰ÁB - getexp Base,Job; ‚ŁA‚ŧ‚ꂞ‚ę‚ĖŒoŒą’l‚𑝂â‚ĩ‚Ü‚·B -Eƒyƒbƒg‚Ė—‘‚ðNPC‚Ėdelitem‚ŏÁ‚ĩ‚―‚čshop‚Å”„‚Á‚―ŽžAƒyƒbƒgƒZ[ƒuƒf[ƒ^‚Đ‚įíœ‚·‚邿‚ĪCģB -EƒfƒBƒ{[ƒVƒ‡ƒ“ŽŒũðŒCģB(–ĒŠm”F) -EŒoŒą’l•\ŽĶ‚ð‰Â”\‚É‚ĩ‚Ă݂܂ĩ‚―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‚ɐVĨ“‡ƒUƒƒC‚ðƒRƒƒ“ƒgƒAƒEƒg‚ĩ‚Ä’Į‰Á -EƒNƒ[ƒ“ƒXƒLƒ‹‚ÅŠo‚Ķ‚―ƒXƒLƒ‹‚ðŽĐ“ŪƒZ[ƒu‚炯‚É–Y‚ę‚Ăǂ―‚Ė‚Å‚Æ‚č‚ ‚Ķ‚ļƒƒOƒIƒtŽž‚É‚Ė‚Ý–Y‚ę‚邿‚Ī‚É•ÏX‚ĩ‚―‚‚ā‚č -Emobskill_castend_pos‚Ė–ģŠQnullpoƒ`ƒFƒbƒN‚ð•ύX -EEmotion‚ĖÝ’č‚Š‚Č‚ĒMob‚ŠƒXƒLƒ‹‚ðŽg—p‚·‚邯‚Ŧ‚É/!‚ðo‚ĩ‚Ăǂ―‚Ė‚ðCģ -EƒoƒOƒXƒŒ‚ɓЂ°‚―trade.c‚ð“Y•tB‚Æ‚č‚ ‚Ķ‚ļ‘ŠŽč‚ŠŠŽ‚Å‚Ŧ‚éŽí—Þ‚ĖŒĀŠE‚ð’ī‚Ķ‚―ę‡‚Í“n‚ģ‚ļ‚ÉŒģ‚É–ß‚·‚æ‚Ī‚É•ÏX - - (conf/) - map_athena.conf ƒUƒƒC’Į‰Á - (doc/) - client_packet.txt ƒpƒPƒbƒg’·‚ĖXV - (map/) - map.c - map_quit() I—đŽž‚ÉƒNƒ[ƒ“ƒXƒLƒ‹‚ÅŠo‚Ķ‚―ƒXƒLƒ‹‚ð–Y‚ę‚邿‚Ī‚É•ÏX - mob.c - mobskill_castend_pos() nullpoƒ`ƒFƒbƒN•ύX - mob_readskilldb() Cģ - pc.c - pc_makesavestatus() ƒNƒ[ƒ“ƒXƒLƒ‹‚ð–Y‚ę‚é‚Ė‚ðmap_quit‚É”C‚đ‚― - trade.c - trade_tradecommit() ŠŽ‚Å‚Ŧ‚éŽí—ÞˆČã‚ðŽæˆø‚ĩ‚―ę‡‚ɃAƒCƒeƒ€‚ŠÁ‚͂Ȃǂæ‚Ī‚É - --------------------- -//1029 by (“Ę) -E20040619RagexeHC_jp.rgz‚Ė0x204‚Æ0x20bƒpƒPƒbƒg‚ɑΉž -Echar‚Ælogin‚ā’m‚į‚Č‚ĒƒpƒPƒbƒg‚Š—ˆ‚―‚įƒpƒPƒbƒgƒ_ƒ“ƒv‚ðo—Í‚·‚邿‚Ī‚Éclif.c‚Đ‚įƒRƒsƒy - - (doc/) - client_packet.txt VƒpƒPƒbƒg’Į‰Á - (char/) - char.c - parse_char() 0x20b‘Ήž - (login/) - login.c - parse_login() 0x204‘Ήž - --------------------- -//1028 by (“Ę) -EƒEƒ“ƒoƒ‰ˆČ~AMob‚ŠƒXƒLƒ‹‚ðŽg—p‚·‚邯‚Ŧ‚ɃGƒ‚[ƒVƒ‡ƒ“‚ðo‚·‚æ‚΂ɂȂÁ‚―‚˂ŁAmob_skill_db‚ðŠg’Ģ - ƒTƒ“ƒvƒ‹‚ŃI[ƒNƒEƒH[ƒŠƒA[‚Š‹i‰Œ‚·‚邯u/cv‚ðo‚·‚Ė‚ÆƒI[ƒNƒŒƒfƒB‚Бޓx‚ðŽg‚Ī‚Æu/‚ŋ‚ãv‚ðo‚ĩ‚Ü‚· -EƒAƒCƒeƒ€682,683‚ðŽg—p‚·‚邯30•bŠÔATK‚âMATK‚Š‘‚Ķ‚é‚į‚ĩ‚ǂ˂łŧ‚ę‚Á‚Û‚­ -Ejob_db2.txt‚É“ä‚Ės‚Š2s‚ ‚Á‚―‚Ė‚ðíœ -E”͈͖‚–@‚Č‚Į‚ŃXƒLƒ‹ƒ†ƒjƒbƒg‘ŠŽč‚ɃXƒe[ƒ^ƒX•ύX‚ð‚Đ‚Ŋ‚æ‚Ī‚Æ‚ĩ‚―ę‡‚Énullpo‚Šo‚―‚Ė‚ðCģ - - (db/) - const.txt SC_INCATK SC_INCMATK’Į‰Á - item_db.txt Š‚ð682,683‚É’Į‰Á - job_db2.txt “ä‚Ė2s‚ðíœ - mob_skill_db.txt Emotion’Į‰Á - (map/) - mob.c - mobskill_use() ƒXƒLƒ‹Žg—pŽž‚ɃGƒ‚[ƒVƒ‡ƒ“‚ðo‚·‚æ‚Ī‚É•ÏX - mob_readskilldb() Emotion‚ð“Į‚ݍž‚Þ‚æ‚Ī‚É•ÏX - mob.h •ύX - pc.c - pc_calcstatus() •ύX - skill.c - - skill_status_change_end() •ύX - skill_status_change_start() •ύX‚ÆNULLƒ`ƒFƒbƒNCģ - skill.h •ύX - --------------------- -//1027 by Ni+S -EgetitemnameŠÖ”’Į‰Á -EƒXƒNƒŠƒvƒg‚ÉgetitemnameŠÖ”‚ð’Į‰Á -Eitemid‚æ‚čAjname‚ð•ķŽš—ņ‚ŕԂĩ‚Ü‚· -EÚ‚ĩ‚­‚Íscript_ref.txt‚ŁB - - script.c - getitemname()’Į‰Á - ----------------------------------------- -//1026 by (“Ę) -E1023‚Å“ü‚ę‚ĂȂЂÁ‚―clif.h‚ð“ŊŦ -EƒoƒCƒIƒvƒ‰ƒ“ƒg‚ƃXƒtƒBƒA[ƒ}ƒCƒ“‚ŏo‚ĩ‚―mob‚ð“|‚·‚Æmob_timer_delete()‚Ånullpo‚Šo‚é–â‘č‚ð‰ðŒˆ‚ĩ‚―‚‚ā‚č -EƒoƒO•ņƒXƒŒƒbƒh part6 >>63 Dest‚ģ‚ņ‚Ėscript.cCģ‚ðŽæ‚čž‚Ý - - (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_list‚Émob_timer_delete‚Š–ģ‚Đ‚Á‚―‚˂ŒĮ‰Á‚ĩ‚Ă݂― - script.c - script_load_mapreg() •ύX - ------------------------- -//1025 by Sel -Eƒ[ƒhƒiƒCƒg‚ĖƒWƒ‡ƒu•âģ‚ŠŠÔˆá‚Á‚Ăǂ―‚Ė‚ðCģ -EƒI[ƒ‰ƒuƒŒ[ƒhŒø‰ĘŽžŠÔ‚ðCģ -EƒI[ƒ‰ƒuƒŒ[ƒh•Ší§ŒĀ‚ð‘fŽčˆČŠO‘S‚ĂɏCģ -EƒRƒ“ƒZƒ“ƒgƒŒ[ƒVƒ‡ƒ“•Ší§ŒĀ‚ð—žŽč‘„‚Ė‚Ý‚Đ‚į•ÐŽč‘„+—žŽč‘„‚֏Cģ -EƒgƒDƒ‹[ƒTƒCƒgŒø‰ĘŽžŠÔ‚ðCģ -Eƒtƒ@ƒ‹ƒRƒ“ƒAƒTƒ‹ƒg•Ší§ŒĀ‚ð‰ðœA‘fŽč‚ðŠÜ‚ß‚―‘S‚ĂŎg—p‰Â”\‚É - - (db/) - job_db2-2.txt •ύX - skill_cast_db.txt •ύX - skill_require_db.txt •ύX --------------------- -//1024 by mare -Eƒtƒ@[ƒ}ƒV[Þ—ŋ‚Ė•ÏXAŧ‘Ē‰Â”\–ō•i‚Ė’Į‰Á - 6/8“ú–{ŽI‚É‚Ŧ‚―‚ā‚Ė‚Æ“Ŋ‚ķ‚É‚ĩ‚Ü‚ĩ‚― - - (db/) - produce_db.txt •ύX - ----------------------------------------- -//1023 by (“Ę) -E1022‚ŃGƒ“ƒoƒO‚ĩ‚―npc_parse_script()‚ð–ß‚ĩ -EƒXƒpƒCƒ‰ƒ‹ƒsƒA[ƒX‚Ėd—Ę’Į‰Áƒ_ƒ[ƒWŒvŽZŽŪ‚ð‚ŋ‚å‚Á‚ƕύX -E–‚–@—Í‘•‚ĖŒvŽZŽŪ‚ð‚ŋ‚å‚Á‚ƕύX -Eƒeƒ“ƒVƒ‡ƒ“ƒŠƒ‰ƒbƒNƒX‚ŠĀ‚Á‚ÄŽg‚Ī‚Ė‚Å‚Í‚Č‚­Žg‚Ī‚ÆĀ‚é‚Æ‚Ē‚Īî•ņ‚ðŒĐ‚Đ‚Ŋ‚―‚Ė‚Å•ÏX -EŠ‚É”š‚Ēskill_require‚ĖsittingðŒ”pŽ~ -Eƒo[ƒT[ƒN‚ðGvG‚ÅŽg—p‚Å‚Ŧ‚Ȃǂæ‚Ī‚É•Ï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() ƒeƒ“ƒVƒ‡ƒ“ƒŠƒ‰ƒbƒNƒX‚ðŽg‚Ī‚ÆĀ‚é‚æ‚Ī‚É - skill_check_condition() ST_SITTING”pŽ~ - skill_use_id() ƒo[ƒT[ƒN‚ðGvG‚ÅŽg—p‚Å‚Ŧ‚Ȃǂæ‚Ī‚É - skill_status_change_timer() ƒeƒ“ƒVƒ‡ƒ“ƒŠƒ‰ƒbƒNƒX‚Í10•b‚炯‚ÉSP‚ð12Á”ï - skill_status_change_start() ƒeƒ“ƒVƒ‡ƒ“ƒŠƒ‰ƒbƒNƒX•ύX - skill_readdb() sitting”pŽ~ - skill.h •ύX - --------------------- -//1022 by (“Ę) -ENULLƒ`ƒFƒbƒN•ύX -Elogin,char,mapI—đŽž‚ÉŠJ•ú‚ģ‚ę‚Ä‚Ē‚Č‚Đ‚Á‚―ƒƒ‚ƒŠ‚ð”ũ–­‚ÉŠJ•ú‚·‚é“w—Í‚ð‚ĩ‚Ă݂― -EƒXƒpƒmƒr”š—ô”g“ŪŽĀ‘•AƒNƒŠƒeƒBƒJƒ‹+50 -EƒXƒpƒmƒrƒ{[ƒiƒX‚ð•ύXAÅ‰‚Đ‚įˆę“x‚āŽ€‚ņ‚łȂĒJobLv70‚ÉAll+15ABaseLv99‚ÉMHP+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ƒ`ƒFƒbƒN•ύX - chrif.c NULLƒ`ƒFƒbƒN•ύX - clif.c NULLƒ`ƒFƒbƒN•ύX - clif_parse() •ύX - clif_parse_sn_explosionspirits() ’Į‰Á - clif_parse_sn_doridori() –ž‘O•ύX - guild.c NULLƒ`ƒFƒbƒN•ύX - intif.c NULLƒ`ƒFƒbƒN•ύX - itemdb.c NULLƒ`ƒFƒbƒN•ύX - map.c NULLƒ`ƒFƒbƒN•ύX - do_final() •ύX - mob.c NULLƒ`ƒFƒbƒN•ύX - npc.c NULLƒ`ƒFƒbƒN•ύX - npc_parse_script() bufŠJ•ú–Y‚ęH‚ðŠJ•ú - party.c NULLƒ`ƒFƒbƒN•ύX - path.c NULLƒ`ƒFƒbƒN•ύX - pc.c NULLƒ`ƒFƒbƒN•ύX - pc_calcstatus() ƒXƒpƒmƒr•ύX - pet.c NULLƒ`ƒFƒbƒN•ύX - storage.c NULLƒ`ƒFƒbƒN•ύX - trade.c NULLƒ`ƒFƒbƒN•ύX - vending.c NULLƒ`ƒFƒbƒN•ύX - --------------------- -//1021 by Kalen -Eƒvƒƒ“ƒeƒ‰ŠĨĨ•iNPC‚ɂă^ƒLƒV[ƒh”Ė”„ -EUmbala‚Ėƒ[ƒvŒĐ’ž‚ĩ - D2F‚Ėƒ[ƒv‚ð–{ŽIŽg—p‚ɕύXBd•Ąƒ|ƒCƒ“ƒgCģ -EUmbalaNPCCģ - ƒ‰ƒxƒ‹‚ðŽg—p‚ĩ‚Č‚­‚Ē‚ĒęŠ‚͋ɗ͍폜(-) - ƒZ[ƒuƒ|ƒCƒ“ƒgCģ - ƒoƒ“ƒW[ƒWƒƒƒ“ƒv‘ä’Į‰Á - Š[œ–å’Į‰Á - •ЉðA‡Žˆ—’Į‰Á - ƒJƒvƒ‰AˆÄ“ā—vˆõ‚ð‚ ‚é‚Ũ‚ŦęŠ‚ÖˆÚ“ŪB - Ķˆę•”Emo‚É‚Â‚Ē‚ÄAŠā•ðŽĐg‚Š‹t‚ÉŽæ‚čˆá‚͂Ăǂé‚Ý‚―‚Ē‚Č‚Ė‚Å“ÆŽĐ‚Å•Ï‚Ķ‚Ü‚ĩ‚―B - ŒĐ‚Ä‚ā‚į‚Ķ‚Î•Š‚Đ‚č‚Ü‚·‚Š18‚Æ28‚ð‹t‚É‚·‚邯NPC‚ˉï˜b“ā—e‚ɍ‡‚ĪEmo‚Šo‚―‚˂Š- ƒNƒGƒXƒgƒtƒ‰ƒO‚ĖðŒ’Į‰Á - @‚ą‚ę‚É‚æ‚č‚·‚łɏI‚͂Ăǂéę‡‚Å‚ā“r’†‚ɂȂé‰Â”\Ŧ‚Š‚ ‚č‚Ü‚·B -EƒXƒpƒmƒr“]ENPC’Į‰Á - “Ę‚ģ‚ņ‚ĖƒƒO‚ðŠî‚ÉėŽ‚ĩ‚Ü‚ĩ‚―B -EƒAƒ‹ƒPƒ~ƒXƒgƒMƒ‹ƒh‚Ėƒmƒr‚Ėę‡‚Ė‘Î‰žCģ(“Ę‚ģ‚ņ‚Đ‚į‚ĖƒƒO‚æ‚č) -EŒ‹ĨNPC’Į‰Á - ‚―‚ū‚ĩA‚Ü‚ūƒeƒXƒg’iŠK‚Å‚·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(VEƒeƒXƒg) - (/job) - npc_job_alchemist.txt - npc_job_supernovice.txt(V) - --------------------- -//1020 by (“Ę) -Enullpo‚Ė•ÏX‚ɑΉž‚ĩ‚Ämap_athena.conf‚ĖÝ’číœ•skill.c‘‚ŦŠ·‚Ķ -EĀ‚Á‚Ăǂ邯HPR‚ÆSPR‚Š’Ęí‚Ė”ž•ЂŔ­“Ū‚ĩ‚―‚Ė‚ðCģ -EƒXƒpƒmƒr‚Šˆę’čðŒ(ƒNƒ‰ƒCƒAƒ“ƒgˆË‘ķ)‚Å/doridori‚·‚邯SPR‰ņ•œ—ƂД{‚ɂȂ邿‚Ī‚É•ÏX -EŒ‹ĨŽŪ—p‚ĖƒGƒtƒFƒNƒg‚ðƒXƒNƒŠƒvƒg‚Đ‚įwedding–―—߂Ŕ­ķ‚ģ‚đ‚邹‚Æ‚Šo—ˆ‚邿‚Ī‚ĩ‚― -E‡‘t‚ðŠJŽn‚ĩ‚―PC‚͍‡‘t’†‚ɏI—đ‚Å‚Ŧ‚Ȃǂæ‚΂ɂĩ‚―‚‚ā‚č(–ĒŠm”F) - - (conf/) - map_athena.conf nullpo_checkíœ - (doc/) - client_packet.txt XV - conf_ref.txt nullpo_checkíœ - (map/) - map.c - map_config_read() nullpo_checkíœ - map.h “Ŋã - skill.c NULLƒ`ƒFƒbƒNÄ“x‘“ü‚ę‘Ö‚Ķ - clif.c - clif_wedding_effect() ’Į‰Á - clif_parse_QuitGame() ‡‘tŠJŽnŽŌ‚͍‡‘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ŽžŠÔCģAdoridori’Į‰Á - script.c - buildin_wedding_effect() ’Į‰Á - - --------------------- -//1019 by Dest -Enullpoƒ‚ƒWƒ…[ƒ‹‚ɃR[ƒfƒBƒ“ƒOƒ~ƒX”­ŒĐ/Cģ -E“ŊAvoid‚Ȋ֐”‚Đ‚įŒÄ‚Î‚ę‚―Žž‚Ėnullpo_retv_f()‚ð’Į‰Á -E“ŊAðŒƒRƒ“ƒpƒCƒ‹‚ɑΉž - - (common/) - nullpo.c - nullpo_info_core() ƒR[ƒfƒBƒ“ƒOƒ~ƒXCģ - nullpo.h - NULLPO_CHECKƒtƒ‰ƒO‚É‚æ‚éðŒƒRƒ“ƒpƒCƒ‹’Į‰Á - nullpo_retv_f() ’Į‰Á - --------------------- -//1018 by chloe -EƒEƒ“ƒoƒ‰ƒ‚ƒ“ƒXƒ^[‚ð’Į‰Á - - (script/mob/) - npc_monster.txt •ύX - ŠeƒEƒ“ƒoƒ‰ƒ}ƒbƒv‚ÉMob”z’u - (db/) - mob_db.txt •ύX - 1495,STONE_SHOOTER,ƒtƒŒƒCƒ€ƒVƒ…[ƒ^[ Cģ - 1511,AMON_RA,ƒAƒ‚ƒ“ƒ‰[ Cģ - --------------------- -//1017 by (“Ę) -EƒoƒO•ņƒXƒŒƒbƒh part6 >>46 Dest‚ģ‚ņ‚Ėnullpoƒ‚ƒWƒ…[ƒ‹‚ð’Į‰Á•void‚Ȋ֐”‚Đ‚įŒÄ‚Î‚ę‚―Žž‚Ėnullpo_retv()‚ð’Į‰Á(‚Æ‚č‚ ‚Ķ‚ļskill.c‚ĖNULLƒ`ƒFƒbƒN‚ū‚Ŋ“ü‚ę‘Ö‚Ķ) -E“Ŋ>>39 Sel‚ģ‚ņ‚Đ‚į•ņ‚Š‚ ‚Á‚―ƒRƒ“ƒZƒ“ƒgƒŒ[ƒVƒ‡ƒ“‚ðCģ -EŽd—l‚É‚Â‚Ē‚ÄŒę‚č‡‚ĪƒXƒŒƒbƒh >>33 Kalen‚ģ‚ņ‚Ėî•ņ‚ðclient_packet.txt‚É”―‰f -E–{ŽI‘ŠˆáƒXƒŒƒbƒh part3 >>24 M —zqcM6jBw‚ģ‚ņ‚Ėî•ņ‚ðŠ -E“Ŋ>>30 ‚Í‚ŋ‚ģ‚ņ‚ĖCģ‚ð”―‰f - - (conf/) - map_athena.conf nullpo_check’Į‰Á - (db/) - item_db.txt Œ‹ĨŽw—ւ𕐊í-ƒAƒNƒZƒTƒŠ‚ɕύX•ÅV”Å - (doc/) - client_packet.txt XV - 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ƒ`ƒFƒbƒN‘“ü‚ę‘Ö‚Ķ - skill_status_change_start() ƒRƒ“ƒZƒ“ƒgƒŒ[ƒVƒ‡ƒ“Cģ - skill_castend_nodamage_id() ƒeƒŒƒ|[ƒgCģ - clif.c - clif_skill_setunit() ƒRƒƒ“ƒgCģ - pc.c - pc_calcstatus() ƒRƒ“ƒZƒ“ƒgƒŒ[ƒVƒ‡ƒ“Cģ - --------------------- -//1016 by ‚ȁB -EAthenaŽG’kƒXƒŒƒbƒhPart4 42 ‚Ђ鎁ė‚ĖƒEƒ“ƒoƒ‰NPC‚ð’Į‰Á - - (script/npc/town/) - npc_town_umbala.txt’Į‰Á - ƒCƒxƒ“ƒgƒfƒoƒbƒO—l(230`256s–Ú)‚̓Rƒƒ“ƒgƒAƒEƒg - (conf/) - map_athena.conf town ‚É npc: script/npc/town/npc_town_umbala.txt ’Į‰Á - --------------------- -//1015 by (“Ę) -EƒŠƒ€[ƒuƒgƒ‰ƒbƒv‚ð–{ŽIŽd—l‚ÆAthenaŽd—l‚Å‘I‚Ũ‚邿‚΂ɂĩ‚― -EƒXƒpƒmƒr‚ÉAll+10‚·‚éðŒ‚Š—Į‚­•Š‚Đ‚į‚ȂЂÁ‚―‚Ŋ‚ĮÅ‰‚Đ‚į+10‚ķ‚á‚Č‚Ē‚Ė‚ÍŠm‚Đ‚Č‚Ė‚Å‚Æ‚č‚ ‚Ķ‚ļBase99‚ňę“x‚āŽ€‚ņ‚łȂŊ‚ę‚Î‚Æ‚Ē‚ĪðŒ‚É•ÏX -Eƒ_ƒ“ƒX’†‚ɐ‚Ŧ”ō‚΂ģ‚ę‚Ä‚āƒGƒtƒFƒNƒg‚ÍˆÚ“Ū‚ĩ‚Ȃǂŧ‚Ī‚Č‚Ė‚Å•ÏX -E@go 13”ũ’ēŪ - - - (conf/) - battle_athena.conf skill_removetrap_type’Į‰Á - (doc/) - client_packet.txt –{ŽI‘ŠˆáƒXƒŒƒbƒh part3 23 M —zqcM6jBw‚ģ‚ņ‚Ėî•ņ‚ð’Į‰Á - conf_ref.txt skill_removetrap_type’Į‰Á - (map/) - atcommand.c - atcommand_go() ƒEƒ“ƒoƒ‰‚ĖoŒŧˆĘ’u”ũ’ēŪ - battle.c - battle_config_read() skill_removetrap_type’Į‰Á - battle.h “Ŋã - pc.c - pc_calcstatus() ƒXƒpƒmƒrAll+10ðŒ•ύX - skill.c - skill_blown() ƒ_ƒ“ƒX’†‚ː‚Ŧ”ō‚΂ĩ‚ðŒģ‚É–ß‚ĩ‚― - skill_castend_nodamage_id() ƒŠƒ€[ƒuƒgƒ‰ƒbƒvŽd—l•ύX - - -------------------- -//1014 by (Pepermint) -I fixed again the problem if you put minus sign(-) in front of digits, -the error comes up when you puchase a item. -When you put a minus sign(-), the error sign will be changed shrotage of -amount as original server dose. - -I tested with it in ver. 1013, it was working - --------------------- -//1012 by (“Ę) -Ehelp.txt‚É‚ ‚é@go‚ːā–ū‚Đ‚į13‚Æ14‚ðíœ -@‹@”\‚͏Á‚Ķ‚Ä‚Č‚Ē‚Ė‚ÅŽg‚Ķ‚é‚ą‚Ƃ͎g‚͂܂·‚ЁAhelp‚ɍڂđ‚é‚Ė‚ÍjRO‚É—ˆ‚Ä‚Đ‚į‚Æ‚Ē‚Ī‚ą‚Æ‚Å -Ecast_db.txt‚ðskill_cast_db.txt‚ɉü–ž -E‚Â‚Ē‚Å‚Émake clean‚ÅGNUmakefile‚āÁ‚ĩ‚Ă݂邹‚Ƃɂ·‚é -Eu-0‚ģ‚ņ‚ĖŒŸØ‚Č‚Į‚𑍍‡‚ĩ‚ă_ƒ“ƒXƒ†ƒjƒbƒgŠÖ˜A‚ð•ύX -@‰‰‘tEƒ_ƒ“ƒX’†‚ĖƒnƒG‚̓†ƒjƒbƒg•t‚Ŧ‚Å”ō‚Ô‚ŧ‚΂ł· -@‰‰‘tEƒ_ƒ“ƒX’†‚Ƀ[ƒvƒ|ƒCƒ“ƒg‚ɏæ‚Á‚―‚įó‘Ô‚Š‰ðœ‚ģ‚ę‚邿‚΂ł· -@‡‘t’†‚ɕЕû‚ŠƒnƒG”ō‚Ņ‚ĩ‚―‚įƒGƒtƒFƒNƒg‚ÍŒģ‚ĖęŠ‚ÉŽc‚čA”ō‚ņ‚ūæ‚ł͍‡‘tó‘Ô‚ŠŒp‘ą‚ĩ‚ēۂŊ‚Ȃǁ•ŽžŠÔ‚炯‚ÉSPÁ”ï‚·‚邿‚΂ł· -EPC_DIE_COUNTER‚ŠƒXƒNƒŠƒvƒg‚Đ‚į•ύX‚ģ‚ę‚―Žž‚É‚·‚Ū‚É”―‰f‚ģ‚ę‚邿‚Ī‚É•ÏX - - (conf/) - help.txt @goā–ū•ύX - (db/) - skill_cast_db.txt ‰ü–ž - (map/) - pc.c - pc_setpos() ƒ_ƒ“ƒX’†’f‚Ėƒ^ƒCƒ~ƒ“ƒO•ύX - pc_setglobalreg() PC_DIE_COUNTER“Á•ʏˆ—’Į‰Á - skill.c - skill_castend_id() NULLƒ`ƒFƒbƒN•ύX - skill_stop_dancing() ƒ}ƒbƒvˆÚ“Ū‚Č‚Į‚łˋ““Ū‚ð•ύX - skill_readdb() skill_cast_db‚ɉü–ž - skill_blown() ”ō‚΂ģ‚ę‚―‚įƒ_ƒ“ƒXˆÚ“Ū - npc.c - npc_touch_areanpc() ƒ[ƒvƒ|ƒCƒ“ƒg‚ɏæ‚Á‚―‚įƒ_ƒ“ƒX‰ðœ - --------------------- -//1011 by ƒpƒCƒ“ -Eƒp[ƒeƒB—vŋ‚âƒMƒ‹ƒh—vŋ‚ðo‚ĩ‚Ăǂ邯‚Ŧ‚É‘ž‚Ė—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‘΍ô -EƒXƒpƒmƒr‚Ė1“xŽ€‚ʂ܂ÅAll+10‚ðƒXƒNƒŠƒvƒg•ϐ”‚ÅŽĀ‘•‚ĩ‚Ă݂鎎‚Ý - PC_DIE_COUNTER Ž€‚Ę‚Æ+1A“]E‚·‚邯0‚ɂȂč‚Ü‚· - Š‚̓Lƒƒƒ‰ƒNƒ^‰i‘ą‚ČƒXƒNƒŠƒvƒg•ϐ”‚Ȃ˂ÅNPC‚ÅŽQÆ•ÄÝ’肯‚Đ”äŠr“IŠy‚Đ‚ā - - (map/) - chrif.c - chrif_divorce() gcc2.95‘΍ô - skill.c - skill_attack() gcc2.95‘΍ô - skill_unit_move_unit_group() gcc2.95‘΍ô - map.h map_session_data‚Édie_counter‚ð’Į‰Á - npc.c - npc_click() nullpoƒƒbƒZ[ƒW‚ðCģ - pc.c - pc_setrestartvalue() nullpoƒƒbƒZ[ƒW‚ðCģ - pc_authok() die_counter‰Šú‰ŧ‚Ė’Į‰Á - pc_calcstatus() die_counter=0‚ĖƒXƒpƒmƒr‚ÍAll+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‚ð -@ƒIƒŠƒWƒiƒ‹ƒAƒbƒvƒf[ƒg‚ĖˆŨAƒfƒtƒHƒ‹ƒg‚Å‚Íoff‚É‚ĩ‚Ăǂ܂· -@‚Ü‚―A‚ą‚ĖŒy—ʉŧƒ‚[ƒh‚͉ņü•‰‰Ũ‚ð‘啝‚ɍíŒļ‚Å‚Ŧ‚é(‚‚ā‚č)‚Å‚·‚ЁA -@‚ŧ‚Ė•ŠƒT[ƒo[‘Ī‚Ėˆ—‚Šd‚―‚­‚Č‚č‚Ü‚·(‚Æ‚Ē‚Á‚Ă₠‚é’ö“x‚ĖCPU‚Š‚ ‚ę‚ΑS‘R–â‘č‚ɂȂį‚Ȃǒö“x‚Ė•‰‰Ũ‚Å‚·‚Š) -EŒ‹ĨƒVƒXƒeƒ€^Œ‹ĨƒXƒLƒ‹ŽĀ‘• -@Œ‹ĨŽw—Ö‚Ė“Á•Ęˆĩ‚Ē‚Š–ĒŽĀ‘•‚Å‚·(—Ž‚Æ‚đ‚―‚čŽæˆø‚ɏo‚đ‚―‚č‚ĩ‚Ü‚·) -@—ĢĨ‚Ė‚Ý–ĒƒeƒXƒg‚Å‚·B -EŒ‹Ĩ—pƒXƒNƒŠƒvƒg(marriageAdivorce)’Į‰ÁB -@Emarriage -@@: Œ‹Ĩ‘ŠŽč‚Ė–ž‘O -@@–ß‚č’l: ŽŒũ:1@Žļ”s:0 -@@Œ‹Ĩˆ—‚ðs‚ǂ܂·B‘Ώۂ͘b‚ĩŠ|‚Ŋ‚―ƒvƒŒƒCƒ„[‚Æ‚ĖƒLƒƒƒ‰ƒNƒ^[‚ŁA‚Į‚ŋ‚į‚Đ‚ŠŠųĨ‚Ėę‡‚ÍŽļ”s‚ĩ‚Ü‚·B -@@1‰ņ‚ĖmarriageƒXƒNƒŠƒvƒg‚ŐV˜YĻV•w‚ƐV•wĻV˜Y‚ĖŒ‹Ĩˆ—‚ð“ŊŽž‚ɍs‚ǂ܂·B -@@‚Ü‚―A‚ą‚ĖƒXƒNƒŠƒvƒg‚ÅŒ‹ĨŽw—Ö‚Í—^‚Ķ‚į‚ę‚Ü‚đ‚ņB -@Edevorce -@@ˆø”–ģ‚ĩ -@@–ß‚č’l: ŽŒũ:1@Žļ”s:0 -@@—ĢĨˆ—‚ðs‚ǂ܂·B‘Ώۂ͘b‚ĩŠ|‚Ŋ‚―ƒvƒŒƒCƒ„[‚ŁA–ĒĨ‚Ėę‡‚ÍŽļ”s‚ĩ‚Ü‚·B -@@marriageƒXƒNƒŠƒvƒg‚Æ“Ŋ—l‚ÉŒÝ‚Ē‚Ė—ĢĨˆ—‚ð“ŊŽž‚ɍs‚ǂ܂·B -@@‚Ü‚―A‚ą‚ĖƒXƒNƒŠƒvƒg‚ŠŽŒũ‚·‚邯ŽĐ“Ū“I‚ɑΏۃLƒƒƒ‰ƒNƒ^[‚ĖŒ‹ĨŽw—Ö‚Í”’D‚ģ‚ę‚Ü‚·B - -@‚Į‚ŋ‚į‚ĖƒXƒNƒŠƒvƒg‚Ėˆ—‚āA2l‹ĪƒƒOƒCƒ“‚ĩ‚Ä‚Ē‚Č‚Ē‚ÆŽŒũ‚ĩ‚Ü‚đ‚ņ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 ‚Ō‚ī‚Ü‚ņ -EGMƒZƒbƒVƒ‡ƒ“‰B‚ĩŽĀ‘•(–ĒƒeƒXƒg) -@GMƒAƒJƒEƒ“ƒg‚ĖƒLƒƒƒ‰ƒNƒ^[‚ð@who“™‚Å•\ŽĶ‚·‚é‚Đ‚Į‚Ī‚ĐÝ’č‚Å‚Ŧ‚Ü‚·B -@Ú‚ĩ‚­‚Íconf_ref.txt‚ðŽQÆ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB -EŒ‹ĨƒVƒXƒeƒ€‰žŽĀ‘• -@char-mapŠÔ’ʐM‚Ė‚ÝŽĀ‘•‚Å‚·B‚Ü‚ūŒ‹Ĩ‚·‚邹‚Ƃ͏o—ˆ‚Ü‚đ‚ņB -@ŪA‚ą‚Ėƒpƒbƒ`‚Đ‚įathena.txt‚Ėƒo[ƒWƒ‡ƒ“‚Š•Ï‚í‚č‚Ü‚·B -@ƒf[ƒ^‚ĖŒÝŠ·Ŧ‚͕ۂÁ‚―‚‚ā‚č‚Å‚·‚ЁA”O‚ĖˆŨƒoƒbƒNƒAƒbƒv‚ðŽæ‚Á‚Ăς­Ž–‚ð‹­‚­„§‚ĩ‚Ü‚·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ƒ`ƒFƒbƒN‚ĖŒĐ’ž‚ĩ - - (map/) - clif.c - clif_send() •ύX - skill.c - skill_delunit() •ύX - --------------------- -//1006 by (ruhu) -Ĩ@go‚É—Œ—z‚ƃjƒtƒ‹ƒwƒCƒ€’Į‰Á - - (conf/) - help.txt ƒjƒtƒ‹ƒwƒCƒ€A—Œ—z’Į‰Á - (map/) - atcommand.c - atcommand go() ƒjƒtƒ‹ƒwƒCƒ€A—Œ—z’Į‰Á --------------------- -//1005 by (“Ę) -ENULLƒ`ƒFƒbƒN‚ĖŒĐ’ž‚ĩ‚Æ’Į‰ÁA‘å—Ę‚É•ÏX‚ĩ‚―‚˂Ŗâ‘肊o‚é‰Â”\Ŧ‚Š‘å‚Å‚· -EƒEƒ“ƒoƒ‰•ŠŠ„ƒpƒbƒ`‚Š”z•z‚ģ‚ę‚―‚Ė‚Å@go 12‚ɃEƒ“ƒoƒ‰‚ð’Į‰Á -Eƒ[ƒhƒiƒCƒg ƒo[ƒT[ƒN‚ð‚ŋ‚å‚Á‚Æ‚ŧ‚ę‚Á‚Û‚­(ASPD‘‰Á‚Č‚Į‚Í–ĒŽĀ‘•) -EƒNƒ‰ƒEƒ“ĨƒWƒvƒV[ ŒŽ–ū‚č‚ːō‚É—Ž‚ŋ‚é‰Ô‚Ņ‚į‚ĖŽg—pðŒ‚ð‡‘t‚Æ“Ŋ‚ķ‚ɕύX(Œø‰Ę“™‚Í–ĒŽĀ‘•) -EƒuƒŒƒbƒVƒ“ƒO‚Š–{ŽI‚ł̓Xƒe[ƒ^ƒXƒAƒbƒvĻƒGƒtƒFƒNƒg‚ū‚Á‚―‚˂łŧ‚Ė‚æ‚Ī‚É•ÏX -E–{ŽI‘ŠˆáƒXƒŒƒbƒh part2 >>145 zzz‚ģ‚ņ‚Ė•ņ‚ð”―‰f -E“ŊƒXƒŒ >>143 plala‚ģ‚ņ‚Ė•ņ‚ð”―‰f - - (db/) - skill_require_db.txt •ύX - (conf/) - help.txt ƒEƒ“ƒoƒ‰’Į‰Á - map_athena.conf ƒEƒ“ƒoƒ‰ŠÖ˜A‚ĖƒRƒƒ“ƒgƒAƒEƒg‚ð‰ðœ - (map/) - atcommand.c NULLƒ`ƒFƒbƒN‹­‰ŧ - atcommand() @mapmove‚Č‚Į‚Å—Ž‚ŋ‚é–â‘č‚ðCģ - atcommand_go() ƒEƒ“ƒoƒ‰’Į‰Á - battle.c NULLƒ`ƒFƒbƒN‹­‰ŧ - battle_calc_mob_weapon_attack() ƒo[ƒT[ƒNŽžƒ_ƒ[ƒW150% - battle_calc_pc_weapon_attack() ƒo[ƒT[ƒNŽžƒ_ƒ[ƒW150% - chat.c NULLƒ`ƒFƒbƒN‹­‰ŧ - chrif.c NULLƒ`ƒFƒbƒN‹­‰ŧ - clif.c NULLƒ`ƒFƒbƒN‹­‰ŧ - clif_parse_ActionRequest() ƒ_ƒ“ƒXŽž‚Ėˆ—‚ðŽáŠą•ύX - clif_parse_GlobalMessage() ƒo[ƒT[ƒNŽž‚͉ï˜b‚Šo—ˆ‚Ȃǂæ‚Ī‚É•ÏX - clif_parse_Wis() ƒo[ƒT[ƒNŽž‚͉ï˜b‚Šo—ˆ‚Ȃǂæ‚Ī‚É•ÏX - clif_parse_PartyMessage() “Ŋã - clif_parse_GuildMessage() “Ŋã - clif_parse_TakeItem() ƒo[ƒT[ƒNŽž‚̓AƒCƒeƒ€‚ðŽæ‚ę‚Ȃǂæ‚Ī‚É•ÏX - clif_parse_DropItem() ƒo[ƒT[ƒNŽž‚̓AƒCƒeƒ€‚𗎂Ƃđ‚Ȃǂæ‚Ī‚É•ÏX - clif_parse_UseItem() ƒo[ƒT[ƒNŽž‚̓AƒCƒeƒ€‚ðŽg‚͂Ȃǂæ‚Ī‚É•ÏX - clif_parse_EquipItem() ƒo[ƒT[ƒNŽž‚Í‘•”õ‚Å‚Ŧ‚Ȃǂæ‚Ī‚É•ÏX - clif_parse_UnequipItem() ƒo[ƒT[ƒNŽž‚Í‘•”õ‰ðœ‚Å‚Ŧ‚Ȃǂæ‚Ī‚É•ÏX - clif_parse_UseSkillToId() ƒo[ƒT[ƒNŽž‚̓XƒLƒ‹Žg—p‚ЂłŦ‚Ȃǂæ‚Ī‚É•ÏX - clif_parse_UseSkillToPos() “Ŋã - clif_parse_UseSkillMap() “Ŋã - guild.c NULLƒ`ƒFƒbƒN‹­‰ŧ - intif.c NULLƒ`ƒFƒbƒN‹­‰ŧ - itemdb.c NULLƒ`ƒFƒbƒN‹­‰ŧ - map.c NULLƒ`ƒFƒbƒN‹­‰ŧ - map_quit() ƒo[ƒT[ƒNŽž‚ɃƒOƒAƒEƒg‚·‚邯HP 100/SP 0‚ɂȂ邿‚Ī‚É•ÏX - mob.c - mob_attack() clif_fixmobpos()‚𑗐M‚ĩ‚Ȃǂæ‚Ī‚É•ÏX - mob_timer() NULLƒ`ƒFƒbƒNðŒ‚ð•ύX - mobskill_castend_id() “ŊãAƒo[ƒT[ƒNŽžƒXƒLƒ‹‚ðŽg‚͂Ȃǂæ‚Ī‚É•ÏX - mobskill_castend_pos() ƒo[ƒT[ƒNŽžƒXƒLƒ‹‚ðŽg‚͂Ȃǂæ‚Ī‚É•ÏX - mobskill_use_id() “Ŋã - mobskill_use_pos() “Ŋã - npc.c NULLƒ`ƒFƒbƒN‹­‰ŧ - party.c NULLƒ`ƒFƒbƒN‹­‰ŧ - path.c NULLƒ`ƒFƒbƒN‹­‰ŧ - pc.c NULLƒ`ƒFƒbƒN‹­‰ŧ - pc_calcstatus() ƒo[ƒT[ƒNŽž‚Í‘Ž“xUP•MHP3”{AƒƒfƒBƒeƒCƒeƒBƒI‚ĖSP‰ņ•œ‘‰Á‚ðSPR‚Å‚Í‚Č‚­’ʏí‰ņ•œ‚É‚Đ‚Đ‚é‚æ‚΂ɂĩ‚― - pc_heal() ƒo[ƒT[ƒNŽž‚͉ņ•œ‚ĩ‚Č‚Ē - pc_jobchange() “]E’žŒã1•ā“Ū‚Đ‚Č‚Ē‚Æ•ž‚ːF‚Š”―‰f‚ģ‚ę‚ȂЂÁ‚―‚Ė‚ðCģ - pc_natural_heal_sub() ƒo[ƒT[ƒN’†‚ÍSP‚ŠŽĐ‘R‰ņ•œ‚ĩ‚Ȃǂæ‚Ī‚É•ÏX(HP‚Í—Į‚­•Š‚Đ‚į‚ȂЂÁ‚―‚˂ʼnņ•œ‚·‚邿‚΂ɂĩ‚Ä‚ ‚é) - pet.c NULLƒ`ƒFƒbƒN‹­‰ŧ - skill.c - skill_castend_nodamage_id() ƒuƒŒƒbƒVƒ“ƒO“™‚ĖƒpƒPƒbƒg‡‚ð•ύXAƒXƒg[ƒ“ƒJ[ƒX‚ð•sŽ€‚É‚Í–ģŒø‚É‚ĩ‚― - skill_castend_map() ‚ĩ‚‚ą‚Ē‚­‚į‚Ē‚Éƒo[ƒT[ƒNŽž‚ɃXƒLƒ‹‚ðŽg‚͂Ȃǂæ‚Ī‚É•ÏX - skill_check_condition() “Ŋã - skill_use_pos() “Ŋã - skill_use_id() “Ŋã•ŒŽ–ū‚č‚ːō‚É—Ž‚ŋ‚é‰Ô‚Ņ‚į’Į‰Á - skill_status_change_end() ƒo[ƒT[ƒNŽž‚É‚ÍIAƒAƒCƒRƒ“‚ðÁ‹Ž‚·‚邿‚Ī‚É•ÏX - skill_status_change_timer() NULLƒ`ƒFƒbƒNðŒ‚ð•ύXAŒŽ–ū‚č‚ːō‚É—Ž‚ŋ‚é‰Ô‚Ņ‚įŽžSPÁ”ïAƒo[ƒT[ƒNŽžHP100ˆČã‚Č‚į10•b‚ ‚―‚č1%Œļ‚į‚·‚æ‚Ī‚É•ÏX - skill_status_change_start() ƒo[ƒT[ƒNŽž‚É‚ÍIAƒAƒCƒRƒ“‚ð•\ŽĶ‚·‚邿‚Ī‚É•ÏX - skill_delunit() NULLƒ`ƒFƒbƒNðŒ‚ð•ύX - skill_check_condition_char_sub() ŒŽ–ū‚č‚ːō‚É—Ž‚ŋ‚é‰Ô‚Ņ‚į’Į‰Á - skill_check_condition_use_sub() “Ŋã - skill_is_danceskill() “Ŋã - skill_initunitgroup() “Ŋã - trade.c NULLƒ`ƒFƒbƒN‹­‰ŧ - vending.c NULLƒ`ƒFƒbƒN‹­‰ŧ - --------------------- -//1004 by (“Ę) -ENULLƒ`ƒFƒbƒN‚ŃGƒ“ƒoƒO‚ĩ‚Ăǂ―‚Æ‚ą‚ë‚ð‚Ē‚­‚Â‚ĐCģ‚Æ‘ž‚ĖNULLƒ`ƒFƒbƒN‹­‰ŧ -Eskill.c‚Å‚ānullpo‚ð•\ŽĶ‚·‚邿‚Ī‚É•ÏX - - (map/) - battle.c - battle_damage() NULLƒ`ƒFƒbƒN‹­‰ŧ - battle_heal() “Ŋã - clif.c - clif_damage() “Ŋã - map.c - map_addflooritem() NULLƒ`ƒFƒbƒN‹­‰ŧ - mob.c - mob_once_spawn() —]Œv‚ČNULLƒ`ƒFƒbƒN‚ðíœ - mob_once_spawn_area() “Ŋã - mob_damage() “Ŋã - mob_counttargeted() “Ŋã - mobskill_castend_id() “Ŋã - mob_summonslave() ƒƒbƒZ[ƒWŠÔˆá‚Ē‚ðCģ - pc.c - pc_damage() NULLƒ`ƒFƒbƒN‹­‰ŧ - skill.c ‚Ų‚Ú‘S•” NULLŠÖ˜ACģ - --------------------- -//1003 by (“Ę) -EjROƒNƒ‰ƒCƒAƒ“ƒg‚Å/accountŽg—pŽž‚ÉŒq‚Š‚į‚Č‚ĒŒīˆö‚Ė0x200ƒpƒPƒbƒg–â‘č‚ðCģ -E0x1c9ƒpƒPƒbƒg‚ĖŒŠ–„‚ß‚ðˆø‚Ŧ‘ą‚ŦŒp‘ą’† -Eˆęl‚Őđ‘Ė‚â‡‘t‚ðŽg—p‚Å‚Ŧ‚éÝ’č(player_skill_partner_check)‚ð’Į‰Á - ˆęl‚ō‡‘t‚ðŽĀs‚ĩ‚―ę‡‚É‚Í’Ęí‚Ėƒ_ƒ“ƒX‚Æ‹““Ū‚Š“Ŋ‚ķ‚ɂȂč‚Ü‚· -Eƒvƒƒ{ƒbƒN‚Í•sŽ€‚ɑ΂ĩ‚Ä”­“Ū‚ĩ‚Ȃǂæ‚Ī‚É•ÏX -EFW‚ː‚Ŧ”ō‚΂ĩ”ŧ’č‚ð•ύX -EƒfƒŠƒ…[ƒW‚ɐ…ę”ŧ’č‚ð’Į‰ÁAđ…‚ðė‚ę‚é‚Ė‚ðŠm”F -EƒnƒCƒfƒBƒ“ƒO‚Ė—LŒøŽžŠÔ‚Аģ‚ĩ‚­‹@”\‚·‚邿‚Ī‚ÉCģ -EƒAƒXƒyƒ‹ƒVƒI‚ð•sŽ€‚ÉŽg—p‚ĩ‚―ę‡Ađ‘ېŦ‚Ė40ƒ_ƒ[ƒW‚ð—^‚͂邿‚Ī‚É•ÏX -EƒAƒXƒyƒ‹ƒVƒI‚ð•sŽ€ˆČŠO‚ĖMOB‚ÉŽg—p‚ĩ‚Ä‚āŒø‰Ę‚Š–ģ‚Ē‚æ‚Ī‚É•ÏX -E‡‘tAƒ_ƒ“ƒXA‰‰‘t’†‚ĖŒo‰ßŽžŠÔ‚É‚æ‚éSPÁ”ï‚ðŽĀ‘• -E•ņ‚Ė‚ ‚Á‚―ƒK[ƒfƒBƒAƒ“‚ŠƒMƒ‹ƒh–ljÁ“üPC‚ðƒ^[ƒQƒbƒg‚ĩ‚―‚įmap‚Š—Ž‚ŋ‚é–â‘č‚ĖCģ(ƒK[ƒfƒBƒAƒ“ŽĀ‘•“–Žž‚Đ‚į‚ļ‚Á‚Æ—Ž‚ŋ‚Ä‚―H) -Emob.cAstorage.c‚Ėnullƒ`ƒFƒbƒN‚ð‹­‰ŧ - ƒGƒ‰[‚Å—Ž‚ŋ‚é‚Ũ‚Ŧ‚Æ‚ą‚ë‚ð–ģ—‚â‚č’Ęíˆ—‚É–ß‚ĩ‚Ăǂé‚˂őž‚Å–â‘肊‚Å‚é‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņ - ‚ŧ‚Ėę‡AƒRƒ“ƒ\[ƒ‹‚ɁuŠÖ”–ž nullpov‚Æ•\ŽĶ‚ģ‚ę‚é‚˂ŕ\ŽĶ‚ģ‚ę‚―ę‡‚Í•ņ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚· - ‚ā‚ĩ‚Đ‚ĩ‚―‚įģí‚ȏˆ—‚Å‚ā•\ŽĶ‚ģ‚ę‚é‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņ‚ЁA‚ŧ‚ĖÛ‚ā•ņ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚· - –{—ˆƒGƒ‰[AŽĀ‚͐ģíA‚Į‚ŋ‚į‚É‚ĩ‚Ä‚ā‚ą‚ꂊ•\ŽĶ‚ģ‚ę‚é‚Ė‚ÍƒoƒO‚Å‚· - - (conf/) - battle_athena.conf player_skill_partner_check’Į‰Á - (db/) - skill_db.txt ƒAƒXƒyƒ‹ƒVƒI‚ˑېŦ‚ðđ‚ɕύX - (doc/) - conf_ref.txt player_skill_partner_checkā–ū’Į‰Á - (login/) - login.c - parse_login() 0x200ƒpƒPƒbƒg‘Ήž - (map/) - mob.c NULLƒ`ƒFƒbƒN‚Å‚Ų‚Ú‘S•” - storage.c NULLƒ`ƒFƒbƒN‚Å‚Ų‚Ú‘S•” - battle.h •ύX - battle.c - battle_calc_magic_attack() ƒAƒXƒyƒ‹ƒVƒI‚ð’Į‰ÁAFW‚ð•ύX - battle_config_read() Ý’č’Į‰Á - clif.c - clif_getareachar_skillunit() ’ēļŒ‹‰Ę‚Ė”―‰f - clif_skill_setunit() “Ŋã - [1001‚Æ1002‚ĖŠÔ‚Ė•ÏX“_] - skill.c NULLƒ`ƒFƒbƒN‚ð‘ōŽR - skill_castend_damage_id() ƒAƒXƒyƒ‹ƒVƒI’Į‰Á - skill_castend_nodamage_id() ƒAƒXƒyƒ‹ƒVƒIAƒvƒƒ{ƒbƒNˆ—•ύX - skill_castend_id() ƒAƒXƒyƒ‹ƒVƒIˆ—•ύ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() ƒnƒCƒfƒBƒ“ƒOCģAƒ_ƒ“ƒX‰‰‘t‡‘t’†‚ĖSPÁ”ïŽĀ‘• - skill_initunitgroup() ƒ_ƒ“ƒXSPÁ”ï—p•ύX - skill_status_change_start() “Ŋã•ƒvƒƒ{ƒbƒN‚ðƒ{ƒX‚ÉŒø‚Đ‚Č‚Ē‚æ‚Ī‚É(‚Å‚ābattle.c‚ÅŽ~‚߂Ăé‚Đ‚į’Ęí‚ą‚ą‚܂ŗˆ‚Č‚Ē) - --------------------- -//1002 by ‚Ō‚ī‚Ü‚ņ -Eƒ|[ƒ^ƒ‹ƒoƒOCģ -EƒXƒLƒ‹ŠÖŒW‚ĖNullƒ`ƒFƒbƒN‹­‰ŧ(by(“Ę)) - (map/) - skill.c - skill_castend_map() Cģ - --------------------- -//1001 by (“Ę) -E0x1c9‚łǂ­‚Â‚ĐƒpƒPƒbƒg‚ðŒĐ”ä‚Ũ‚ĕωŧ‚Ė‚Č‚Ē‚Æ‚ą‚ë‚ðŒÅ’č’l‚Å–„‚ߍž‚Ý(ĄŒãî•ņ‚ŠW‚܂邯•Ï‚í‚é‰Â”\Ŧ‘å) -Eƒ_ƒ“ƒX’†‚ÍSP‚ū‚Ŋ‰ņ•œ‚ĩ‚Ȃǂæ‚Ī‚É•ÏX -Eđ‘˂őЕû‚ĖSP‚Š10ˆČ‰š‚ū‚ÆŽg—pŽļ”s‚É‚ĩ‚ÄŽg—p‚ĩ‚―‚įSP‚ð10Œļ‚į‚ĩ‚Ă݂é(–ĒŠm”F) -E‡‘t‚ĖƒXƒLƒ‹Žg—pƒpƒPƒbƒg‚ðŽáŠą•ύX - - (map/) - clif.c - clif_getareachar_skillunit() 0x1c9‚ĖŒŠ–„‚ߊJŽn - clif_skill_setunit() 0x1c9‚ĖŒŠ–„‚ߊJŽn - pc.c - pc_natural_heal_sub() ƒ_ƒ“ƒX’†‚ÍSP‚Ė‚Ý‰ņ•œ‚ĩ‚Ȃǂæ‚Ī‚É•ÏX - skill.c - skill_check_condition() •ύX - skill_check_condition_char_sub() đ‘Ė‚Í‘Š•û‚ĖSPƒ`ƒFƒbƒN‚·‚邿‚Ī‚É•ÏX - skill_check_condition_use_sub() đ‘Ė‚Í‘Š•û‚ĖSP‚ðŒļ‚į‚·‚æ‚Ī‚É•ÏX - --------------------- -//1000 by ‚Ō‚ī‚Ü‚ņ -E0999‚Ė•ÏXŽæ‚č–ß‚ĩ -Eƒgƒ‰ƒbƒv‚ĖŠŠ‚Ŧž‚ÝŽĀ‘• -EƒCƒhƒDƒ“‚Ė—ŅŒį‚ÅNPC‚܂ʼnņ•œ‚ĩ‚―(‚æ‚Ī‚ÉŒĐ‚Ķ‚é)–â‘čCģ(–ĒƒeƒXƒg) -Eƒfƒ‚ƒ“ƒXƒgƒŒ[ƒVƒ‡ƒ“‚ĖƒGƒtƒFƒNƒg•ύ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‚ňø”‚Ė‘ķÝ‚ðŠm”F‚đ‚ļ‚É’l‚ðŒĐ‚ɍs‚Á‚Ä‚éŠÖ”‚ð‚Ē‚­‚Â‚ĐCģ -Eƒ_ƒ“ƒX’†‚ÍĀ‚ę‚Ȃǂæ‚΂ɂĩ‚―(–{ŽI‘ŠˆáƒXƒŒƒbƒh part2 >>114 DoT‚ģ‚ņ) -Eƒ_ƒ“ƒX’†‚ÍHPASP‚Љņ•œ‚ĩ‚Ȃǂæ‚Ī‚É•ÏX(“Ŋã) -Eƒ_ƒ“ƒX’†‚Í’ĘíUŒ‚‚Å‚Ŧ‚Ȃǂæ‚΂ɂĩ‚―(–{ŽI‘ŠˆáƒXƒŒƒbƒh part2 >>116 EEE‚ģ‚ņ) -E‡‘t’†•Еû‚Š—Ž‚ŋ‚―ę‡AŽc‚Á‚―‚؂΂ʼn‰‘t‚ðŒp‘ą‚·‚邿‚΂ɂĩ‚―(“Ŋã) -E‡‘t’†‚̓AƒhƒŠƒuˆČŠO‚Å‚Ŧ‚Ȃǂæ‚Ī‚É•ÏX(“Ŋã) -E‡‘t”­“ŪðŒ‚Éƒ_ƒ“ƒX’†‚ķ‚á‚Ȃǁ•Ā‚Á‚ĂǂȂǂð’Į‰Á(–{ŽI‘ŠˆáƒXƒŒƒbƒh part2 >>118 ‚ë‚ë‚ģ‚ņ) -EˆĒC—…Žg—pŒã‚ÉHP‚ā‰ņ•œ‚ĩ‚ȂЂÁ‚―‚Ė‚ðCģ - - (map/) - battle.c - battle_counttargeted() Cģ - battle_getŒn ‚―‚Ô‚ņ‘S•”Cģ - clif.c - clif_parse_WalkToXY() ‡‘t‚Ė”ŧ’f•û–@‚Ė•ÏX - clif_parse_ActionRequest() ƒ_ƒ“ƒX’†‚Í‰Ģ‚į‚Č‚ĒĀ‚į‚Ȃǂæ‚Ī‚É•ÏX - map.c - map_quit() ƒ_ƒ“ƒX’†’f’Į‰Á - mob.c - mob_damage() skill_stop_dancing‚Ėˆø”‘‰Á‚É‚æ‚é•ύX - pc.c - pc_setpos() “Ŋã - pc_damage() “Ŋã - pc_equipitem() “Ŋã - pc_natural_heal_sub() ƒ_ƒ“ƒX’†‚ÍŽĐ‘R‰ņ•œ‚ĩ‚Ȃǂæ‚΂Ɂ•ˆĒC—…Žž‚ÍSP‚Ė‚Ý‰ņ•œ‚ĩ‚Ȃǂæ‚Ī‚É - 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•û–@‚Ė•ÏX•‡‘t’†‚̓AƒhƒŠƒuˆČŠO‹ÖŽ~‚É - skill_status_change_end() ‡‘t‚Ėƒ_ƒ“ƒXó‘Ô‰ðœ‚Í‘ŠŽč‚Ėval4‚ð0‚É‚·‚邿‚΂ɂĩ‚― - skill_is_danceskill() –ß‚č’l•ύX - skill_stop_dancing() ˆø”‘‰ÁA‡‘t‚ŕЕû‚ū‚Ŋ—Ž‚ŋ‚―‚Æ‚Ŧ‚Ėˆ—’Į‰Á - skill_delunitgroup() ‡‘tŽž‚ĖƒXƒe[ƒ^ƒX•ύXˆ—‚ðŠ‚ÉˆÚ‚ĩ‚― - skill_clear_unitgroup() ŽĐ•Š‚Ėbl->id‚ƃ†ƒjƒbƒgƒOƒ‹[ƒv‚Ėgroup->src_id‚Šˆá‚Ī‚Æ‚Ŧ‚͍폜‚ĩ‚Ȃǂæ‚Ī‚É•ÏX - skill.h •ύX - --------------------- -//0997 by (“Ę) -E“ņl‚ō‡‘tAŽOl‚Őđ‘Ė‚ðŽĀ‘• - ‡‘t ƒo[ƒhEƒ_ƒ“ƒT[‚Š—ŨÚ‚ĩ‚―ƒZƒ‹‚ɂǂēŊ‚ķƒXƒLƒ‹‚ðŽ‚Á‚Ä‚Ē‚éŽž‚É”­“Ū - ƒXƒLƒ‹ƒŒƒxƒ‹‚Í—žŽŌ‚ĖƒXƒLƒ‹ƒŒƒxƒ‹‚Ė’†ŠÔ - –{ŽIŽd—l‚Š•Š‚Đ‚į‚ȂǂŊ‚ĮŽÎ‚ß—ŨÚ‚āOK - đ‘Ė Žg—pŽŌ‚ĖXŽē‚Å-1‚Æ+1‚ĖęŠ‚Ɉęl‚ļ‚ƒAƒRƒ‰ƒCƒg‚ĐƒvƒŠ[ƒXƒg‚Š‚Ē‚éŽž‚É”­“Ū‚·‚邯Žv‚Ī(–ĒƒeƒXƒg) - Žg—pŽŌ › ƒAƒRƒvƒŠ œ - OK œ›œ - - NG œ - ›œ -Eƒg[ƒL[ƒ{ƒbƒNƒX‚ðŽg‚Á‚ĐݒuŽž‚ÉĀ‚Á‚Ăǂ―Žž‚̓XƒLƒ‹Žg—pŽļ”s‚É‚ĩ‚Ă݂― - - (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 (“Ę) -EƒAƒhƒŠƒu‚Ė5•b§ŒĀ‚ðcast_db.txt‚Ėupkeep_time2‚Ő§Œä‚Å‚Ŧ‚邿‚Ī‚É•ÏX -E‘šģ‚ÅŽĐ•Š‚ðŽô‚í‚đ‚é‚―‚ß‚Ébonus2 bAddEff2‚ð’Į‰Á -EŽô‚í‚ę‚Ä‚Ē‚ÄI—đ‚Å‚Ŧ‚Č‚ĒŽž‚É‚āuĄ‚͏I—đ‚Å‚Ŧ‚Ü‚đ‚ņv‚Š•\ŽĶ‚ģ‚ę‚邿‚΂ɂĩ‚― -Eƒ_ƒ“ƒXƒGƒtƒFƒNƒg“™ˆÚ“ŪŽž‚ÉŒø‰Ę‚Ė“K—p”ŧ’f‚ŠˆÚ“Ū‘O‚ɍs‚í‚ę‚Ăǂ―‚Ė‚ðˆÚ“ŪŒã‚ɕύX•Žg‚í‚Č‚­‚Ä‚Ē‚Ē•Ï”‚ð”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‚ĖƒfƒtƒHƒ‹ƒg‚Šyes‚ɂȂÁ‚Ăǂ―‚Ė‚ðCģ -Ebattle.pet_lootitem‚Ė“K—p‚ðforeach‘O‚Å‚â‚邿‚Ī‚ÉCģ -Eƒyƒbƒg‚Ė‰Šú‰ŧ‚Åpd->lootitem‚Š‚ ‚鎞‚ĩ‚Џ‰Šú‰ŧ‚ģ‚ę‚Ä‚Ē‚Č‚Đ‚Á‚―‚Ė‚ðCģ -E—Ėˆæ‚ŠˆÚ“Ū‚ĩ‚Ä‘ÎÛ‚Š—Ėˆæ‚Đ‚į”ē‚Ŋ‚Ä‚āŒø‰Ę‚Š‰ðœ‚ģ‚ę‚Ȃǖâ‘č‚ðCģ -EƒAƒhƒŠƒu‚̓_ƒ“ƒX”­“Ū‚Đ‚į5•bˆČãŒo‚―‚Č‚Ē‚ÆŽg—p‚Å‚Ŧ‚Ȃǂæ‚΂ɂĩ‚― - - (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ƒ‰[ƒƒbƒZ[ƒWCģ - skill_check_condition() •ύX - skill_initunitgroup() sd_data[SC_DANCING].val3‚Égettick() - 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_lootitem‚Š“K‰ž‚ģ‚ę‚Ä‚Ē‚Č‚Đ‚Á‚―‚Ė‚ðCģB -Eƒyƒbƒg‚ɃpƒtƒH[ƒ}ƒ“ƒX‚ð‚ģ‚đ‚―ŒãA10•bŠÔ‚­‚į‚Ē‚ÍE‚í‚đ‚Ȃǂæ‚΂ɁB - - (map/) - map.h pet_data‚Élootitem_timer’Į‰ÁB - pet.c - pet_ai_sub_hard_lootsearch() CģB - pet_lootitem_drop() CģB - --------------------- -//0993 by (“Ę) -Eˆęl‚ō‡‘t‚ū‚Ŋ‚Į‡‘tƒXƒLƒ‹’†‚Í“Ū‚Ŋ‚Ȃǂæ‚Ī‚É -EƒAƒ“ƒR[ƒ‹ŽĀ‘•B’ž‘O‚ÉŽg‚Á‚―ƒ_ƒ“ƒXƒXƒLƒ‹‚ð”ž•Š‚ĖSP‚ÅŽg‚͂܂· -Eƒ_ƒ“ƒX’†‚ÉˆÚ“Ū‚·‚邯ƒGƒtƒFƒNƒg‚āˆÚ“Ū‚·‚邿‚΂ɂĩ‚― -E–ĒŽĀ‘•‚ĖƒXƒLƒ‹‚ŠŽg‚í‚ę‚邯Unknown skill‚Æ•\ŽĶ‚ģ‚ę‚邹‚Æ‚Š‚ ‚é‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņ -ESage‚ĖƒLƒƒƒXƒgƒLƒƒƒ“ƒZƒ‹‚ÅŽĀ‚Í‘O‚ĖƒXƒLƒ‹‚ðŠo‚Ķ‚Ä‚Ē‚Č‚Đ‚Á‚―–â‘č‚ĖCģ - - (map/) - clif.c - clif_parse_WalkToXY() •ύX - map.h ƒAƒ“ƒR[ƒ‹—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‚Á‚―ƒ_ƒ“ƒXƒXƒLƒ‹‚ð•ϐ”‚É“ü‚ę‚邿‚΂ɂĩ‚― - skill_unit_move_unit_group() ’Į‰Á - skill.h •ύX - --------------------- -//0992 by nokia - -map_quit‚ðCģ‚ĩ‚ăƒ‚ƒŠ‚ðŽß•ú‚·‚鎞‰―“x‚ā‚ðŽß•ú‚·‚é‚―‚߃ƒ‚ƒŠ‚ĖŠÔˆá‚ǂЋN‚ą‚é–â‘č‚ðĩ‚­ - - (map/) - map.c - map_quit() - --------------------- -//0991 by (“Ę) -Eƒg[ƒL[ƒ{ƒbƒNƒX‚ðŽĐ•ЂГĨ‚ņ‚ł┭“Ū‚ĩ‚Ȃǖ{ŽIŽd—l‚ɕύX -EƒXƒLƒ‹‰rĨ’†‚ƃfƒBƒŒƒC’†‚̓Nƒ‰ƒCƒAƒ“ƒg‚ðI—đ‚Å‚Ŧ‚Ȃǂæ‚΂ɂĩ‚―‚Ŋ‚ĮA“G‚ɍUŒ‚‚ģ‚ę‚Ăǂ邯‚Ŧ‚͏I—đ‚Å‚Ŧ‚Ü‚·(‚ē‚ß‚ņ‚Č‚ģ‚Ē‚ÁII) - - (map/) - clif.c - clif_parse_QuitGame() •ύX - skill.c - skill_unitsetting() •ύX - --------------------- -//0990 by ‚Ō‚ī‚Ü‚ņ -Eˆę•”‚Ėƒgƒ‰ƒbƒv‚ð”͈͍UŒ‚‚ɕύXiŠŠ‚Ŧž‚Ý‚Í–ĒŽĀ‘•jB -Emapflag‚Épvp_nocalcrank‚Æpvp_nightmaredrop’Į‰ÁB - Emapflagpvp_nocalcrankdummy - @PvP‚É‚æ‚郉ƒ“ƒLƒ“ƒOŒvŽZ‚ð‚ĩ‚Ȃǂæ‚΂ɂĩ‚Ü‚·B - Emapflagpvp_nightmaredrop,, - @PvP‚ɂĎ€–S‚ĩ‚―ę‡A‚ĖŠm—Ķ‚ÅƒAƒCƒeƒ€‚ðƒhƒƒbƒv‚ĩ‚Ü‚·B - @: ƒhƒƒbƒv‚·‚éƒAƒCƒeƒ€ID‚ðŽw’č‚ĩ‚Ü‚·Brandom‚Æ‹Lq‚·‚邯ŠŽ•i‚Đ‚įƒ‰ƒ“ƒ_ƒ€‚Ƀhƒƒbƒv‚ĩ‚Ü‚·B - @: ƒhƒƒbƒv‚·‚éƒAƒCƒeƒ€‚Ėƒ^ƒCƒv‚ðŽw’č‚ĩ‚Ü‚·Binventory:ŠŽ•i equip:‘•”õ•i all:‘S•” - @: ƒhƒƒbƒv‚·‚éŠm—͂ł·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 - ƒiƒCƒgƒƒAƒ‚[ƒh‚ɃhƒƒbƒvÝ’č’Į‰Á - --------------------- -//0989 by (“Ę) -EƒXƒvƒŠƒ“ƒOƒgƒ‰ƒbƒv‚ð–^Š‚ÅŒĐ‚―SS‚ðŒģ‚ÉŽĀ‘•‚ĩ‚Ă݂―Bˆá‚Á‚―‚į‘ŠˆáƒXƒŒ‚Ö -EƒfƒBƒeƒNƒeƒBƒ“ƒO‚ð–^Š‚ÅŒĐ‚―‰ðā•ķ‚ðŒģ‚ÉŽĀ‘•‚ĩ‚Ă݂―Bˆá‚Á‚―‚į‘ŠˆáƒXƒŒ‚Ö -EƒLƒƒƒXƒgƒLƒƒƒ“ƒZƒ‹Žž‚Ėdelete_timerƒGƒ‰[‚É’Į‰Á‚ŃXƒLƒ‹ID‚ð•\ŽĶ‚·‚邿‚΂ɂĩ‚―B‚ ‚í‚đ‚Ä•ņ‚·‚邯ƒGƒ‰[‚ĖŒīˆö‚Š•Š‚Đ‚é‚Đ‚ā - - (map/) - skill.c - skill_castend_nodamage_id() •ύX - skill_castend_pos2() •ύX - skill_castcancel() •ύX - --------------------- -//0988 by (“Ę) -Eƒg[ƒL[ƒ{ƒbƒNƒX‚͏í‚É‘ŦŒģ‚É’u‚Ŋ‚邿‚Ī‚É•ÏX‚ÆKalen‚ģ‚ņ‚É–á‚Á‚―î•ņ“™‚ðŒģ‚ɃpƒPƒbƒg‚ð–{ŽI‚É‚ ‚í‚đ‚Ă݂― -EƒVƒ‡ƒbƒNƒEƒF[ƒuƒgƒ‰ƒbƒv‚ÉŒø‰Ę‚ð’Į‰Á‚ĩ‚―‚‚ā‚č(–ĒŠm”F) -Eƒuƒ‰ƒXƒgƒ}ƒCƒ“‚ƃNƒŒƒCƒ‚ƒAƒgƒ‰ƒbƒv‚ð‰Ģ‚邯‚Ŧ”ō‚Ô‚æ‚΂ɂĩ‚― -EƒŠƒ€[ƒuƒgƒ‰ƒbƒv‚ÅãĐ(skill_require_db‚ÅŽw’č‚ĩ‚―ƒAƒCƒeƒ€)‚ð‰ņŽû‚Å‚Ŧ‚邿‚΂ɂĩ‚― -EŠ‚ĖŽĀ‘•‚É‚æ‚čãĐ‚ĖŽžŠÔØ‚ę‚ÅãĐ‚Šo‚éƒIƒŠƒWƒiƒ‹Žd—l‚̓Rƒƒ“ƒgƒAƒEƒg -Eƒuƒ‰ƒXƒgƒ}ƒ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[’č‹`ŠÖ”/ƒTƒuƒ‹[ƒeƒBƒ“‚Ɉø”‚ðŽw’č‰Â”\‚É - Ú‚ĩ‚­‚Í script_ref.txt ‚ðŽQÆ - - (map/) - scirpt.c - buildin_getarg()’Į‰Á - buildin_callsub(),buildin_callfunc(),run_func()Cģ - (doc/) - script_ref.txt - ˆø”‚É‚Â‚Ē‚Ä‚Ėā–ū’Į‰Á - -Egetguildname,getpartyname,getcastlename,strcharinfoCģ - C_STR‚Œ萔•ķŽš—ņ(C_CONSTSTR)‚ð•Ô‚ĩ‚Ăǂ―–â‘čCģ - strcharinfo‚ŃMƒ‹ƒh–ž‚Č‚Į‚ðŠ“ū‚·‚éÛA–ĒŠ‘Ū‚ū‚Á‚―‚Æ‚Ŧ‚Ė–â‘č - - (map/) - script.c - buildin_getguildname(),buildin_getpartyname() - buildin_getcastlename(),buildin_strcharinfo() - --------------------- -//0986 by (“Ę) -Eclient_packet‚Ė‹Lq‚Đ‚į„Ž@‚ĩ‚ăg[ƒL[ƒ{ƒbƒNƒX‚ðŽĀ‘•‚ĩ‚Ă݂―‚‚ā‚č - - (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 (“Ę) -EƒT[ƒo[snapshot -E/script/extension‚ÉŒę‚č•”‚ð’Į‰Á‚ĩ‚―‚č -E0984‚ÅAthenaŽG’kƒXƒŒƒbƒh part3>>92 Michael‚ģ‚ņ‚ĖCģ‚ðŽæ‚čž‚ņ‚Å‚― -EƒoƒO•ņƒXƒŒƒbƒh part5 >>45‚É“]Ú‚ģ‚ę‚Ä‚― ‚ ‚â‚Ë‚ģ‚ņ‚ĖCģ‚ðŽæ‚čž‚Ý -EƒoƒO•ņƒXƒŒƒbƒh part5 >>54 rari‚ģ‚ņ‚Ė‚―‚Ę‚Ŧ–XCģ‚ðŽæ‚čž‚Ý - - (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 (“Ę) -EƒZ[ƒW‚ĖƒtƒŠ[ƒLƒƒƒXƒg‚Æ‚Ē‚ĪƒXƒLƒ‹‚Ė‘ķÝ‚ð’m‚į‚ȂЂÁ‚―‚Ė‚Å0983‚Ė•ÏX‚ðˆę•”–ß‚ĩ -EƒAƒCƒeƒ€XV‚ĩ‚―‚Ŋ‚Į‚‚ę”L‚ƃCƒ“ƒfƒBƒAƒ“ƒoƒ“ƒ_ƒi‚Š‘•”õ‚Å‚Ŧ‚ȂǁH -Eƒ}ƒbƒvƒtƒ‰ƒO‚ƃ‚ƒ“ƒXƒ^[”z’u‚ðÅV”Å‚É - - (db/) - item_db.txt - (conf/) - mapflag.txt - (script/mob/) - npc_monster.txt - (map/) - clif.c - clif_parse_WalkToXY() Cģ - --------------------- -//0983 by (“Ę) -E’·‚ljrĨ’†‚É•ā‚Ŧ‚Ü‚í‚ę‚―‹C‚Š‚·‚é‚Ė‚ÅCģ -Eƒyƒbƒgƒ‹[ƒŒƒbƒg‰ņ“]’†‚É‘ÎÛ‚Š’@‚ŦŽE‚ģ‚ę‚―‚įmap-server‚ŠĒ‚é‚Ė‚ðCģ -EƒvƒƒtƒFƒbƒT[ ƒ‰ƒCƒt’u‚ŦŠ·‚Ķ‚ĖŽč”ē‚Ŧˆ—‚ð‚ŋ‚å‚Á‚ƃ}ƒV‚É‚ĩ‚― - - (map/) - clif.c - clif_parse_WalkToXY() Cģ - pet.c - pet_catch_process2() Cģ - skill.c - skill_castend_nodamage_id() Cģ - --------------------- -//0982 by (“Ę) -E“]ķƒXƒLƒ‹‚ˁ` - ƒXƒg[ƒJ[ ƒŠƒWƒFƒNƒgƒ\[ƒh ‘ŠŽč‚ŠPC‚Ėę‡‚ÍŒ•‚ķ‚á‚Č‚Ŋ‚ę‚Î’ĩ‚˕Ԃģ‚ȂǗ\’č - ƒvƒƒtƒFƒbƒT[ ƒƒ‚ƒ‰ƒCƒY 12•b‚ĖŒÅ’čƒLƒƒƒXƒgƒ^ƒCƒ€A‚ŧ‚ĖŒãƒXƒLƒ‹Žg—p‚ĖƒLƒƒƒXƒgƒ^ƒCƒ€‚Š3‰ņ‚ū‚Ŋ1/3‚ɂȂé - ƒvƒƒtƒFƒbƒT[ ƒ‰ƒCƒt’u‚ŦŠ·‚Ķ HP‚ð10%Œļ‚į‚ĩ‚ÄSP‚𑝂₷BŒļ‚Á‚―HP‚ĖƒGƒtƒFƒNƒg‚Í–ģ‚ĩ‚É‚ĩ‚Ă݂― -EŒĐØ‚肯‰ņ”ð—Ķ‘‰Á‚ĖFleeãļ‚ŠƒXƒe[ƒ^ƒX•ωŧŽž‚É‚ĩ‚Đ”―‰f‚ģ‚ę‚Ä‚Ē‚Č‚Đ‚Á‚―‚Ė‚ðCģ -E0981‚ÅŽĐ•ŠˆČŠO‚Í•ā‚Ē‚―‚į•ž‚ːF‚Š–ß‚Á‚Ä‚ĩ‚܂΂˂ð‚Č‚ņ‚Æ‚Đ‚ĩ‚―‚‚ā‚č - - (db/) - skill_require_db.txt - (map/) - battle.c - battle_calc_damage() Cģ - clif.c - clif_movechar() Cģ - clif_getareachar_pc() Cģ - pc.c - pc_calcstatus() Cģ - skill.c - SkillStatusChangeTable •ύX - skill_castend_nodamage_id() •ύX - skill_use_id() •ύX - skill_use_pos() •ύX - skill_status_change_timer() •ύX - skill_status_change_start() •ύX - skill.h •ύX - --------------------- -//0981 by (“Ę) -E“]ķƒXƒLƒ‹‚ˁ` - ƒXƒg[ƒJ[ ƒŠƒWƒFƒNƒgƒ\[ƒh ˆę’čŠm—Ķ‚Åƒ_ƒ[ƒW‚ð”ž•Š‚É‚ĩ‚ÄŒļ‚į‚ĩ‚―•Š‚ð‘ŠŽč‚É’ĩ‚˕Ԃ·‚æ‚΂ɂĩ‚―c‚ЁA’ĩ‚˕Ԃĩ‚―ƒ_ƒ[ƒW‚ĖƒGƒtƒFƒNƒgo‚Ü‚đ‚ņ -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—á‚É‚æ‚Á‚Ä“]ķƒXƒLƒ‹‚ƃ‚ƒ“ƒNŠÖ˜A - ƒXƒiƒCƒp[ ƒVƒƒ[ƒvƒVƒ…[ƒeƒBƒ“ƒO ƒNƒŠƒeƒBƒJƒ‹—Ķ’ēŪH - ƒnƒCƒEƒBƒU[ƒh ƒ\ƒEƒ‹ƒhƒŒƒCƒ“ MSP‘—Ę‚ÆMob‚ð“|‚ĩ‚―‚Æ‚Ŧ‚ÉSP(mobLv*(65+15*SkillLv)/100)‰ņ•œB‚Å‚ā–{“–‚͔͈͍UŒ‚‚Ėę‡‚͉ņ•œ‚ĩ‚Ȃǂį‚ĩ‚ǁH - ƒnƒCƒEƒBƒU[ƒh –‚–@—Í‘• Žg‚Á‚―‚įMATK‚ŠSkillLv%‘—ʁBŽŸ‚ĖƒXƒLƒ‹Žg—pŽž‚ÉŒģ‚É–ß‚é - ƒ‚ƒ“ƒN ‹C’D ‚ŋ‚å‚Á‚ÆæŽæ‚č‚ĩ‚Ä20%‚ĖŠm—͂œG‚ĖLv*2‚ĖSP‚ð‹zŽûBŽŒũ‚ĩ‚―‚Æ‚Ŧ‚̓^[ƒQƒbƒg‚ðŽæ“ū‚·‚邿‚΂ɂĩ‚Ă݂― -EƒAƒCƒeƒ€–ž‚ðjROƒEƒ“ƒoƒ‰‚ɏ€‹’‚ģ‚đ‚Ă݂―‚‚ā‚č - - (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“]ķƒXƒLƒ‹‚ð‚ŋ‚å‚Á‚Æ’ēŪ - ƒnƒCƒEƒBƒU[ƒh ƒ}ƒWƒbƒNƒNƒ‰ƒbƒVƒƒ[ •ŠíUŒ‚‚ÅBaseATKŒvŽZ‚ðMATK2‚Å‚ĩ‚Ă݂é -E‘§‚ð–{ŽIŽd—l•—‚ÉHP‚ÆSP‚ˉņ•œƒ^ƒCƒ}[‚𕊂Ŋ‚ÄĀ‚Á‚ĂǂȂ­‚Ä‚ā“Ū‚Đ‚Č‚Ŋ‚ę‚΃^ƒCƒ}[‚Аi‚Þ‚æ‚΂ɂĩ‚― -EˆĒC—…Žg—pŒã‚ÉHP‚ÆSP‚Š5•ŠŠÔŽĐ‘R‰ņ•œ‚ĩ‚Ȃǖ{ŽIŽg—p•—‚É‚ĩ‚―(csat_db.txt‚Ėupkeep_time2‚Å’ēŪ‰Â”\) -EŒÃ‚Ēgcc‚Åskill_unit_timer_sub_onplace()‚ ‚―‚č‚ŃRƒ“ƒpƒCƒ‹ƒGƒ‰[‚ɂȂÁ‚―‚Ė‚ð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“]ķƒXƒLƒ‹‚ðCģ‚ĩ‚―‚čFX - ƒXƒiƒCƒp[ ƒtƒ@ƒ‹ƒRƒ“ƒAƒTƒ‹ƒg ‚Æ‚č‚ ‚Ķ‚ļ”ō‚Ô‚ū‚Ŋ‚ū‚ÆŽv‚Á‚Ä‚­‚ū‚ģ‚Ē - ƒXƒiƒCƒp[ ƒVƒƒ[ƒvƒVƒ…[ƒeƒBƒ“ƒO ƒ_ƒ[ƒW‘‰Á‚ū‚Ŋ‚Į1‘Ė‚ū‚Ŋ - ƒNƒ‰ƒEƒ“EƒWƒvƒV[ ƒAƒ[ƒoƒ‹ƒJƒ“ ƒ_ƒ[ƒW‘‰Á‚Æ9‰ņUŒ‚ - ƒnƒCƒEƒBƒU[ƒh ƒ}ƒWƒbƒNƒNƒ‰ƒbƒVƒƒ[ ƒGƒtƒFƒNƒg‚ū‚Ŋ - -EƒAƒCƒeƒ€ŒðŠ·‚ŏd—Ę‚ĖŒvŽZ‚Šˆá‚Á‚Ăǂ―‚Ė‚ðCģ - (doc/) - client_packet.txt ƒpƒPƒbƒg’·ƒe[ƒuƒ‹XV - (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 ƒpƒPƒbƒg’·‚Ė’č‹`‚ðXV - skill.c - skill_castend_damage_id() •ύX - trade.c - trade_tradeadditem() Cģ - --------------------- -//0977 by (“Ę) -E“]ķƒXƒLƒ‹‚ðCģ‚ĩ‚―‚čFX - ƒAƒTƒVƒ“ƒNƒƒX ƒƒeƒIƒAƒTƒ‹ƒg ƒGƒtƒFƒNƒg‚Šˆá‚΁H - ƒ[ƒhƒiƒCƒg ƒvƒŒƒbƒVƒƒ[ •K’†ƒ_ƒ[ƒW‚É‚ĩ‚Ă݂― - ƒ[ƒhƒiƒCƒg ƒI[ƒ‰ƒuƒŒ[ƒh‚Ė•K’†damage2‚Š‘ž‚Å‚ā“K—p‚ģ‚ę‚Ăǂ―‚Ė‚ðCģ - ƒ[ƒhƒiƒCƒg ƒSƒXƒyƒ‹ ƒGƒtƒFƒNƒgoŒŧˆĘ’u‚Ė’ēŪ - ƒnƒCƒvƒŠ[ƒXƒg ƒAƒVƒƒƒ“ƒvƒeƒBƒI Œø‰ĘŽĀ‘• - ƒnƒCƒvƒŠ[ƒXƒg ƒƒfƒBƒeƒCƒeƒBƒI Œø‰ĘŽĀ‘• - ƒnƒCƒvƒŠ[ƒXƒg ƒoƒWƒŠƒJ SG‚Ý‚―‚Ē‚ÉMob‚АN“ü‚ĩ‚æ‚Ī‚Æ‚·‚邯‚Ŧ”ō‚΂ģ‚ę‚邿‚΂ɂĩ‚― - ƒzƒƒCƒgƒXƒ~ƒX ƒJ[ƒgƒu[ƒXƒg Œø‰ĘŽĀ‘• - ƒzƒƒCƒgƒXƒ~ƒX ƒƒ‹ƒgƒ_ƒEƒ“ ƒGƒtƒFƒNƒg‚Əó‘ÔˆŲíŽžŠÔ‚ū‚Ŋ(ŽĀÛ‚Ėó‘ԕωŧ‚Í–ģ‚ĩ) - ƒzƒƒCƒgƒXƒ~ƒX ƒNƒŠƒGƒCƒgƒRƒCƒ“ –ž‘O“ü‚č‚Ė‹ā‰Ý‚Æ‚Đė‚ę‚é‚ū‚Ŋ - ƒXƒg[ƒJ[ ƒŠƒWƒFƒNƒgƒ\[ƒh ƒGƒtƒFƒNƒg‚Əó‘ÔˆŲíŽžŠÔ‚ū‚Ŋ(ŽĀÛ‚Ėó‘ԕωŧ‚Í–ģ‚ĩ) - ƒNƒ‰ƒEƒ“EƒWƒvƒV[ ƒ}ƒŠƒIƒlƒbƒgƒRƒ“ƒgƒ[ƒ‹ ƒGƒtƒFƒNƒg‚Əó‘ÔˆŲíŽžŠÔ‚ū‚Ŋ(ŽĀÛ‚Ėó‘ԕωŧ‚Í–ģ‚ĩ) - ƒvƒƒtƒFƒbƒT[ ƒtƒHƒOƒEƒH[ƒ‹ ƒGƒtƒFƒNƒg‚Æ—LŒøŽžŠÔ‚ū‚Ŋ - ƒXƒiƒCƒp[ ƒEƒCƒ“ƒhƒEƒH[ƒN ‘Ž“xãļ‚ÆQMAŽ„‚ð–Y‚ę‚Č‚Ē‚Å‚Š‚Đ‚Đ‚é‚Æ‰ðœ‚ģ‚ę‚邿‚΂ɂĩ‚― - ƒXƒiƒCƒp[ ƒgƒDƒ‹[ƒTƒCƒg QMAŽ„‚ð–Y‚ę‚Č‚Ē‚Å‚Å‰ðœ‚ģ‚ę‚邿‚΂ɂĩ‚Ă݂― -EƒgƒDƒ‹[ƒTƒCƒg‚Ė’Ô‚čŠÔˆá‚Ē‚ðCģ -Estorage.c‚ŃRƒ“ƒpƒCƒ‹Œx‚Šo‚Ȃǂæ‚΂ɂĩ‚―‚‚ā‚č - - (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“]ķƒXƒLƒ‹‚ðCģ‚ĩ‚―‚čFX -E€”õ‚ū‚Ŋ‚ĩ‚ÄŽĀ‘•‚Å‚Ŧ‚Ä‚Č‚ĒƒXƒLƒ‹‚ā‚ ‚č‚Ü‚· - ƒ[ƒhƒiƒCƒg ƒI[ƒ‰ƒuƒŒ[ƒh ‘―•Š‚ą‚ņ‚ČŠī‚ķH - ƒ[ƒhƒiƒCƒg ƒpƒŠƒCƒ“ƒO ’ĩ‚˕Ԃ·‚Ŋ‚ĮUŒ‚‚ð1‰ņŽ~‚ß‚é‚Ė‚Í–ĒŽĀ‘• - ƒ[ƒhƒiƒCƒg ƒRƒ“ƒZƒ“ƒgƒŒ[ƒVƒ‡ƒ“ ƒCƒ“ƒfƒ…ƒA`‚Í—Į‚­•Š‚Đ‚į‚Ȃǂ˂ŕú’u - ƒ[ƒhƒiƒCƒg ƒXƒpƒCƒ‰ƒ‹ƒsƒA[ƒX ’ʏíƒ_ƒ[ƒW‘‰Á‚Əd—Ęƒ_ƒ[ƒW‘‰Á‚Æˆę‰ž5‰ņUŒ‚(‚Č‚ņ‚Đˆá‚Ī‹C‚Š‚·‚é) - ƒ[ƒhƒiƒCƒg ƒwƒbƒhƒNƒ‰ƒbƒVƒ… ƒ_ƒ[ƒW‘‰Á‚ƃXƒe[ƒ^ƒX•ύXH - ƒ[ƒhƒiƒCƒg ƒWƒ‡ƒCƒ“ƒgƒr[ƒg ƒ_ƒ[ƒW‘‰Á‚ƃXƒe[ƒ^ƒX•ύXH - ƒAƒTƒVƒ“ƒNƒƒX ƒAƒhƒoƒ“ƒXƒhƒJƒ^[ƒ‹ŒĪ‹† ‚―‚Ô‚ņ‚ą‚ņ‚ČŠī‚ķH - ƒXƒiƒCƒp[ ƒgƒDƒ‹[ƒTƒCƒg ‚―‚Ô‚ņ‚ą‚ņ‚ČŠī‚ķH - ƒXƒiƒCƒp[ ƒEƒBƒ“ƒhƒEƒH[ƒN ‚―‚Ô‚ņ‚ą‚ņ‚ČŠī‚ķH‚Å‚ā‘Ž“xãļ‚Æ‚Đ‚Æ‹Ģ‡‚ĩ‚―Žž‚Ėˆ—‚Í–ĒŽĀ‘• - ƒXƒpƒCƒ_[ƒEƒFƒbƒu ‚Æ‚č‚ ‚Ķ‚ļƒAƒ“ƒNƒ‹ƒXƒlƒA‚Æ“Ŋ‚킿‚Ī‚ČŠī‚큕‰ņ”ð—Ķ”žŒļ - ƒ`ƒƒƒ“ƒsƒIƒ“ ‹ķ‹CŒũ “K“–‚É‘‚â‚ĩ‚Ăǂ―‚Ė‚ð‚ŋ‚á‚ņ‚Æ‘‚â‚·‚æ‚΂ɂĩ‚― -EoŒŒó‘ԂƍœÜó‘Ô‚ĖŽæ‚čˆĩ‚Ē‚Š‚æ‚­‚í‚Đ‚č‚Ü‚đ‚ņ‚ÁII - - (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‚ÅŽĀ‘•‚ģ‚ę‚―ƒXƒNƒŠƒvƒg‚É‚æ‚éBaseLv, JobLv‚Ė•ÏXŽž‚ɁA -@ƒXƒe[ƒ^ƒXƒ|ƒCƒ“ƒg‚âƒXƒLƒ‹ƒ|ƒCƒ“ƒg‚ðŽæ“ū‚Å‚Ŧ‚邿‚Ī‚ÉCģB -@ĶŽŋ–âƒXƒŒpart5 >>115 ”Y‚ß‚él ‚ģ‚ņ‚Ėpc.c‚ðŽQl‚É‚ģ‚đ‚Ä’ļ‚Ŧ‚Ü‚ĩ‚―B‘―ŽÓB - - (map/) - pc.c - pc_setparam() - case SP_BASELEVEL: Cģ - case SP_JOBLEVEL: Cģ --------------------- -//0974 by latte -EƒOƒ‰ƒ“ƒhƒNƒƒX‚ð–{ŽI‚ÉŠî‚ÂŦCģ - ƒAƒ“ƒfƒbƒhˆŦ–‚‹­§ˆÃˆÅ•t—^ - ”―“Ūƒ_ƒ[ƒW”žŒļAƒ‚[ƒVƒ‡ƒ“‚Č‚ĩ - MOB(PC)‚Šd‚Č‚Á‚―‚Æ‚Ŧ‚ĖHIT” - %UPŒn•ŠíƒJ[ƒhŒø‰Ę‚Č‚ĩ - ‘ېŦ‘АŦ“ņdŒvŽZ - MOBƒ_ƒ[ƒW•\ŽĶ”’ - - Œã”ž4€–ڂ͐ݒč‰Â - -Eí“ŽŠî–{ŒvŽZ‚ð–{ŽI‚ÉŠî‚ÂŦ”ũCģiDEXƒTƒCƒY•âģA‹|Å’áƒ_ƒAPCƒTƒCƒY•âģj - -EŠŪ‘S‰ņ”ð - ƒXƒ^ƒ““™‚ÅŠŪ‘S‰ņ”ð‚Š”­ķ‚ĩ‚ȂЂÁ‚―‚Ė‚ðCģ - AGIVITƒyƒiƒ‹ƒeƒB‚ŠŠŪ‘S‰ņ”ð‚Ė“G‚āƒJƒEƒ“ƒg‚ĩ‚ÄŒvŽZ‚ģ‚ę‚Ăǂ―‚Ė‚ðCģ@Ý’č‰Â - ƒI[ƒgƒJƒEƒ“ƒ^[‚Í–ĒCģ - -E‘qŒÉ‚ð•‚ķ‚邯‚ŦAƒAƒCƒeƒ€ID‚Ń\[ƒg‚·‚邿‚΂ɂĩ‚― - -Ekalen‚ģ‚ņ‚Ėƒvƒ‚PŽ·Ž–NPCƒXƒNƒŠƒvƒg‚ð‰ü‘Ē‚ĩ‚Ä - Ī‹Æ–h‰q’lA“ŠŽ‘‹āŠzA•󔠂ː”‚ð–{ŽI‚ɏ€‹’(Ī‹Æ’l‚Í1~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() CģiŠ‚Ėˆø”‚ū‚Ŋ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‚Å‚æ‚Đ‚Á‚―‚Đ‚āEEE - - skill.c - GXŠÖ˜ACģ(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 -EƒXƒNƒŠƒvƒg‚ĖBASELEVEL,JOBLEVEL–―—ß’Į‰Á - —á: set BASELEVEL,1; - —á: set JOBLEVEL,1; - (map/) - pc.c - pc_setparam() - case SP_BASELEVEL: €–Ú’Į‰Á - case SP_JOBLEVEL: €–Ú’Į‰Á - --------------------- -//0972 by (“Ę) -E“]ķƒXƒLƒ‹‚ðƒGƒtƒFƒNƒg‚ū‚Ŋ‚Ē‚­‚‚ВĮ‰Á‚ĩ‚―‚č -Eó‘ԕωŧ‚Í‚ŧ‚˂΂ŋ’N‚Đ‚Š - ƒGƒtƒFƒNƒg(ƒXƒe[ƒ^ƒX•ωŧƒAƒCƒRƒ“ŠÜ‚Þ)‚Ė‚Ý - SC_AURABLADE: /* ƒI[ƒ‰ƒuƒŒ[ƒh */ - SC_PARRYING: /* ƒpƒŠƒCƒ“ƒO */ - SC_CONCENTRATION: /* ƒRƒ“ƒZƒ“ƒgƒŒ[ƒVƒ‡ƒ“ */ - SC_TENSIONRELAX: /* ƒeƒ“ƒVƒ‡ƒ“ƒŠƒ‰ƒbƒNƒX */ - SC_BERSERK: /* ƒo[ƒT[ƒN */ - SC_ASSUMPTIO: /* */ - SC_TURESIGHT: /* ƒgƒDƒ‹[ƒTƒCƒg */ - SC_CARTBOOST: /* ƒJ[ƒgƒu[ƒXƒg */ - SC_WINDWALK: /* ƒEƒCƒ“ƒhƒEƒH[ƒ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“]ķƒXƒLƒ‹‚ðƒGƒtƒFƒNƒg‚ū‚Ŋ‚Ē‚­‚‚ВĮ‰Á‚ĩ‚―‚čƒ`ƒƒƒ“ƒsƒIƒ“‚Í‚ŧ‚ę‚Č‚č‚É’Į‰Á‚ĩ‚―‚č - ƒGƒtƒFƒNƒg‚Ė‚Ý - ƒnƒCƒvƒŠ[ƒXƒg ƒoƒWƒŠƒJ(HP_BASILICA) - ƒzƒƒCƒgƒXƒ~ƒX ƒJ[ƒgƒu[ƒXƒg(WS_CARTBOOST) - ƒXƒiƒCƒp[ ƒgƒDƒ‹[ƒTƒCƒg(SN_SIGHT) - ƒWƒvƒV[ ŒŽ–ū‚č‚ːō‚É—Ž‚ŋ‚é‰Ô‚Ņ‚į(CG_MOONLIT) - ƒpƒ‰ƒfƒBƒ“ ƒSƒXƒyƒ‹(PA_GOSPEL) - ’Į‰Áƒ_ƒ[ƒW“™‚Č‚ĩ - ƒ[ƒhƒiƒCƒg ƒwƒbƒhƒNƒ‰ƒbƒVƒ…(LK_HEADCRUSH) - ƒ[ƒhƒiƒCƒg ƒWƒ‡ƒCƒ“ƒgƒr[ƒg(LK_JOINTBEAT) - ƒ[ƒhƒiƒCƒg ƒXƒpƒCƒ‰ƒ‹ƒsƒA[ƒX(LK_SPIRALPIERCE) - ƒpƒ‰ƒfƒBƒ“ ƒvƒŒƒbƒVƒƒ[(PA_PRESSURE) - ƒpƒ‰ƒfƒBƒ“ ƒTƒNƒŠƒtƒ@ƒCƒX(PA_SACRIFICE) - ‚ŧ‚ę‚Č‚č(ƒRƒ“ƒ{‚ÍŒq‚Š‚č‚Ü‚·‚ŠƒfƒBƒŒƒC‚Í“K“–Aƒ_ƒ[ƒW’Į‰Á‚Í‚ ‚é‚Ŋ‚Į‚ŧ‚ęˆČŠO‚Ė’Į‰ÁŒø‰Ę‚Í–ģ‚ĩ) - ƒ`ƒƒƒ“ƒsƒIƒ“ –ŌŒÕd”hŽR(CH_PALMSTRIKE) - ƒ`ƒƒƒ“ƒsƒIƒ“ •šŒÕŒ(CH_TIGERFIST) - ƒ`ƒƒƒ“ƒsƒIƒ“ ˜A’Œ•öŒ‚(CH_CHAINCRUSH) - ƒ`ƒƒƒ“ƒsƒIƒ“ ‹ķ‹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() ƒ`ƒƒƒ“ƒsƒIƒ“ƒRƒ“ƒ{ˆ—’Į‰Á - 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 (“Ę) -EƒhƒŒƒCƒN‚ĖƒEƒH[ƒ^[ƒ{[ƒ‹‚ŠˆŲí‚É’É‚Ē(121”­H‚į‚Ī)‚Ė‚ÅLv5ˆČã‚Ėę‡‚Í25”­‚ɐ§ŒĀ -EƒVƒOƒiƒ€ƒNƒ‹ƒVƒX‚ĖŒvŽZŽŪ‚ð14+SkillLv‚Đ‚į10+SkillLv*2•ύX -Eƒ\[ƒX‚Ė‹C‚ŠŒü‚Ē‚―‚Æ‚ą‚ë‚É—Ž‘‚Ŧ -EDBŠÖŒW‚ð‚܂Ƃ߂ēŊŦ - - (map/) - battle.c ƒRƒƒ“ƒgQY(BB)ķ·ķ· - 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 ‚Ō‚ī‚Ü‚ņ - -E”’nŽæ‚čó‘ԂŕЕû‚ŠŽ€–S‚ĩ‚―ę‡A•Еû‚Ė”’nŽæ‚肊‰ðœ‚ģ‚ę‚Ȃǖâ‘čCģ -Ebattle_athena.conf‚ɍ€–Ú’Į‰Á -@ƒyƒbƒgEƒvƒŒƒCƒ„[Eƒ‚ƒ“ƒXƒ^[‚Ė–ģ‘ېŦ’ʏíUŒ‚‚ð‘ېŦ–ģ‚ĩ‚É‚·‚é‚Đ”Û‚Đ‚ðÝ’č‚Å‚Ŧ‚Ü‚· -@Ú‚ĩ‚­‚Íconf_ref‚ðB -E—ƒRƒ}ƒ“ƒh@idsearchŽĀ‘• -@ƒ[ƒh‚ĩ‚―item_db‚Đ‚įŒŸõŒę‹å‚Ƀ}ƒbƒ`‚·‚éƒAƒCƒeƒ€‚ÆID‚ð—…—ņ‚·‚éƒRƒ}ƒ“ƒh‚Å‚· -@—á‚Ķ‚Îu@idsearch ƒŒƒCv‚Æ“ü—Í‚ĩ‚―ę‡AƒuƒŒƒCƒh‚⃌ƒCƒhƒŠƒbƒNƒJ[ƒh“™‚Šˆø‚Á‚ЂЂč‚Ü‚· -EƒAƒVƒbƒhƒeƒ‰[‚ƃfƒ‚ƒ“ƒXƒgƒŒ[ƒVƒ‡ƒ“ŽĀ‘• -@‘•”õ”j‰ó‚Í–ĒŽĀ‘•‚Å‚· -EƒCƒhƒDƒ“‚Ė—ŅŒį‚ˉņ•œŽd—l‚ðŠÛ‚炯•ύXB - (map/) - battle.c - battle.h - ‘ېŦ•âģ‚ĖCģ‚âƒAƒVƒbƒhƒeƒ‰[Eƒfƒ‚ƒ“ƒXƒgƒŒ[ƒVƒ‡ƒ“‚Ėƒ_ƒ[ƒWŽZoŽŪ’Į‰Á“™B - battle_config‚ɍ€–Ú’Į‰Á - skill.c - skill_idun_heal()’Į‰ÁBforeachinarea‚ŏˆ—‚·‚邿‚Ī‚É•ÏX - ƒAƒVƒbƒhƒeƒ‰[‚ƃfƒ‚ƒ“ƒXƒgƒŒ[ƒVƒ‡ƒ“‚Ėˆ—’Į‰ÁB - atcommand.c - atcommand.h - @idsearch’Į‰ÁB - --------------------- -//0968 by ŒÓ’ą—– - -EƒLƒƒƒ‰ƒNƒ^[ID‚ŠŽg‚ǂ܂í‚ģ‚ę‚Ȃǂæ‚Ī‚ÉCģ -EƒLƒƒƒ‰ƒNƒ^[íœŽžAƒp[ƒeƒB[AƒMƒ‹ƒh‚ð’E‘Þ‚·‚邿‚Ī‚ÉCģ -EƒAƒJƒEƒ“ƒgíœŽžAƒLƒƒƒ‰ƒNƒ^[‚Æ‘qŒÉ‚ðíœ‚·‚邿‚Ī‚ÉCģ -E‘qŒÉ/ƒMƒ‹ƒh‘qŒÉíœŽžA‘qŒÉ“ā‚Ėƒyƒbƒg‚ðíœ‚·‚邿‚Ī‚ÉCģ - E’ˆÓFƒƒOƒCƒ“‚ĩ‚ĂǂéƒAƒJƒEƒ“ƒg‚ðíœ‚ĩ‚―ę‡‚Ė“Ūė‚Í•s–ū - - (char/) - char.c - ƒpƒPƒbƒg2730‚Ėˆ—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()‚ðƒAƒJƒEƒ“ƒgíœŽž‚ɃpƒPƒbƒg2730‚ð‘—‚é‚æ‚Ī‚ÉCģ - -Eathena-start stop ‚Å’âŽ~‚ģ‚đ‚―ę‡Aƒf[ƒ^‚Š•Û‘ķ‚ģ‚ę‚Ȃǖâ‘č‚ðCģ - kill‚Å‘—‚éƒVƒOƒiƒ‹‚ðSIGKILL‚Đ‚įSIGTERM‚ɕύXB - ‚Į‚Ī‚ĩ‚Ä‚āSIGKILL‚ð‘—‚č‚―‚Ēę‡‚Í athena-start kill ‚ðŽg‚Á‚Ä‚­‚ū‚ģ‚ǁB - - athena-start - stopCģAkill’Į‰Á - --------------------- -//0967 by Asong -Eƒ‚ƒ“ƒXƒ^[‚ĖŽc‰e‚ðŽĀ‘•B -@’Ęíƒ‚ƒ“ƒXƒ^[‚̓XƒLƒ‹‚É‚æ‚éƒtƒBƒ‹ƒ^[‚Š‚Đ‚Đ‚į‚Č‚Ē‚Ė‚ÅŽc‘œ‚Šo‚Ü‚đ‚ņB -@‚o‚bŒ^ƒ‚ƒ“ƒXƒ^[‚ɂ͎c‘œ‚Šo‚Ü‚·B -Eƒ‚ƒ“ƒXƒ^[ƒXƒLƒ‹Žg—p‘Ώۂð’Į‰ÁB -@around5`around8‚̓^[ƒQƒbƒg‚ĖŽü•ÓƒZƒ‹‚ð‘Ώۂɂĩ‚Ü‚·B -@ -@ (map) -@ mob.c -@ mobskill_use() Cģ -@ mob_readskill() Cģ -@ mob.h Cģ -@ skill.c -@ skill_castend_pos2() Cģ - --------------------- -//0966 by (“Ę) -EƒT[ƒo[snapshot -EƒfƒBƒŒƒNƒgƒŠ\‘Ē‚ð•ύX(common,login,char,map‚Í/srcˆČ‰š‚Ɉړ]) -@‚ŧ‚ę‚É”š‚ĪMakefile“™‚ĖƒpƒX‘‚ŦŠ·‚Ķ -Enpc_turtle.txt‚ðnpc_town_alberta.txt‚É“‡ -Eƒ‚ƒ“ƒN‚ĖƒRƒ“ƒ{‚ÉŠÖ‚·‚éƒfƒBƒŒƒC‚ð•ύX -Ebattle_config.enemy_critical‚ĖƒfƒtƒHƒ‹ƒg‚ðno‚ɕύX -E“]ķE“™‚ð–ģŒø‚É‚·‚éenable_upper_class‚Ė’Į‰Á -E@joblvup,@charjlvl‚ÅJobƒŒƒxƒ‹‚ŠÅ‚‚Ė‚Æ‚Ŧ‚É•‰”‚ðŽ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@mapexitŽĀsŽž‘SƒZƒbƒVƒ‡ƒ“‚ðkick‚·‚邿‚Ī‚É•ÏXB -E”’nŽæ‚莞‚ɕЕû‚Š“|‚ę‚Ä‚āA‚ā‚Ī•Ð•û‚Ė”’n‚Š‰ðœ‚ģ‚ę‚Ȃǖâ‘čCģB(–ĒƒeƒXƒg) -EƒXƒeƒB[ƒ‹î•ņŒöŠJ‹@”\ŽĀ‘•B(–ĒƒeƒXƒg) -@ƒXƒeƒB[ƒ‹‚ÉŽŒũ‚·‚邯A‰―‚ðƒXƒeƒB[ƒ‹‚ĩ‚―‚Ė‚Đ -@‰æ–Ę“ā‚ĖPTƒƒ“ƒo[‘Sˆõ‚É’m‚į‚đ‚é‹@”\‚Å‚·B -@battle_athena.conf‚Ėshow_steal_in_same_party‚Őݒč‚Å‚Ŧ‚Ü‚·B -@ƒIƒŠƒWƒiƒ‹ƒAƒbƒvƒf[ƒg‚ĖˆŨAƒfƒtƒHƒ‹ƒg‚Íno‚É‚ĩ‚Ăǂ܂·B -EƒCƒhƒDƒ“‚Ė—ŅŒį‚ˉņ•œŒø‰ĘŽĀ‘•B - - (conf/) - battle_athena.conf‚ɍ€–Ú’Į‰ÁB - (map/) - atcommand.c - atcommand_mapexit() CģB - pc.c - pc_steal_item() CģB - pc_show_steal() ’Į‰ÁB - skill.c - skill_unitsetting()Askill_unit_onplace() CģB - battle.c - battle_config_read() CģB - battle.h CģB - (doc/) - conf_ref.txt ”ē‚Ŋ‚Ä‚―‚Ė‚ðFX’Į‰ÁB - --------------------- -//0964 by (“Ę) - -E‚ą‚Ė‘O’Į‰Á‚ĩ‚―skill_tree2.txt‚ð”pŽ~‚ĩ‚―‚Ė‚Åíœ‚ĩ‚Ä‚­‚ū‚ģ‚Ē -Eskill_tree.txt‚ĖƒtƒH[ƒ}ƒbƒg‚ð•ύX•Kalen‚ģ‚ņ‚Č‚Į‚Ėî•ņ‚ðŒģ‚É“]ķƒcƒŠ[‚ĖŒĐ’ž‚ĩ -E‚ŧ‚ę‚ɂƂā‚Č‚Á‚Äpc.c‚Ėƒtƒ@ƒCƒ‹“Į‚ݏo‚ĩ•”•ЂȂĮ‚ð•ύX -EAthenaŽG’kƒXƒŒƒbƒh part3 >>14 miya‚ģ‚ņ‚ĖŽw“E‚Š‚ ‚é‚܂ł·‚Á‚Đ‚č–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, @jobchange3”pŽ~ @jobchange‚Ɉø”’Į‰Á @helpŽQÆ - —á: @jobchange2 10 Ļ @jobchange 10 1 -E“Ŋ—l‚É@charjob2, @charjob3”pŽ~ @charjob‚Ɉø”’Į‰Á @helpŽQÆ - —á: @charjob2 10 ‚Ų‚°‚Ų‚° Ļ @charjob 10 1 ‚Ų‚°‚Ų‚° -E“Ŋ—l‚ɃXƒNƒŠƒvƒg‚Ėjobchange2, jobchange3–―—ß”pŽ~ jobchange‚Ɉø”’Į‰Á script_ref.txtŽQÆ - —á: jobchange2 10; Ļ jobchange 10,1; -EŠ‚Į‚ę‚ā’Į‰Á‚ģ‚ę‚―ˆø”‚ÍČ—Š‰Â”\‚Å‚·B‚Ȃ˂ŁA“]ķƒm[ƒrƒX‚ÍŒŧó‚ĖƒXƒNƒŠƒvƒg‚Å“]ķˆęŽŸE‚É“]E‚Å‚Ŧ‚Ü‚·B - —á: Novice High Ļ @jobchange 10 Ļ Whitesmith - Novice Ļ @jobchange 10 Ļ Blacksmith -EƒXƒNƒŠƒvƒg‚Đ‚į“]ķ‚ĩ‚Ăǂé‚Đ”ŧ’č‚·‚é‚―‚ß‚ÉUpper‚ð’Į‰Á‚ĩ‚Ü‚ĩ‚―BUpper 0=’ʏí, 1=“]ķ, 2=—{Žq - Upper=0‚ĖŽž‚ÉBaseLevel=99‚Č‚į“]ķ‚ģ‚đ‚é`‚Æ‚Đ‚ŧ‚Ī‚Ē‚ĪƒXƒNƒŠƒvƒg’N‚Џ‘‚ǂĂ­‚ū‚ģ‚Ē - ‚ŧ‚ĖŽž‚ÉŒģ‚ːE‹Æ‚Í‹L‰Ŋ‚ĩ‚ĂǂȂǂ˂ʼni‘ą•ϐ”‚Æ‚Đ‚ÅŠo‚Ķ‚ģ‚đ‚Ä”ŧ’č‚ģ‚đ‚Č‚Ē‚Æ“]ķŒã‰―‚ɂłā“]E‚Å‚Ŧ‚ŋ‚á‚΁H -EƒoƒCƒIƒvƒ‰ƒ“ƒg‚ƃXƒtƒBƒAƒ}ƒCƒ“‚ÅŒÄ‚Ņo‚ģ‚ę‚éMob‚Ė–ž‘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 (“Ę) - -EE‹Æ‚Í0`23‚ŏˆ—‚ĩ‚―‚ǂ˂œ]ķE—p‚ĖƒXƒLƒ‹ƒcƒŠ[’Į‰ÁAeAthena‚ðŽQl‚ÉŠg’Ģ - ‚Á‚Ä‚Ē‚Ī‚ĐŠØ‘–{ƒT[ƒo‚Å‚ĖŽĀ‘•‚ĖŽ‘—ŋ‚ŠŒĐ“–‚―‚į‚Ȃǂ˂œK“– -Esakexe.exe‚ð‰ðÍ‚ĩ‚Äskill_db.txt•ύXA‚ą‚ę‚āeAthena‚ðŽQl‚ÉŠg’Ģ - ‚Į‚ꂊ–{ƒT[ƒo‚ÅŽĀ‘•‚ģ‚ę‚ĂǂéƒXƒLƒ‹‚Đ•Š‚Đ‚č‚Ü‚đ‚ņ‚ÁII -ĶƒXƒLƒ‹ƒcƒŠ[‚Š•\ŽĶ‚ģ‚ę‚―‚Đ‚į‚Æ‚Ē‚Á‚ÄŽg‚Ķ‚é‚í‚Ŋ‚ķ‚á‚ ‚č‚Ü‚đ‚ņ‚ÁII - - (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 ŒÓ’ą—– - -EƒXƒNƒŠƒvƒg‚ɃTƒuƒ‹[ƒ`ƒ“/ƒ†[ƒU[’č‹`ŠÖ”‹@”\’Į‰Á - Ú‚ĩ‚­‚̓Tƒ“ƒvƒ‹‚Æscript_ref.txt‚ð“Į‚ņ‚Å‚­‚ū‚ģ‚ǁB - ’n–Ą‚É‘å‰ü‘ǂȂ˂ŁAƒXƒNƒŠƒvƒgŠÖŒW‚ŃoƒO‚Š‚ ‚é‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņB - - (map/) - map.h/map.c - struct map_session_data ‚ɃXƒNƒŠƒvƒgî•ņ‘Þ”ð—p‚Ėƒƒ“ƒo’Į‰Á - map_quit()Cģ - script.h/script.c - FXCģ(run_script(),run_func()‚ŠŽå) - npc.c - npc_parse_function()’Į‰Á‘ž - (conf/sample) - npc_test_func.txt - ƒ†[ƒU[’č‹`ŠÖ”/ƒTƒuƒ‹[ƒeƒBƒ“‚ĖƒeƒXƒgƒXƒNƒŠƒvƒg - (doc/) - script_ref.txt - ƒTƒuƒ‹[ƒeƒBƒ“‚Č‚Į‚ːā–ū’Į‰Á - --------------------- -//0960 by (“Ę) -E–{ŽI‘ŠˆáƒXƒŒƒbƒh part2 >>62 KK‚ģ‚ņ‚ĖƒAƒ“ƒNƒ‹ƒXƒlƒACģ‚ð“ŊŦ -EƒoƒO•ņƒXƒŒƒbƒh part5 >>14-16 rb‚ģ‚ņ‚ĖƒoƒOCģ‚ð“ŊŦ -EFor English User Forum >>15 Mugendai‚ģ‚ņ‚ĖŽw“E‚Å0x1d7‚ðŽg‚΂˂ÍVal>255‚ɏCģ(0xc3‚ĖVal‚Í1ƒoƒCƒg‚ū‚Đ‚į0x1d7‚ðŽg‚Ī‚Ė‚Đ‚Æ”[“ū) -Epc_calc_base_job()‚ð•ύX‚ĩ‚ÄŒģjob‚ū‚Ŋ‚łȂ­ƒmƒr‚ĐˆęŽŸ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.txt‚Šdoc‚ķ‚á‚Č‚­‚Äconf‚˂ГĮ‚ݏo‚ģ‚ę‚Ä‚―Q|P|› -Egamejoke‚ðŽQl‚É“]ķ“ņŽŸE‚ĖƒXƒe[ƒ^ƒX‰Ád’l‚ðjob_db2-2.txt‚É‹Lq -EƒXƒNƒŠƒvƒg‚Éjobchange2‚Æjobchange3‚ð’Į‰Á‚ŧ‚ꂞ‚ę“]ķE‚Æ—{ŽqE‚Ö“]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•û–Ę‚ĖŽĀ‘•‚ðFX -Ed—ʐ§ŒĀ‚Í—Į‚­•Š‚Đ‚į‚Č‚Ē‚Ė‚ÅŒģ‚ːE‹Æ‚Ė’l‚ð‚ŧ‚Ė‚Ü‚ÜŽg‚Á‚Ăǂ܂·(ƒ‚ƒ“ƒNƒ`ƒƒƒ“ƒsƒIƒ““™) -E‘•”õ•i‚ā“ŊãAHP‚âSP‚Ėƒe[ƒuƒ‹‚ā“Ŋã‚Ȃ˂ŁA“]ķ‚ĩ‚Ä‚āHP‚Č‚Į‚Š‘‚Ķ‚Č‚ĒƒKƒbƒJƒŠŽd—l‚Å‚· - - (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Ė@jobchangeA@charjob2Ė@jobchange2A(ry -E@mapexit‚ð’Į‰ÁAmap-server‚𗎂Ƃ·ƒRƒ}ƒ“ƒh‚Å‚·atcommand_athena.conf‚Å‚Í99Ý’č‚É‚ģ‚ę‚Ă܂·‚Ė‚ÅŽg—p‚ɂ͏\•Š’ˆÓ‚ĩ‚Ä‚­‚ū‚ģ‚ǁ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ŒĐ‚―–Ú‚ÆŒoŒą’lƒe[ƒuƒ‹‚ū‚Ŋ‚Å‚· -E—{ŽqE‰žŽĀ‘•(@jobchange3)AŒĐ‚―–Ú‚ū‚Ŋ‚Å‚·Œŧó‚ł͌oŒą’l‚Í“]ķ“ņŽŸE‚Æ“Ŋ‚킯‚Ē‚Īƒ}ƒ]Žd—l -Ķã‹L2“_‚Í“]ķE‚ŠŽĀ‘•‚ģ‚ę‚ĂǂéƒNƒ‰ƒCƒAƒ“ƒg‚łȂŊ‚ę‚ÎŽĀs‚·‚邯ƒGƒ‰[—Ž‚ŋ‚·‚é‚˂ŒˆÓII -@‚ŧ‚ĖŒã’žÚƒZ[ƒuƒf[ƒ^‚ð˜M‚į‚Č‚Ē‚ÆƒLƒƒƒ‰ƒZƒŒ‚É‚ās‚Ŋ‚Č‚­‚Č‚č‚Ü‚·II -EAthenaŽG’kƒXƒŒƒbƒh part2 >>149 ‹HŽ}‚ģ‚ņ‚Ė•ņ‚ðŒģ‚ɃK[ƒfƒBƒAƒ“‚ðCģ -EÔˆČŠO‚ŃK[ƒfƒBƒAƒ“‚Æ‚ĐƒGƒ“ƒyƒŠƒEƒ€‚ð‰Ģ‚邯map-server‚Š—Ž‚ŋ‚Ăǂ―‚Ė‚āCģ(–ĒŠm”F) -EƒXƒpƒmƒr‚ĖJobƒe[ƒuƒ‹‚ÍFor English User Forum >>13 kingbo‚ģ‚ņ‚Ėƒf[ƒ^‚ðŒģ‚ɏCģ -E“]ķE‚ĖŒoŒą’lƒe[ƒuƒ‹‚ÍOWN‚ðŽQÆ‚ĩ‚ÄBase99‚ĖŒoŒą’l‚Í•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 -Eƒyƒbƒg‚Ėƒ‹[ƒg‹@”\B - EŽd—l‚Ímob‚Ėƒ‹[ƒg‚É‹ß‚ĒŠī‚ķ‚Å‚·‚ЁAŽË’ö‚ð’Z‚­‚ĩ‚Ă܂·B - EE‚Á‚―ƒAƒCƒeƒ€‚́AƒpƒtƒH[ƒ}ƒ“ƒX‚ð‚·‚é‚Æ°‚É—Ž‚Æ‚ĩ‚Ü‚·B - E—‘‚É–ß‚ĩ‚―‚čAƒƒOƒIƒt‚ĩ‚―‚Æ‚Ŧ‚ÍPC‚ĖŽčŒģ‚É“ü‚邿‚΂ɂĩ‚Ü‚ĩ‚―B(d—Ę’ī‰ß‚̓hƒƒbƒv) - EE‚Ķ‚éŒÂ”‚̓‹[ƒgmob“Ŋ—l‚Ė10ŒÂ‚Å‚·‚ЁA11ŒÂ–ڂ͏E‚Ē‚És‚Ŧ‚Ü‚đ‚ņB - Eƒ‹[ƒgŒ ‚Ė–â‘č‚Đ‚įAƒAƒCƒeƒ€‚Éfirst_id‚Š“ü‚Á‚ĂǂāA‚ŧ‚ę‚ŠŽ”‚ĒŽåˆČŠO‚ū‚Á‚―‚įA‰―•bŒo‚Æ‚Ī‚ÆE‚ǂ܂đ‚ņB(–ĒŠm”F) - E‚ŧ‚悯A‰Ũ•ĻŽ‚ŋ‚É‚ģ‚ę‚邯‰ÂˆĢ‘z‚Ȃ˂ŁAd—ʐ§ŒĀ‚ā‚‚Ŋ‚Ü‚ĩ‚―B‚ą‚ę‚Íconf‚Őݒč‰Â”\‚Å‚·B -Eatcommand‚ŁA@where‚Ђ΂܂­“­‚Ē‚Ä‚Č‚Đ‚Á‚―‚Ė‚ÅCģ(‚Ü‚―ƒEƒ`‚ū‚Ŋ‚ЂȂŸĨĨĨj -E@memo‚Åmemo‚·‚鎞‚́Amapflag‚ð–ģŽ‹‚·‚邿‚΂ɁB -EƒXƒtƒBƒAƒ}ƒCƒ“‚Ė–ž‘O‚ū‚ŊCģB - - (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ģ‚ðŽæ‚čž‚Ý -EƒoƒO•ņƒXƒŒƒbƒh part5 >>10 Sin‚ģ‚ņ‚ĖCģ‚ðŽæ‚čž‚Ý -E‚Â‚Ē‚Å‚ÉŒĐ‚Đ‚Ŋ‚―atcommand_character_joblevel‚Ė•s‹ï‡‚ðCģ -E@ƒRƒ}ƒ“ƒh‚ŃWƒ‡ƒuƒŒƒxƒ‹‚ðã‚°‚邯‚Ŧ‚ɃXƒpƒmƒr‚ÍJob70‚܂őΉž(–ĒŠm”F) - - (/) - 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‚ĖðŒ’l‚É0ˆČŠO“ü‚Á‚Ä‚Ē‚Č‚Đ‚Á‚―‚Ė‚ð’ųģ -Egcc 2.95‚ŃRƒ“ƒpƒCƒ‹‚Å‚Ŧ‚邿‚΂ɒųģ(by ƒoƒOƒXƒŒpart5 >>2 ˆĐ‚ģ‚ņ) -EŠ‚âLinux‚Č‚Į‚ðl—ķ‚ĩ‚Ästart‚âMakefile‚Č‚Į‚ˉüs‚ðLF‚ɕύX -E0952‚ŏo‚―ƒRƒ“ƒpƒCƒ‹Œx‚ðo‚Ȃǂæ‚Ī‚ÉCģ -E0952‚ōXV‚ģ‚ę‚ȂЂÁ‚―conf_ref.txt‚ðCģ - - (/) - start ‰üsƒR[ƒh•ύX - athena-start ‰üsƒR[ƒh•ύX - (db/) - mob_skill_db.txt Cģ - (doc/) - conf_ref.txt Cģ - (login/) - Makefile ‰üsƒR[ƒh•ύX - (map/) - Makefile ‰üsƒR[ƒh•ύX - atcommand.c - atcommand() éŒūˆĘ’uCģ - atcommand_where() éŒūˆĘ’uCģ - 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() éŒūˆĘ’uCģ - guild.c - guild_gvg_eliminate_timer() éŒūˆĘ’uCģ - mob.c - mob_damage() éŒūˆĘ’uCģ - script.c - buildin_deletearray() éŒūˆĘ’uCģ - buildin_getequipcardcnt() éŒūˆĘ’uCģ - buildin_successremovecards() éŒūˆĘ’uCģ - --------------------- -//0952 by CG -Econf‚ÅDEF‚ÆMDEF‚ĖŒvŽZ•û–@‚ð‘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 (“Ę) -EƒT[ƒo[snapshot -EƒoƒO•ņƒXƒŒƒbƒh part4 >>95 KAJIKEN‚ģ‚ņ‚ĖCģ‚ð“ŊŦ -E“Ŋ >>138 ƒoƒO‚ЂȁH‚ģ‚ņ‚ĖCģ‚ð“ŊŦ -EAthenaŽG’kƒXƒŒƒbƒh part2 >>112 –ž–ģ‚ĩ‚ģ‚ņ‚ĖPVPƒiƒCƒgƒƒAƒ‚[ƒh‚ĖƒAƒ“ƒ_[ƒNƒƒXƒ}ƒbƒvƒ[ƒvƒ|ƒCƒ“ƒg‚ð“ŊŦ -E“Ŋ >>96 ‹HŽ}‚ģ‚ņ‚Ėnpc_gldcheck.txt‚ð“ŊŦ -EƒXƒiƒbƒvƒVƒ‡ƒbƒg‚Ésave/‚ð“ü‚ę‚é‚Ė‚ð‚â‚߂܂ĩ‚―B–ģ‚Ēę‡‚Íathena-start‚Šė‚Á‚Ä‚­‚ę‚Ü‚· -Eathena-start‚Ålog/‚Š–ģ‚Ēę‡‚ɍė‚邿‚Ī‚É•Ï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_db‚ĖModeƒtƒ‰ƒO‚ÉˆČ‰š‚˕ςð’Į‰Á - 0x40(64) ƒ_ƒ[ƒW‚ð1‚ɌŒč(‘‚âƒNƒŠƒXƒ^ƒ‹‚Č‚Į) - 0x80(128) UŒ‚‚ðŽó‚Ŋ‚―‚Æ‚Ŧ‚É”―Œ‚‚ð‚·‚é -Eã‹L‚Ė•ÏX‚Ė‚―‚ßmob_db.txt‚Ų‚Ú‘S•”•ύXAmob_db2.txt‚ðė‚Á‚Ăǂél‚Í - ‘‚Č‚Į1ƒ_ƒŒÅ’č‚É‚ÍMode‚É64‚ð‘Ŧ‚ģ‚Č‚Ē‚Æ•’Ę‚Éƒ_ƒ[ƒW - ‚ŧ‚Ė‘žMob‚ÍMode‚É128‚ð‘Ŧ‚ģ‚Č‚Ē‚Æ”―Œ‚‚ĩ‚Ä‚ą‚Č‚­‚Č‚é‚˂ŒˆÓ - - (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 ‚Ō‚ī‚Ü‚ņ - -EƒXƒe[ƒ^ƒXˆŲí‘ϐŦ‘S–ʏCģB -@‘ϐŦŽZoŽŪ‘S–ʏCģB -@ƒXƒe[ƒ^ƒXˆŲí‘ϐŦ100%‚ĖƒLƒƒƒ‰ƒNƒ^[‚ɂ͏ó‘ÔˆŲí‚ðs‚í‚Ȃǂæ‚Ī‚ÉCģB -EƒfƒBƒXƒyƒ‹‚ĖŽd—l•ύXB -@‰ðœ‚ĩ‚―‚įƒVƒXƒeƒ€ã–â‘č‚Ė‚ ‚éƒXƒe[ƒ^ƒX•ωŧˆČŠO•ЂÁ’[‚Đ‚į‰ðœ‚·‚邿‚Ī‚ÉCģB -EƒtƒƒXƒgƒ_ƒCƒo[‚ĖŽd—l•ύXB -@“€Œ‹—ĶCģ(ƒ}ƒWƒXƒŒƒeƒ“ƒvƒŒ€‹’)B -EƒŠƒJƒoƒŠ[‚ĖŽd—l•ύXB -@ƒmƒ“ƒAƒNƒeƒBƒuƒ‚ƒ“ƒXƒ^[‚ÉŽg—p‚·‚邯ƒ^[ƒQƒbƒg‚ŠƒŠƒZƒbƒg‚ģ‚ę‚邿‚Ī‚ÉCģB -EƒNƒ@ƒOƒ}ƒCƒA‚ĖŽd—l‚ŠƒAƒŒ‚ū‚Á‚―‚Ė‚ÅCģB -@‰‰‘t‚â‘ېŦę‚Æ“Ŋ—l‚Érange‚ŏˆ—‚·‚邿‚Ī‚ÉCģB -@DEX/AGI”žŒļ‚ˉe‹ŋ‚ЉrĨˆČŠO‚É‚ā‹y‚Ô—l‚ɏCģB -EƒXƒLƒ‹ƒ^[ƒQƒbƒg’†‚ÉŽ€‚ņ‚ūU‚č‚ðŽg—p‚ĩ‚Ä‚āƒXƒLƒ‹‚Љņ”ð‚Å‚Ŧ‚Ȃǖâ‘čCģB -E”’nŽæ‚肊“Ūė‚ĩ‚Ȃǖâ‘č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 CģB - --------------------- -//0948 by ŒÓ’ą—– - -Ewarpwaitingpc‚Аģ‚ĩ‚­PC‚ð“]‘—‚Å‚Ŧ‚Ȃǖâ‘č‚ðCģ -EƒXƒNƒŠƒvƒg‚Ė“Į‚ݍž‚ÝŽž‚ɃGƒ‰[‚Ü‚―‚ÍŒx‚Šo‚éę‡AŒx‰đ‚ð–Â‚į‚·‚æ‚΂ɁB - i—Ž‚ę‚―ƒƒO‚ðŒĐ‚Ȃǐl‘΍ô‚Å‚·j - - (map/) - script.c - buildin_warpwaitingpc()Cģ - disp_error_message()Cģ - -Eatcommand.cCģ - Eatcommand_athena.conf‚Ėmapmove‚ð“Į‚Þ‚æ‚Ī‚É - E@str‚Č‚Į‚ĖČ—ŠŽž‚Ė•K{ƒŒƒxƒ‹‚ð0‚ɁB - E@param‚ÍŽg‚í‚Č‚Ē‚Ė‚ÅƒRƒƒ“ƒg‰ŧ - - (map/) - atcommand.c - ŠY“–ŒÂŠCģ - -Emob‚ŠÅ‘å15•b‚Ų‚ĮˆÚ“Ū‚ĩ‚Č‚Ēę‡‚Š‚ ‚é–â‘čCģ - EŽč”ē‚Ŧ‚łȂĒmobˆ—‚ŁAˆÚ“Ū‚ĩ‚Č‚ĒŽžŠÔ‚Š7•bˆČã‘ą‚Đ‚Č‚Ē‚æ‚Ī‚ÉCģ - - (map/) - mob.c - mob_ai_sub_hard()Cģ - -E‰õ‘Ž‘Dˆõ‚ĖˆÉ“Ī`s‚Ŧ‚Ė”ŧ•ĘŽŪCģ (by ID:F8nKKuY) - (conf/npc/) - npc_town_comodo.txt - --------------------- -//0947 by (“Ę) -EŽæ‚芊‚Ŧ‚ÍŽæ‚芊‚Ŧ‚ðĒŠŦ‚ĩ‚Ȃǂæ‚Ī‚ÉCģ -E˜I“V‚˔˔„‰ŋŠ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 CģB - vending.c - vending_openvending() CģB - --------------------- -//0946 by Kalen -Eƒvƒ–kWarpŒĐ’ž‚ĩ -ŽQlF–{ŽI(1F,2F)‚į‚ۂȂˉ―‚Đ(3F) - (conf/warp/) - npc_warp.txt - -EŒę‚č•”‚Ė2T3T’Į‰Á(‚Į‚Ī‚đŒĐ‚Č‚Ē‚ÆŽv‚ǂ܂·‚Ёc) - (conf/npc/) - npc_event_kataribe.txt - --------------------- -//0945 by ŒÓ’ą—– - -ENPCƒ^ƒCƒ}[ƒ‰ƒxƒ‹ƒf[ƒ^‚Аģ‚ĩ‚­ƒCƒ“ƒ|[ƒg‚ģ‚ę‚Ȃǖâ‘č‚ðCģ -ENPCƒ^ƒCƒ}[‰Šú’l‚âƒ^ƒCƒ}[ID‚Аģ‚ĩ‚­‰Šú‰ŧ‚ģ‚ę‚Ȃǖâ‘č‚ðCģ -ENPC‚Ėduplicate‚ðs‚Ī‚ÆƒAƒNƒZƒXˆá”―‚Š‹N‚ą‚éę‡‚Š‚ ‚é–â‘č‚ðCģ - - (map/) - npc.c - npc_parse_scriptCģ - -Eƒpƒbƒ`ƒAƒbƒvƒXƒŒ‚S‚Ė87‚Ėpc.c‚Æ‚č‚ą‚Ý - (map/) - pc.c - ƒJ[ƒhd—ʐ§ŒĀ‚ðŒģ‚É–ß‚ĩ‚―‚ā‚Ė - --------------------- -//0944 by huge -EƒMƒ‹ƒh‚Ėã”[ŒoŒą’l‚ĖãŒĀ‚ðAconf‚Ő§ŒĀ‚Å‚Ŧ‚邿‚΂ɁB -E˜I“X‚˔˔„‰ŋŠi‚ð10M‚܂łɐ§ŒĀB -EƒJ[ƒg‚Ėd—ʐ§ŒĀ‚ŠˆęŒ…‰š‚Š‚Á‚Ä‚―‚ņ‚Å‚·‚ЁAƒEƒ`‚ū‚Ŋ‚Å‚·‚ЁHCģ‚ĩ‚Ă݂܂ĩ‚―‚ЁB - - (conf/) - battle_athena.conf - guild_exp_limit’Į‰Á - (doc/) - conf_ref.txt Cģ - (map/) - atcommand.c - ‘hķŽž‚ĖSP‰ņ•œ‚ŁAŨ‚Đ‚ĒCģB - battle.c - battle_config_read() Cģ - battle.h CģB - guild.c - guild_change_position() CģB - pc.c - pc_calcstatus() CģB - vending.c - vending_openvending() CģB - --------------------- -//0943 by (“Ę) -Ebattle_athena.conf‚Ådead_branch_active‚ðyes‚É‚·‚邯ŒÃ–Ø‚ĖŽ}‚ÅĒŠŦ‚ģ‚ę‚郂ƒ“ƒXƒ^[‚ŠƒAƒNƒeƒBƒu‚ɂȂ邿‚Ī‚É•ÏX -E”ũ–­‚ɕύX‚ĩ‚―client_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ģ - -E‰pŒęƒXƒŒ‚Ėkingbo‚ģ‚ņ‚Ė•Ï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 ŒÓ’ą—– - -EƒAƒNƒZƒXƒRƒ“ƒgƒ[ƒ‹‚Å•sģ‚Čƒƒ‚ƒŠ‚ɃAƒNƒZƒX‚·‚éę‡‚Š‚ ‚éƒoƒO‚ðCģ - (login/) - login.c - check_ipmask()Cģ - -EƒXƒNƒŠƒvƒgƒŠƒtƒ@ƒŒƒ“ƒX­‚ĩ’Į‰Á‚ƏCģ - (doc/) - script_ref.txt - Cģ - --------------------- -//0941 by (“Ę) - -Ee2‚ģ‚ņ‚Ė•ņ‚ðŒģ‚ÉĒŠŦ‚ģ‚ę‚―Žč‰š‚ĖƒXƒs[ƒh‚ðĒŠŦŽå‚Æ“Ŋ‚ķ‚É‚ĩ‚Ă݂é - - (map/) - battle.c - battle_get_speed() Cģ - mob.c - mob_spawn() Cģ - mob_summonslave() Cģ - --------------------- -//0940 by End_of_exam - -Eƒq[ƒ‹‚âƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[‚ðŽg—p‚ĩ‚Ä‚ā‰ņ•œ‚ĩ‚Č‚ĒƒoƒO‚ðCģ(0938`)B - -@Thanks for Pepermint, reporting the bug that using PotionPitcher with -@BluePotion was no effective. -@iƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[{Â‚o‚ÅŒø‰Ę‚Š‚Č‚ĒŽ–‚ð•ņ‚ĩ‚Ä‚­‚ę‚―Pepermintށ‚ÉŠīŽÓj - - (map/) - battle.c - battle_heal() Cģ - --------------------- -//0939 by (“Ę) -EcutinƒpƒPƒbƒg‚ð0x145(ƒtƒ@ƒCƒ‹–ž16•ķŽš)‚Đ‚į0x1b3(64•ķŽš)‚ɕύX -E‚Â‚Ē‚Å‚ÉŽG’kƒXƒŒ‚ɏグ‚―athena-start‚ð“ŊŦ - - (/) - athena-start saveƒtƒ@ƒCƒ‹‚Š–ģ‚Ē‚Æ‚Ŧ‚ɍė‚邿‚Ī‚É - (map/) - clif.c - clif_cutin() –{ŽIƒpƒPƒbƒg€‹’‚ɕύX - (doc/) - client_packet.txt Cģ - --------------------- -//0938 by ‚Ō‚ī‚Ü‚ņ - -Eƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[‚Ճ|‚𓊂°‚Ä‚āƒGƒtƒFƒNƒg‚ū‚Ŋ‚ū‚Á‚―ƒoƒOCģB -E˜I“XŠJÝ‚Š“Á’č‚ĖƒAƒCƒeƒ€”z’u‚ÅŽļ”s‚·‚éƒoƒOCģB -EƒXƒNƒŠƒvƒgŠÖ”getareadropitemŽĀ‘•B -@Žw’čƒGƒŠƒA“ā‚ĖƒhƒƒbƒvƒAƒCƒeƒ€‚ðƒJƒEƒ“ƒg‚·‚éŠÖ”‚Å‚· - -@‘ŽŪFgetareadropitem ,,,,,; -@@mapnameF‘Ώۃ}ƒbƒv–ž(—áFprontera.gat) -@@x0‚Æx1F‘ΏÛXĀ•W”ÍˆÍ -@@y0‚Æy1F‘ΏÛYĀ•W”ÍˆÍ -@@itemFƒJƒEƒ“ƒg‚·‚é‘ΏۃAƒCƒeƒ€ - -@–ß‚č’lFmapname“āĀ•W(x0,y0)-(x1,y1)‚Ė”ÍˆÍ“ā‚É—Ž‚ŋ‚Ăǂéitem‚Ė‘ŒÂ” -@@@@@Žæ“ūŽļ”sŽž‚É‚Í-1‚ð•Ô‚ĩ‚Ü‚·B -@Eitem‚Ė’l‚ÍID‚Å‚āƒAƒCƒeƒ€–ž("Red_Jemstone"‚Æ‚Đ)‚Å‚ā‚ǂǂł·B - - (map/) - battle.c - battle_heal() CģB - vending.c - vending_openvending() CģB - script.c - ƒ[ƒJƒ‹ƒvƒƒgƒ^ƒCƒvéŒūCģB - struct buildin_func[] CģB - 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 ŒÓ’ą—– - -E“ā—e‚Ė“Ŋ‚ķƒXƒNƒŠƒvƒgNPC‚ð‰―“x‚ā‹Lq‚ĩ‚Č‚­‚Ä‚āŒū‚Ē‚æ‚Ī‚ÉCģ - ENPC’č‹`‚Ė"script"‚Ə‘‚­•”•Š‚ð"duplicate(NPC–ž)"‚Æ‚·‚邯A - ŠY“–‚ĖNPC‚ƃXƒNƒŠƒvƒg‚ð‹Ī—L‚·‚邿‚΂ɁBNPC–ž‚Í•\ŽĶ–ž‚Å‚Í‚Č‚­ - ƒGƒNƒXƒ|[ƒg‚ģ‚ę‚é–ž‘O‚ðŽw’č‚ĩ‚Ü‚·B - <—á> -prontera.gat,165,195,1 duplicate(ƒJƒvƒ‰Eˆõ) ƒJƒvƒ‰Eˆõ2 112 - - E‹Ī—LŒģ‚ĖNPC‚Í“Ŋ‚ķƒ}ƒbƒvƒT[ƒo[‚É‘ķÝ‚·‚é•K—v‚Š‚ ‚é‚―‚߁A - “Ŋ‚ķƒ}ƒbƒv‚Å‚Č‚Ēę‡‚Íduplicate‚·‚Ũ‚Ŧ‚Å‚Í‚Č‚ĒB - ‚―‚ū‚ĩANPC‚ĖˆĘ’u‚ð"-"‚É‚·‚邹‚ƂŁAƒ}ƒbƒvã‚ɂ͑ķÝ‚ĩ‚ȂǂЁA - ƒ}ƒbƒvƒT[ƒo[“ā‚ɂ͑ķÝ‚·‚éNPC‚ðėŽ‚Å‚Ŧ‚é‚˂ŁA - ‚ŧ‚ĖNPC‚ð‹Ī—LŒģ‚É‚·‚é‚˂ł ‚ę‚΂Į‚Ėƒ}ƒbƒv‚Ö‚ā‹Ī—L‚Å‚Ŧ‚éB - <—á> - -- script ƒeƒXƒg::test1 112,{ // ‚ą‚ĖNPCƒOƒ‰ƒtƒBƒbƒNID‚ÍŽg—p‚ĩ‚Č‚Ē -// (—Š) -} -prontera.gat,165,195,1 duplicate(test1) ƒeƒXƒg2 112 -geffen.gat,99,99,1 duplicate(test1) ƒeƒXƒg3 112 - - Eã‚Ėƒ}ƒbƒv‚É‘ķÝ‚ĩ‚Č‚ĒNPC‚̓Cƒxƒ“ƒg‚ɂ₷‚邹‚Æ‚Š‚Å‚Ŧ‚éB - i‚Į‚Ėƒ}ƒbƒvƒT[ƒo[‚Đ‚į‚Å‚ā•K‚ļŒÄ‚Ņo‚đ‚éƒCƒxƒ“ƒg‚ɂȂéj - - (map/) - map.h - struct npc_label_list’Į‰Á,struct npc_dataCģ - npc.c - npc_parse_script()Cģ - •s—v‚ɂȂÁ‚―ƒ‰ƒxƒ‹ƒf[ƒ^ƒx[ƒXŠÖ˜A‚ĖŠÖ”‚ðíœ - --------------------- -//0934 by ‚Ō‚ī‚Ü‚ņ - -EMOB‚Ėó‘ÔˆŲí‘ϐŦ‚Š‚â‚―‚į‚‚Đ‚Á‚―‚Ė‚ðCģB -E‘Ž“xŒļ­‚ĖŽd—l•ύX(ŽŒũ—ĶŒvŽZŽŪ•ύXEŽļ”sŽž‚ɂ̓GƒtƒFƒNƒg–ģ‚ĩ)B -E‰―Žž‚ĖŠÔ‚É‚Đó‘ÔˆŲí‚ĖŒp‚Ž‘Ŧ‚ĩ‹ÖŽ~‚ŠƒRƒƒ“ƒgƒAƒEƒg‚ģ‚ę‚Ăǂ―‚˂Ŗ߂ĩB -Eƒ|ƒCƒYƒ“ƒŠƒAƒNƒg‚ĖƒAƒCƒRƒ“•\ŽĶ‚Š–ģ‚­‚Č‚Á‚Ăǂ―‚Ė‚ÅCģ(‚Å‚āo‚é‚ū‚Ŋc) -E”’nŽæ‚čŽĀ‘•B - - (map/) - battle.c - battle_weapon_attack() CģB - clif.c - clif_parse_WalkToXY()Aclif_parse_ActionRequest() CģB - clif_parse_TakeItem()Aclif_parse_UseItem() CģB - clif_parse_DropItem()Aclif_parse_EquipItem() CģB - clif_parse_UnequipItem() CģB - mob.c - mob_can_move()Amob_attack()Amob_ai_sub_hard() CģB - mobskill_use_id()Amobskill_use_pos() CģB - mobskill_castend_id()Amobskill_castend_pos() CģB - pc.c - pc_attack_timer()Apc_setpos() CģB - skill.c - SkillStatusChangeTable[] CģB - skill_additional_effect()Askill_castend_damage_id() CģB - skill_castend_nodamage_id()Askill_check_condition() CģB - skill_status_change_start()Askill_status_change_end() CģB - skill_use_id() CģB - skill.h CģB - (db/) - cast_db.txt CģB - --------------------- -//0933 by ŒÓ’ą—– - -EƒEƒBƒU[ƒh“]EŠNPC‰žŽĀ‘• - Eeathena‚Ėƒf[ƒ^‚Ė–|–óA‚Ļ‚æ‚Ņ–^Š‚ĖĖ‚Ėƒf[ƒ^‚ðŒģ‚ɍė‚Á‚―‚˂Š- ŠāŽI‚Ƃ͔ũ–­‚ÉˆŲ‚Č‚Á‚Ă邯Žv‚ǂ܂·B - uŒÃ‚ĒŠŠ•Ļv‚Æ‚ĐŽg‚͂܂đ‚ņ‚ĩB - EŒŧs‚Ėjob_2nd.txt‚Æˆę‚É“Į‚ݍž‚ނƁANPC‚Šd‚Č‚é‚˂ŁA - job_2nd.txt‚ĖŠY“–ƒXƒNƒŠƒvƒg‚ðƒRƒƒ“ƒg‰ŧ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB - ‚―‚ū‚ĩA‚ŧ‚Ėę‡‚̓Z[ƒW‚É“]E‚ģ‚đ‚Ä‚ā‚į‚͂Ȃǂ˂ŒˆÓ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB - - (conf/npc/) - npc_job_wizard.txt - ’Į‰Á - (conf/warp/) - npc_warp_job.txt - ƒEƒBƒU[ƒh“]EŠ‚Ėƒ[ƒv‚ðƒRƒƒ“ƒg‰ŧ - -EƒoƒOCģ - Egoto‚âmenu‚щƒxƒ‹‚ŠŒĐ‚Â‚Đ‚į‚Č‚Ē‚Æ‚ŦƒXƒNƒŠƒvƒg‚ĖŽĀs‚ð’†’f‚·‚邿‚Ī‚É. - E‚P‰ņ‚ĖƒXƒNƒŠƒvƒg‚ĖŽĀs‚ɂςǂāAŽĀs–―—ߐ”‚Š–ņ8000‚ð’ī‚Ķ‚é‚ЁA - goto‚âmenu‚ĖŽĀs‰ņ”‚Š–ņ500‰ņ‚ð’ī‚͂邯ŽĀs‚ð’†’f‚·‚邿‚΂ɁB - EŠÖ”/–―—ßŽĀsŽž‚É‚āƒGƒ‰[ƒ`ƒFƒbƒN‚ð“ü‚ę‚― - EƒMƒ‹ƒh/ƒp[ƒeƒB/ƒyƒbƒg‚Ė–ž‘O‚É“ú–{Œę‚ŠŽg‚͂Ȃǖâ‘čCģ - - - (char/) - int_guild.c/int_party.c - –ž‘O–â‘čCģ - (map/) - pet.c - –ž‘O–â‘čCģ - script.c - Cģ - --------------------- -//0932 by End_of_exam - -E0930‚ŃMƒ‹ƒh‘qŒÉ‚Ė’†g‚ŠÁ‚Ķ‚éƒoƒO‚ðCģB - - (char/) - int_storage.c guild_storage_tostr() CģB - --------------------- -//0931 by (“Ę) -EƒT[ƒo[snapshot -EAthenaDBŒv‰æ‚Đ‚įXV‚Ė‚ ‚Á‚―•Ļ‚ð”―‰f -Eatcommand_athena.conf‚Éstr“™‚ð’Į‰Á -Eƒ[ƒvƒ|[ƒ^ƒ‹‚Ė–{ŽI‘Šˆá“_‚ðCģ -E–ķ‚ģ‚ņ‚Ėaldeg_cas03`05‚ð“ŊŦ -Ep‚ģ‚ņ‚Ėnpc_event_kataribe.txt“ŊŦ -EKAJIKEN‚ģ‚ņ‚Ėnpc_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.c‚Ælock.h‚͍폜‚ĩ‚Ä‚­‚ū‚ģ‚ǁB - ‚ą‚ę‚į‚Í common/ ‚ÉˆÚ“Ū‚ģ‚ę‚Ü‚·B - -EƒXƒNƒŠƒvƒg’Į‰ÁCģ - Esetarrayi”z—ņ‚ÖƒŠƒXƒg‘ã“üj’Į‰Á - Ecleararrayi”z—ņ‚ðŽw’č’l‚ŃNƒŠƒAj’Į‰Á - Ecopyarrayi”z—ņ‚ðƒRƒs[j’Į‰Á - Egetarraysizei”z—ņ‚Ė—LŒø‚Č—v‘f”‚ð‹‚ß‚éj’Į‰Á - Edeletearrayi”z—ņ‚Ė—v‘f‚ðíœ‚ĩ‚Â߂éj’Į‰Á - EwarpwaitingpcFl”‚âƒAƒJƒEƒ“ƒgID‚ðƒ}ƒbƒv•ϐ”‚ɃZƒbƒg‚·‚邿‚Ī‚ÉCģ - - (map/) - script.c - FX - (doc/) - script_ref.txt - –―—ß’Į‰Á‚Č‚Į - (npc/sample/) - npc_test_array.txt - ”z—ņŒnƒeƒXƒg—pNPCƒXƒNƒŠƒvƒg - -EƒoƒOCģ‚Č‚Į - EƒLƒƒƒ‰ƒNƒ^[–ž/ƒAƒJƒEƒ“ƒg–ž/ƒp[ƒeƒB–ž/ƒMƒ‹ƒh–ž/ƒyƒbƒg–ž‚É - ƒRƒ“ƒgƒ[ƒ‹ƒR[ƒh‚ðŽg‚͂Ȃǂæ‚Ī‚ÉCģB - Echar.c‚Č‚Į‚Ė•Û‘ķ‚ĖŒø—Ķ‚ðX‚ɃAƒbƒvB - E‘qŒÉƒtƒ@ƒCƒ‹/ƒMƒ‹ƒh‘qŒÉƒtƒ@ƒCƒ‹‚É‹ós‚ŠŽc‚į‚Ȃǂæ‚Ī‚ÉCģ - Elock.*‚ðcommon/‚ÉˆÚ“ŪAƒtƒ@ƒCƒ‹‚Š•Û‘ķ‚Å‚Ŧ‚Č‚­‚Č‚éƒoƒOCģA - ƒAƒJƒEƒ“ƒg‚ƃ}ƒbƒv•ϐ”‚Ė•Û‘ķ‚É‚ālock_fopen‚ðŽg‚Ī‚æ‚΂ɁB - - (common/) - lock.c/lock.h - ƒtƒHƒ‹ƒ_ˆÚ“ہAlock_fopenCģ - (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 - –ž‘O–â‘čCģ - (map/) - pet.c - –ž‘O–â‘čCģ - --------------------- -//0929 by ‚Ō‚ī‚Ü‚ņ - -Eƒ‰ƒ“ƒhƒvƒƒeƒNƒ^[ŠŪ‘SŽĀ‘•B -Eƒvƒƒ{ƒbƒN‚ĖƒXƒLƒ‹Žd—l•ύX(‰rĨ–WŠQE“€Œ‹AÎ‰ŧA‡–°‰ðœ)B -EƒŠƒJƒoƒŠ[‚ĖƒXƒLƒ‹Žd—l•ύX(ƒAƒ“ƒfƒbƒh‚ÉŽg—p‚·‚邯ˆę’čŠm—Ķ‚ÅˆÃˆÅŒø‰Ę)B -Eó‘ÔˆŲí’†‚ł⑕”õ‚ĖØ‚č‘Ö‚Ķ‚Šo—ˆ‚邿‚Ī‚É•ÏXB -EƒAƒCƒeƒ€ŽĐ“ŪŽæ“ū’†‚É@killmonster‚ðŽg—p‚·‚邯—Ž‚ŋ‚éƒoƒOCģB -EŒÓ’ą—–‚ģ‚ņ‚Šã‚°‚Ăǂ―npc.c‚ð“ŊŦ‚ĩ‚Ü‚ĩ‚―B -Eskill_db‚Å‹C‚ɂȂÁ‚Ä‚―‚Æ‚ą‚ð‚ŋ‚å‚ą‚Á‚ƏCģB - - (map/) - clif.c - clif_parse_EquipItem() CģB - skill.c - skill_castend_nodamage_id() CģB - skill_unitsetting()Askill_unit_onplace() CģB - skill_landprotector() ’Į‰ÁB - mob.c - mob_delay_item_drop()Amob_delay_item_drop2() CģB - npc.c Cģ - - (db/) - skill_db.txt CģB - --------------------- -//0928 by End_of_exam - -EƒLƒƒƒ‰‚â‘qŒÉ“āƒAƒCƒeƒ€‚ŠÁ‚Ķ‚é–â‘č‚ÉŽb’č‘ΏˆiƒLƒƒƒ‰ŽI‚ˉü—ĮjB - -@1.ƒLƒƒƒ‰ƒf[ƒ^E‘qŒÉƒf[ƒ^‚Ėƒf[ƒ^•ÏŠ·ˆ—‚ð‰ü—ĮB -@@(char/char.c , char/int_storage.c) - -@2.ƒtƒ@ƒCƒ‹‘‚Ŧo‚ĩ‚ŠI‚í‚é‚܂ŁA‹Œƒtƒ@ƒCƒ‹‚ðŽc‚·‚æ‚Ī‚ÉCģB -@ichar/lock.c, char/lock.h ‚Ė’Į‰ÁBƒƒCƒNƒtƒ@ƒCƒ‹‚ĖCģB -@@char/int_storage.c,int_guild.c,int_party.c,int_pet.c,char.c,inter.c -@@“ā‚É‚ ‚éAƒf[ƒ^‘‚Ŧo‚ĩˆ—‚ð•ύXBj - --------------------- -//0927 by ‚Ō‚ī‚Ü‚ņ - -E•ŠíUŒ‚ˆČŠO‚ÉŽí‘°•âģ‚Š“ü‚Á‚Ä‚Ē‚Č‚Đ‚Á‚―‚Ė‚ðCģB -E‰‰‘t’†‚ÉŠyŠíE•ÚˆČŠO‚Ė•Ší‚ÉŽ‚ŋ•Ï‚Ķ‚é‚Æ‰‰‘t‚ŠŽ~‚Ü‚é—l‚ɏCģB -E‰‰‘t‚ĖŒø‰Ę‚Љ‰‘tŽŌŽĐg‚ɂ͂ЂЂį‚Ȃǂæ‚Ī‚ÉCģB -EƒAƒCƒeƒ€ŽĐ“ŪŽæ“ū‹@”\ŽĀ‘• -@“G‚ð“|‚ĩ‚―Žž‚ɁAƒAƒCƒeƒ€‚Šƒhƒƒbƒv‚ģ‚ę‚é‚Ė‚Å‚Í‚Č‚­A‚ŧ‚Ė“G‚Ɉę”Ô‘―‚­‚Ėƒ_ƒ[ƒW‚ð -@—^‚Ķ‚―l(ƒ‹[ƒgŒ 1ˆĘ‚ːl)‚ɃhƒƒbƒvƒAƒCƒeƒ€‚ŠŽĐ“Ū‚Å—^‚Ķ‚į‚ę‚é‹@”\‚Å‚·B -@battle_athena.conf‚Ėitem_auto_get‚Őݒč‚Å‚Ŧ‚Ü‚·B -@ƒIƒŠƒWƒiƒ‹ƒAƒbƒvƒf[ƒg‚ĖˆŨAbattle_athena.conf‚Å‚ĖƒfƒtƒHƒ‹ƒg‚Å‚Íno‚É‚ĩ‚Ăǂ܂·B -E‘ېŦę(ƒfƒŠƒ…[ƒWEƒoƒCƒIƒŒƒ“ƒgƒQƒCƒ‹Eƒ{ƒ‹ƒP[ƒmEƒ‰ƒ“ƒhƒvƒƒeƒNƒ^[)‰žŽĀ‘• -@ˆę•”‚Ė‹@”\‚Š–ĒŽĀ‘•‚Å‚· -@@ƒfƒŠƒ…[ƒWF…ę‚ð—p‚Ē‚―ƒEƒH[ƒ^[ƒ{[ƒ‹ -@@ƒoƒCƒIƒŒƒ“ƒgƒQƒCƒ‹Fƒtƒ@ƒCƒA[ƒEƒH[ƒ‹‚ĖŽ‘ąŽžŠÔ•âģ -@@ƒ{ƒ‹ƒP[ƒmFƒAƒCƒXƒEƒH[ƒ‹‹ÖŽ~ -@@ƒ‰ƒ“ƒhƒvƒƒeƒNƒ^[FƒIƒuƒWƒFƒNƒgÝ’uŒnƒXƒLƒ‹‹ÖŽ~(‚‚܂čo‚é‚ū‚Ŋ‚ĖLP‚Å‚·) - - (map/) - battle.c - battle_calc_damage()Abattle_calc_magic_attack() CģB - battle_calc_misc_attack()Abattle_config_read() CģB - mob.c - mob_delay_item_drop()Amob_delay_item_drop2() CģB - pc.c - pc_calcstatus()Apc_equipitem() CģB - skill.c - ƒ[ƒJƒ‹ƒvƒƒgƒ^ƒCƒvéŒūCģB - SkillStatusChangeTable[] CģB - skill_castend_nodamage_id()Askill_castend_pos2() CģB - skill_unitsetting()Askill_unit_onplace() CģB - skill_unit_onout()Askill_unit_ondelete() CģB - skill_status_change_start()Askill_status_change_end() CģB - skill_clear_element_field() ’Į‰ÁB - battle.h CģB - skill.h CģB - (conf/) - battle_athena.conf - item_auto_get€–Ú‚ð’Į‰ÁB - (db/) - cast_db.txt CģB - --------------------- -//0926 by ŒÓ’ą—– - -EƒMƒ‹ƒhé‚Ė‰Šú‰ŧ•û–@•ύX - E‘S‚Ä‚ĖƒMƒ‹ƒhéi{č‹’ƒMƒ‹ƒhî•ņj‚ðŠ“ū‚ĩ‚―‚Æ‚Ŧ‚ÉOnAgitInit‚Š - ‚æ‚΂ę‚邿‚΂ɁBGetCastleData‚âRequestGuildInfo‚Ė•K—v‚ЂȂ­‚Č‚č‚Ü‚·B - ]‚Á‚āAŒŧÝ‚ĖgvgƒXƒNƒŠƒvƒg‚ĖOnInterIfInit‚âOnRecvCastleXXX‚Í - •K—v‚Č‚­‚Č‚č‚Ü‚·Bi‚Ļ‚ŧ‚į‚­Œŧs‚ĖƒXƒNƒŠƒvƒg‚ā“Ūė‚͉”\‚Å‚·j - ‰Šú‰ŧ‚Š•K—v‚ČNPC‚͕ςí‚č‚ÉOnAgitInit‚ðŽg‚Á‚Ä‚­‚ū‚ģ‚ǁB - ‚ȂρA•s—v‚ɂȂÁ‚―–―—߂ȂĮ‚ðíœ‚·‚é—\’č‚Í‚ ‚č‚Ü‚đ‚ņB - - (char/) - inter.c/inter.h/char.c/int_guild.c/int_guild.h - ƒ}ƒbƒvƒT[ƒo[Ú‘ąŽž‚ɏˆ—‚ðs‚͂邿‚Ī‚ÉCģ - Ú‘ąŽž‚ɃMƒ‹ƒhéƒf[ƒ^‚𑗐M‚·‚邿‚Ī‚É - (map/) - intif.c/guild.c/guild.h - Ú‘ąŽž‚ĖƒMƒ‹ƒhéƒf[ƒ^ˆęЇŽóMˆ—•ƒMƒ‹ƒhî•ņ—v‹A - OnAgitInit‚ĖŒÄ‚Ņo‚ĩ‚Č‚Į - chrif.c - ‹ŒOnAgitInit‚ĖŒÄ‚Ņo‚ĩíœ - (doc/) - inter_server_packet.txt - ƒMƒ‹ƒhéƒf[ƒ^ˆęЇ‘—MƒpƒPƒbƒg0x3842’Į‰Á - -EƒXƒNƒŠƒvƒg‚ÉNPCŽå‘ĖƒCƒxƒ“ƒgŽĀs–―—ß’Į‰Á - Edonpcevent(NPCŽå‘ĖƒCƒxƒ“ƒgŽĀs)’Į‰Á - ‚ą‚ŋ‚į‚Ídoevent‚ƈá‚Ēƒuƒ[ƒhƒLƒƒƒXƒg‰Â”\‚Å‚·BÚŨ‚Íscript_refB - Eisloggedin‚ĖƒRƒ“ƒpƒCƒ‹Œx‚ЂłȂǂæ‚Ī‚ÉCģ - (map/) - script.c - buildin_donpcevent()’Į‰Á‚Č‚Į - (doc/) - script_ref.txt - doevent,donpcevent,OnAgitInit’Į‰Á‚Č‚Į - -E‚ŧ‚Ė‘žCģ - (map/) - clif.c - clif_parse_GMReqNoChat()’Į‰Á - - --------------------- -//0925 by ŒÓ’ą—– - -EƒXƒNƒŠƒvƒg‚ĖƒoƒOCģ - Emonster,areamonster‚Ė–â‘čCģ - ‚ą‚ę‚į‚Íscript_rid2sd‚ðŽg—p‚ĩ‚Ȃǂæ‚΂ɂĩ‚Ü‚ĩ‚―B - sd‚ŠNULL‚Ė‚Æ‚ŦAƒŒƒxƒ‹ƒ`ƒFƒbƒN‚ðs‚í‚Ȃǂæ‚΂ɂĩ‚Ü‚ĩ‚―B - - (map/) - script.c/mob.c - buildin_monster(),buildin_areamonster(),mob_once_spawn()‘ž - -EƒXƒNƒŠƒvƒg‚Ė‹@”\’Į‰Á - Edetachrid–―—߁iƒvƒŒƒCƒ„[‚Ėƒfƒ^ƒbƒ`j’Į‰Á - EisloggedinŠÖ”iƒvƒŒƒCƒ„[‚ĖƒƒOƒCƒ“ƒ`ƒFƒbƒNj’Į‰Á - Egetitem,getitem2–―—ß,countitem,checkweightŠÖ”‚Å - nameid‚ɃAƒCƒeƒ€‚Ė–ž‘O‚ðŽw’č‰Â”\‚ɁB - (item_db‚Č‚Į‚ÉˆË‘ķ‚·‚é‚―‚߁AŽg—p‚·‚Ũ‚Ŧ‚ł͂ ‚č‚Ü‚đ‚ņ‚ЁAˆę‰ž) - - (map/) - script.c - FX - (doc/) - script_ref.txt - •ύX•”•Š‚ÆƒGƒ‰[ā–ūCģ - -Eathena-start‚Æstart‚ðCģ - Eathena-start stop‚ŃvƒƒZƒX‚ŠI—đ‚·‚é‚Ü‚Å‘Ō‚Â‚æ‚Ī‚É - Estart‚ōċN“Ū‚ģ‚đ‚邯‚Ŧathena-start restart‚ðŒÄ‚Ô‚æ‚΂ɁB - --------------------- -//0924 by (“Ę) - -EƒoƒO•ņƒXƒŒƒbƒh part4 >>66‚Ėnpc‚ðŽæ‚čž‚Ý -E“Ŋ >>51‚Ėguild.c‚ð”―‰f -E“Ŋ >>38‚Ėatcommand_athena.conf‚Ö‚Ė•ÏX‚ðŽæ‚čž‚Ý -E‚Č‚š‚ĐnpcƒtƒHƒ‹ƒ_‚É‚ ‚Á‚Ämap_athena.conf‚Č‚Ēƒtƒ@ƒCƒ‹‚ðˆę——‚É’Į‰ÁB‚Â‚Ē‚Å‚ÉƒMƒ‹ƒhƒtƒ‰ƒbƒO‚ĖƒRƒƒ“ƒgƒAƒEƒg‚ð‰ðœ -Econf/npc/npc_job_1st.txt npc_script2.txt npc_shop3.txt‚̓XƒiƒbƒvƒVƒ‡ƒbƒg‚Đ‚įíœ‚ĩ‚Ä‚­‚ū‚ģ‚Ē - - (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 ŒÓ’ą—– - -EƒXƒNƒŠƒvƒg‚ĖƒoƒOCģ -Escript_rid2sd‚ŠŽļ”s‚ĩ‚Ä‚āƒ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 ŒÓ’ą—– - -EƒXƒNƒŠƒvƒgƒGƒ‰[‚Ės”ԍ†‚Аģ‚ĩ‚­•\ŽĶ‚ģ‚ę‚邿‚Ī‚É - - (map/) - itemdb.c / npc.c - itemdb_readdb(),npc_parse_script()Cģ - -EƒLƒƒƒ‰ƒNƒ^[î•ņ‚ɃAƒNƒZƒX‚Å‚Ŧ‚Č‚Ēó‘ԂŃAƒNƒZƒX‚·‚邯ƒGƒ‰[‚ðo‚·‚æ‚Ī‚ÉCģ -Egoto/menu‚щƒxƒ‹‚ŠŽw’č‚ģ‚ę‚éęŠ‚Ƀ‰ƒxƒ‹ˆČŠO‚ŠŽw’č‚ģ‚ę‚邯Œx‚ðo‚·‚æ‚Ī‚É -Escript_ref‚ɃGƒ‰[ƒƒbƒZ[ƒW‚ːā–ū’Į‰Á -EƒCƒxƒ“ƒg‹N“Ū‚ģ‚ę‚―ƒXƒNƒŠƒvƒg‚ŃLƒƒƒ‰ƒNƒ^[‚ðŽg—p‚Å‚Ŧ‚邿‚΂ɂ·‚éŠÖ”’Į‰Á - EattachridiŽw’č‚ĩ‚―ID‚Ėî•ņ‚ðŽg—p‚Å‚Ŧ‚邿‚΂ɂ·‚éj’Į‰Á - Egetcharidi3‚ŃAƒJƒEƒ“ƒgID‚ðŠ“ū‚Å‚Ŧ‚邿‚΂ɁjCģ - (map/) - script.c - script_rid2sd(),buildin_attachrid()’Į‰Á - ‘―XCģB - (doc/) - script_ref.txt - ƒGƒ‰[ƒƒbƒZ[ƒW‚ːā–ū’Į‰ÁA•ϐ”/ƒ‰ƒxƒ‹‚ːā–ūCģ - ‘žCģ - --------------------- -//0921 by RR -EƒXƒNƒŠƒvƒgƒoƒOCģ(‚ē–Ā˜f‚ð‚Ļ‚Đ‚Ŋ‚ĩ‚Ü‚ĩ‚―) - (conf/npc/) - npc_event_tougijou.txt - -Esteal—ĶCģ(ŽĐDEX - “GDEX + SLv*3 +10‚Ė•”•Š‚Åˆę“x”ŧ’č‚ð‚ĩ‚Ăǂ―‚Ė‚Å) -E0918‚Å0914ˆČ‘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 -Eatcommand‚Ėlvup‚ðŽg‚Ī‚ÆŽæ“ūƒXƒe[ƒ^ƒXƒ|ƒCƒ“ƒg‚Š‚Ļ‚Đ‚ĩ‚Ē–â‘č‚ĖCģ -EƒoƒOCģ(ƒoƒO•ņƒXƒŒ‚ŏCģ‚Ėo‚―‚ā‚Ė‚ĖŽæ‚荾‚݁@ŒÓ’ą—–‚ģ‚ņAp‚ģ‚ņA‹Ī‚ɂϔæ‚ę—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[ƒ‰ƒCƒh‰Â”\‚ɂȂÁ‚―‚˂ŁAclass_equip_db.txt‚Ė”pŽ~B -Epet_db.txtAproduce_db.txt‚āƒI[ƒo[ƒ‰ƒCƒh‰Â”\‚ɏCģB - (map/) - itemdb.c - do_init_itemdb() CģB - pet.c - read_petdb() CģB - skill.c - skill_readdb() CģB - --------------------- -//0917 by RR -EƒXƒNƒŠƒvƒgCģ - “‘ū˜YƒCƒxƒ“ƒg‚Æ“Ž‹ZęƒCƒxƒ“ƒg‚ðNPCƒ^ƒCƒ}[‚ɕύX - (conf/npc/) - npc_event_momotarou.txt - npc_event_tougijou.txt Cģ -EƒXƒLƒ‹ƒcƒŠ[Cģ(ƒoƒO•ņƒXƒŒ25‚æ‚č) - (db/) - skill_db.txt Cģ - --------------------- -//0916 by (“Ę) -Enpc_monster‚Énpc_mob_job‚𓝍‡Bnpc_mob_job.txt‚͍폜‚ĩ‚Ä‚Đ‚Ü‚Ē‚Ü‚đ‚ņ - - (conf/) - map_athena.conf npc_mob_job‚ðíœ - (conf/mob/) - npc_monster.txt XV - --------------------- -//0915 by ŒÓ’ą—– - -ENPCƒ^ƒCƒ}[ŠÖŒW‚Ė–―—ß’Į‰Á•Cģ‘ž - EdelwaitingroomiNPCƒ`ƒƒƒbƒgI—đjˆø”‚ðŒĐ‚ĂȂЂÁ‚―‚Ė‚ÅCģ - EinitnpctimeriNPCƒ^ƒCƒ}[‰Šú‰ŧj’Į‰Á - EstopnpctimeriNPCƒ^ƒCƒ}[’âŽ~j’Į‰Á - EstartnpctimeriNPCƒ^ƒCƒ}[ŠJŽnj’Į‰Á - EgetnpctimeriNPCƒ^ƒCƒ}[î•ņŠ“ūj’Į‰Á - EsetnpctimeriNPCƒ^ƒCƒ}[’lÝ’čj’Į‰Á - - Šų‘ķ‚Ėaddtimer‚Č‚Į‚̓vƒŒƒCƒ„[’PˆĘ‚Ė‚―‚߁ANPC’PˆĘ‚Ėƒ^ƒCƒ}[‚ðė‚č‚Ü‚ĩ‚―B - ‚ą‚ŋ‚į‚́Aaddtimer‚Č‚Į‚Ƃ͈á‚ǁAOnTimerXXX‚Æ‚Ē‚Ī•—‚Ƀ‰ƒxƒ‹‚ðŽw’č‚ĩ‚Ü‚·B - Ú‚ĩ‚­‚̓Tƒ“ƒvƒ‹‚Æscrit_ref.txt‚ðŽQÆB - - (map/) - map.h - struct npc_data CģAstruct 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ƒ}[Žg—pƒTƒ“ƒvƒ‹ - (doc/) - script_ref.txt - NPCƒ^ƒCƒ}[ŠÖŒW‚Ė–―—ß/ŠÖ”’Į‰ÁA’萔ƒ‰ƒxƒ‹‚ːā–ūCģ - -ESage‚ĖƒA[ƒXƒXƒpƒCƒN‚ĖŠ“ūðŒCģ - (db/) - skill_tree.txt - ƒA[ƒXƒXƒpƒCƒN‚ĖsiƒTƒCƒYƒ~ƒbƒNƒEƒFƒ|ƒ“‚ðLv1‚Ɂj - --------------------- -//0914 by p -E”͈̓XƒLƒ‹Žg—pŽž‚ɉð•úÏ‚݃ƒ‚ƒŠ‚ðŽQÆ‚ĩ‚Ăǂ―–â‘č‚ɑΉž -Eƒƒ‚ƒŠ‚ð‰Šú‰ŧ‚đ‚ļ‚ÉŽg—p‚ĩ‚Ăǂ―—Ėˆæ‚ðA‰Šú‰ŧ‚ĩ‚ĂЂįŽg—p‚·‚邿‚Ī‚É•Ï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‘Ήž -@ƒtƒ‰ƒO‚Đ‚įƒAƒWƒg‚Ö–ß‚é‹@”\’Į‰Á -@–߂邯‚Ŧ‚É•·‚Đ‚ę‚邿‚Ī‚ÉCģ(TESTscript) -@ÔŽæ“ūŽž::OnRecvCastleXXX‚ð”­“Ū‚·‚邿‚Ī‚ÉCģ - (conf/gvg/) - ‚Ų‚Æ‚ņ‚Į.txt - --------------------- -//0912 by (“Ę) -E‚ą‚Ėƒtƒ@ƒCƒ‹‚Ė•ķŽš‰ŧ‚Ŋ‚ÆTEST_prtg_cas01_AbraiJ‚Ė•ķŽš‰ŧ‚Ŋ‚ðCģ -EƒoƒO•ņƒ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 -EƒXƒNƒŠƒvƒg‚ĖŠÔˆá‚Ē‚ðCģ -(conf/gvg/) - ev_agit_payg.txt - ev_agit_gefg.txt - -E‚Ð‚ČÕ‚č‚Ɉę“x“ü‚Á‚―‚įƒ}ƒbƒv•ϐ”‚ŠŽc‚Á‚―‚܂܂ɂȂé‚˂ŁAƒ}ƒbƒv•ϐ”‚ðŽg‚í‚Ȃǂæ‚Ī•ÏX -(ˆęŽž“Iƒ}ƒbƒv•ϐ”‚É‚·‚ę‚Ζâ‘č‚Č‚Ē‚Æ‚āŒū‚͂܂·‚ЁA -town_guide‚Ætown_kafra‚ÉŽžŠúŒĀ’č‚Ė•Ļ‚Ší’“‚ĩ‚Ä‚ĩ‚܂΂˂ЋC‚ɂȂÁ‚―‚˂ŁA -‚ŧ‚ę‚į‚ðevent_hinamatsuri‚ÖˆÚ“Ū‚ĩA•’i‚Ė‚ðdisable‚ĩ‚Ăǂ܂·) - (conf/npc/) - npc_event_hinamatsuri - npc_town_guide - npc_town_kafra - -EƒXƒLƒ‹ƒŠƒZƒbƒgŽž‚ĖƒXƒLƒ‹Žæ“ū§ŒĀ”ŧ’č‚ðƒXƒLƒ‹ƒ|ƒCƒ“ƒg48ˆČãÁ”ï‚Đ‚įA - ƒXƒLƒ‹ƒ|ƒCƒ“ƒg58ˆČãÁ”ï‚ĐŽc‚čƒXƒLƒ‹ƒ|ƒCƒ“ƒg‚ŠJOBLEVEL‚æ‚菮‚ģ‚­‚Č‚Á‚―‚Æ‚Ŧ‚ɕύX -E@modelŽž‚Ė•žFõF§ŒĀ‚ðŠÉ˜a(’jƒAƒTAƒ[ƒO‚Ė‚Ý‚Ö) - (map/) - pc.c pc_calc_skilltree() - atcommand.c atcommand_model() - - --------------------- -//0909 by ŒÓ’ą—– - -ENPCƒ`ƒƒƒbƒgŠÖŒW‚Ė–―—ß’Į‰Á - EwaitingroomiNPCƒ`ƒƒƒbƒgėŽjCģiƒCƒxƒ“ƒg‚ð‹N‚ą‚·l”‚ðŽw’č‰Â”\j - EdelwaitingroomiNPCƒ`ƒƒƒbƒgI—đj’Į‰Á - EenablewaitingroomeventiNPCƒ`ƒƒƒbƒgƒCƒxƒ“ƒg—LŒø‰ŧj’Į‰Á - EdisablewaitingroomeventiNPCƒ`ƒƒƒbƒgƒCƒxƒ“ƒg–ģŒø‰ŧj’Į‰Á - EgetwaitingroomstateiNPCƒ`ƒƒƒbƒgó‘ÔŠ“ūj’Į‰Á - EwarpwaitingpciNPCƒ`ƒƒƒbƒgƒƒ“ƒo[ƒ[ƒvjCģ - Ú‚ĩ‚­‚Íscript_ref.txt‚ðŽQÆ - - (map/) - script.c/npc.c/npc.h/chat.c/chat.h/clif.c - ‘―XCģ - (doc/) - script_ref.txt - Cģ - (conf/sample/) - npc_test_chat.txt - ’Į‰Á–―—ß‚ĖƒeƒXƒgƒXƒNƒŠƒvƒg - -EƒXƒNƒŠƒvƒg‚ĖŠÔˆá‚Ē‚ðCģ - (conf/npc/) - npc_event_skillget.txt - npc_event_yuno.txt - npc_town_lutie.txt - npc_turtle.txt - “ä–―—ßadditem‚ðgetitem‚É’uŠ· - npc_town_guide.txt - “ä–―—ßscriptlabel‚ðƒRƒƒ“ƒg‰ŧ - npc_event_momotaro.txt - npc_job_swordman.txt - npc_job_magician.txt - ';'•t‚Ŋ–Y‚ęCģ - (conf/gvg/) - ev_agit_aldeg.txt - @GID4‚ð@GIDa4‚É’uŠ· - ev_agit_gefg.txt - ev_agit_payg.txt - Annouce‚ɐFŽw’肯';'‚Ė•t‚Ŋ–Y‚ę‚ðKŦ - - -EAthenaDBŒv‰æ‚Ėƒf[ƒ^‚Æ‚č‚ą‚݁A‚ŧ‚Ė‘žCģ - ˆĀ’č‚ĩ‚Ăǂéƒf[ƒ^‚Đ‚Į‚Ī‚Đ‚í‚Đ‚č‚Ü‚đ‚ņ‚ЁB - - (db/) - item_db.txt/mob_db.txt/mob_skill_db.txt - AthenaDBŒv‰æ‚Ėƒf[ƒ^‚Æ‚č‚ą‚Ý - mob_skill_db.txt.orig - ˆČ‘O‚Ėƒf[ƒ^iƒRƒƒ“ƒg•”•ЂȂĮ‚ĖŽQl‚Ɂj - (conf/) - water_height.txt/mapflag.txt - AthenaDBŒv‰æ‚Ėƒf[ƒ^‚Æ‚č‚ą‚Ý - map_athena.conf - npc_monster3*.txt‚ðíœ - ’Į‰Áƒ}ƒbƒvƒf[ƒ^ (by ID:UVsq5AE) - (conf/mob/) - npc_monster.txt - AthenaDBŒv‰æ‚Ėƒf[ƒ^‚Æ‚č‚ą‚Ý - --------------------- -//0908 by ŒÓ’ą—– - -EƒXƒNƒŠƒvƒg‚ĖƒGƒ‰[ƒ`ƒFƒbƒNˆ—‚𑝂â‚ĩ‚― - E•ķŽš—ņ‚Ė“r’†‚ʼnüs‚Š‚ ‚邯ƒGƒ‰[‚ðo‚·‚æ‚΂ɁB - EŠÖ”ŒÄ‚Ņo‚ĩ‰‰ŽZŽq'('‚Ė’ž‘O‚Ɋ֐”–žˆČŠO‚Š‚ ‚邯ƒGƒ‰[‚ðo‚·‚æ‚΂ɁB - E–―—߂Ђ ‚é‚Ũ‚Ŧ‚Æ‚ą‚ë‚Ɋ֐”–žˆČŠO‚Š‚ ‚邯ƒGƒ‰[‚ðo‚·‚æ‚΂ɁB - E–―—߂ςæ‚ŅŠÖ”‚Ėˆø”‹æØ‚č‚Ė','‚ðČ—Š‚·‚邯Œx‚ðo‚·‚æ‚΂ɁB - E–―—߂ςæ‚ŅŠÖ”‚Ėˆø”‚ː”‚ŠˆŲ‚Č‚é‚ÆŒx‚ðo‚·‚æ‚΂ɁB - - (map/) - script.c - FXCģ - -ENPCƒXƒNƒŠƒvƒgCģ - (conf/npc/) - npc_town_guide.txt - ‚Ss–Ú‚Í‚Ē‚į‚Ȃǂæ‚Ī‚Č‚Ė‚ÅƒGƒ‰[‚Šo‚Ȃǂæ‚Ī‚ÉƒRƒƒ“ƒg‰ŧ - npc_event_hat.txt - ƒRƒ‚ƒh‚ˉž–ʐEl‚ƃtƒFƒCƒˆƒ“‚ĖÂ”N (by ID:dS8kRnc) - (conf/sample/) - npc_card_remover.txt - @menu‚ðŽg‚Á‚Ä’Z‚­‚ĩ‚―••ķÍ­‚ĩCģ - -E‚ŧ‚Ė‘ž - (db/) - skill_tree.txt - Sage‰ž‹}Žč“– - --------------------- -//0907 by p -Eatcommand() ‚Ė”ė‘å‰ŧ‚Š‚Ð‚Į‚Ē‚Ė‚ÅƒŠƒtƒ@ƒNƒ^ƒŠƒ“ƒO - @ ƒRƒ}ƒ“ƒh‚ð’Į‰Á‚·‚éę‡‚́Aatcommand.h “ā‚Œ萔‚ðAatcommand.c “ā‚Å - ŠÖ”’č‹`ƒ}ƒNƒ‚ƃ}ƒbƒsƒ“ƒOƒe[ƒuƒ‹Aˆ——p‚ĖŠÖ”‚ð‹Lq‚ĩ‚Ä‚­‚ū‚ģ‚ǁB -Eglobal •ϐ”‚Ė atcommand_config ‚ðÁ‹ŽB - @ ƒRƒ}ƒ“ƒh–ˆ‚ĖƒŒƒxƒ‹‚Í get_atcommand_level() ‚ÅŽæ“ū‚ĩ‚Ä‚­‚ū‚ģ‚ǁB -Eˆę•”‚ĖƒLƒƒƒ‰–ž‚ðŽæ‚é @ ƒRƒ}ƒ“ƒh‚ŁA”žŠpƒXƒy[ƒX‚ðŠÜ‚Þ–ž‘O‚ĖƒLƒƒƒ‰‚ð - ģí‚ɏˆ—‚Å‚Ŧ‚Ä‚Ē‚Č‚Đ‚Á‚―–â‘č‚ðCģB - ‚ą‚ˉe‹ŋ‚É‚æ‚čA@rura+ ‚Č‚ĮAƒLƒƒƒ‰–ž‚Šƒpƒ‰ƒ[ƒ^‚Ė“r’†‚É‚ ‚Á‚―‚ā‚Ė‚Í - ‘S‚čŌã‚ɉņ‚ģ‚ę‚Ăǂ܂·B -E@ ƒRƒ}ƒ“ƒh‚Ė•ķŽš—ņ‚ðģí‚ÉŽæ“ū‚Å‚Ŧ‚ȂЂÁ‚―ę‡‚ɁAƒoƒbƒtƒ@‚Ė“ā—e‚ð - ƒ`ƒFƒbƒN‚đ‚ļ‚ɏˆ—‚ðs‚Ļ‚Ī‚Æ‚ĩ‚Ăǂ―•”•Š‚ðCģ‚ĩ‚Ü‚ĩ‚―B - - (common/) - mmo.h - (map/) - atcommand.h - atcommand.c - clif.h - clif.c - --------------------- -//0906 by Selena -EŒÓ’ą—–‚ģ‚ņ‚ĖCģ‚É‚ ‚í‚đ‚āAƒoƒ‹ƒLƒŠ[ƒŒƒ‹ƒ€‚PˆČŠO‚ĖƒXƒNƒŠƒvƒg‚ĖCģB -E@ƒRƒ}ƒ“ƒh“ü—̓~ƒX‚ĖÛ‚ÉƒGƒ‰[ƒƒbƒZ[ƒ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 - -EƒT[ƒo[snapshot -E‘OƒXƒŒ‚Ėƒtƒ@ƒCƒ‹Žæ‚č–Y‚ę‚―l‚Ђǂé‚Đ‚ā‚ĩ‚ę‚Ȃǂ˂Š- --------------------- -//0904 by ŒÓ’ą—– - -EƒXƒNƒŠƒvƒgˆ—Cģ - Echar/interƒT[ƒo[‚ɐڑą‚ĩ‚―Žž‚ÉOnCharIfInit/OnInterIfInitƒCƒxƒ“ƒg‚Š - ŒÄ‚΂ę‚邿‚΂ɂȂč‚Ü‚ĩ‚―B - OnAgitInit‚ÍOnInterIfInit‚ɕύX‚·‚Ũ‚Ŧ‚Å‚·B - Egetcastledata–―—߂őæ‚Qƒpƒ‰ƒ[ƒ^‚Š0‚Ė‚Æ‚ŦA‘æ‚Rƒpƒ‰ƒ[ƒ^‚É - ƒCƒxƒ“ƒg–ž‚ðÝ’č‚Å‚Ŧ‚Ü‚·B‚ą‚ĖƒCƒxƒ“ƒg‚̓Mƒ‹ƒhé‚Ėƒf[ƒ^‚ð - InterƒT[ƒo[‚Đ‚įŠ“ūŠŪ—đ‚ĩ‚―‚Æ‚Ŧ‚ÉŽĀs‚ģ‚ę‚Ü‚·B - E‹N‚ą‚·NPCƒCƒxƒ“ƒg–ž‚ð"::"‚ÅŽn‚߂邯A“Ŋ–žƒ‰ƒxƒ‹‚ðŽ‚Â‘SNPC‚ĖƒCƒxƒ“ƒg - ‚ðŽĀs‚Å‚Ŧ‚Ü‚·B - ‚―‚Æ‚Ķ‚ÎAgetcastledata "prtg_cas01.gat",0,"::OnRecvCastleP01"; - ‚Æ‚·‚邯‘S‚Ä‚ĖNPC‚Ė OnRecvCastleP01ƒ‰ƒxƒ‹‚ŠŽĀs‚ģ‚ę‚Ü‚·B - Erequestguildinfo–―—ß’Į‰ÁB“Á’čƒMƒ‹ƒh‚Ėî•ņ‚ðInterƒT[ƒo[‚É - —v‹‚Å‚Ŧ‚Ü‚·B‘æ‚Pƒpƒ‰ƒ[ƒ^‚̓Mƒ‹ƒhIDA‘æ‚Qƒpƒ‰ƒ[ƒ^‚̓Cƒxƒ“ƒg–ž‚Å - ‚ą‚ĖƒCƒxƒ“ƒg‚̓Mƒ‹ƒhî•ņ‚ðInterƒT[ƒo[‚Đ‚įŠ“ūŠŪ—đ‚ĩ‚―‚Æ‚Ŧ‚É - ŽĀs‚ģ‚ę‚Ü‚·B - - (map/) - guild.c/guild.h/npc.c/npc.h/script.c/intif.c/chrif.c - FXCģ - -EƒMƒ‹ƒhéŠÖ˜ANPCCģ - iƒoƒ‹ƒLƒŠ[ƒŒƒ‹ƒ€‚P‚Ė‚ÝCģB‘ž‚Ėé‚ĖƒXƒNƒŠƒvƒg‚ÍŠeŽĐ‚ŘM‚Á‚Ä‚­‚ū‚ģ‚ǁB - ‚Æ‚Ē‚Ī‚ĐA‚Þ‚ĩ‚ë˜M‚Á‚―‚į‚ ‚Á‚Õ‚ĩ‚Ü‚ĩ‚å‚΁j - E‰Šú‰ŧˆ—‚ðOnAgitInit‚łȂ­OnInterIfInit‚ɕύXB - Eéƒf[ƒ^Š“ūŠŪ—đˆ—‚Æ‚ĩ‚ÄOnRecvCastleP01‚ð’Į‰ÁB - EŽIÄ‹N“ŪŽžAƒMƒ‹ƒhę‘ŪƒJƒvƒ‰‚Аģ‚ĩ‚­•\ŽĶ‚ģ‚ę‚邿‚΂ɁB - EƒMƒ‹ƒhę‘ŪƒJƒvƒ‰‚Ė–ž‘O‚ð"ƒJƒvƒ‰Eˆõ::kapra_prtg01"‚ɕύXB - i"::"ˆČ~‚̓GƒNƒXƒ|[ƒg‚ģ‚ę‚é–ž‘O‚ŁA"::"ˆČ‘O‚Š•\ŽĶ–žj - "ƒJƒvƒ‰Eˆõ#prt"‚æ‚č–ž‘O‚ð’·‚­‚ĩ‚Ä‹Ģ‡‚ĩ‚É‚­‚­‚·‚é‚―‚߂ł·B - ‚ą‚ĖŠÖŒW‚ŁAdisablenpc‚Č‚Į‚Ėƒpƒ‰ƒ[ƒ^‚ð"kapra_prtg01"‚ɏCģB - (conf/gvg/) - prtg_cas01.txt - ƒMƒ‹ƒhę‘ŪƒJƒvƒ‰Cģ - ev_agit_prtg.txt - ‰Šú‰ŧˆ—Cģiƒoƒ‹ƒLƒŠ[ƒŒƒ‹ƒ€‚P‚Ė‚Ýj - TEST_prtg_cas01_AbraiJ.txt - ƒMƒ‹ƒhę‘ŪƒJƒvƒ‰ŒŲ—p/é”jŠüCģ - -ENPC‚ĖCģ - (conf/npc/) - npc_job_swordman.txt - npc_event_hat.txt - Cģ - -EƒAƒJƒEƒ“ƒg‚ðíœ‚ĩ‚Ä‚āƒAƒJƒEƒ“ƒgID‚ðÄ—˜—p‚ĩ‚Ȃǂæ‚Ī‚ÉCģ -EƒMƒ‹ƒh/ƒp[ƒeƒB‚É‚Â‚Ē‚Ä‚āˆę‰ž“Ŋ“™‚Ėˆ—’Į‰ÁiƒRƒƒ“ƒg‰ŧ‚ģ‚ę‚Ăǂ܂·B - ƒMƒ‹ƒh‚âƒp[ƒeƒB‚ÍID‚ðÄ—˜—p‚ĩ‚Ä‚ā‚Ļ‚ŧ‚į‚­–â‘č‚Ȃǂ―‚߁j - - (login/) - login.c - “Į‚ݍž‚Ý/•Û‘ķˆ—Cģ - (char/) - int_guild.c/int_party.c - “Į‚ݍž‚Ý/•Û‘ķˆ—Cģ - --------------------- -//0903 by ŒÓ’ą—– - -El14/l15‚Ļ‚æ‚ŅƒvƒŒƒtƒBƒbƒNƒXl‚ð"„§‚ģ‚ę‚Č‚Ē(deprecated)"‹@”\‚Æ‚ĩ‚Ü‚ĩ‚―B - E‚Ü‚ūŽg—p‚Å‚Ŧ‚Ü‚·‚ЁAĄŒã‚Ė“Ūė‚Š•ۏá‚ģ‚ę‚Ȃǂ˂ŁA‘Ž‚â‚Ђɑã‘Ö‹@”\‚ð - Žg—p‚·‚邿‚Ī‚ÉˆÚs‚ĩ‚Ä‚­‚ū‚ģ‚ǁB - EƒvƒŒƒtƒBƒbƒNƒX'l'‚Í‘ã‘Ö‹@”\‚ĖƒvƒŒƒtƒBƒbƒNƒX'@'‚ðŽg—p‚ĩ‚Ä‚­‚ū‚ģ‚ǁB - El15‚Í‘ã‘Ö‹@”\‚Ė@menu‚ðŽg—p‚ĩ‚Ä‚­‚ū‚ģ‚ǁB - El14‚Í‘ã‘Ö‹@”\‚Í‚ ‚č‚Ü‚đ‚ņBinput–―—ß‚Ėˆø”‚ðČ—Š‚ĩ‚Ȃǂʼnš‚ģ‚ǁB - E‚ą‚ę‚į‚ː„§‚ģ‚ę‚ȂNj@”\‚ðŽg—p‚·‚邯ŒxƒƒbƒZ[ƒ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—ņ•ϐ”‚ːā–ū’Į‰Á - •ϐ”‚ĖƒvƒŒƒtƒBƒbƒNƒX'l'Ainput–―—ß‚Ėl14Amenu–―—ß‚Ėl15‚Ė - ā–ū‚ðCģ - --------------------- -//0902 by ŒÓ’ą—– - -EƒXƒNƒŠƒvƒg‚Š”z—ņ•ϐ”‚ɑΉžB - Earray[number]‚Ė‚æ‚Ī‚ÉŽg‚ǂ܂·B”’lŒ^A•ķŽš—ņŒ^—ž•ûŽg‚͂܂·B - EŽg‚Ķ‚éƒvƒŒƒtƒBƒbƒNƒX‚Í @, $, $@ ‚Å‚·B - iˆęŽž“IƒLƒƒƒ‰ƒNƒ^[•ϐ”AˆęŽž“I/‰i‘ą“Iƒ}ƒbƒvƒT[ƒo[•ϐ”j - Enumber==0‚Í”z—ņ‚ķ‚á‚Č‚Ē•Ï”‚Æ’l‚ð‹Ī—L‚ĩ‚Ü‚·B - i@hoge[0]‚Æ@hoge‚Í“Ŋ‚ķ•ϐ”‚ð•\‚·j - E‚Ü‚ū‰žŽĀ‘•’iŠK‚Č‚Ė‚ÅƒoƒO•ņ‚æ‚ë‚ĩ‚­‚ĻŠč‚Ē‚ĩ‚Ü‚·B -Eƒ}ƒbƒvƒT[ƒo[•ϐ”‚Ė“Įž’†‚ÉCtrl+C‚ð‚·‚é‚Æƒf[ƒ^”j‘đ‚Ė‰Â”\Ŧ‚Š‚ ‚é–â‘č‚ðCģ. -Eƒ}ƒbƒvƒtƒ@ƒCƒ‹“Į‚ݍž‚݉æ–ƂЂģ‚Ņ‚ĩ‚ǂ˂łđ‚߂ătƒ@ƒCƒ‹–ž‚ð•\ŽĶ‚·‚邿‚΂ɁB - - (conf/sample/) - npc_test_array.txt - ”z—ņ•ϐ”ƒeƒXƒgƒXƒNƒŠƒvƒg - (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 ‚Ō‚ī‚Ü‚ņ - -E˜I“XƒoƒO‚ĖCģ - - (map/) - pc.c - pc_cartitem_amount() ’Į‰ÁB - vending.c - vending_openvending() CģB - clif.c - clif_parse_NpcClicked() CģB - pc.h CģB - --------------------- -//0900 by ‚Ō‚ī‚Ü‚ņ - -EƒAƒuƒ‰ƒJƒ_ƒuƒ‰‚Ėƒ‰ƒ“ƒ_ƒ€ƒXƒLƒ‹”­“Ū—Ķ‚ðabra_db.txt‚Őݒč‚Å‚Ŧ‚邿‚΂ɁB -EƒXƒtƒBƒA[ƒ}ƒCƒ“‚ƃoƒCƒIƒvƒ‰ƒ“ƒg‚Ė”ũCģB -ENoreturnƒ}ƒbƒv‚Å’ą‚ŠÁ”ï‚ū‚Ŋ‚ģ‚ę‚éƒoƒOCģB -Eˆę•”‚ĖƒAƒuƒ‰ŒÅ—LƒXƒLƒ‹‚Аģ‚ĩ‚­“Ūė‚ĩ‚ȂЂÁ‚―ƒoƒOCģB - (map/) - mob.c - mob_damage()Amobskill_use() CģB - mob_skillid2skillidx() ’Į‰ÁB - skill.c - skill_readdb()Askill_abra_dataset() CģB - skill_castend_nodamage_id()Askill_castend_pos2() CģB - script.c - buildin_warp() CģB - - skill.h CģB - map.h CģB - (db/) - abra_db.txt ’Į‰ÁB - skill_db.txt CģB - --------------------- -//0899 by ŒÓ’ą—– - -EŽæ‚芊‚ŦMOB‚Ėˆ—Cģ - EŽæ‚芊‚ŦĒŠŦ‚ŃRƒA‚ð“f‚­ƒoƒOCģ - EŽå‚Š•Ęƒ}ƒbƒv‚É”ō‚ԂƁAƒeƒŒƒ|[ƒg‚Å’Į‚Ē‚Đ‚Ŋ‚邿‚Ī‚ÉCģ - EŽæ‚芊‚Ŧˆ—‚ð‚æ‚čŒy‚­•ύX - - (map/) - mob.c - mob_ai_sub_hard_mastersearch()‚ðmob_ai_sub_hard_slavemob() - ‚É–ž‘O‚ð•Ï‚Ķ‚Äˆ—CģB - mob_summonslave()Cģ - --------------------- -//0898 by ŒÓ’ą—– - -Eeathena‚Đ‚įCardRemoverNPC‚ĖŽæ‚荾‚Ý - NPCƒf[ƒ^‚ā“ú–{Œę–ó‚ĩ‚Ă܂·‚ЁA‚ЂȂč“K“–‚Å‚·B - - (map/) - script.c - buildin_getequipcardcnt(),buildin_successremovecards() - buildin_failedremovecards()’Į‰Á - (conf/sample/) - npc_card_remover.txt - ƒJ[ƒhŽæ‚čŠO‚ĩNPC‚Ė“ú–{Œę–ó - ƒvƒƒ“ƒeƒ‰‚ːļ˜BŠ‚Ė’†‚Ėķ‰š‚Ė•”‰Ū‚ɂǂ܂· - -Eƒ|[ƒ^ƒ‹‚Å•Ęƒ}ƒbƒv‚É”ō‚΂ĩ‚―MOB‚Š‚ŧ‚Ėƒ}ƒbƒv‚ɕ͂Ŧ’ž‚·ƒoƒOCģ - (map/) - map.h - struct mob_data‚Émƒƒ“ƒo’Į‰Á - mob.c - mob_spawn(),mob_once_spawn()Cģ - npc.c - npc_parse_mob()Cģ - - --------------------- -//0897 by ‚Ō‚ī‚Ü‚ņ - -EŨ‚Đ‚Ē’ēŪ -EƒXƒgƒŠƒbƒvŒn‚ƃPƒ~ƒJƒ‹ƒvƒƒeƒNƒVƒ‡ƒ“ŒnƒXƒLƒ‹‚Ė‘SŽĀ‘• -@–{ŽI‚Å‚ĖŨ‚Đ‚ĒŽd—l‚ЕЂÁ‚―‚Ė‚ÅŽĀ‘•‚ĩ‚Ü‚ĩ‚―B -@Šm—Ķ‚ÍŽb’č‚Å‚·B - - (map/) - pc.c - pc_isequip() Cģ - skill.c - skill_status_change_start()Askill_castend_nodamage_id() CģB - skill_abra_dataset() CģB - battle.c - battle_get_def()Abattle_get_atk2() CģB - battle_get_vit()Abattle_get_int() CģB - (db/) - const.txt CģB - skill_db.txt CģB - cast_db.txt CģB - --------------------- -//0896 by ŒÓ’ą—– - -E‰i‘ą“Iƒ}ƒbƒv•ϐ”‹@”\’Į‰Á -Eƒ}ƒbƒv•ϐ”‚ð•ķŽš—ņŒ^•ϐ”‚Æ‚ĩ‚Ä‚āŽg—p‚Å‚Ŧ‚邿‚΂ɂĩ‚― - EĄ‚Ü‚Å‚ĖƒvƒŒƒtƒBƒbƒNƒX $ ‚͉i‘ą“I‚ɂȂč‚Ü‚·B - ˆęŽž“Iƒ}ƒbƒv•ϐ”‚ðŽg—p‚·‚éę‡‚̓vƒŒƒtƒBƒbƒNƒX $@ ‚ðŽw’č‚ĩ‚Ä‚­‚ū‚ģ‚Ē. - - E‰i‘ą“I/ˆęŽž“I‚Æ‚ā‚É•ķŽš—ņŒ^‚ɑΉž‚ĩ‚Ăǂ܂·B - •ķŽš—ņŒ^‚Ėƒ|ƒXƒgƒtƒBƒbƒNƒX‚Í$‚Å‚·B - - <—á> $@hoge ”’lŒ^ˆęŽžƒ}ƒbƒv•ϐ”A$hoge$ •ķŽš—ņŒ^‰i‘ąƒ}ƒbƒv•ϐ” - E‰i‘ąƒ}ƒbƒv•ϐ”‚̓fƒtƒHƒ‹ƒg‚Å‚Í save/mapreg.txt ‚ɕۑķ‚ģ‚ę‚Ü‚·B - ‚ą‚ę‚Ímap_athena.conf‚Ėmapreg_txt‚Őݒč‚Å‚Ŧ‚Ü‚·B - -Estr_data‚ŠÄŠ„‚č“–‚Ä‚ģ‚ę‚邯ƒ}ƒbƒv•ϐ”‚Аģí‚ÉŽg—p‚Å‚Ŧ‚Č‚ĒƒoƒOCģ - Estrdb‚Đ‚įnumdb‚É‚ĩ‚āA•ϐ”–ž‚Ístr_buf‚É“ü‚ę‚邿‚΂ɁB - -Emap_athena.conf‚Ėdelnpc,npc:clear‚Аģ‚ĩ‚­“­‚Đ‚Č‚ĒƒoƒOCģ - - (map/) - npc.c - npc_delsrcfile(),npc_clearsrcfile()Cģ - script.c / script.h - ƒ}ƒbƒv•ϐ”Œ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 - -Emapflag‚Énozenypenalty‚ð’Į‰ÁB -@GVG‚âŠX’†‚Ėƒeƒ‚Č‚Į‚ÅŽ€–S‚ĩ‚―Û‚ɁAZenyƒyƒiƒ‹ƒeƒB[”­ķ‚ðŠO‚·—pB - - (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 CģB - --------------------- -//0894 by ‚Ō‚ī‚Ü‚ņ - -EƒR[ƒ}ˆČŠO‚ĖƒAƒuƒ‰ƒJƒ_ƒuƒ‰ŒÅ—LƒXƒLƒ‹‘SŽĀ‘•B -@ƒI[ƒgƒXƒyƒ‹‚ɂ̓Œƒxƒ‹ƒAƒbƒvˆČŠO‘―•Š‘S•”æ‚đ‚ę‚Ü‚·B(ƒI[ƒgƒXƒyƒ‹ƒŒƒxƒ‹ƒAƒbƒv‚Í–ĒƒeƒXƒg) -EƒAƒuƒ‰ƒJƒ_ƒuƒ‰‰žŽĀ‘• -@”­“ŪƒXƒLƒ‹‚ŠƒŒƒxƒ‹ˆË‘ķ‚ķ‚á‚ ‚č‚Ü‚đ‚ņB -@‘S‚Ă˔­“ۗ͂З˜_ã‹Ïˆę‚Å‚·B -@ƒAƒCƒeƒ€ƒXƒLƒ‹‚ðŽg‚Á‚ÄŽĀ‘•‚ĩ‚Ăǂé‚Ė‚Åˆę•”‚ĖŽg—pðŒ‚ð–ģŽ‹‚ĩ‚Ü‚·iƒWƒFƒ€ãЋC‹…“™j -EƒAƒCƒeƒ€ƒXƒLƒ‹‚ŠƒLƒƒƒXƒgEƒfƒBƒŒƒC–ģ‚ĩ‚ū‚Á‚―‚Ė‚ðCģB - - (map/) - skill.c - skill_castend_nodamage_id()Askill_use_id()Askill_use_pos() CģB - skill_abra_dataset() ’Į‰ÁB - (db/) - skill_db.txt CģB - --------------------- -//0893 by ŒÓ’ą—– - -E‘žƒ}ƒbƒv‚Đ‚įƒ|[ƒ^ƒ‹‚Ėã‚Ƀ[ƒv‚ĩ‚Ä‚Ŧ‚―PC‚Šƒ[ƒv‚ĩ‚Ȃǖâ‘č‚ðCģ -Eƒ`ƒƒƒbƒg’†‚ĖPC‚ðƒ[ƒvƒ|[ƒ^ƒ‹‚Å”ō‚΂·‚Đ‚Į‚Ī‚ĐÝ’č‰Â”\‚É -EMOB‚ðƒ[ƒvƒ|[ƒ^ƒ‹‚Å”ō‚΂·‚Đ‚Į‚Ī‚ĐÝ’č‰Â”\‚É - MOB‚Ėƒ[ƒvƒ|[ƒ^ƒ‹‚ð‹–‰Â‚·‚邯Aƒeƒ‚ŠŠČ’P‚ɂłŦ‚é‚˂ŒˆÓB - -EƒAƒJƒEƒ“ƒg•ϐ”•ύX‚Æ“ŊŽž‚Ƀtƒ@ƒCƒ‹‚ɏ‘‚Ŧo‚·‚æ‚Ī‚ÉCģ -Eƒ}ƒbƒvƒf[ƒ^‚Ėƒ[ƒh•”•Š‚ĖƒƒO•\ŽĶ‚Í‚ ‚Ü‚čd—v‚ķ‚á‚Č‚Ē‚ÆŽv‚Ī‚Ė‚Å•ÏXB - - (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 ŒÓ’ą—– - -EŠeŽíconfƒtƒ@ƒCƒ‹‚Å•Ęƒtƒ@ƒCƒ‹‚ðƒCƒ“ƒ|[ƒg‚Å‚Ŧ‚邿‚΂ɂĩ‚― - EŽĐ•Š‚ĖƒT[ƒo[—p‚ĖÝ’č‚ð•Ęƒtƒ@ƒCƒ‹‚É‹Lq‚Å‚Ŧ‚邿‚΂ɂȂč‚Ü‚·B - E‘S‚āuimport: ƒtƒ@ƒCƒ‹–žvŒ`ŽŪ‚Å‹Lq‚ĩ‚Ü‚·B - EŠeŽíconfƒtƒ@ƒCƒ‹ilogin,char,map,inter,atcommand,battlej‚ĖÅŒã‚É - conf/import/*_conf ‚ð“Į‚Þ‚æ‚Ī‚ÉŽw’č‚ĩ‚―‚˂ŁA‚ŧ‚ą‚ÉŽĐ•Š—p‚ĖÝ’č‚ð - ‘‚ǂĂςŊ‚΁A•ύX•”•Š‚Ė‚ÝƒI[ƒo[ƒ‰ƒCƒh‚ĩ‚Ü‚·B - msg,script‚Ėconf‚É‚Â‚Ē‚Ä‚ÍA‚ą‚ĖŒĀ‚č‚ł͂ ‚č‚Ü‚đ‚ņ‚ЁAimport–―—ß‚Ė - ˆ—‚Í’Į‰Á‚ģ‚ę‚Ăǂé‚˂ŁAŽĐ•Š‚Åimport–―—ß‚ð‘‚Ŋ‚Î“Ū‚Ŧ‚Ü‚·B - EV‚ĩ‚ĒƒXƒiƒbƒvƒVƒ‡ƒbƒg‚Šo‚―ę‡‚Č‚Į‚ɁA‚ą‚Ėconf/importƒtƒHƒ‹ƒ_‚ð - Ė‚ĖAthena‚Đ‚įƒRƒs[‚·‚é‚ū‚Ŋ‚ÅŽĐ•Š—p‚ĖÝ’č‚ð“K—p‚Å‚Ŧ‚邿‚΂ɂȂč‚Ü‚·. - -Emap_athena.conf‚Ėmap‚Ænpc‚Å’Į‰Á‚ĩ‚―ƒtƒ@ƒCƒ‹‚ðíœ‚Å‚Ŧ‚邿‚΂ɂĩ‚― - Eã‚ÉŠÖ˜A‚·‚é•ύX‚Å‚·B - Edelmap,delnpc–―—ß‚ðŽg—p‚·‚ę‚΁Amap,npc–―—߂ŒĮ‰Á‚ĩ‚―ƒtƒ@ƒCƒ‹‚ð - “Į‚ݍž‚܂Ȃǂæ‚Ī‚ÉŽw’č‚Å‚Ŧ‚Ü‚·B‚ą‚ą‚Ńtƒ@ƒCƒ‹–ž‚Å‚Í‚Č‚­A - all ‚ÆŽw’č‚·‚邯‚ŧ‚ę‚܂łɎw’č‚ģ‚ę‚―ƒtƒ@ƒCƒ‹‚ð‘S‚Ä“Į‚ݍž‚܂Ȃ­‚ĩ‚Ü‚·. - Emap,npc–―—߂ŁAƒtƒ@ƒCƒ‹–ž‚Éclear‚ðŽw’č‚·‚邯A - delmap,delnpc‚Ėall‚Æ“Ŋ“™‚Ė“Ūė‚ð‚·‚é‚æ‚΂ɂȂč‚Ü‚ĩ‚―B - -Elogin_athena.conf‚Ėallow‚Ædeny‚ðƒNƒŠƒA‚Å‚Ŧ‚邿‚΂ɂ“‚― - Eallow‚Ļ‚æ‚Ņdeny–―—ß‚Åclear‚ðŽw’č‚·‚邯ˆČ‘O‚ĖƒzƒXƒgî•ņ‚ð‘Síœ‚ĩ‚Ü‚·. - - (conf/) - ŠeŽíconfƒtƒ@ƒCƒ‹‚ĖÅŒã‚Éimport–―—ß’Į‰Á - (conf/import) - *.txt - ƒCƒ“ƒ|[ƒg‚ģ‚ę‚éƒtƒ@ƒCƒ‹B‚ą‚ę‚į‚ÉŽĐ•Š—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()CģAmap_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 (“Ę) - -EuƒXƒLƒ‹Žg—p‚ĖŒã‚́A‚ĩ‚Î‚į‚­‚ϑԂŋ‚­‚ū‚ģ‚ǁv‚ð•\ŽĶ‚·‚é‚Đ‚Į‚Ī‚ĐÝ’č‚Å‚Ŧ‚邿‚΂ɂĩ‚―B - E–{ŽI‘ŠˆáƒXƒŒƒbƒh@‘U>>5‚ģ‚ņ‚ĖƒR[ƒh‚ðƒpƒNƒŠ‚Ü‚ĩ‚―B - (doc/) - conf_ref.txt CģB - (conf/) - battle_athena.conf CģB - (map/) - battle.h CģB - battle.c - battle_config_read() CģB - clif.c - clif_skill_fail() CģB - --------------------- -//0890 by Ž€_ - -EƒMƒ‹ƒh‘qŒÉ‚ðˆę“x‚Ɉęl‚ū‚Ŋ‚ŠŽg—p‚·‚邿‚Ī‚É•ÏXB(–ĒƒeƒXƒg) -Ebattle_athena.conf‚Đ‚įplayer_undead_nofreeze íœB -E@ƒRƒ}ƒ“ƒh@gstorage ’Į‰ÁB -EƒXƒNƒŠƒvƒgguildstorage‚ðguildopenstorage‚ɕύXB -E‚ŧ‚Ė‘žŨ‚Đ‚ĒƒoƒOCģB - (doc/) - conf_ref.txt CģB - script_ref.txt CģB - (conf/) - atcommand_athena.conf CģB - battle_athena.conf CģB - help.txt CģB - (conf/sample/) - gstorage_test.txt ’Į‰ÁB - (char/) - makefile CģB - int_storage.h CģB - int_storage.c - inter_storage_delete()Ainter_guild_storage_delete() ’Į‰ÁB - int_guild.c - guild_check_empty()Amapif_parse_BreakGuild() CģB - (map/) - makefile CģB - battle.h CģB - battle.c - battle_config_read() CģB - guild.c - guild_broken() CģB - storage.h CģB - storage.c - storage_guild_storageopen() CģB - storage_delete()Aguild_storage_delete() ’Į‰ÁB - script.c - buildin_guildstorage() ‚ð buildin_guildopenstorage()‚ɕύXB - intif.c - intif_parse_LoadGuildStorage() CģB - mob.c - mob_summonslave()Amob_damage()Amob_delete() CģB - mob_catch_delete()Amob_readdb() CģB - skill.c - skill_castend_nodamage_id()Askill_status_change_start() CģB - clif.c - clif_parse_ActionRequest() CģB - atcommand.h CģB - atcommand.c - atcommand() CģB - --------------------- -//0889 by ŒÓ’ą—– - -E•ķŽš—ņŒ^ˆęŽž“IƒLƒƒƒ‰ƒNƒ^[•ϐ”‹@”\’Į‰ÁB - EƒvƒŒƒtƒBƒbƒNƒX@,ƒ|ƒXƒgƒtƒBƒbƒNƒX$‚ðŽg—p‚ĩ‚Ü‚·Bi@hoge$‚Č‚Įj - Einput‚Å•ķŽš—ņ•ϐ”‚ðŽw’č‚·‚邯•ķŽš—ņ“ü—͂ɂȂč‚Ü‚·B - EŠÖŒW‰‰ŽZŽqi”äŠr‰‰ŽZŽqj‚Å•ķŽš—ņ‚Į‚Ī‚ĩ‚ðŽw’č‚·‚邯•ķŽš—ņ‚Ė”äŠr‚Š - ‚Å‚Ŧ‚Ü‚·B”’l‚Æ•ķŽš—ņ‚ðŽ‚š‚Ä”äŠr‚·‚邹‚Ƃ͂łŦ‚Ü‚đ‚ņB - E‚Æ‚č‚ ‚Ķ‚ļƒTƒ“ƒvƒ‹•t‚Ŋ‚Ă܂·B - - (map/) - map.h - struct map_session_data‚Énpc_str,regstr,regstr_numƒƒ“ƒo’Į‰Á - script.c - buildin_set(),get_val(),buildin_input(),op_2num()‚Č‚ĮCģ - op_2str(),op_2()’Į‰Á - clif.c / clif.h - 01d5ƒpƒPƒbƒg’·Cģ - clif_parse_NpcStringInput(),clif_scriptinputstr()’Į‰Á - pc.c / pc.h - pc_readregstr(),pc_setregstr()’Į‰Á - (doc/) - script_ref.txt - ‰‰ŽZŽq‚ːā–ū’Į‰ÁA•ϐ”‚ːā–ūCģAinput,menuCģ - (conf/sample/) - npc_test_str.txt - •ķŽš—ņ•ϐ”‚ðŽg—p‚ĩ‚―ƒXƒNƒŠƒvƒg‚Ė—áB - •ķŽš—ņ‚Ė‘ã“üAŒ‹‡A”äŠrA“ü—͂ȂĮ‚ĖƒeƒXƒg‚ðs‚Ī‚ā‚ˁB - --------------------- -//0888 by Ž€_ - -EÝŒv‚Đ‚įŠÔˆá‚Á‚Ăǂ―ƒMƒ‹ƒh‘qŒÉCģB(‚―‚ū•Ą”l‚ĖŽg—p‚É‚æ‚éƒoƒO‚Š‚ ‚é‰Â”\Ŧ‚͂܂ū‚ ‚č‚Ü‚·B) -EŨ‚Đ‚ĒƒoƒOCģB - (doc/) - inter_server_packet.txt CģB - conf_ref.txt CģB - (conf/) - inter_athena.conf CģB - help.txt CģB - (common/) - mmo.h CģB - (char/) - makefile CģB - int_storage.h CģB - int_storage.c - account2storage()Ainter_storage_init()Astorage_fromstr() CģB - inter_storage_save()Amapif_load_storage() CģB - mapif_parse_SaveStorage() CģB - 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() CģB - int_guild.h CģB - int_guild.c - inter_guild_init() CģB - inter_guild_search() ’Į‰ÁB - int_pet.c - inter_pet_init() CģB - inter.c - inter_init()Ainter_save()Ainter_config_read() CģB - (map/) - makefile CģB - map.h CģB - map.c - map_quit()Ado_init() CģB - pc.c - pc_setpos() CģB - storage.h CģB - storage.c - do_init_storage()Ado_final_storage()Aaccount2storage() CģB - storage_storageopen()Astorage_storageadd()Astorage_storageget() CģB - storage_storageaddfromcart()Astorage_storagegettocart() CģB - storage_storageclose()Astorage_storage_quit() CģB - storage_storage_save() CģB - 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 CģB - intif.c - intif_send_storage()Aintif_parse_LoadStorage()Aintif_parse() CģB - intif_request_guild_storage()Aintif_send_guild_storage() ’Į‰ÁB - intif_parse_SaveGuildStorage()Aintif_parse_LoadGuildStorage() ’Į‰ÁB - clif.h CģB - clif.c - clif_additem()Aclif_parse_MoveToKafra() CģB - clif_parse_MoveFromKafra()Aclif_parse_MoveToKafraFromCart() CģB - clif_parse_MoveFromKafraToCart()Aclif_parse_CloseKafra() CģB - clif_parse_LoadEndAck() CģB - clif_guildstorageitemlist()Aclif_guildstorageequiplist() ’Į‰ÁB - clif_updateguildstorageamount()Aclif_guildstorageitemadded() ’Į‰ÁB - guild.c - guild_broken() CģB - script.c - buildin_openstorage()Abuildin_guildstorage() CģB - skill.c - skill_castend_nodamage_id() CģB - mob.c - mob_summonslave()Amob_damage() CģB - atcommand.c - atkillmonster_sub()Aatcommand() CģB - --------------------- -//0887 by Ž‚Žqo^.^o - -E(db/) - skill_tree.txt Cģ - --------------------- -//0886 by ‚Ō‚ī‚Ü‚ņ - -EƒT[ƒo[snapshot -Eƒtƒ@ƒCƒ‹’ēŪ - --------------------- -//0885 by huge - -EƒMƒ‹ƒh‹Ī—L‘qŒÉ‚ĖŽĀ‘•Bguildstorage‚ÅŠJ‚Ŋ‚Ü‚·B - ŽĐ•Š‚ĖŽI‚ÅŽĀŒą‚Í‚ĩ‚Ă݂܂ĩ‚―‚ЁA‰ß‘a’n‚Ȃ˂ő―l”ƒMƒ‹ƒh‚ɂȂ邯‚Į‚Γۂ­‚Đ•Š‚Đ‚č‚Ü‚đ‚ņB - (”O‚Ė‚―‚߃oƒbƒNƒAƒbƒv‚Í•K‚ļŽæ‚Á‚Ăςǂĉš‚ģ‚Ē) -Eareawarp‚ŁA‘Ώۃ}ƒbƒv–ž‚ð"Random"‚É‚·‚邯A“Ŋƒ}ƒbƒv“ā‚щƒ“ƒ_ƒ€‚É”ō‚Ô‚æ‚Ī‚ÉCģB -EGMƒRƒ}ƒ“ƒh‚Őķ‚Ŧ•Ô‚ĩ‚―‚Æ‚Ŧ‚ÉSP‚ā‘S‰ņ•œ‚·‚邿‚Ī‚ÉCģB -EƒfƒBƒ{[ƒVƒ‡ƒ“‚ĖðŒ‚ð‚ŋ‚å‚Á‚ƏCģB - - (char/) - int_storage.c - mapif_load_storage() CģB - mapif_parse_SaveStorage() CģB - inter.c - inter_send_packet_length[] CģB - inter_recv_packet_length[] CģB - (map/) - atcommand.c - @alive,@raise,@raisemap CģB - intif.c - packet_len_table[] CģB - intif_request_storage() CģB - intif_send_storage() CģB - intif_parse_LoadStorage() CģB - - map.h - map_session_data state‚Éstorage_flag ’Į‰ÁB - script.c - buildin_areawarp_sub() CģB - buildin_openstorage() CģB - buildin_guildstorage() ’Į‰ÁB - skill.c - skill_castend_nodamage_id() CģB - storage.c - account2storage() CģB - storage_storageopen() CģB - storage_storage_save() CģB - --------------------- -//0884 by Ž€_ - -EŨ‚Đ‚ĒƒoƒOCģB -Ebattle_athena.conf‚Épet_strAzeny_penaltyAresurrection_exp ’Į‰ÁB -E0878‚Ė‹âsŠÖŒW‚ĖƒR[ƒh‚Í‚ā‚΂ǂį‚Ȃǂ˂őS‚č폜B -Ezeny_penalty‚ðÝ’č‚ĩ‚ÄŽg‚Īę‡‚͎萔—ŋ‚͂Ȃ­‚ĩ‚―•û‚Š‚Ē‚Ē‚Đ‚āB -Eƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[‚Åpercentheal‚É‚āPP‚ÆLP‚É‚æ‚é‰ņ•œƒ{[ƒiƒX‚Š•t‚­‚æ‚Ī‚É•ÏXB(‚―‚ūvit‚âintAHPRAMPR‚É‚æ‚é‰ņ•œƒ{[ƒiƒX‚Š•t‚Ŧ‚Ü‚đ‚ņB) -E‚Ų‚Æ‚ņ‚Į–ĒƒeƒXƒgB - (common/) - mmo.h CģB - (conf/) - battle_athena.conf CģB - (doc/) - conf_ref.txt CģB - (map/) - map.c - do_init()Ado_final() CģB - script.c - buildin_openbank() íœB - buildin_failedrefitem() CģB - storage.h CģB - storage.c - do_init_bank()Ado_final_bank()Aaccount2bank() íœB - storage_bank()Astorage_readbank() íœB - skill.c - skill_castend_nodamage_id()Askill_attack() CģB - battle.h CģB - battle.c - battle_calc_pet_weapon_attack()Abattle_config_read() CģB - pc.c - pc_setrestartvalue() CģB - clif.c - clif_skill_nodamage()Aclif_refine() CģB - itemdb.c - itemdb_isequip3() CģB - atcommand.c - atcommand() CģB - --------------------- -//0883 by Kalen - -EWarpFXCģ - EƒAƒTƒVƒ“ƒMƒ‹ƒhŽü‚čCģ(Ė‚Ė‚Ü‚Ü‚ĖƒŠƒ“ƒN‚ū‚Á‚―‚Ė‚ÅŒŧÝ‚Ėó‘ԂɏCģB) - EYuno‚ĖWarp‘S–ĘŒĐ’ž‚ĩ(YumilLoopCģASageCastleRandomWarp’Į‰ÁA—ˆã‚ģ‚ņ‚Ė‰Æ’Į‰Á) - Eƒ‚ƒ“ƒNƒMƒ‹ƒhŽü‚č’Į‰Á -ENPCFXCģ - E–XŽqėŽNPC‚ð•Ęƒtƒ@ƒCƒ‹‚ցBˆę•”’Į‰Á(ep2.5’Į‰Á•Š) - @ŽQlData(R.O.M776): ttp://green.sakura.ne.jp/~youc/ro/data/itemmaking.html#04 - EƒAƒTƒVƒ“ƒMƒ‹ƒhCģ - E“ņŽŸE“]EŠÖŒWNPCˆę•”’Į‰Á(‚ą‚ę‚ŃRƒ‚ƒhŽŒ€ę‚֍s‚Ŋ‚Ü‚·) - Eƒ}ƒXƒ^[ƒAƒ‹ƒPƒ~ƒXƒg‚Ė‘äŽŒCģ - EƒAƒ‹ƒfƒoƒ‰ƒ“‚ĖˆÄ“ā—vˆõ‚ðˆÚ“Ū&‘䎌Cģ&ƒCƒ[ƒW’Į‰Á - EBBS‚É‚ ‚Š‚Á‚Ăǂ―ƒRƒ‚ƒhƒXƒNƒŠƒvƒg’Į‰Á(event_hat“™‚Ö•ŠŽU) - EƒRƒ“ƒƒ“ƒNƒGƒXƒgŠÖŒWNPCˆę•”’Į‰Á(—ˆã[yuno]Aƒlƒ‹[prontera]) - (conf/warp/) - npc_warp.txt - npc_warp30.txt - npc_warp_job.txt - (conf/npc/) - npc_event_hat.txt(V‹K) - 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 ŒÓ’ą—– - -EƒXƒNƒŠƒvƒg‚É0881‘Š“–‚ĖƒAƒJƒEƒ“ƒg‹Ī—L•ϐ”‹@”\‚ĖƒvƒŒƒtƒBƒbƒNƒX•ύX - E0881‚ĖƒAƒJƒEƒ“ƒg•ϐ”‚̓vƒŒƒtƒBƒbƒNƒX##‚ɂȂč‚Ü‚ĩ‚―B - E0881‚ĖƒAƒJƒEƒ“ƒg•ϐ”‚Í‘Sƒ[ƒ‹ƒh‚ŋΗL‚ģ‚ę‚Ü‚·B - E•ϐ”‚ĖŒÂ”‚Ímmo.h‚ĖACCOUNT_REG2_NUM‚Å’č‹`‚ģ‚ę‚Ăǂ܂·(16)B -Eƒ[ƒ‹ƒh“ā‚ĖƒAƒJƒEƒ“ƒg‹Ī—L•ϐ”‹@”\’Į‰Á - E•ϐ”–ž‚ĖƒvƒŒƒtƒBƒbƒNƒX‚Í#‚Å‚·B - E•ϐ”‚ĖŒÂ”‚Ímmo.h‚ĖACCOUNT_REG_NUM‚Å’č‹`‚ģ‚ę‚Ăǂ܂·(16)B - E0881‚Ė‹âsƒXƒNƒŠƒvƒg‚Í‚ą‚ŋ‚į‚ðŽg—p‚·‚邿‚΂ɂȂč‚Ü‚·B - ‚æ‚Á‚ÄˆČ‘O‚Ėƒf[ƒ^‚Š‚Â‚Đ‚Ķ‚Č‚Ē‚Ė‚Å‚ ‚į‚Đ‚ķ‚߈ø‚Ŧo‚ĩ‚ĂςǂĂ­‚ū‚ģ‚Ē. - E•ϐ”ƒf[ƒ^‚Í save/accreg.txt ‚ɕۑķ‚ģ‚ę‚Ü‚·B - ‚ą‚Ėƒtƒ@ƒCƒ‹–ž‚Í inter_athena.conf ‚ŕύX‰Â”\‚Å‚·Bconf_ref.txtŽQÆB - - (common/) - mmo.h - ACCOUNT_REG_NUM‚ð16‚ɁAACCOUNT_REG_NUM2’Į‰Á - struct mmo_charstatus‚Éaccount_reg2_num,account_reg2ƒƒ“ƒo’Į‰Á - (login/) - login.c - account_reg‚ð‘S‚Äaccount_reg2‚É’u‚ŦŠ·‚Ķ - (char/) - char.c - account_reg‚ð‘S‚Äaccount_reg2‚É’u‚ŦŠ·‚Ķ - inter.c - ƒ[ƒ‹ƒh“āƒAƒJƒEƒ“ƒg•ϐ”‹@”\’Į‰ÁB - inter_accreg*()’Į‰ÁAaccreg_db’Į‰Á‚Č‚ĮB - (map/) - chrif.c/chrif.h - account_reg‚ð‘S‚Äaccount_reg2‚É’u‚ŦŠ·‚Ķ - 0881‚Å‚ĖƒoƒO‚ðCģ - intif.c/intif.h - ƒ[ƒ‹ƒh“āƒAƒJƒEƒ“ƒg•ϐ”‹@”\’Į‰Á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 - ƒ[ƒ‹ƒh“āƒAƒJƒEƒ“ƒg•ϐ”ŠÖŒW - conf_ref.txt - accreg_txt’Į‰Á - --------------------- -//0881 by ŒÓ’ą—– - -EƒXƒNƒŠƒvƒg‚ɃAƒJƒEƒ“ƒg‹Ī—L•ϐ”‹@”\’Į‰Á - E•ϐ”–ž‚ɃvƒŒƒtƒBƒbƒNƒX#‚ð•t‚Ŋ‚邹‚ƂŃAƒJƒEƒ“ƒg‹Ī—L•ϐ”‚ɂȂč‚Ü‚·B - EƒAƒJƒEƒ“ƒg•ϐ”‚͕ύX‚ĩ‚―Žž“_‚Å‘SƒT[ƒo[‚Ƀ|ƒXƒg‚ģ‚ę‚é‚˂Š- •p”ɂɏ‘‚ŦŠ·‚͂邯ƒT[ƒo[ŠÔ’ʐM‚Š”ė‘å‰ŧ‚ĩ‚Ü‚·B - EƒAƒJƒEƒ“ƒg•ϐ”‚͕ύX‚ĩ‚―Žž“_i‚ŧ‚ĩ‚Ä‚ŧ‚ꂊloginŽI‚É“Í‚Ē‚―Žž“_j‚Å - account.txt‚ɏ‘‚Ŧo‚ģ‚ę‚Ü‚·B - EƒOƒ[ƒoƒ‹•ϐ”i‰i‘ą•ϐ”j‚ĖŒÂ”‚ð96‚ÉŒļ‚į‚ĩAŒļ‚Á‚―32ŒÂ•Š‚ð - ƒAƒJƒEƒ“ƒg•ϐ”‚É‚ĩ‚Ăǂ܂·‚ЁAmmo_charstatus‚ĖƒTƒCƒY‚Š - 16000byte‚ð’ī‚Ķ‚Č‚ĒŒĀ‚č‘‚â‚·‚ą‚Æ‚ЂłŦ‚Ü‚·Bƒ0879‚Ė•ÏX‚ðŽQÆ - •ϐ”‚ĖŒÂ”‚Ímmo.h‚ĖACCOUNT_REG_NUM‚Å’č‹`‚ģ‚ę‚Ăǂ܂·B - E0878‚Ė‹âs‚ðƒAƒJƒEƒ“ƒg•ϐ”‚ðŽg—p‚·‚邿‚Ī‚ÉCģ - bank.txt‚Ėƒf[ƒ^‚ŠŽg‚͂Ȃ­‚Č‚é‚˂ł ‚į‚Đ‚ķ‚߈ø‚Ŧo‚ĩ‚Ăςǂĉš‚ģ‚ǁB - - (common/) - mmo.h - GLOBAL_REG_NUM‚ð96‚ɁAACCOUNT_REG_NUM‚ð’Į‰Á - struct mmo_charstatus‚Éaccount_reg_num,account_regƒƒ“ƒo’Į‰Á - (login/) - login.c - ƒpƒPƒbƒg2728ˆ—’Į‰Á - (char/) - char.c - ƒpƒPƒbƒg2729,2b10ˆ—’Į‰Á - (map/) - chrif.c - chrif_saveaccountreg(),chrif_accountreg() - (ƒpƒPƒbƒg2b10,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 - ƒAƒJƒEƒ“ƒg•ϐ”Žg—p”łˋâsƒXƒNƒŠƒvƒg - --------------------- -//0880 by Ž€_ - -Eƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[‚ðģ‚ĩ‚­ŽĀ‘•‚Æ‚ŋ‚å‚Á‚Æ‹@”\Šg’́B -Eƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[‚ŃŒƒxƒ‹•ʂɎg‚Ķ‚éƒAƒCƒeƒ€‚ðskill_require_db.txt‚ɐݒč‚Å‚Ŧ‚邿‚΂ɂĩ‚Ü‚ĩ‚―B‚―‚ūƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[‚ÅŽg‚Ķ‚éƒAƒCƒeƒ€‚ÍitemhealApercenthealAsc_startAsc_endˆČŠO‚˕ςГü‚Á‚Ăǂ邯ģ‚ĩ‚­“Ūė‚ĩ‚Ü‚đ‚ņB -ƒŒƒxƒ‹5‚܂ł͖{ŽI‚ɍ‡‚í‚đ‚Ăǂ܂·‚ŠÅ‘åƒŒƒxƒ‹‚ð10‚܂Ŋg’Ģ‚·‚邯ƒŒƒxƒ‹6 - ƒ}ƒXƒeƒ‰‚ĖŽĀA7 - ƒ[ƒ„ƒ‹ƒ[ƒŠ[A8 - ƒCƒOƒhƒ‰ƒVƒ‹‚ĖŽíA9 - ƒCƒOƒhƒ‰ƒVƒ‹‚ĖŽĀA10 - ƒo[ƒT[ƒNƒ|[ƒVƒ‡ƒ“‚ɐݒč‚ĩ‚Ăǂ܂·Bskill_db.txt‚ðCģ‚·‚ę‚΂ą‚ꂊ—LŒø‚ɂȂč‚Ü‚·B(‚Į‚ą‚ðCģ‚·‚é‚Đ‚ā‚í‚Đ‚į‚Ȃǐl‚Í’ú‚߂邹‚Ƃł·B) ƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[‚É‚æ‚éƒAƒCƒeƒ€Žg—p‚ÍŽg—pðŒ‚ð–ģŽ‹‚ĩ‚Ü‚·B­‚ĩ‚̓Aƒ‹ƒPƒ~ƒXƒg‚ÉŠó–]‚ЂłŦ‚―‚Đ‚ā...(‘―•Š–ģ—...) -Ebattle_athane.conf‚Éproduce_item_name_inputAproduce_potion_name_inputAmaking_arrow_name_inputAholywater_name_input ’Į‰ÁB -Eƒp[ƒeƒBˆõ‚É‚ū‚ŊŽg‚ĪƒXƒLƒ‹‚ƃMƒ‹ƒhˆõ‚É‚ū‚ŊŽg‚ĪƒXƒLƒ‹‚ðÝ’č‚Å‚Ŧ‚邿‚Ī‚ÉCģB -E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģB - (conf/) - battle_athane.conf CģB - (doc/) - conf_ref.txt CģB - db_ref.txt CģB - (db/) - skill_db.txt CģB - skill_require_db.txt CģB - (map/) - map.h CģB - skill.h CģB - skill.c - skill_status_change_timer()Askill_attack()Askill_use_id() CģB - skill_castend_nodamage_id()Askill_castend_damage_id() CģB - skill_castend_id()Askill_castend_pos()Askill_produce_mix() CģB - skill_arrow_create()Askill_check_condition() CģB - skill_status_change_clear()Askill_readdb() CģB - mob.c - mobskill_use_id()Amob_changestate() CģB - pc.c - pc_itemheal()Apc_percentheal()Apc_calcstatus() CģB - battle.h CģB - battle.c - battle_delay_damage()Abattle_damage()Abattle_heal() CģB - battle_get_adelay()Abattle_get_amotion() CģB - battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CģB - battle_weapon_attack()Abattle_config_read() CģB - clif.c - clif_skill_fail() CģB - script.c - buildin_sc_start()Abuildin_sc_end() CģB - makefile CģB - --------------------- -//0879 by ŒÓ’ą—– - -E‘—MFIFO‚Ėƒoƒbƒtƒ@ƒI[ƒo[ƒtƒ[‚ĖÆŽãŦ‚ĖCģ - E2048ƒoƒCƒgˆČã‚ĖƒpƒPƒbƒg‚ð‘—‚é‚Æ‚ŦAFIFO‚Š–ž”t‚ɋ߂Ŋ‚ę‚Î - ƒoƒbƒtƒ@ƒI[ƒo[ƒtƒ[‚É‚æ‚é•sģƒAƒNƒZƒX‚Š‹N‚ą‚Á‚Ăǂ―–â‘čCģB - EFIFO‚Š–ž”t‚É‹ß‚Ē‚Æ‚ŦWFIFOSET‚ģ‚ę‚―ƒpƒPƒbƒg‚ŠŽĖ‚Ä‚į‚ę‚Ăǂ―–â‘čCģB - EFIFO‚ŠƒI[ƒo[ƒtƒ[‚·‚éę‡AŽĐ“Ū“I‚ÉFIFO‚ðŠg’Ģ‚·‚邿‚΂ɂĩ‚―B - i‚―‚ū‚ĩAˆę“x‚ÉWFIFOSET‚·‚éƒpƒPƒbƒg‚Š16384ƒoƒCƒgˆČ‰š‚Ɖž’č‚ĩ‚Ăǂéj - Eusocket: ? wdata expanded to ???? bytesv‚ÍFIFO‚ŠŠg’Ģ‚ģ‚ę‚―‚Æ‚Ŧ‚É - ‚ł郍ƒO‚ū‚ЁAƒGƒ‰[‚Å‚Í‚Č‚­AƒpƒPƒbƒg‚͐ģ‚ĩ‚­‘—M‚ģ‚ę‚éB - Eusocket: ? wdata lost !!v‚̓pƒPƒbƒg‚Š‘rŽļ‚ĩ‚―‚ą‚Æ‚ð•\‚·ƒƒO‚ŁA - ƒGƒ‰[‚Å‚ ‚邊64KB‚ð’ī‚Ķ‚é’‘å‚ČƒpƒPƒbƒg‚ðWFIFOSET‚ĩ‚Č‚Ē‚Æo‚ȂǁB - E16384ƒoƒCƒg‚ð’ī‚Ķ‚éƒpƒPƒbƒg‚ðWFIFOSET‚·‚邯ƒGƒ‰[ƒƒbƒZ[ƒW‚Č‚ĩ‚ɁA - •sģƒAƒNƒZƒX‚Š‹N‚ą‚é‰Â”\Ŧ‚Š‚ ‚é‚˂ŁA’ī‚͂Ȃǂæ‚΂ɂ·‚邹‚ƁB - - (common/) - socket.c /socket.h - WFIFOSET()‚ðƒ}ƒNƒ‚Đ‚įŠÖ”‚ɕύX - realloc_fifo()’Į‰Á - -EƒT[ƒo[ŠÔ’ʐMFIFO‚Ėƒoƒbƒtƒ@ƒTƒCƒY‚ð‘å‚Ŧ‚­‚ĩ‚― - E‘å—Ę‚Ėƒf[ƒ^‚ВƐM‚ģ‚ę‚―‚Æ‚Ŧ‚Ƀf[ƒ^ˆ—’x‰„‚Š‹N‚Ŧ‚É‚­‚­‚·‚é‚―‚߁B - Eƒƒ‚ƒŠŽg—p—ƂБ‚Ķ‚―B(‚Ž‚č‚Ž‚č‚ːl‚Í65536‚ɐݒ肷‚邯Œģ’Ę‚č‚ɂȂé) - EƒT[ƒo[ŠÔ’ʐM‚ĖFIFOƒTƒCƒY‚Í mmo.h ‚Å’č‹`‚ģ‚ę‚ĂǂéB - •ύX‚·‚éę‡‚Í64KB(65536)ˆČã‚Ė’l‚É‚·‚邹‚ƁB - ‘å‚Ŧ‚­‚·‚邯‹‘åƒf[ƒ^ŽóMŽž‚Ė’x‰„‚ŠŒļ‚邊ƒƒ‚ƒŠ‚ð‘―‚­Žg‚΁B - E@kickallŽž‚Č‚Į‚Ƀf[ƒ^‘—M‚ŠŒƒ‚ĩ‚­‚Č‚é‚Ė‚Å•ÏX‚ĩ‚―‚ЁA - “ŊŽžƒƒOƒCƒ“l”‚Š­‚Č‚Ē‚Æ‘‚â‚ĩ‚Ä‚āˆÓ–Ą‚Í–ģ‚ǁB - - (common/) - mmo.h - FIFOSIZE_SERVERLINKƒ}ƒNƒ’Į‰ÁB - (login/) - login.c - 2710ƒpƒPƒbƒg‚Årealloc_fifo()‚ðŒÄ‚Ô‚æ‚Ī‚É - (char/) - char.c - 2af8ƒpƒPƒbƒg‚Årealloc_fifo()‚ðŒÄ‚Ô‚æ‚Ī‚É - check_connect_login_server()‚Årealloc_fifo()‚ðŒÄ‚Ô‚æ‚Ī‚É - (map/) - chrif.c - check_connect_char_server()‚Årealloc_fifo()‚ðŒÄ‚Ô‚æ‚Ī‚É - --------------------- -//0878 by huge - -EƒJƒvƒ‰‹âsƒT[ƒrƒXB - ŽĐ•Š‚ĖŽI‚ÅŽĀ‘•‚ĩ‚Ä‚―‚ņ‚Å‚·‚ЁAˆÓŠO‚ƍDŠīG‚ū‚Á‚―‚Ė‚Åo‚ĩ‚Ă݂܂·B - NPCscript‚ŁAopenbank(0);‚Å—a‹āŠz‚ð•Ô‚ĩ‚āA’†‚ɐ”Žš‚ð“ü‚ę‚邯o‚ĩ“ü‚ę‚ĩ‚Ü‚·B - Ú‚ĩ‚­‚̓Tƒ“ƒvƒ‹‚ð“Ŋ••‚ĩ‚―‚˂ŁA‚ŧ‚ę‚ðŽQÆB - - (common/) - mmo.h - struct bank ’Į‰ÁB - (map/) - map.c - do_final(),do_init() CģB - 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 ŒÓ’ą—– - -EloginŽI‚ĖƒAƒNƒZƒXƒRƒ“ƒgƒ[ƒ‹‚Šƒlƒbƒgƒ}ƒXƒN•\‹L‚ɑΉž - 192.168.0.0/24 ‚â 192.168.0.0/255.255.0.0 ‚Æ‚Ē‚Á‚―•\‹L‚ɑΉžB -Ebattle_athena.conf‚ÉGM‚Š–ģðŒ‚Å‘•”õ•i‚ð‘•”õ‚Å‚Ŧ‚違 - –ģðŒ‚ŃXƒLƒ‹‚ðŽg—p‚Å‚Ŧ‚éÝ’č’Į‰Á - ‚ą‚ę‚į‚̓fƒoƒO—p‚Č‚Ė‚Å“Ūė‚É•s“s‡‚Š‚ ‚é‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņB - - (login/) - login.c - check_ip()Cģ,check_ipmask()’Į‰Á - (map/) - battle.c/battle.h - battle_config‚Égm_allequip,gm_skilluncond’Į‰Á - battle_config_read()CģX - skill.c - skill_check_conditio()Cģ - pc.c - pc_isequp()Cģ - (doc/) - conf_ref.txt - allow•ύXAgm_all_equipmentAgm_skill_unconditional’Į‰Á - --------------------- -//0876 by Ž€_ - -EŨ‚Đ‚ĒƒoƒOCģB -E@ƒRƒ}ƒ“ƒh‚ɃeƒXƒg‚ĖˆŨ‚É“ü‚ę‚Ăǂ―•ςГü‚Á‚Ăǂ―‚Ė‚ÅCģB -Eƒnƒ“ƒ}[ƒtƒH[ƒ‹‚ĖŽË’ö‚ð5‚Đ‚į4‚ɏCģ(–{ŽIŽË’ö‚Í•s–ū)‚ÆƒŠƒUƒŒƒNƒVƒ‡ƒ“‚Š–ģ‘ېŦ‚ū‚Á‚―‚Ė‚ðđ‘ېŦ‚ɏCģB - (db/) - skill_db.txt CģB - (map/) - mob.c - mob_catch_delete()Amob_stop_walking() CģB - storage.c - storage_additem() CģB - pc.c - pc_damage()Apc_stop_walking() CģB - clif.c - clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() CģB - battle.c - battle_calc_magic_attack() CģB - skill.c - skill_check_condition() CģB - atcommand.c CģB - --------------------- -//0875 by ŒÓ’ą—– - -Eparty_share_level‚ðinter_athena.conf‚Ɉڂĩ‚― - (ƒp[ƒeƒBŠÖ˜A‚Ėˆ—‚ĖŠĮŠ‚ŠinterŽI‚Ė‚―‚ß) -Einter_athena.conf‚Éinter_log_file€–Ú’Į‰Á -EƒMƒ‹ƒhėŽ/‰ðŽU/éč—Ė/é”jŠü‚ŠƒƒO‚ÉŽc‚邿‚Ī‚É -EƒMƒ‹ƒh‰ðŽUŽž‚Ƀƒ‚ƒŠƒŠ[ƒN‚ĩ‚Ăǂ―–â‘č‚ðCģ - (char/) - char.c/char.h - party_share_levelŠÖ˜A - (inter/) - inter.c/inter.h - party_share_level / inter_log_file ŠÖ˜A - ƒƒOo—Í—p‚Éinter_log()’Į‰Á - int_guild.c - ėŽ/‰ðŽU/éč—Ė/é”jŠü‚ðƒƒO‚ɏo—Í - ƒƒ‚ƒŠƒŠ[ƒNCģ - (doc/) - conf_ref.txt - Cģ - -EƒT[ƒo[ó‘ÔŠm”F—pCGIƒXƒNƒŠƒvƒg“Y•t‚Č‚Į - EŽĐŒČÓ”C•ÚŨ‚ȉðā–ģ‚ĩAŽŋ–â‚ģ‚ę‚Ä‚āƒXƒ‹[‚·‚é‰Â”\Ŧ—L‚č - EƒGƒfƒBƒ^‚ÅŠJ‚Ē‚―‚į­‚ĩā–ū—L‚č - ECGIÝ’u‚ĖŠî–{‚ģ‚Ķ‚í‚Đ‚ę‚Ζâ‘č‚Č‚Ē‚Í‚ļ - - (tool/cgi/) - serverstatus.cgi - ƒT[ƒo[ó‘ÔŠm”F—pCGIƒXƒNƒŠƒvƒg - addaccount.cgi - ā–ūCģ - --------------------- -//0874 by Kalen -EWhiteDayƒCƒxƒ“ƒg’Į‰Á - conf/npc/npc_event_whiteday.txt(V‹K) - ‚―‚ūA‚Ļ‰ŲŽq”„‚Á‚Ä‚é‚ū‚Ŋ‚Ý‚―‚ǁcGM‚ЂȂɂâ‚é‚Ė‚Đ‚Í’m‚č‚Ü‚đ‚ņ‚ЁB - sakRO‚Ė‚Ų‚Ī‚Å‚ÍƒzƒƒCƒgƒ`ƒ‡ƒR‚į‚ĩ‚Ŧ‚ā‚˂ВĮ‰Á‚ģ‚ę‚―‚Ė‚É - jRO‚Å’Į‰Á‚ģ‚ę‚―‚Ė‚Í—’d“P‹Žƒpƒbƒ`‚Ė‚Ý(*L„t`;)c - -EAlchemistƒMƒ‹ƒh‚Å“û”ŦAŧ‘Ē‘‚ð•Ï‚Ķ‚é‚æ‚Ī‚É - conf/npc/npc_job_alchemist.txt(V‹K) - “]EƒNƒGƒXƒg‚Š•Š‚Đ‚į‚ȂЂÁ‚―‚˂ʼn·‚߂Ăǂ܂ĩ‚―‚Š - ”ƒ‚Ķ‚Č‚Ē‚Æ•s•Ö‚Æ•·‚Ē‚―‚˂ŁA’Į‰Á - -EõFNPCŽĀ‘• - conf/npc/npc_event_dye.txt(XV) - ”ŊŒ^•ύX‚ŠsakRO‚É—ˆ‚―‚į‚ĩ‚ǂ˂Š- ‚Č‚ņ‚Æ‚Č[‚­XV - --------------------- -//0873 by Ž€_ - -E@ƒRƒ}ƒ“ƒhitem2‚Ækillmonster ’Į‰ÁB -EƒXƒNƒŠƒvƒggetitem2‚Ækillmonsterall ’Į‰ÁB -E–îėŽ‚ōė‚į‚ę‚―–î‚āŧ‘ĒŽŌ‚Ė–ž‘O‚Š•t‚­‚æ‚Ī‚ÉCģB -Ebattle_athena.conf‚Émonster_class_change_full_recover’Į‰ÁB -E‘•”õƒXƒNƒŠƒvƒg‚ÉbWeaponComaEle‚ÆbWeaponComaRace ’Į‰ÁB -E­‚ĩŠÔˆá‚ǂЂ ‚Á‚―ƒ_ƒ[ƒWŒvŽZŽŪCģB -EbInfiniteEndure‚Ėˆ—‚ðƒCƒ“ƒfƒ…ƒA•\ŽĶ‚Č‚ĩ‚œ╔ˆ—‚·‚邿‚Ī‚É•ÏXB -EƒI[ƒgƒXƒyƒ‹‚Åcastend_nodamage_id()‚ðŒÄ‚ÔƒXƒLƒ‹‚āŽg—p‚Å‚Ŧ‚邿‚Ī‚ÉCģB -E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģ‚ƃoƒOCģB -E‚Ų‚Æ‚ņ‚Į–ĒƒeƒXƒg‚Č‚Ė‚ÅƒoƒO‚Š‚ ‚Á‚―‚į•ņ‚ĻŠč‚Ē‚ĩ‚Ü‚·B - (conf/) - help.txt CģB - atcommand_athena.conf CģB - battle_athena.conf CģB - char_athena.conf CģB - (db/) - const.txt CģB - item_db.txt CģB - (doc/) - item_bonus.txt CģB - script_ref.txt CģB - conf_ref.txt CģB - (map/) - map.h CģB - map.c - map_quit() CģB - skill.h CģB - skill.c - skill_castend_nodamage_id()Askill_status_change_clear() CģB - skill_castend_id()Askill_castend_pos()Askill_arrow_create() CģB - skill_status_change_timer() CģB - pc.c - pc_calcstatus()Apc_bonus2()Apc_equipitem() CģB - pc_unequipitem()Apc_damage() CģB - battle.h CģB - battle.c - battle_get_dmotion()Abattle_weapon_attack() CģB - battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CģB - battle_calc_magic_attack()Abattle_config_read() CģB - clif.c - clif_parse_LoadEndAck()Aclif_damage()Aclif_skill_damage() CģB - clif_skill_damage2() CģB - itemdb.h CģB - itemdb.c - itemdb_isequip3() ’Į‰ÁB - mob.h CģB - mob.c - mob_delay_item_drop()Amob_damage()Amob_changestate() CģB - mob_class_change()Amob_delete()Amob_catch_delete() CģB - script.c - buildin_getitem() CģB - buildin_killmonsterall_sub()Abuildin_killmonsterall() ’Į‰ÁB - atcommand.h CģB - atcommand.c - atcommand() CģB - atkillmonster_sub() ’Į‰ÁB - --------------------- -//0872 by ElFinLazz - -EƒXƒLƒ‹ƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[Cģ -EƒXƒLƒ‹ƒMƒ€ƒ\ƒoƒ“ƒOƒhƒ“ƒ{ƒ‹ƒIƒbƒl‹ïŒŧ -EƒXƒLƒ‹ƒAƒuƒ‰ƒJƒ_ƒu‚Č‚į‹`ƒR[ƒ}‹ïŒŧ -EƒR[ƒ}‚Ė•ŠíƒIƒvƒVƒ‡ƒ“’Į‰Á(Ží‘°, į•Š—Ķ) -EƒIƒvƒVƒ‡ƒ“ā–ū’Į‰Á - (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‚ĖƒoƒOCģB -Echar_athena.conf‚Ælogin_athena.conf‚ɍ€–Ú’Į‰ÁB(ƒLƒƒƒ‰ŽI‚ƃƒOƒCƒ“ŽI‚ĖƒƒOƒtƒ@ƒCƒ‹‚ð•Ï‚Ķ‚é‚ą‚Æ‚Š‚Å‚Ŧ‚邿‚΂ɂĩ‚Ü‚ĩ‚―BƒfƒtƒHƒ‹ƒg‚Ålog/ƒtƒHƒ‹ƒ_[‚É“ü‚é‚Ė‚ÅlogƒtƒHƒ‹ƒ_[‚ðė‚é•K—v‚Š‚ ‚č‚Ü‚·B) -EƒGƒiƒW[ƒR[ƒg‚Ėˆ—‚ð­‚ĩCģBƒ‚ƒ“ƒXƒ^[‚ŠŽg‚Á‚―ę‡‚̓XƒLƒ‹ƒŒƒxƒ‹*6%‚˕ϗƒ_ƒ[ƒW‚ðŒļ‚į‚·‚æ‚Ī‚É•ÏXB -E•ŠíˆČŠO‚˕ςłāŧ‘ĒŽŌ‚Ė–ž‘O‚ð•\ŽĶ‚·‚邿‚Ī‚É•ÏXB(–{ŽI‚ł̓vƒŒƒ[ƒ“ƒgƒ{ƒbƒNƒX‚ÆŽčė‚čƒ`ƒ‡ƒRƒŒƒbƒgˆČŠO‚Í•\ŽĶ‚ģ‚ę‚Ü‚đ‚ņ‚ŠƒpƒPƒbƒg‚Í‚ ‚邹‚Æ‚ū‚ĩ“ü‚ę‚Ă݂܂ĩ‚―B) -E‚ŧ‚Ė‘žƒXƒLƒ‹ŠÖŒW‚ĖŨ‚Đ‚ĒCģB -E@ƒRƒ}ƒ“ƒhˆę‚‚ƃXƒNƒŠƒvƒgˆę‚‚ð’Į‰Á‚ĩ‚Ü‚ĩ‚―‚Аā–ū‚ÍŒã‚Ėƒpƒbƒ`‚ŏ‘‚Ŧ‚Ü‚·B - (conf/) - char_athena.conf CģB - login_athena.conf CģB - (doc/) - conf_ref.txt CģB - (login/) - login.c - parse_login()Alogin_config_read()Alogin_log() CģB - (char/) - char.h CģB - char.c - char_config_read()Amake_new_char()Aparse_char() CģB - int_party.c CģB - int_storage.c CģB - int_guild.c CģB - int_pet.c CģB - (map/) - map.h CģB - skill.c - skill_status_change_start()Askill_additional_effect() CģB - skill_castend_nodamage_id()Askill_check_condition() CģB - skill_status_change_clear()Askill_produce_mix() CģB - skill_status_change_timer() CģB - pc.c - pc_calcstatus()Apc_insert_card()Apc_additem()Apc_cart_additem() CģB - storage.c - storage_additem() CģB - battle.c - battle_get_adelay()Abattle_get_amotion()Abattle_calc_damage() CģB - clif.c - clif_additem()Aclif_equiplist()Aclif_storageequiplist() CģB - clif_tradeadditem()Aclif_storageitemadded()Aclif_use_card() CģB - clif_cart_additem()Aclif_cart_equiplist()Aclif_vendinglist() CģB - clif_openvending()Aclif_arrow_create_list() CģB - clif_skill_produce_mix_list()Aclif_parse_SelectArrow() CģB - clif_parse_ProduceMix() CģB - script.c - buildin_produce() CģB - buildin_getitem2() ’Į‰ÁB - atcommand.c - atcommand() CģB - --------------------- -//0870 by shuto - -Emapflag‚ĖUéíMAP‚Énomemo’Į‰Á -EƒMƒ‹ƒh•󔠂ŁA•󔠏oŒŧ‚Æ“ŊŽž‚ÉMAPŽI‚Š—Ž‚ŋ‚é–â‘čCģ(by ‚Ō‚ī‚Ü‚ņ) - --------------------- -//0869 by Ž€_ - -Ebattle_athena.conf‚Éplayer_land_skill_limitAmonster_land_skill_limitAparty_skill_penaly ’Į‰ÁB -Echar_athena.conf‚Éparty_share_level ’Į‰ÁB -E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģB - (conf/) - char_athena.conf CģB - battle_athena.conf CģB - (doc/) - conf_ref.txt CģB - (char/) - char.h CģB - char.c - char_config_read() CģB - int_party.c - party_check_exp_share() CģB - (map/) - map.h CģB - skill.c - skill_attack()Askill_castend_damage_id() CģB - skill_castend_nodamage_id()Askill_status_change_start() CģB - skill_castend_pos() CģB - pc.c - pc_calcstatus() CģB - mob.c - mobskill_castend_pos() CģB - battle.h - battle.c - battle_get_adelay()Abattle_get_amotion()Abattle_calc_damage() CģB - battle_config_read() CģB - pet.c - pet_data_init() CģB - --------------------- -//0868 by Ž€_ - -Eƒ}ƒWƒbƒNƒƒbƒhŽĀ‘•‚ƃXƒyƒ‹ƒuƒŒƒCƒJ[CģB -Eƒ}ƒWƒbƒNƒƒbƒh‚Ėę‡–{ŽI‚ÅŽg‚Á‚Ä‚ā‚Č‚ņ‚Ė•\ŽĶ‚ā‚Č‚­”­“Ū‚Ė‘O‚ɂ͎g‚Á‚―‚Đ‚Į‚Ī‚Đ‚ĖŠm”F‚ЂłŦ‚Č‚Ē‚Ė‚ÅƒXƒLƒ‹‰rĨƒpƒPƒbƒg(0x13e)‚ð—˜—p‚ĩ‚ÄŽg—p‚·‚鎞ƒXƒLƒ‹–ž‚Šo‚邿‚΂ɂĩ‚Ăǂ܂·B(–{ŽI‚ƈá‚Ī‚ž‚Æ‚Đ‚Å•ķ‹å‚Š‚ą‚Ȃǂæ‚Ī‚É) -EƒXƒyƒ‹ƒuƒŒƒCƒJ[‰rĨƒLƒƒƒ“ƒZƒ‹‚ÉŠÖŒW‚Č‚­skill_db.txt‚ɐݒč‚ģ‚ę‚Ä‚éskill_type‚Šmagic‚ĖƒXƒLƒ‹‚Ė‚Ý”j‚邹‚Æ‚Š‚Å‚Ŧ‚Ü‚·B(ƒ‰ƒOƒiƒQ[ƒg‚ːā–ū‚ð“K—p) -Eskill_db.txt‚Ė‘ŽŪ‚Š•Ï‚í‚Á‚―‚˂ŒˆÓ‚ĩ‚Ä‚­‚ū‚ģ‚ǁBƒmƒbƒNƒoƒbƒN‹——Ģ‚ĖÝ’č‚ā‚Å‚Ŧ‚Ü‚·‚Š”O‚ĖˆŨ‚ɂǂÁ‚ĂςŦ‚Ü‚·‚ŠAŽI‚Å‚ĖƒeƒXƒg‚ÅFW‚ĖƒmƒbƒNƒoƒbƒN‹——Ģ‚Í2‚ŃTƒ“ƒN‚ā2‚Å‚ ‚邹‚Æ‚ðŠm”F‚ĩ‚Ăǂ܂·BŠØ‘‚Ė2003”N11ŒŽ19“úƒpƒbƒ`‘O‚ĖŽI‚ł͂ ‚č‚Ü‚·‚Š2-2‚Í“K—p‚ģ‚ę‚Ä‚Ē‚éŠ‚Ȃ˂Ŗ{ŽI‚Ėˆá‚Ē‚Í‚Č‚Ē‚ÆŽv‚ǂ܂·B -E‚ŧ‚Ė‘žƒXƒLƒ‹ŠÖŒW‚ĖŨ‚Đ‚ĒCģB -E0867‚ŏ‘‚Ŧ–Y‚ęBƒ‚ƒ“ƒXƒ^[‚Ėƒq[ƒ‹‚ŃAƒ“ƒfƒbƒhƒ‚ƒ“ƒXƒ^[‚ŠUŒ‚‚ģ‚ę‚ÄŽĐ–Å‚·‚é‚Ė‚Åƒq[ƒ‹‚⃊ƒU‚Ėę‡mob_skill_db.txt‚Ėval1(’l1)‚É1‚ð“ü‚ę‚邯ƒAƒ“ƒfƒbƒhƒ‚ƒ“ƒXƒ^[‚āUŒ‚‚ðŽó‚Ŋ‚ļ‰ņ•œ‚·‚邿‚΂ɂȂč‚Ü‚·B–{ŽI‚ł̓‚ƒ“ƒXƒ^[‚Ėƒq[ƒ‹‚̓Aƒ“ƒfƒbƒh‚ÉŠÖŒW‚Č‚­‰ņ•œ‚·‚邿‚΂ł·B‚―‚ūŒÂl“I‚ɂ̓]ƒ“ƒr‚Šƒq[ƒ‹‚ĩ‚ÄŽĐ–Å‚·‚é•û‚Аģ‚ĩ‚Ē‚ÆŽv‚΂˂Åmob_skill_db.txt‚Őݒč‚Å‚Ŧ‚邿‚΂ɂĩ‚Ăςč‚Ü‚·B - (doc/) - db_ref.txt CģB - (db/) - cast_db.txt CģB - skill_db.txt CģB - (map/) - skill.h CģB - skill.c - skill_status_change_start()Askill_status_change_end() CģB - skill_castend_damage_id()Askill_castend_nodamage_id() CģB - skill_attack()Askill_status_change_timer()Askill_castcancel() CģB - skill_unit_onplace()Askill_use_id()Askill_castend_id() CģB - skill_readdb() CģB - skill_get_blewcount() ’Į‰ÁB - mob.c - mobskill_use_id()Amob_spawn()Amob_attack() CģB - battle.c - battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CģB - battle_calc_pc_weapon_attack()Abattle_calc_magic_attack() CģB - battle_calc_misc_attack()Abattle_weapon_attack() CģB - clif.c - clif_damage() CģB - pet.c - pet_attack() CģB - pc.c - pc_attack_timer()Apc_authok() CģB - pc_spirit_heal()Apc_natural_heal_sub() CģB - --------------------- -//0867 by Ž€_ - -EƒXƒLƒ‹ŠÖŒW‚ĖŨ‚Đ‚ĒCģB -Ebattle_athena.conf‚Éplayer_undead_nofreeze’Į‰ÁB -EV‚ĩ‚ĒƒAƒCƒeƒ€ƒpƒPƒbƒg‚ɑΉžB(PACKETVER‚ð5ˆČã‚É‚·‚é•K—v‚Š‚ ‚č‚Ü‚·B) -Emob_avail.txt‚ŃvƒŒƒCƒ„[‚ĖŽp‚ðŽw’č‚ĩ‚―ŽžƒyƒRƒyƒR‚â‘é‚ð•t‚Ŋ‚邹‚Æ‚Š‚Å‚Ŧ‚邿‚Ī‚É•ÏXB“Љš’iŽŸ‚ɃIƒvƒVƒ‡ƒ“‚ðÝ’č‚Å‚Ŧ‚Ü‚·B(‚―‚ūƒnƒCƒfƒBƒ“ƒO‚ƃNƒ[ƒLƒ“ƒO‚ÍŽw’č‚Å‚Ŧ‚Ȃǂæ‚΂ɂȂÁ‚Ăǂ܂·B) - makefile CģB - (conf/) - battle_athena.conf CģB - (doc/) - conf_ref.txt CģB - client_packet.txt CģB - (map/) - battle.h CģB - battle.c - battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CģB - battle_calc_pc_weapon_attack()Abattle_config_read() CģB - clif.c - clif_mob_class_change()Aclif_spawnmob()Aclif_spawnpet() CģB - clif_damage()Aclif_skill_damage()Aclif_skill_damage2() CģB - clif_itemlist()Aclif_cart_itemlist()Aclif_storageitemlist() CģB - clif_mob0078()Aclif_mob007b()Aclif_pet0078()Aclif_pet007b() CģB - pc.c - pc_attack_timer() CģB - skill.c - skill_castend_nodamage_id()Askill_additional_effect() CģB - skill_status_change_start() CģB - mob.h CģB - mob.c - mobskill_castend_id()Amob_getfriendstatus_sub() CģB - mob_readdb_mobavail() CģB - --------------------- -//0866 by ‚Ō‚ī‚Ü‚ņ - -EMOTD‚ĖƒƒbƒZ[ƒW‚ð‘S‚Ä•ŌW‚Å‚Ŧ‚邿‚Ī‚É•ÏXB -EƒNƒ[ƒ“ƒXƒLƒ‹ŽĀ‘•B -@ƒhƒ‹•ž‚Ėƒq[ƒ‹ƒAƒ^ƒbƒN‚É‚æ‚éƒq[ƒ‹K“ū‚Í–ĒƒeƒXƒg‚Å‚·B -EƒMƒ‹ƒh•ó” ‰žŽĀ‘•B -@ƒ”ƒ@ƒ‹ƒLƒŠ[‚P‚Ė‚Ý‚Å‚·B -@Ī‹Æ“ŠŽ‘‚É‚æ‚é•󔠌”‚ĖŽZoŽŪ‚Í“K“–‚Å‚·(‰ŠúŒÂ”4ŒÂ‚Æ‚ĩ‚Đ’m‚į‚Ȃǂ˂Å)B -@OnclockƒCƒxƒ“ƒg‚Å“Ūė‚ģ‚đ‚Ăǂ܂·B”CˆÓ‚ĖŽž‚ɕύX‚ĩ‚Ä‚­‚ū‚ģ‚ǁB -EAthenaDBŒv‰æ‚Ėmob_db.txt‚Æmapflag.txt‚ð“ü‚ę‚ĂςŦ‚Ü‚ĩ‚―B - - (map/) - pc.c - pc_makesavestatus()Apc_calc_skilltree() CģB - pc_allskillup()Apc_calc_skillpoint() CģB - pc_resetskill()Apc_authok() CģB - skill.c - skill_attack() CģB - map.h CģB - (conf/) - gvg/TEST_prtg_cas01_AbraiJ.txt CģB - motd.txt CģB - mapflag.txt CģB - (db/) - mob_db.txt CģB - --------------------- -//0865 by ‚Ō‚ī‚Ü‚ņ - -EŽĐ•ЂАč—Ė‚ĩ‚ĂǂéƒAƒWƒg‚ĖƒGƒ“ƒyƒŠƒEƒ€‚ðUŒ‚‚Å‚Ŧ‚―ƒoƒOCģB -EƒAƒuƒ‰ƒC‚Аč—ĖƒMƒ‹ƒhƒƒ“ƒo[‘Sˆõ‚ðƒ}ƒXƒ^[‚Æ‚Ý‚Č‚ĩ‚Ăǂ―ƒoƒOCģB -@‚ą‚ĖCģ‚É”š‚Á‚ăXƒNƒŠƒvƒgƒŠƒtƒ@ƒŒƒ“ƒX‚ɉü•Ï‚Š‚ ‚č‚Ü‚·B - Egetcharid(0)‚ŁAŽĐ•Š‚ĖcharID‚ð•Ô‚·‚æ‚΂ɁB - Egetguildmasterid()’Į‰ÁB - @=ƒMƒ‹ƒhID - @ŠY“–ƒMƒ‹ƒh‚Ėƒ}ƒXƒ^[‚ĖcharID‚ð•Ô‚ĩ‚Ü‚·B - - (map/) - guild.c - guild_mapname2gc() ’Į‰ÁB - battle.c - battle_calc_damage() CģB - script.c - buildin_getcharid() CģB - buildin_getguildmasterid() ’Į‰ÁB - ƒ[ƒJƒ‹ƒvƒƒgƒ^ƒCƒvéŒū‚Ėˆę•”‚ðCģA’Į‰ÁB - guild.h CģB - --------------------- -//0864 by ŒÓ’ą—– - -EinterŽI‚Ėwis‚Ėˆ—•ύX - EŽĐ‘OƒŠƒ“ƒNƒŠƒXƒg‚Đ‚įdb.h‚Å’ņ‹Ÿ‚ģ‚ę‚Ăǂéƒf[ƒ^ƒx[ƒX‚ðŽg—p‚·‚邿‚Ī‚É - EWIS‚ĖID‚ð16ƒrƒbƒg‚Đ‚į32ƒrƒbƒg‚É‘‚â‚ĩ‚―iƒpƒPƒbƒg‚āCģj - EƒƒbƒZ[ƒW‚ĖƒTƒCƒYƒ`ƒFƒbƒN‚ð“ü‚ę‚― - EƒpƒPƒbƒgƒXƒLƒbƒv‚Š“ņ‰ņs‚í‚ę‚é‰Â”\Ŧ‚Š‚ ‚éƒoƒOCģ - - (char/) - inter.c - wisŠÖŒW‘啝•ύX - (map/) - intif.c - wisŠÖŒW‚ĖCģBŽå‚ɃpƒPƒbƒgˆ—B - (doc/) - inter_server_packet.txt - ƒpƒPƒbƒg3002,3801‚ð•ύX - --------------------- -//0863 by Ž€_ - -EŨ‚Đ‚ĒCģB -Ebattle_athena.conf‚Éplayer_attack_direction_change’Į‰ÁB -Emob_skill_db.txt‚ðCģ‚·‚鎞’§”­‚ĖCģ‚ðŠÔˆá‚Á‚ďCģB -Eƒ‚ƒ“ƒXƒ^[‚ĖƒXƒLƒ‹ŽĐ”š–â‘čCģB(–ĒƒeƒXƒg) - (conf/) - battle_athena.conf CģB - (doc/) - conf_ref.txt CģB - (db/) - mob_skill_db.txt CģB - (map/) - mob.c - mobskill_use_id()Amobskill_use()Amobskill_castend_id() CģB - pc.c - pc_skill()Apc_attack_timer() CģB - skill.c - skill_castend_damage_id() CģB - battle.h CģB - battle.c - battle_weapon_attack()Abattle_config_read() CģB - --------------------- -//0862 by ŒÓ’ą—– - -EmobƒXƒLƒ‹Žg—pðŒ’Į‰Á - Efriendhpltmaxrate : –Ą•û‚ĖHP‚ŠŽw’聓–Ē–ž‚Ė‚Æ‚Ŧ(ƒeƒXƒgÏ‚Ý) - Efriendstatuson : –Ą•û‚ŠŽw’č‚ĩ‚―ƒXƒe[ƒ^ƒXˆŲí‚ɂȂÁ‚Ăǂ邯‚Ŧ - Efriendstatusoff : –Ą•û‚ŠŽw’č‚ĩ‚―ƒXƒe[ƒ^ƒXˆŲí‚ɂȂÁ‚Ä‚Ē‚Č‚Ē‚Æ‚Ŧ - Emystatuson : ŽĐ•Š‚ŠŽw’č‚ĩ‚―ƒXƒe[ƒ^ƒXˆŲí‚ɂȂÁ‚Ăǂ邯‚Ŧ - Emystatusoff : ŽĐ•Š‚ŠŽw’č‚ĩ‚―ƒXƒe[ƒ^ƒXˆŲí‚ɂȂÁ‚Ä‚Ē‚Č‚Ē‚Æ‚Ŧ - ƒXƒe[ƒ^ƒXŒn‚Í–ĒƒeƒXƒg‚Å‚·Bmob_skill_db.txt‚ÉŽw’č•û–@‚ð‘‚Ē‚Ä‚Ē‚Ü‚·B - ‚―‚Æ‚Ķ‚ÎŽĐ•Š‚Š“Å‚Đ‚Į‚Ī‚Đ‚Í mystatus,poison ‚ŁA - ƒnƒCƒfƒBƒ“ƒO’†‚Đ‚Į‚Ī‚Đ‚Í mystatuson,hiding ‚ÅŽw’č‚ĩ‚Ü‚·B -EmobƒXƒLƒ‹Žg—pƒ^[ƒQƒbƒg’Į‰Á - Efriend : –Ą•û - Earound : ŽĐ•Š‚ĖŽüˆÍiŒŧÝ‚ĖŽd—l‚ł͎üˆÍ81ƒ}ƒXj‚Ė‚Į‚ę‚Đ - Earound1`around4 : ŽĐ•Š‚ĖŽüˆÍ‚X,25,49,81ƒ}ƒX‚Ė‚Į‚ę‚Đ(”͈͂ð–ūŽĶ) - friend‚ÍðŒ‚ŠfriendŒn(friendhpltmaxrate‚Č‚Į)‚Ė‚Æ‚Ŧ‚ÉŽg—p‰Â”\B - aroundŒn‚͏ꏩŽw’čƒXƒLƒ‹‚ÅŽg—p‰Â”\B - - (map/) - mob.c / mob.h - mob_getfriend*()’Į‰ÁAmobskill_use()Cģ‚Č‚Į - (db/) - mob_skill_db.txt - Å‰‚ːā–ū‚Ė‚ÝCģBƒf[ƒ^‚͏Cģ‚ĩ‚Ăǂ܂đ‚ņB - --------------------- -//0861 by ‚Ē‚Į - -EƒT[ƒo[snapshot - --------------------- -//0860 by J - -EŽ€_‚ģ‚ņ‚ĖŽč‰šĒŠŦ‚ĖCģ‚ɍ‡‚í‚đ‚ÄMOBƒXƒLƒ‹DB‚ðCģ -(/conf) - mob_skill_db.txt CģB - --------------------- -//0859 by Ž‚Žqo^.^o -Alchemist warp Cģ(AegisŽQl) -(/conf) - (/warp) - npc_warp_job.txt Cģ - --------------------- -//0858 by Ž€_ - -EŨ‚Đ‚ĒCģB -EMAX_MOBSKILL‚ð24‚Đ‚į32‚ɕύXB(‚―‚ū­‚ĩ‚Å‚·‚Ђ܂―ƒƒ‚ƒŠ[Žg—p—ƂБ‚͂܂·B) -Eƒvƒƒ{ƒP[ƒVƒ‡ƒ“‚ÅŽæ‚és“Ū‚ðmob_skill_db.txt‚Ėval1(’l1)‚Őݒč‚Å‚Ŧ‚邿‚Ī‚ÉCģB -EŽč‰šĒŠŦ‚Å•Ą”‚ĖŽí—Þ‚ðÝ’čoØ‚邿‚Ī‚ÉCģB(Å‘å5‚‚܂Å) -Eƒƒ^ƒ‚ƒ‹ƒtƒH[ƒVƒX‚ƃgƒ‰ƒ“ƒXƒtƒH[ƒ[ƒVƒ‡ƒ“‚ā•Ą”‚ĖŽí—Þ‚ðÝ’č‚Å‚Ŧ‚邿‚Ī‚ÉCģB - (db/) - skill_db.txt CģB - mob_skill_db.txt CģB - (map/) - skill.c - skill_castend_damage_id()Askill_castend_nodamage_id() CģB - map.h CģB - mob.h CģB - mob.c - mob_readskilldb()Amob_summonslave()Amob_class_change() CģB - --------------------- -//0857 by J - -EOWN Ragnarok‚ɂ˂Á‚Ăǂ―î•ņ‚ðŒģ‚ÉMOBƒXƒLƒ‹‚ðCģB -Echase(“ËŒ‚)‚ŠŽĀ‘•‚ģ‚ę‚Ăǂ邯‚Ė‚ą‚Æ‚Č‚Ė‚Å“ËŒ‚(?)‚ðchase‚É‚Đ‚Ķ‚Ä -ƒRƒƒ“ƒgƒAƒEƒg‚ð‚Í‚ļ‚ĩ‚Ü‚ĩ‚―B -EŽ€_‚ģ‚ņ‚ŠŽĀ‘•‚ĩ‚―MOBƒXƒLƒ‹‚ðŽg—p‚·‚郂ƒ“ƒXƒ^[‚ðŽëęî•ņ‚ɍڂÁ‚Ä‚éî•ņ‚ðŒģ‚ÉŽĀ‘•B - (/conf) - mob_skill_db.txt - --------------------- -//0856 by Ž€_ - -EƒoƒOCģ‚ƍŨ‚Đ‚ĒCģB -Ebattle_athena.conf‚Émonster_attack_direction_change’Į‰ÁB -Ebattle_athena.conf‚Ėbasic_skill_check‚ƃJƒvƒ‰‚Ė‘qŒÉ—˜—p‚ð‡‚í‚đ‚Ăǂ܂ĩ‚―‚Š‚Ē‚Â‚Ė‚Ü‚É‚Đ‚Č‚­‚Č‚Á‚―‚Ė‚ÅŽæ‚č–ß‚ĩB(basic_skill_check‚Šno‚Č‚įŠî–{‹@”\ƒXƒLƒ‹ƒŒƒxƒ‹‚ÉŠÖŒW‚Č‚­‘qŒÉ‚ðŽg‚͂܂·B) -EƒsƒA[ƒVƒ“ƒOƒAƒ^ƒbƒN‚ĖŽË’ö‚ð3ƒZƒ‹‚ɕύX‚ĩ‚ċߐڍUŒ‚‚Æ‚ĩ‚Ä”FŽŊ‚·‚邿‚Ī‚ÉCģB -EAŽI‚Å‚ĖƒeƒXƒg‚ŃAƒ“ƒfƒbƒh‚Ė”FŽŊ‚ð‘ېŦ‚É‚æ‚Á‚Ä‚·‚邹‚Æ‚Š‚í‚Đ‚Á‚―‚Ė‚Åundead_detect_type‚ĖƒfƒtƒHƒ‹ƒg‚ð0‚ɕύXB -Eƒƒ^ƒ‚ƒ‹ƒtƒH[ƒVƒX‚âƒgƒ‰ƒ“ƒXƒtƒH[ƒ[ƒVƒ‡ƒ“‚ÅŒĐ‚―–Ú‚ŠƒvƒŒƒCƒ„[‚Č‚į0x1b0ƒpƒPƒbƒg‚ð‘—‚į‚Ȃǂæ‚Ī‚É•ÏXB -Eƒjƒ…[ƒ}ƒoƒO‚͏Cģ‚ĩ‚Ă݂܂ĩ‚―‚ŠƒXƒLƒ‹ƒ†ƒjƒbƒg‚ĖŽžŠÔ‚É‚æ‚éė“ŪŽd—l‚͂܂ū•ŠÍ‚ŠŠŪ‘S‚ķ‚á‚Ȃǂ˂őž‚Ė•s‹ï‡‚Šo‚Ä‚­‚é‚Đ‚ā... - (conf/) - battle_athena.conf CģB - mapflag.txt CģB(•’Ę‚Ėƒ_ƒ“ƒWƒ‡ƒ“‚ŠƒV[ƒYƒ‚[ƒh‚Å‚ ‚é‚Í‚ļ‚Š‚Ȃǂ˂Å) - (conf/npc/) - npc_town_kafra.txt CģB - (db/) - skill_db.txt CģB - (doc/) - conf_ref.txt CģB - script_ref.txt CģB - (map/) - pc.c - pc_modifybuyvalue()Apc_modifysellvalue() CģB - battle.h - battle.c - battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CģB - battle_calc_pc_weapon_attack()Abattle_weapon_attack() CģB - battle_config_read() CģB - skill.c - skill_unitsetting()Askill_castend_damage_id() CģB - skill_castend_nodamage_id() CģB - mob.c - mob_attack() CģB - pet.c - pet_attack() CģB - clif.c - mob_class_change() CģB - --------------------- -//0855 by asong - -Eƒƒ^ƒ‚ƒ‹ƒtƒH[ƒVƒX‚Å‚o‚b‚Æ‚ĩ‚Ä•\ŽĶ‚·‚é‚l‚n‚a‚ðŽw’č‚ĩ‚―ę‡‘q—Ž‚ŋ‚·‚éƒoƒO‚ðuŽb’čvCģB -E0x1b0ƒpƒP‚Å‚Í–ģ‚­0x7b‚ðŽg‚Ī‚ą‚Æ‚ʼn―‚Æ‚Đ‚ĩ‚Ăǂ܂·B -EŽg‚ǕЂŊ‚ð‚ĩ‚―‚Ē‚Æ‚ą‚ë‚Å‚·‚Š“–•û‚b‚Ė’mŽŊ‚Š–ģ‚­ðŒ•ŠŠō‚ŠãŽč‚­‚Ē‚Ŧ‚Ü‚đ‚ņ‚Å‚ĩ‚―B -E‚ā‚ĩ‚Đ‚ĩ‚―‚įƒvƒp‚Ė›z‰ŧi‰H‰ŧHj‚Š‚Ļ‚Đ‚ĩ‚­‚Č‚Á‚Ä‚é‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņB - (/map) - clif.c - mob_class_change() CģB - --------------------- -//0854 by Kalen - -E•s‘Ŧ‚ĩ‚Ăǂ―ˆęŽŸE“]EƒNƒGƒXƒg’Į‰Á‹y‚ҁA‚ŧ‚ę‚É”š‚ĪWarpAMobCģ) - (/conf) - (/npc) - npc_job_archer.txt - npc_job_swordman.txt - npc_job_thief.txt(‘䎌CģA“_”ˆ—•ύ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‚ŧ‚ę‚É”š‚ĪNPCCģBƒAƒ}ƒcs‚Ŧ‘D‚Å—ŋ‹ā‚ðŽæ‚į‚ȂЂÁ‚―–â‘čCģ - (/conf) - npc_event_hinamatsuri.txt - npc_town_amatsu.txt - npc_town_guide.txt - npc_town_kafra.txt - —Õ‚č‚ð—LŒø‚É‚·‚邯ƒAƒ}ƒcƒJƒvƒ‰‚ðW‚ɁA - ƒAƒ‹ƒxƒ‹ƒ^“ėƒJƒvƒ‰‚ðíœ‚É‚·‚邿‚΂ɂĩ‚Ăǂ܂·B - --------------------- -//0853 by Ž€_ - -EƒoƒOCģ‚ÆNPCƒXƒLƒ‹ŠÖŒW‚ĖCģB -Eƒ_[ƒNƒuƒŒƒX‚ðMISCUŒ‚‚ɕύXB(‚―‚ū–―’†”ŧ’č—L‚č) -EƒNƒŠƒeƒBƒJƒ‹ƒXƒ‰ƒbƒVƒ…AƒRƒ“ƒ{ƒAƒ^ƒbƒNAƒKƒCƒfƒbƒhƒAƒ^ƒbƒNAƒXƒvƒ‰ƒbƒVƒ…ƒAƒ^ƒbƒNAƒuƒ‰ƒCƒ“ƒhƒAƒ^ƒbƒNAƒJ[ƒXƒAƒ^ƒbƒNAƒyƒgƒŠƒtƒ@ƒCƒAƒ^ƒbƒNAƒ|ƒCƒYƒ“ƒAƒ^ƒbƒNAƒTƒCƒŒƒ“ƒXƒAƒ^ƒbƒNAƒXƒŠ[ƒvƒAƒ^ƒbƒNAƒXƒ^ƒ“ƒAƒ^ƒbƒNAƒ‰ƒ“ƒ_ƒ€ƒAƒ^ƒbƒNAƒ_[ƒNƒlƒXƒAƒ^ƒbƒNAƒtƒ@ƒCƒAƒAƒ^ƒbƒNAƒOƒ‰ƒEƒ“ƒhƒAƒ^ƒbƒNAƒz[ƒŠ[ƒAƒ^ƒbƒNAƒ|ƒCƒYƒ“ƒAƒ^ƒbƒNAƒeƒŒƒLƒlƒXƒAƒ^ƒbƒNAƒEƒH[ƒ^[ƒAƒ^ƒbƒNAƒEƒBƒ“ƒhƒAƒ^ƒbƒNAƒ}ƒWƒJƒ‹ƒAƒ^ƒbƒNAƒuƒ‰ƒbƒhƒhƒŒƒCƒ“Aƒƒ“ƒ^ƒ‹ƒuƒŒƒCƒJ[‚̓‚ƒ“ƒXƒ^[‚Ė•ŠíŽË’ö‚ɕύXB‚ŧ‚ĩ‚Ä‚ą‚ę‚į‚ĖƒXƒLƒ‹‚ðƒ‚ƒ“ƒXƒ^[‚ĖUŒ‚ŽË’ö‚É‚æ‚Á‚ĉ“‹——ĢUŒ‚‚Ƌߋ——ĢUŒ‚‚ɂȂ邿‚Ī‚É•ÏXB -EƒsƒA[ƒVƒ“ƒOƒAƒ^ƒbƒN‚Í•ŠíŽË’ö+2‚ɕύXB -EƒGƒiƒW[ƒhƒŒƒCƒ“Aƒnƒ‹ƒVƒl[ƒVƒ‡ƒ“‚Í–‚–@ŽË’ö‚ɕύXB -Eƒ_[ƒNƒuƒŒƒbƒVƒ“ƒO‚ĖŽË’ö‚ð4‚ɕύX‚Æ‚Đ‚Đ‚éŠm—Ķ‚ð50+ƒXƒLƒ‹ƒŒƒxƒ‹*5%‚ɕύXB(ˆę‰ž‚ą‚ę‚ā–‚–@‚Č‚Ė‚Å­‚ĩŽË’ö‚ðL‚­‚ĩ‚Ü‚ĩ‚―BŠî–{–‚–@ŽË’ö‚Å‚ ‚é8‚É•Ï‚Ķ‚é‚Ũ‚Ŧ‚Č‚Ė‚Đ‚Į‚Ī‚Đ‚Í”ũ–­...) -EƒKƒCƒfƒbƒhƒAƒ^ƒbƒN‚̓ZƒCƒtƒeƒBƒEƒH[ƒ‹‚ƃjƒ…[ƒ}‚ð–ģŒø‚É‚·‚é•ņ‚Š‚ ‚č‚Ü‚ĩ‚―‚Ė‚ÅƒZƒCƒtƒeƒBƒEƒH[ƒ‹‚ƃjƒ…[ƒ}‚ŠŒø‚Đ‚Č‚Ē‚æ‚Ī‚ÉCģB -EƒfƒBƒtƒFƒ“ƒ_[‚̓GƒtƒFƒNƒg‚ū‚Ŋo‚邿‚Ī‚ÉCģB(ƒXƒLƒ‹‚ĖŽd—l“™‚ð‚í‚Đ‚é•û‚͏î•ņ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·B) -Eƒgƒ‰ƒ“ƒXƒtƒH[ƒ[ƒVƒ‡ƒ“ŽĀ‘•B(ƒƒ^ƒ‚[ƒtƒHƒVƒX‚Æ“Ŋ‚ķ•Ļ‚ū‚ŧ‚΂ł·B‚―‚ū‚ą‚ę‚Í‘S‘RŠÖŒW‚Č‚Ē•Ę‚Ėƒ‚ƒ“ƒXƒ^[‚ɂȂé•Ļ‚į‚ĩ‚ǂł·Bƒjƒtƒ‹ƒwƒCƒ€‚ÉŽg‚Ī‚â‚Â‚Š‚Ē‚é‚Ý‚―‚ǂł·B) -EAthenaŽG’kƒXƒŒƒbƒh ‘ī‚Ė“ó‚Ė80‚ðscript_ref.txt‚Æ‚ĩ‚Ä’Į‰Á‚Æ‚ŋ‚å‚Á‚ƏCģB - (db/) - skill_db.txt CģB - (doc/) - script_ref.txt ’Į‰ÁB - (map/) - battle.c - battle_calc_damage()Abattle_calc_pet_weapon_attack() CģB - battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CģB - battle_calc_magic_attack()Abattle_calc_misc_attack() CģB - skill.c - castend_damage_id()Acastend_nodamage_id()Askill_use_pos() CģB - clif.c - clif_spawnnpc()Aclif_parse_Restart()Aclif_parse_QuitGame() CģB - mob.c - mobskill_castend_id()Amobskill_castend_pos() CģB - mobskill_use_id()Amobskill_use_pos() CģB - --------------------- -//0852 by ‚Ō‚ī‚Ü‚ņ - -E‹T“‡4FE‹aD2FEƒAƒ}ƒcD1F‚ðƒeƒŒƒ|•s‰ÂAƒV[ƒYƒ‚[ƒh‚ɕύXB -Enosave‚Ėˆø”‚ÉSavePoint‚ŠŽw’č‚Å‚Ŧ‚ĂȂЂÁ‚―‚˂ŒĮ‰ÁB -EPVP‚Ėmapflag‚ðmapflag.txt‚É“‡B - (map/) - npc.c - npc_parse_mapflag() CģB - (conf/) - mapflag.txt CģB - npc/npc_pvp.txt CģB - --------------------- -//0851 by ŒÓ’ą—– - -EƒƒOƒCƒ“Žž‚ĖˆÃ†‰ŧkey‚Ší‚É“Ŋ‚킯‚ǂΑå‚Ŧ‚Č–â‘肊‚ ‚Á‚―‚Ė‚ÅCģ -EƒƒOƒCƒ“ŠĮ—ŽŌƒƒOƒCƒ“(ladmin‚ÅŽg—p)‚ŃpƒXƒ[ƒh‚ĖˆÃ†‰ŧ‚ɑΉž - (login/) - login.c - login_session_dataėŽAˆÃ†‰ŧkey‚ðƒNƒ‰ƒCƒAƒ“ƒg‚炯‚ÉėŽ‚Č‚Į - (tool/) - ladmin - ver.1.05‚ɁBƒfƒtƒHƒ‹ƒg‚ŃpƒXƒ[ƒh‚ðˆÃ†‰ŧ‚·‚邿‚΂ɁB - ˆÃ†‰ŧ‚Ė‚―‚ß‚ÉDigest::MD5ƒ‚ƒWƒ…[ƒ‹‚ðŽg—p‚ĩ‚Ü‚·B - Digest::MD5‚Š–ģ‚Ēę‡‚̓pƒXƒ[ƒh‚ĖˆÃ†‰ŧ‚ðs‚ǂ܂đ‚ņB - (doc/) - admin_packet.txt - ƒƒOƒCƒ“ƒT[ƒo[ŠĮ—ƒƒOƒCƒ“•”•Š•ÏX - --------------------- -//0850 by Ž€_ - -ENPCƒXƒLƒ‹ŽĀ‘•B(ƒnƒ‹ƒVƒl[ƒVƒ‡ƒ“AƒL[ƒsƒ“ƒOAƒŠƒbƒNAƒƒ“ƒ^ƒ‹ƒuƒŒƒCƒJ[Aƒvƒƒ{ƒP[ƒVƒ‡ƒ“AƒoƒŠƒ„[Aƒ_[ƒNƒuƒŒƒbƒVƒ“ƒOAƒ_[ƒNƒuƒŒƒX) -EƒXƒLƒ‹ŽĐ”š‚ː§ŒĀ‚Ímob_skill_db.txt‚Å‚â‚ę‚Î‚Ē‚Ē‚ā‚Ė‚Č‚Ė‚ÅŽæ‚č–ß‚ĩB -Ebattle_athena.conf‚Épet_hungry_friendly_decrease’Į‰ÁB -Eƒyƒbƒg‚Ė• ‚ŠŠŪ‘S‚ÉŒļ‚邯Žx‰‡UŒ‚‚𒆎~‚·‚邿‚Ī‚É•ÏXB -E‘ېŦ•ύXƒXƒLƒ‹‚Šė“Ū‚ĩ‚ȂЂÁ‚―–â‘čCģB -Eƒƒ“ƒ^ƒ‹ƒuƒŒƒCƒJ[‚Í10+ƒXƒLƒ‹ƒŒƒxƒ‹*5%‚ĖSP‚ðŒļ‚į‚·B(UŒ‚‚Í’Ęí•ŠíƒXƒLƒ‹UŒ‚) -EƒŠƒbƒN‚Í•K’†‚ÅSP-100AƒXƒ^ƒ“Šm—ĶƒXƒLƒ‹ƒŒƒxƒ‹*5%B(ƒ_ƒ[ƒW‚Í–ģ‚ĩAbNoWeaponDamage‚Å–ģŒø) -Eƒvƒƒ{ƒP[ƒVƒ‡ƒ“‚̓‚[ƒVƒ‡ƒ“‚Š€”õ‚ģ‚ę‚Ä‚Č‚Ēƒ‚ƒ“ƒXƒ^[‚Í“ü‚ę‚Ä‚ā‚Č‚ņ‚ĖŒø‰Ę‚ā‚Č‚ĩB -Eƒ_[ƒNƒuƒŒƒbƒVƒ“ƒO‚Í‚Đ‚Đ‚é‚ÆHP‚Š1‚ɂȂéB‘ϐŦ‚Í–‚–@–hŒä‚Å“K—pB -Eƒ_[ƒNƒuƒŒƒX‚Í500+(ƒXƒLƒ‹ƒŒƒxƒ‹-1)*1000+rand(0,1000)‚Ėƒ_ƒ[ƒWB‰ņ”ð‚Å‚Ŧ‚邊–hŒä–ģŽ‹‚ŋߋ——̕ϗUŒ‚‚ū‚ŠƒZƒCƒtƒeƒBƒEƒH[ƒ‹‚Í–ģŽ‹‚ĩ‚ÄˆÅ‘ŪŦUŒ‚B(–{ŽI‚ĖŒvŽZŽŪ‚É‚ ‚Á‚Ăǂé‰Â”\Ŧ‚Í‚Č‚Ē‚Đ‚āB‚―‚ūƒ_ƒ[ƒW—Ę‚Æ–―’†•âģˆČŠO‚Í–{ŽI‡‚í‚đ) -ENPCƒXƒLƒ‹‚ĖˆÛŽŽžŠÔ‚Í“K“x‚ɐݒčB -Eƒ‚ƒ“ƒXƒ^[‚ˑېŦUŒ‚‚ƃKƒCƒfƒbƒhƒAƒ^ƒbƒN‚ŠƒZƒCƒtƒeƒBƒEƒH[ƒ‹‚ð–ģŽ‹‚·‚邯‚Ė•ņ‚ðŽó‚Ŋ‚―‚˂ł·‚ŠCģ‚·‚é‚Đ‚Į‚Ī‚Đ‚Í‚ŋ‚å‚Á‚Æ”ũ–­B(ƒXƒvƒ‰ƒbƒVƒ…ƒAƒ^ƒbƒN‚āƒZƒCƒtƒeƒBƒEƒH[ƒ‹–ģŽ‹‚Đ‚ā) - (conf/) - battle_athena.conf CģB - (doc/) - conf_ref.txt CģB - (db/) - cast_db.txt CģB - skill_db.txt CģB - (map/) - mob.c - mob_damage() CģB - clif.h CģB - clif.c - clif_skill_estimation()Aclif_damage()Aclif_skill_damage() CģB - clif_skill_damage2()Aclif_pet_performance() CģB - pet.c - pet_performance()Apet_target_check()Apet_hungry() CģB - skill.h CģB - skill.c - skill_additional_effect()Askill_castend_damage_id() CģB - skill_castend_nodamage_id()Askill_status_change_start() CģB - battle.h CģB - battle.c - battle_get_def()Abattle_get_mdef()Abattle_calc_damage() CģB - battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CģB - battle_calc_pc_weapon_attack()Abattle_config_read() CģB - --------------------- -//0849 by lapis - -EŠX’†‚ĖƒeƒXƒgƒMƒ‹ƒhƒtƒ‰ƒO‚Ė•\ŽĶ‚Š‚Ļ‚Đ‚ĩ‚Đ‚Á‚―‚Ė‚ðCģB -EƒMƒ‹ƒhƒƒ“ƒo[‚ÍŠø‚Đ‚įƒAƒWƒg‚É”ō‚Ũ‚邿‚Ī‚ÉCģB - (conf/gvg) - TEST_prtg_cas01_AbraiJ.txt CģB - --------------------- -//0848 by huge - -EƒXƒLƒ‹ŽĐ”š‚ðAHP‚Š‘S‰ņ•œ‚ĩ‚Ä‚Ē‚éŽž‚ÍŽg‚͂Ȃǂæ‚ĪCģB -EƒXƒtƒBƒAƒ}ƒCƒ“EƒoƒCƒIƒvƒ‰ƒ“ƒgEEEƒ^[ƒQƒbƒg•ύX‚Å‚Ŧ‚Č‚Ē...B -Emob‚Ƀ^[ƒQƒbƒg–ģŽ‹ID‚ðÝ’č‚Å‚Ŧ‚邿‚΂ɂĩ‚Ü‚ĩ‚―B(Gv—pmob‚ÉŽg‚Ķ‚éH) - (map/) - map.h CģB - mob_data‚É int exclusion_src,exclusion_party,exclusion_guild ’Į‰ÁB - mob.h CģB - mob.c - mob_exclusion_add() ’Į‰ÁB - mob_exclusion_check() ’Į‰ÁB - mob_timer_delete() ’Į‰ÁB - mob_attack() CģB - mob_target() CģB - mob_ai_sub_hard_activesearch() CģB - mob_ai_sub_hard_mastersearch() CģB - mob_ai_sub_hard() CģB - skill.c - skill_castend_damage_id() CģB - skill_castend_pos2() CģB - --------------------- -//0847 by Ž€_ - -E˜I“XƒoƒOCģB - (map/) - clif.c - clif_vendinglist()Aclif_openvending() CģB - vending.c - vending_openvending() CģB - skill.c - skill_castend_nodamage_id() CģB - --------------------- -//0846 by Ž€_ - -EƒoƒOCģ‚ƍŨ‚Đ‚ĒCģB -Ebattle_athena.conf‚Ėenemy_str‚Šƒyƒbƒg‚É‚ā“K—p‚·‚邿‚Ī‚É•ÏXB -EbHPDrainRate‚ÆbSPDrainRate‚Åx‚Šƒ}ƒCƒiƒX‚Å‚āė“Ū‚·‚邿‚Ī‚É•ÏXB -EPC‚âNPC‚ĖŽp‚ð‚ĩ‚―ƒ‚ƒ“ƒXƒ^[‚āŽ€‚Ę‚Æ5•bŒãƒ}ƒbƒv‚Đ‚įÁ‚͂邿‚Ī‚É•ÏXB - (map/) - battle.c - battle_calc_pet_weapon_attack()Abattle_weapon_attack() CģB - skill.c - skill_attack()Askill_castend_damage_id() CģB - pc.c - pc_allskillup() CģB - clif.h CģB - clif.c - clif_openvending()Ado_init_clif() CģB - clif_clearchar_delay()Aclif_clearchar_delay_sub() ’Į‰ÁB - mob.c - mob_damage() CģB - --------------------- -//0845 by ‚Û‚Û‚Û - -Emob_avail.txt‚ÅPCƒOƒ‰ƒtƒBƒbƒN(0`23)‚ðŽw’č‚ĩ‚―ƒyƒbƒg‚ŠoŒŧ‚ĩ‚―‚Æ‚ŦƒNƒ‰ƒCƒAƒ“ƒgƒGƒ‰[‚Ђłé‚Ė‚ðŽb’čCģB -Emob_avail.txt‚Ńyƒbƒg‚É‚āPCƒLƒƒƒ‰‚ːŦ•ʁE”ŊŒ^&FE•ŠíE‚E“Š‘•”õ‚ðŽw’č‚Å‚Ŧ‚邿‚΂ɂĩ‚Ü‚ĩ‚―B -EMOB‚ĖATKŒvŽZ‚ÉSTR‚ð“K—p‚·‚é‚Đ‚Į‚Ī‚ĐÝ’č‰Â”\‚É‚ĩ‚―B - (map/) - clif.c - clif_pet0078()Aclif_pet007b()Aclif_spawnpet()CģB - battle.hCģB - battle.c - battle_config_read()Abattle_calc_mob_weapon_attack()CģB - --------------------- -//0844 by ‚Û‚Û‚Û - -Emob_avail.txt‚ÅPCƒOƒ‰ƒtƒBƒbƒN(0`23)‚ðŽw’č‚ĩ‚―MOB‚ŠoŒŧ‚ĩ‚―‚Æ‚ŦƒNƒ‰ƒCƒAƒ“ƒgƒGƒ‰[‚Ђłé‚Ė‚ðŽb’čCģB -Emob_avail.txt‚ÅPCƒLƒƒƒ‰‚ːŦ•ʁE”ŊŒ^&FE•ŠíE‚E“Š‘•”õ‚ðŽw’č‚Å‚Ŧ‚邿‚΂ɂĩ‚Ü‚ĩ‚―B -@ƒOƒ‰ƒtƒBƒbƒN‚·‚č‘ւ͐æID‚Š0`23‚ĖŽž‚ū‚Ŋ—LŒø‚ŁAŽw’č•û–@‚Í - MOB-ID,ƒOƒ‰ƒtƒBƒbƒN‚·‚č‘ւ͐æID,Ŧ•Ę(0=female,1=male),”ŊŒ^,”ŊF,•Ší,‚,ã’i“Š‘•”õ,’†’i“Š‘•”õ,‰š’i“Š‘•”õ -@‚Æ‚Č‚č‚Ü‚·B‘•”õ‚Íitem_db‚ĖView—“ŽQÆ‚Ė‚ą‚ÆB - (map/) - clif.c - clif_mob_0078()Aclif_mob007b()Aclif_spawnmob()CģB - mob.hCģB - 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()CģB - --------------------- -//0843 by Ž€_ - -EƒŠƒtƒŒƒNƒgƒV[ƒ‹ƒhŽĀ‘•B -EƒAƒCƒeƒ€ƒXƒNƒŠƒvƒg‚ÉbShortWeaponDamageReturn‚Æ -bLongWeaponDamageReturn ’Į‰ÁB -E‚ŧ‚Ė‘žƒXƒLƒ‹ŠÖŒW‚⑞‚ĖŠCģB - (db/) - item_db.txt CģB - skill_db.txt CģB - cast_db.txt CģB - const.txt CģB - (doc/) - item_bonus.txt CģB - (map/) - map.h CģB - battle.c - battle_get_def()Abattle_get_def2()Abattle_calc_pet_weapon_attack() CģB - battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CģB - battle_weapon_attack()Abattle_calc_magic_attack() CģB - pc.c - pc_calcstatus()Apc_bonus()Apc_bonus2()Apc_equipitem() CģB - pc_unequipitem()Apc_checkallowskill() CģB - skill.c - skill_attack()Askill_unit_onplace()Askill_status_change_start() CģB - skill_status_change_end()Askill_status_change_timer() CģB - skill_castend_nodamage_id() CģB - clif.c - clif_additem()Aclif_equiplist()Aclif_storageequiplist() CģB - clif_tradeadditem()Aclif_storageitemadded()Aclif_cart_additem() CģB - clif_cart_equiplist()Aclif_vendinglist()Aclif_openvending() CģB - clif_damage()Aclif_skill_damage()Aclif_parse_LoadEndAck() CģB - --------------------- -//0842 by Ž€_ - -EƒXƒLƒ‹ŠÖŒW‚ĖCģ‚ƍŨ‚Đ‚ĒCģB -EaegisŽI‚ŐFX‚ÆŒŸØ‚ĩ‚―•Ļ‚ð“K—pB -EƒƒeƒI‚Ė”ÍˆÍ‚ð7*7ALoV13*13ASG11*11AFN5*5‚ɏCģB -EƒVƒOƒiƒ€ŽĀ‘•B(‚―‚ūPVP‚ŃvƒŒƒCƒ„[‚ɂЂЂé‚Đ‚Į‚Ī‚Đ‚Š‚í‚Đ‚į‚ȂЂÁ‚―‚˂Š-‚ЂЂé•ûŒü‚ÅŽĀ‘•B)‚ą‚ę‚Å1ŽŸE‹Æ‚ĖƒXƒLƒ‹‚̓NƒŠƒA‚Đ‚ā... -E‘•”õƒXƒNƒŠƒvƒg‚ÉbHPDrainRate‚ÆbSPDrainRate’Į‰ÁB -E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģ­‚ĩB - (doc/) - item_bonus.txt CģB - (db/) - cast_db.txt CģB - item_db.txt CģB - const.txt CģB - (map/) - map.h CģB - skill.c - skill_castend_damage_id()Askill_castend_nodamage_id() CģB - skill_unitsetting()Askill_castend_pos2()Askill_castend_id() CģB - skill_status_change_start()Askill_status_change_timer() CģB - skill_status_change_end()Askill_unit_onplace() CģB - skill_frostjoke_scream()Askill_attack() CģB - skill_attack_area() ’Į‰ÁB - battle.c - battle_calc_magic_attack()Abattle_get_element()Abattle_get_def() CģB - battle_get_def2()Abattle_get_mdef()Abattle_damage() CģB - battle_calc_damage()Abattle_calc_pet_weapon_attack() CģB - battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CģB - battle_weapon_attack() CģB - mob.c - mobskill_castend_id() CģB - pc.c - pc_calcstatus()Apc_bonus2()Apc_attack_timer() CģB - clif.c - clif_spawnmob()Aclif_spawnpet()Aclif_spawnnpc() CģB - clif_parse_ActionRequest() CģB - --------------------- -//0841 by Kalen - -E…—n‰t‚Šė‚ę‚ȂЂÁ‚―‚˂ŒĮ‰Á - conf/npc/npc_job_magician.txt - --------------------- -//0840 by Kalen - -E‹SƒCƒxƒ“ƒg’Į‰Á - conf/npc/npc_event_oni.txt - -Emap_athena.confCģ(ƒoƒŒƒ“ƒ^ƒCƒ“ƒRƒƒ“ƒgƒAƒEƒgB‹S’Į‰Á) - conf/map_athena.conf - --------------------- -//0839 by shuto - -EƒRƒ“ƒƒ“NPC’Į‰Á(ƒJƒ“ ƒ\ƒ“ƒ\ƒ“‚Š”ē‚Ŋ‚Ä‚―) - --------------------- -//0838 by Ž€_ - -EƒXƒLƒ‹ƒTƒCƒgƒ‰ƒbƒVƒƒ[ŽĀ‘•B -Eƒ‚ƒ“ƒXƒ^[‚ĖƒNƒ[ƒLƒ“ƒO‚ƃ}ƒLƒVƒ}ƒCƒYƒpƒ[‚ÍŽ‘ąŽžŠÔ‚ðƒŒƒxƒ‹*5•b‚ɕύXB -E‚ŧ‚Ė‘žŨ‚Đ‚ĒƒoƒOCģB - (db/) - skill_db.txt CģB - (map/) - skill.c - skill_castend_damage_id()Askill_castend_nodamage_id() CģB - skill_castend_pos2()Askill_unitsetting()Askill_get_unit_id() CģB - skill_status_change_start() CģB - battle.c - battle_calc_magic_attack() CģB - --------------------- -//0837 by Ž€_ - -EƒXƒLƒ‹ŠÖŒW‚ĖŨ‚Đ‚ĒCģB -EƒtƒƒXƒgƒmƒ”ƒ@‚ðƒ†ƒjƒbƒgÝ’uŽŪ‚ɕύXB -Eƒ[ƒhƒIƒuƒ”ƒ@[ƒ~ƒŠƒIƒ“‚Ė”ÍˆÍ‚ð11*11‚ɏCģ‚Æ40ƒqƒbƒg‚·‚邿‚Ī‚É•ÏXB(ƒ‰ƒOƒiƒQ[ƒg‚Ėî•ņB -13*13ā‚ā‚ ‚č‚Ü‚·‚Š...) -Eƒ†ƒsƒeƒ‹ƒTƒ“ƒ_[‚ĖƒmƒbƒNƒoƒbƒN‚ð2~7‚ɕύXB -EƒXƒg[ƒ€ƒKƒXƒg‚ĖUŒ‚‰ņ”‚ðƒŒƒxƒ‹ˆË‘ķ‚Đ‚į10‰ņ‚ɌŒčB -EƒTƒ“ƒNƒ`ƒ…ƒAƒŠ‚ĖƒmƒbƒNƒoƒbƒN‚ð3‚Đ‚į2‚ɕύXB(aegisŽI‚ŃmƒbƒNƒoƒbƒN‚Š‚ ‚邹‚Ƃ͊m”F‚ĩ‚Ü‚ĩ‚―‚Š‚Į‚ę‚Ū‚į‚Ē‚Č‚Ė‚Đ‚Š•s–ū‚ū‚Á‚―‚Ė‚Å­‚ĩŒļ‚į‚ĩ‚Ă݂܂ĩ‚―B) -Eƒ‚ƒ“ƒXƒ^[‚ˉrĨŽžŠÔ‚Š‘‚­‚Č‚Á‚Ăǂ―–â‘čCģB(dex•âģ‚Š“ü‚Á‚Ä‚ĩ‚Ü‚Á‚―‚đ‚ǂł·B) -E‚ŧ‚Ė‘žƒI[ƒgƒXƒyƒ‹“–‚―‚č‚ĖŨ‚Đ‚ĒCģB - (db/) - skill_db.txt CģB - (map/) - skill.c - skill_castfix()Askill_delayfix()Askill_timerskill() CģB - skill_castend_pos2()Askill_unitsetting()Askill_castend_damage_id() CģB - skill_castend_nodamage_id()Askill_get_unit_id()Askill_attack() CģB - battle.c - battle_calc_magic_attack()Abattle_weapon_attack() CģB - --------------------- -//0836 by Žß‘ļ - -Eƒ‚ƒ“ƒXƒ^[‚ĖŽæ‚芊‚ŦĒŠŌ‚ĖŠÔŠu‚𒆃{ƒXˆČŠOŠŪ‘SCģB - (db/) - mob_skill_db.txt CģB - --------------------- -//0835 by (“Ę) - -E”’nŽæ‚č‚Ń|[ƒY‚ð‚Æ‚é‚æ‚΂ɂĩ‚―B -(ƒ|[ƒY‚ū‚Ŋ‚Ȃ˂ŁAŽĀÛ‚ɍUŒ‚‚ðŽó‚ŊŽ~‚ß‚―‚č‚͂łŦ‚Ü‚đ‚ņ) -clif_bladestop()‚ðŒÄ‚Ô‚ą‚Æ‚Å”’nŽæ‚čó‘Ô‚ĖONAOFF‚ĖƒpƒPƒbƒg‚Š‘—‚ę‚Ü‚·B - - (map/) - clif.h CģB - clif,c - clif_bladestop() ’Į‰Á - skill.c - skill_castend_nodamage_id() CģB - --------------------- -//0834 by Žß‘ļ - -Eƒ‚ƒ“ƒXƒ^[Žæ‚芊‚ŦĒŠŌ‚ĖŠÔŠu‚Š’Z‚·‚ނ邯‚ĖŽ–‚ʼnž‹}ˆ’uB(Ą‰ņ‚͉Ћāåģ‚Ė‚Ý) - (db/) - mob_skill_db.txt CģB - --------------------- -//0833 by (“Ę) - -Ememo‹ÖŽ~’nˆæ‚Å/memoŽž‚ĖCģB -E‚Â‚Ē‚Å‚Éitem_db‚ðXVB - - (doc/) - client_packet.txt - R 0189 XVB - (db/) - item_db.txt ÅV”ł֍XVB - (map/) - pc.c - pc_memo() CģB - --------------------- -//0832 by Ž€_ - -EƒR[ƒhÅ“K‰ŧ‚ƍŨ‚Đ‚ĒCģB -EƒI[ƒgƒXƒyƒ‹‚ð’n–Ę–‚–@‚ɑΉžB -EƒTƒ“ƒ_[ƒXƒg[ƒ€‚ƃwƒ”ƒ“ƒYƒhƒ‰ƒCƒu‚ðƒ†ƒjƒbƒgÝ’uŽŪ‚ɕύXB -EƒfƒBƒtƒFƒ“ƒ_[‚ĖUŒ‚‘Ž“x’ቚ‚ð–{ŽI‚É‚ ‚í‚đB -E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģB - (doc/) - item_bonus.txt CģB - (db/) - skill_require_db.txt CģB - cast_db.txt CģB - (map/) - map.h CģB - path.c - calc_index()Apath_search() CģB - skill.c - skill_unitsetting()Askill_castend_pos2()Askill_get_unit_id() CģB - skill_status_change_timer_sub()Askill_castend_nodamage_id() CģB - skill_additional_effect()Askill_frostjoke_scream() CģB - pc.c - pc_calcstatus()Apc_skill()Apc_allskillup() CģB - battle.c - battle_get_speed()Abattle_get_adelay()Abattle_get_amotion() CģB - battle_weapon_attack() CģB - --------------------- -//0831 by Ž€_ - -E­‚ĩCģB -EƒI[ƒgƒXƒyƒ‹CģB‘•”õ‚É‚æ‚é•Ļ‚ÆƒXƒLƒ‹‚É‚æ‚é•Ļ‚ð•ʁX‚É“K—pA”­“ŪŠm—ĶCģB -E‘•”õ‚É‚æ‚éƒI[ƒgƒXƒyƒ‹‚ÍŽw’č‚ĩ‚―ƒŒƒxƒ‹‚æ‚č2‚‰š‚܂Ŕŧ’č‚ð‚ĩ‚Ü‚·B‚Â‚Ü‚čƒŒƒxƒ‹5‚ðÝ’č‚·‚邯ƒŒƒxƒ‹3‚Đ‚į5‚܂Ŕ­“Ū‚ĩ‚Ü‚·B -Ebattle_athana.conf‚Ėplayer_cloak_check_wallAmonster_cloak_check_wall‚ðplayer_cloak_check_typeAmonster_cloak_check_type‚ɕύXB -EƒAƒCƒeƒ€ƒ‹[ƒgŒ ŒĀŽžŠÔ‚ð–{ŽI‚ɍ‡‚í‚đ‚ďCģB -E‚ŧ‚Ė‘žƒXƒLƒ‹ŠÖŒW‚ĖŨ‚Đ‚ĒCģB - (doc/) - conf_ref.txt CģB - db_ref.txt CģB - item_bonus.txt CģB - (conf/) - battle_athana.conf CģB - (db/) - item_db.txt CģB - (map/) - map.h - map.c - block_free_maxABL_LIST_MAX CģB - skill.h CģB - skill.c - skill_additional_effect()Askill_attack()Askill_castend_damage_id() CģB - skill_castend_nodamage_id()Askill_unit_onplace() CģB - skill_status_change_end()Askill_status_change_start() CģB - skill_initunitgroup()Askill_unitsetting()Askill_castfix() CģB - skill_delayfix()Askill_autospell()Askill_use_id()Askill_use_pos() CģB - skill_check_cloaking()Askill_unit_timer_sub()Askill_check_condition() CģB - battle.h CģB - battle.c - battle_damage()Abattle_get_agi()Abattle_get_speed() CģB - battle_get_adelay()Abattle_get_amotion()Abattle_get_flee() CģB - battle_weapon_attack()Abattle_calc_magic_attack() CģB - battle_config_read() CģB - mob.c - mob_attack()Amob_damage()Amobskill_use_id() CģB - mobskill_use_pos()Amob_spawn()Amob_class_change() CģB - mob_can_move() CģB - pc.c - pc_attack_timer()Apc_checkweighticon()Apc_calcstatus() CģB - pc_damage()Apc_equipitem()Apc_unequipitem() CģB - pc_bonus2()Apc_bonus3()Apc_memo()Apc_authok() CģB - pc_isUseitem() CģB - clif.h CģB - clif.c - clif_changeoption()Aclif_parse_LoadEndAck()Aclif_autospell() CģB - clif_skill_memo() CģB - clif_skill_teleportmessage() ’Į‰ÁB - script.c - buildin_sc_start() CģB - atcommnad.c - atcommand() CģB - --------------------- -//0830 by huge - -EƒI[ƒgƒXƒyƒ‹‚ŁAŽĐ•Š‚ĖK“ū‚ĩ‚Ă郌ƒxƒ‹‚æ‚č‚ā‚‚ĒƒŒƒxƒ‹‚Å - –‚–@‚Š”­“Ū‚ĩ‚Ăǂ―‚Å‚ ‚ë‚Ī–â‘č‚ðCģB -EƒI[ƒgƒXƒyƒ‹‚Å‚āA‚ŋ‚á‚ņ‚ÆSP‚ŠŒļ‚邿‚Ī‚ÉCģ(‚Į–Y‚ę) - (map/) - battle.c - battle_weapon_attack() CģB - skill.c - skill_autospell() CģB - --------------------- -//0829 by Kalen - -Emob_dbCģ - ŽĐŽI—p‚Ė‚ÆŠÔˆá‚Á‚ÄUP‚ĩ‚Ä‚ĩ‚Ü‚Á‚―‚æ‚΂ł·B - –{—ˆ‚Ė‚ā‚˂ɒž‚ĩ‚Ü‚ĩ‚―B - --------------------- -//0828 by đ - -EƒT[ƒo‚ĖSnapshot -EMVPƒ{ƒXŒn‚Đ‚įƒoƒJƒ“ƒXƒ`ƒPƒbƒg‚Š‘å—Ę‚Éo‚Ăǂ―–â‘č‚ðCģB - (common/) - version.h CģB - (db/) - mob_db.txt CģB - --------------------- -//0827 by J - -EŒÅ’čMOB‚Ė‚Í‚ļ‚ĖƒƒKƒŠƒX‚Ɛl–Ę“Žũ‚Š•ā‚ǂĂǂ―‚Ė‚ðCģB -E“Ž‹Zę‚ĖMOB‚ɃXƒLƒ‹‚ðŽĀ‘•B -EƒpƒTƒi‚ƃtƒ@ƒ‰ƒI‚ŠƒXƒLƒ‹‚ŠÝ’č‚ģ‚ę‚Ä‚Ē‚Č‚Đ‚Á‚―‚Ė‚ðŽĀ‘•B - (db/) - mob_db.txt CģB - mob_skill_db.txt CģB - --------------------- -//0826 by ‚Ō‚ī‚Ü‚ņ - -Eˆę•”‚ˉ‰‘tƒXƒLƒ‹‚ðŽg‚Ī‚ÆŽI‚Š—Ž‚ŋ‚éƒoƒOCģB -EƒNƒ[ƒLƒ“ƒO’†‚ɃXƒLƒ‹‚ðŽg—p‚Å‚ŦA -@Žg—p‚·‚邯ƒNƒ[ƒLƒ“ƒO‚Š‰ðœ‚ģ‚ę‚邿‚Ī‚ÉCģB -EKalen‚ģ‚ņ‚Ėmob_db.txt‚ð‚܂Ƃ߂܂ĩ‚―B - (map/) - skill.c - skill_unit_onplace()Askill_unit_onout() CģB - skill_status_change_start()Askill_status_change_timer() CģB - skill_use_id()Askill_use_pos() CģB - (db/) - mob_db.txt CģB - --------------------- -//0825 by Ž€_ - -EŨ‚Đ‚ĒCģB(Ũ‚Đ‚Ē‚ą‚Æ‚Ė‚í‚č‚ɂ͏Cģ‚ĩ‚―Š‚Š‘―‚Ē‚Ŋ‚Į...) -Eƒ[ƒvƒ|[ƒ^ƒ‹‚Ė’†‚ÉŽ~‚Ü‚Á‚―ŽžˆČŠO‚̓[ƒv‚ĩ‚Ȃǂæ‚Ī‚ÉCģB -Ebattle_athena.conf‚Éplayer_skill_nofootsetAmonster_skill_nofootset ’Į‰ÁB -ENPC‚ðƒNƒŠƒbƒN‚ĩ‚―Œã˜I“X‚ðƒNƒŠƒbƒN‚ĩ‚ĘI“X‚ð•‚ķ‚邯“Ū‚Ŋ‚Č‚­‚Č‚éƒoƒOCģB -‚―‚ū˜I“X‚ð•‚ķ‚鎞‰―‚ĖƒpƒPƒbƒg‚ā“]‘—‚ĩ‚Ä‚ą‚Č‚Ē‚Ė‚Å˜I“X‚ðƒNƒŠƒbƒN‚·‚邯NPC‚Ėˆ—‚Đ‚į”ē‚Ŋ‚邿‚΂ɂĩ‚Ü‚ĩ‚―B(–{ŽI‚Å‚ÍNPC‚Ėˆ—‚Š”ē‚Ŋ‚Ȃǂį‚ĩ‚ǂł·‚Š‚ŧ‚ęˆČŠO•û–@‚Š‚Č‚Đ‚Á‚―‚Ė‚Á‚ŁB) -Ekillmonster‚ĖAll‚ÅĒŠŦ‚ģ‚ę‚―ƒ‚ƒ“ƒXƒ^[‚ū‚ŊÁ‚·‚æ‚Ī‚É•ÏXB -Eƒ\[ƒXÅ“K‰ŧ‚âƒXƒLƒ‹ŠÖŒW‚ĖŨ‚Đ‚ĒCģ‘―”B - (doc/) - conf_ref.txt CģB - db_ref.txt CģB - (conf/) - battle_athana.conf CģB - atcommnad_athena.conf CģB - (db/) - item_db.txt CģB - skill_db.txt CģB - (login/) - parse_fromchar() CģB - (map/) - map.h CģB - clif.c - clif_closevendingboard()Aclif_parse_VendingListReq() CģB - clif_mob0078()Aclif_mob007b()Aclif_pet0078()Aclif_pet007b() CģB - skill.h CģB - skill.c - skill_check_condition()Askill_castend_pos2() CģB - skill_castend_damage_id()Askill_castend_nodamage_id() CģB - skill_castend_id()Askill_status_change_start()Askill_castfix() CģB - skill_delayfix()Askill_check_unit_range_sub() CģB - skill_check_unit_range()Askill_castend_pos()Askill_stop_dancing() CģB - skill_unit_onplace()Askill_readdb()Askill_timerskill()Askill_blown() CģB - skill_check_unit_range2_sub()Askill_check_unit_range2() ’Į‰ÁB - skill_get_maxcount() ’Į‰ÁB - mob.c - mobskill_castend_id()Amobskill_castend_pos()Amob_deleteslave() CģB - mob_stop_walking()Amob_walk()Amob_damage() CģB - pc.c - pc_calcstatus()Apc_checkskill()Apc_stop_walking() CģB - pc_walk()Apc_damage() CģB - npc.c - npc_touch_areanpc() CģB - pet.c - pet_stop_walking() CģB - script.c - buildin_killmonster()Abuildin_killmonster_sub() CģB - battle.h - battle.c - battle_calc_magic_attack()Abattle_get_flee()Abattle_get_flee2() CģB - battle_get_adelay()Abattle_get_amotion()Abattle_get_max_hp() CģB - battle_get_hit()Abattle_get_critical()Abattle_get_atk2() CģB - battle_damage()Abattle_config_read() CģB - atcommand.h CģB - atcommand.c CģB - --------------------- -//0824 by ‚Ō‚ī‚Ü‚ņ - -EƒZƒCƒtƒeƒBƒEƒH[ƒ‹Eƒjƒ…[ƒ}‚Ė‘ŦŒģ’u‚Ŧ‚ЂłŦ‚ȂЂÁ‚―–â‘čCģB -EƒGƒ“ƒyƒŠƒEƒ€‚Ƀq[ƒ‹“™‚ĖŽx‰‡ƒXƒLƒ‹‚ŠŒø‚ǂĂǂ―–â‘čCģB -E“Ž‹Zę‚Ń‚ƒ“ƒXƒ^[ƒŠƒZƒbƒg‚ЂłŦ‚ȂЂÁ‚―–â‘čCģB -@killmonster‚Í"killmonster ,"‚Æ‹Lq‚ĩ‚Ä -@ŠY“–eventname‚ðŽ‚Âƒ‚ƒ“ƒXƒ^[‚ðíœ‚ĩ‚Ü‚·‚Š -@eventname‚ÉAll‚Æ“ü‚ę‚邯ŠY“–MAP‚Ė‘Sƒ‚ƒ“ƒXƒ^[‚ðÁ‹Ž‚·‚邿‚΂ɂĩ‚Ü‚ĩ‚―B - - (map/) - skill.c - skill_check_unit_range_sub()Askill_castend_nodamage_id() CģB - script.c - buildin_killmonster()Abuildin_killmonster_sub() CģB - (conf/npc/) - npc_event_tougijou.txt CģB - --------------------- -//0823 by Kalen - -E“Ž‹Zęƒf[ƒ^‘ĩ‚Á‚―‚˂ŁAŠŪŽ - conf/npc/npc_event_tougijou.txt - ‚―‚ū‚ĩA‚ą‚ŋ‚į‚Ń`ƒFƒbƒN‚ĩ‚―‚Æ‚ą‚ëkillmonster‚Ђ΂܂­‚Ē‚Đ‚ļA - Žļ”sAŽžŠÔØ‚ę‚ĩ‚―ę‡ƒ‚ƒ“ƒXƒ^[ƒŠƒZƒbƒg‚Šo—ˆ‚Ü‚đ‚ņB - ƒCƒxƒ“ƒg‚ŠÝ’č‚ģ‚ę‚Ä‚Ē‚éƒ‚ƒ“ƒXƒ^[‚͏ˆ—‚Å‚Ŧ‚Č‚Ē‚Ė‚Đ‚ÆŽv‚ǂ܂ĩ‚―‚Š - Agit‚Ė‚Ų‚Ī‚ĖƒGƒ“ƒy‚ĖKillmonster‚Í‚ŋ‚á‚ņ‚Æ“Ū‚Ē‚Ä‚Ü‚·‚ĩc - Œīˆö•Š‚Đ‚é•û‚ĻŠč‚Ē‚ĩ‚Ü‚·<(_ _)> - -Egon_test‚Ėmapflag’Į‰Á - conf/mapflag.txt - -Emob_dbXV - 1419`1491‚ŠŠų‘ķ‚ĖMob‚Ė’č‹`‚΂Ђč‚Ȃ˂ŒĮ‰Á‚ĩ‚Ü‚đ‚ņ‚Å‚ĩ‚―‚ЁA - ’ē‚Ũ‚―Š“Ž‹Zę‚ĖMob‚Ėƒf[ƒ^‚Å‚ ‚邹‚Æ‚Š•Š‚Đ‚č‚Ü‚ĩ‚―(Drop‚ð˜M‚Á‚―‚ā‚Ė) - –{ŽI‚ł͈łč‚ņ‚ē‚Š•ņ‚ģ‚ę‚Ăǂ܂·B‚ЁA‚ą‚ŋ‚į‚ÍDrop‹ó”’‚ŏˆ—‚ĩ‚Ü‚ĩ‚―B - ƒNƒ‰ƒCƒAƒ“ƒgã‚ł͓Ŋ–ž‚Å‚ĩ‚―‚ЁA‹æ•Ƃ˂―‚ßÚ“Š‚ÉG_‚ð‚‚Ŋ‚Ä‹æ•Ę‚ĩ‚Ă܂·B - mob_skill_db‚ ‚肊‚Æ‚Ī‚ē‚ī‚ǂ܂ĩ‚―Ŧ - --------------------- -//0822 by ‚Ō‚ī‚Ü‚ņ - -E‰‰‘tƒXƒLƒ‹‚ł˕âģ‚ðƒ_ƒ“ƒT[‚É‚ā“K—pB -EƒTƒ“ƒNƒ`ƒ…ƒAƒŠƒoƒOCģB -EKalen‚ģ‚ņ‚ĖMOBƒXƒLƒ‹ƒf[ƒ^ƒx[ƒX‚ð‚܂Ƃ߂ƂŦ‚Ü‚ĩ‚―B - - (map/) - skill.c - skill_status_change_start()Askill_unit_onplace() CģB - battle.c - battle_get_critical()Abattle_get_hit() CģB - pc.c - pc_calcstatus() CģB - --------------------- -//0821 by huge - -EƒI[ƒgƒXƒyƒ‹‰žŽĀ‘•B -Etimer‚Å”ŧ’č‚ĩ‚æ‚Ī‚Đ‚Æ‚āŽv‚ǂ܂ĩ‚―‚ЁA‘•”õ‚Ė–ģŒĀƒI[ƒgƒXƒyƒ‹‚ĖˆŨ‚Ésc_[].val1‚ÅŒĐ‚Äƒ}ƒXB -Ebonus2 bAutoSpell’Į‰ÁBˆę‰ž‚Į‚ņ‚ČƒXƒLƒ‹‚Å‚āŽw’č‚Å‚Ŧ‚邿‚΂ɂĩ‚Ă܂·‚Š(”ԍ†‚Ískill_treeŽQÆ) - skill_castend_damage_id‚Ėƒ^ƒCƒvˆČŠO‚ĖƒXƒLƒ‹‚ðŽw’č‚ĩ‚Ȃǂł­‚ū‚ģ‚ǁB - ”­“ŪŠm—Ķ‚ÍALv1:50%ALv2:35%ALv3:15%A‚ŧ‚ęˆČã‚Í 5%ŒÅ’č‚Å‚·B - ‚ ‚ƁAƒXƒLƒ‹ƒŒƒxƒ‹‚āŽw’č‚Å‚Ŧ‚Ü‚·‚ЁAŒĀŠE‚ð’ī‚Ķ‚―”Žš‚ð“ü‚ę‚邯’Ä‚ŋ‚é‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņB -Ą‘‚Ŧ•û—áFiƒtƒ@ƒCƒAƒ{ƒ‹ƒgLv3‚ĖŽžjbonus2 bAutoSpell 19,3; - - (db/) - const.txt CģB - (map/) - battle.c - battle_weapon_attack() CģB - clif.h - clif.c - packet_len_table CģB - clif_autospell() ’Į‰ÁB - clif_parse_AutoSpell() ’Į‰ÁB - map.h CģB - pc.c - pc_bonus2() CģB - pc_equipitem() CģB - pc_unequipitem() CģB - skill.h - skill.c - skill_castend_nodamage_id() CģB - skill_autospell() ’Į‰ÁB - skill_status_change_end() CģB - skill_status_change_start() CģB - status_change‚Ė”Ô†ƒe[ƒuƒ‹CģB - --------------------- -//0820 by ‚Ō‚ī‚Ü‚ņ - -EƒAƒhƒŠƒu‚ĖƒƒbƒZ[ƒW‚Š“ü‚Á‚ĂȂЂÁ‚―‚Ė‚ÅCģ -Eƒo[ƒh‚ˉ‰‘tƒXƒLƒ‹‚ÅŠyŠí‚Ė—ûK‚âŽĐƒXƒe[ƒ^ƒX‚Ė•âģ‚Š“ü‚Á‚ĂȂЂÁ‚―‚Ė‚ðCģB -@struct status_change‚Ėval‚Š3‚•K—v‚ū‚Á‚―‚Ė‚Å(val4‚Í—\–ņ‚ģ‚ę‚Ä‚―‚Á‚Û‚Ē‚Ė‚Å)val5‚ð’Į‰Á‚ĩ‚Ü‚ĩ‚― - (map/) - map.h CģB - skill.c - skill_status_change_start()Askill_castend_nodamage_id() CģB - skill_castfix()Askill_delayfix() CģB - battle.c - battle_get_flee()Abattle_get_max_hp() CģB - battle_get_adelay()Abattle_get_amotion() CģB - battle_calc_misc_attack() CģB - pc.c - pc_calcstatus() CģB - --------------------- -//0819 by Kalen - -EƒRƒ“ƒƒ“(NPCAWarp)Cģ - conf/npc/npc_town_gonryun.txt(ˆÄ“āˆõ•â[) - conf/npc/npc_event_tougijou.txt - conf/warp/npc_warp_gonryun.txt(h2F‚ÆD2F‚Č‚Į) - -EMOBCģ - conf/mob/npc_monster30.txt(ˆę”―–Ø–Č•s‘Ŧ’Į‰Á) - conf/mob/npc_monster35.txt(ƒRƒ“ƒƒ“Mob’Į‰Á) - -EDBCģ - db/mob_db.txt(ƒRƒ“ƒƒ“[‘S‚Ä]+ƒEƒ“ƒoƒ‰[’č‹`]’Į‰ÁBAspeed“™“K“–‚Å‚·B‚Ü‚Ÿ–ģ‚Ē‚æ‚č‚Ü‚ĩ‚Æ‚Ē‚Ī‚ą‚Æ‚Å) - db/mob_skill_db.txt(î•ņ‚ðŒģ‚ɃRƒ“ƒƒ“‚ĖMob•Š’Į‰Á) - db/item_db.txt(Athena DB Project 2/19 21:10DL•Š) - --------------------- -//0818 by ‚ ‚ä‚Ý - -EƒeƒŒƒ|[ƒgƒXƒLƒ‹Lv1‚ŁA‘I‘ðƒEƒCƒ“ƒhƒE‚Šo‚Ä‚ą‚Č‚ĒƒoƒO‚ðCģB -Ed—Ę‚Š90“ˆČã‚Ėę‡‚Å‚āAˆę•”‚ĖƒXƒLƒ‹‚ŠŽg—p‰Â”\‚ū‚Á‚―ƒoƒO‚ðCģB -E@allskillƒRƒ}ƒ“ƒh‚ĖCģ‚Æ‚ĐB - - (conf/) - msg_athena.conf CģB - (map/) - atcommand.c - atcommand() CģB - pc.c - pc_allskillup() CģB - skill.c - skill_castend_nodamage_id() CģB - skill_check_condition() CģB - --------------------- -//0817 by huge - -EƒfƒBƒ{[ƒVƒ‡ƒ“‚Ėˆ—Cģ - EŽ…‚Ėo‚ĩ•û‚̓pƒP‚ð–á‚Á‚―‚˂łłŦ‚Ü‚ĩ‚―‚ЁAƒAƒCƒRƒ“‚Ė•û‚͂܂ū•Š‚Đ‚į‚Ȃǂł·B - E‚ ‚ƁAŽĐ•Š‚ĖŠÂ‹Ŧ‚Å2lˆČã‚É“ŊŽž‚ÉŠ|‚Ŋ‚ę‚ȂЂÁ‚―‚˂ŁA•Ą”l‚ɂЂŊ‚―ę‡ - ‘―•Š0‚Ė—…—ņ‚ĖŠ‚É2l–ځA3l–ځEEE‚ĖID‚Š“ü‚é‚ņ‚ķ‚á‚Č‚Ē‚Đ‚Č‚Ÿ‚Æ‚Ē‚Ī—\‘Ђłâ‚Á‚Ă܂·B -EƒnƒCƒfƒBƒ“ƒO’†A‹y‚ŅƒNƒ[ƒLƒ“ƒO’†‚Ƀ_ƒ[ƒW‚ðŽó‚Ŋ‚邯‰ð‚Ŋ‚邿‚ĪCģB - - (map/) - battle.c - battle_damage() CģB - clif.c - clif_devotion() CģB - pc.c - pc_walk() CģB - skill.c - skill.h - skill_castend_nodamage_id() CģB - skill_devotion() skill_devotion2() CģB - skill_devotion3()skill_devotion_end() CģB - --------------------- -//0816 by ‚Ō‚ī‚Ü‚ņ -Eƒtƒ@ƒCƒA[ƒEƒH[ƒ‹3–‡§ŒĀŽĀ‘•B -Ed‚Ë’u‚Ŧ‹ÖŽ~‚ðƒvƒŒƒCƒ„[Eƒ‚ƒ“ƒXƒ^[‚É‚ā“K—p‚·‚邿‚Ī‚ÉCģB -EŠĶ‚ĒƒWƒ‡[ƒNEƒXƒNƒŠ[ƒ€‚ĖPvPEGvG‚ŁAŒø‰Ę‚ŠŽĐ•Š‚É‚ā‹y‚ÔƒoƒOCģB -@‚Â‚Ē‚Å‚ÉPTƒƒ“ƒo[‚ɂ͒áŠm—Ķ‚Å‚Đ‚Đ‚é‚Ė‚āŽĀ‘•B -EŠĶ‚ĒƒWƒ‡[ƒNEƒXƒNƒŠ[ƒ€EƒXƒsƒAƒu[ƒƒ‰ƒ“‚ĖƒfƒBƒŒƒCCģB -@ƒ~ƒ…[ƒWƒJƒ‹ƒXƒgƒ‰ƒCƒNE–‚ŋ‚ˉrĨŽžŠÔCģB - (map/) - skill.c - skill_check_condition()Askill_check_unit_range_sub() CģB - skill_check_unit_range()Askill_delunitgroup() CģB - skill_castend_pos2()Askill_frostjoke_scream() CģB - map.h CģB - (db/) - cast_db.txt CģB - --------------------- -//0815 by Ž€_ - -E0814‚ĖƒoƒOCģ‚ƍŨ‚Đ‚ĒCģB -Emapflag monster_noteleportAnoreturn’Į‰Á‚Ænoteleport‚ĖŽd—l•ύXB -noteleport‚̓vƒŒƒCƒ„[‚ĖƒnƒG‚ƃeƒŒƒ|[ƒgAƒ[ƒvƒXƒLƒ‹‚ː§ŒĀ‚ð‚·‚é‚Š’ą‚͐§ŒĀ‚ĩ‚Ȃǂæ‚Ī‚É•ÏXAmonster_noteleport‚̓‚ƒ“ƒXƒ^[‚ĖƒeƒŒƒ|[ƒg‚ð§ŒĀ‚·‚é•Ļ‚Ånoreturn‚Í’ą‚ĖŽg—p‚ð§ŒĀ‚·‚é•ςł·B‚―‚ūmapflag.txt‚͏Cģ‚ĩ‚Ăǂ܂đ‚ņB(noreturn‚ðÝ’č‚·‚é•K—v‚Š‚ ‚č‚Ü‚·B) -Ebattle_athena.conf‚Ėplayer_auto_counter_type‚Æmonster_auto_counter_type‚Аā–ū’Ę‚č‚É‹@”\‚ĩ‚ȂЂÁ‚―–â‘čCģB -Ebattle_athena.conf‚Éplayer_cloak_check_wall ‚Æmonster_cloak_check_wall ’Į‰ÁB -Eƒ{ƒXƒ‚ƒ“ƒXƒ^[‚Ė”FŽŊ‚ðMVPŒoŒą‚Æmode‚Ė0x20‚ōs‚Č‚Á‚Ăǂ―•Ļ‚ðmode‚ū‚Ŋ‚É‚·‚邿‚Ī‚É•ÏXB(–{ŽI‚ĖƒCƒxƒ“ƒgƒ‚ƒ“ƒXƒ^[‚ÅMVPŒoŒą‚ð‚­‚ę‚邊ó‘ÔˆŲí‚ÉŠ|‚Đ‚é‚â‚Â‚Š‚ ‚Á‚―‚į‚ĩ‚­CģBHP‚Š1‰­‚ā‚ ‚Á‚ēłķ‚á‚Č‚Ē‚Æ“|‚đ‚ȂЂÁ‚―‚į‚ĩ‚ǂ˂Å...) ‚‚܂čMVPŒoŒą‚Š‚ ‚Á‚Ä‚āƒ{ƒXˆĩ‚Ē‚Å‚Í‚Č‚Ēƒ‚ƒ“ƒXƒ^[‚ðė‚邹‚Æ‚ā‰Â”\‚Å‚·B -Eó‘ÔˆŲí‚ÉŠ|‚Đ‚Á‚―ó‘Ô‚ÅÚ‘ąØ’f‚ЂłŦ‚Ȃǂæ‚Ī‚ÉCģB(‚―‚ūƒ^ƒCƒ}[ƒ`ƒFƒbƒN‚Å‚Í‚Č‚­opt1‚Æopt2‚ðƒ`ƒFƒbƒN‚·‚é‚ū‚Ŋ‚Č‚Ė‚ÅŒĐ‚―–Ú‚Š•Ï‚í‚éó‘ÔˆŲí‚ū‚Ŋ‚É“K—p‚ģ‚ę‚Ü‚·B) -EĄ‚ģ‚į‚Å‚·‚А˂ĖyareCVS(2003”N9ŒŽƒo[ƒWƒ‡ƒ“)‚Å“K—p‚ģ‚ę‚Ăǂ―ƒ‰ƒO‚ðŒļ‚į‚·ˆŨ‚Ėˆ—‚ð“ü‚ę‚Ă݂܂ĩ‚―B‚Į‚ņ‚ČŒø‰Ę‚Š‚ ‚é‚Đ‚ÍŽĐ•Š‚Å‚ā‚í‚Đ‚č‚Ü‚đ‚ņB(‚―‚ū“ü‚ę‚Ă݂―‚ū‚Ŋ...) -EƒV[ƒYƒ‚[ƒh‚ÆPVP‚ŋ֎~‘•”õ‚ŠŠO‚ģ‚ę‚Ä‚āŒø‰Ę‚ŠÁ‚Ķ‚Č‚ĒƒoƒOCģB -E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģB -E–ĒƒeƒXƒg‚˕ςā‚ЂȂ肠‚č‚Ü‚·B - (common/) - socket.c - connect_client()Amake_listen_port()Amake_connection() CģB - (conf/) - battle_athena.conf CģB - (doc/) - conf_ref.txt CģB - (map/) - battle.h CģB - battle.c - battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CģB - battle_calc_magic_attack()Abattle_config_read() CģB - skill.c - skill_unit_onplace()Askill_status_change_timer() CģB - skill_castend_nodamage_id()Askill_use_id() CģB - skill_check_unit_range_sub()Askill_timerskill() CģB - skill_additional_effect()Askill_attack()Askill_status_change_start() CģB - skill_check_cloaking() CģB - clif.c - clif_item_identify_list()Aclif_parse_QuitGame()Aclif_GM_kick() CģB - pc.c - pc_attack_timer()Apc_isUseitem()Apc_checkitem CģB - mob.c - mob_warp()Amob_walk()Amob_attack()Amob_target() CģB - mob_ai_sub_hard_activesearch()Amob_ai_sub_hard_mastersearch() CģB - mob_ai_sub_lazy()Amob_damage() CģB - npc.c - npc_parse_mapflag() CģB - map.h CģB - --------------------- -//0814 by Ž€_ - -EƒoƒOCģ‚ƍŨ‚Đ‚ĒCģB -Ebattle_athena.conf‚Ėplayer_auto_counter_type‚Æmonster_auto_counter_type‚ĖŽd—l‚ð•ύXB(–{ŽI‚ł̓XƒLƒ‹”―Œ‚‚͂łŦ‚Č‚Ē‚Ý‚―‚Ē‚Č‚Ė‚ÅÝ’č‚Å‚Ŧ‚邿‚Ī‚É•ÏXB) -E“łƐΉŧ‚É‚æ‚éHPŒļ­‚ð–{ŽI‚ɍ‡‚í‚đ‚ďCģ‚ÆŠŪ‘SÎ‰ŧ‚Ė‘O‚Å‚Í“Ū‚Ŋ‚邿‚Ī‚É•ÏXB(“Å‚Í1•b‚É3+Å‘åHP‚Ė1.5%(ƒ‚ƒ“ƒXƒ^[‚Í0.5%)AÎ‰ŧ‚Í5•b‚É1%) –ĒƒeƒXƒg -EMVPŒoŒą’l‚Í–{ŽI‚Å‚Ē‚Â‚ā“ü‚邿‚΂ɂȂÁ‚―‚Ė‚ÅCģB -EƒXƒeƒB[ƒ‹‚ĖŠm—Ķ‚ð­‚ĩ‰š‚°B -Eƒ‚ƒ“ƒXƒ^[‚ĖƒnƒCƒfƒBƒ“ƒOAƒNƒ[ƒLƒ“ƒOAƒ}ƒLƒVƒ}ƒCƒYƒpƒ[‚Š‚·‚Ū‚É‰ðœ‚ģ‚ę‚é–â‘čCģB(ƒ‚ƒ“ƒXƒ^[‚É‚ÍSP‚ЂȂǂđ‚ǂł·BŽæ‚čŠļ‚Ķ‚ļƒNƒ[ƒLƒ“ƒO‚̓nƒCƒfƒBƒ“ƒO‚ĖŽžŠÔ‚ð“K—p‚ĩ‚ă}ƒLƒVƒ}ƒCƒYƒpƒ[‚̓EƒGƒ|ƒ“ƒp[ƒtƒFƒNƒVƒ‡ƒ“‚ĖŽžŠÔ‚ð“K—p‚ĩ‚Ü‚·B) –ĒƒeƒXƒg -EƒTƒ“ƒNƒ`ƒ…ƒAƒŠ‚ðl”‚Đ‚į‰ņ”‚ɕύXB -EPVP‚ÅŽĐ•Š‚Ėƒgƒ‰ƒbƒv‚ɍUŒ‚‘ÎÛ‚É‚Č‚é‚æ‚Ī‚É•ÏXB -Evitƒyƒiƒ‹ƒeƒB‚Ė“K—p‚ŏæŽZ–hŒä‚āŒļ‚邿‚Ī‚É•ÏXB(–ĒƒeƒXƒg) -E‚ŧ‚Ė‘žŨ‚Đ‚ĒƒoƒOCģB - (conf/) - battle_athena.conf - (doc/) - conf_ref.txt - (db/) - skill_db.txt - (map/) - map.h CģB - script.c - buildin_itemskill() CģB - mob.c - mob_can_move()Amob_ai_sub_hard()Amob_damage() CģB - skill.c - skill_unitsetting()Askill_unit_onplace()Askill_castend_nodamage_id() CģB - skill_attack()Askill_status_change_start() CģB - skill_status_change_timer()Askill_status_change_timer_sub() CģB - skill_addtimerskill()Askill_cleartimerskill() CģB - skill_check_unit_range_sub() CģB - battle.c - battle_calc_damage()Abattle_check_target() CģB - battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CģB - battle_calc_pc_weapon_attack() CģB - pc.c - pc_steal_item() CģB - clif.c - clif_parse_WalkToXY()Aclif_closevendingboard() CģB - --------------------- -//0813 by Kalen -EƒRƒ“ƒƒ“NPC’Į‰Á - conf/npc/npc_town_gonryun.txt(ƒNƒGƒXƒg‚Í•s–ū - conf/npc/npc_town_kafra.txt - conf/npc/npc_town_guide.txt - (conf/npc/npc_event_tougijou.txt)ƒf[ƒ^•s‘Ŧ - -E‘SGvGMAP‚ĖMobƒf[ƒ^’Į‰Á - conf/mob/npc_monster_gvg.txt - -ETESTmob‚Đ‚įƒeƒXƒgƒMƒ‹ƒhƒtƒ‰ƒOˆÚ“Ū - conf/gvg/TEST_prtg_cas01_AbraiJ.txt - --------------------- -//0812 by huge - -EƒfƒBƒ{[ƒVƒ‡ƒ“‚ˉžŽĀ‘• - EƒpƒPƒbƒg‚Š‘S‘R•Š‚Đ‚č‚Ü‚đ‚ņ‚Å‚ĩ‚―‚˂ŁA - Â‚ĒŽ…‚āo‚ȂǂĩAƒAƒCƒRƒ“‚·‚į•\ŽĶ‚Å‚Ŧ‚Ü‚đ‚ņB - Eƒ_ƒˆÚ“Ū‚ū‚Ŋ‚ŁAƒmƒbƒNƒoƒbƒNEƒI[ƒgƒK[ƒh‚Í“K‰ž‚ģ‚ę‚Ü‚đ‚ņB - - (map/) - clif.c - clif.h - clif_devotion() ’Į‰ÁB - skill.c - skill_castend_nodamage_id() CģB - skill_devotion() skill_devotion2() ’Į‰ÁB - skill_devotion3() skill_devotion_end() ’Į‰ÁB - skill_status_change_end() CģB - skill_status_change_start() CģB - skill_brandishspear_first() CģB - skill_brandishspear_dir() CģB - pc.c - pc_authok() CģB - pc_walk() CģB - pc_damage() CģB - battle.c - battle_damage() CģB - map.h - map_session_data{} - struct square dev ’Į‰ÁB - skill.h ‚Ėbrandish‚ðsquare‚ɉü–ž‚ĩA - (common/) mmo.h ‚ÉˆÚ“Ū - --------------------- -//0811 by ‚Ō‚ī‚Ü‚ņ - -EUé’†‚Í’ą‚ŠŽg‚͂邿‚Ī‚ÉCģ -EŠĶ‚ĒƒWƒ‡[ƒNEƒXƒNƒŠ[ƒ€ŽĀ‘•(PTƒƒ“ƒo[‚É’áŠm—͂ʼn]X‚Í–ĒŽĀ‘•‚Å‚·) -EGVGƒXƒNƒŠƒvƒg‚ðCģ(ŽŽsöŒë‚ĩ‚·‚ނĂĮ‚ą‚ð‚Į‚Ī‚ĩ‚―‚ĐŠo‚͂Ă܂đ‚ņc) -@GVGƒXƒNƒŠƒvƒg‚ÉŠÖ‚ĩ‚Ăł·‚ЁAŠų’m‚ĖƒoƒO‚Š‚ ‚č‚Ü‚· -@‚ŧ‚ę‚́Ač—ĖƒMƒ‹ƒhƒ}ƒXƒ^[ˆČŠO‚ĖPC‚ЁAč—ĖƒMƒ‹ƒhƒ}ƒXƒ^[‚æ‚萿‚ÉNPC‚ɘb‚ĩŠ|‚Ŋ‚邯 -@ƒ}ƒbƒvƒT[ƒo‚Š—Ž‚ŋ‚邯‚ǂ΂ā‚˂ł·B -@‚ą‚ę‚́AgetguildmasterEgetguildname‚ðŽg—p‚ĩ‚ĂǂéƒXƒNƒŠƒvƒg‚·‚Ũ‚ĂɋN‚ą‚č“ū‚邹‚Ƃł ‚č -@æ‚ɐč—ĖƒMƒ‹ƒhƒ}ƒXƒ^[ˆČŠO‚Řb‚ĩŠ|‚Ŋ‚邯Aguild_search‚Љ―ŒĖ‚Đ(ŠY“–ID‚ĖƒMƒ‹ƒh‚Š‚ ‚é‚É‚āŠÖ‚í‚į‚ļ) -@NULL‚ð•Ô‚·Ž–‚É‹Nˆö‚ĩ‚Ü‚·B -@ģ’žƒXƒNƒŠƒvƒgŠÖŒW‚͂悭‚í‚Đ‚Á‚ĂǂȂǂ˂ŁA‚ą‚ę‚ÍŽ„‚Ė‹Zp‚ł͏Cģ‚Ė‚ĩ‚æ‚΂Ђ ‚č‚Ü‚đ‚ņB -@Žb’č“I‚Č‘Îˆ‚Æ‚ĩ‚ÄNULL‚ð•Ô‚ĩ‚ÄMAPŽI‚Š—Ž‚ŋ‚é‚­‚į‚ǂȂį•ķŽš—ņunullv‚ð•Ô‚·‚æ‚΂ɂĩ‚Ü‚ĩ‚―B - - (map/) - skill.c - skill_frostjoke_scream() ’Į‰ÁB - skill_additional_effect()Askill_timerskill() CģB - skill_castend_nodamage_id() CģB - pc.c - pc_isUseitem() CģB - script.c - buildin_getpartyname()Abuildin_getguildname() CģB - buildin_getguildmaster() CģB - (db/) - cast_db.txt CģB - (conf/gvg/) - ev_*.txtˆČŠO‚Ėtxt‘S‚Ä‚ðCģB - --------------------- -//0810 by đ - -EMVP‚Ėˆ—‚ð•ύXB(Šm—Ķ‚Å10000‚Š‚ ‚Á‚Ä‚āA‘ž‚ĖƒAƒCƒeƒ€‚āo‚邿‚΂ɂĩ‚Ü‚ĩ‚―) -EMVP‚Å‘•”õ‚ð“üŽč‚ĩ‚―ę‡AŠÓ’čÏ‚݂œüŽč‚ĩ‚Ăǂ―–â‘č‚ðCģB -EƒXƒLƒ‹‰rĨ’†‚ɃCƒO—t‚âŠg‘å‹ū‚ðŽg‚Ī‚ÆƒvƒŒ[ƒ„[‚ĖŽg—p‰Â”\‚Č -@‘SƒXƒLƒ‹‚ĖLV‚Š1‚ɌŒč‚ģ‚ę‚Ä‚ĩ‚܂Ζâ‘č‚ðCģB -EƒI[ƒNƒA[ƒ`ƒƒ[“™Aƒ‚ƒ“ƒXƒ^[‚É‚æ‚éãЃXƒLƒ‹‚Ė—LŒøŠúŒĀ‚ŠØ‚ę‚―‚Æ‚Ŧ‚ɁA -@Ý’u—pƒgƒ‰ƒbƒv‚Šo‚é–â‘č‚ðCģB -EƒƒOƒCƒ“ƒGƒ‰[(ƒpƒXƒ[ƒh“ü—̓~ƒX‚âBAN“™)‚ĖƒGƒ‰[ƒƒbƒZ[ƒW‚Š -@ģ‚ĩ‚­ƒNƒ‰ƒCƒAƒ“ƒg‚É’Ę’m‚ģ‚ę‚Ȃǖâ‘č‚ðCģB -E‚ŧ‚Ė‘žŨ‚Đ‚ČCģB - (common/) - version.h CģB - (login/) - login.c - parse_login() CģB - parse_fromchar() CģB - (char/) - int_guild.c - mapif_parse_GuildLeave() CģB - (map/) - itemdb.c - itemdb_read_itemnametable() CģB - atcommand.c - atcommand() CģB - skill.c - skill_unit_timer_sub() CģB - script.c - buildin_itemskill() CģB - mob.c - mob_damage() CģB - --------------------- -//0809 by Kalen - -E“ŒŒÎéƒ[ƒvƒ|ƒCƒ“ƒgCģ -EƒAƒ}ƒcŽõŽi‰ŪCģ -EƒoƒOƒXƒŒ129‚Ė–â‘čCģH - - --------------------- -//0808 by ‚Ō‚ī‚Ü‚ņ - -E‘•”õ§ŒĀ‚ŠãŽč‚­“Ūė‚ĩ‚Ä‚Ē‚Č‚Đ‚Á‚―‚Ė‚ðCģB -Eƒ‚ƒ“ƒnƒEƒMƒ‹ƒh‚ÍGvGŠJŽnŽž‚ɍė‚į‚ę‚邿‚Ī‚É•ÏXB -EGvGŠJŽnŽž‚ÉŠY“–ƒ}ƒbƒv‚ɂǂé‘SPC(č—ĖƒMƒ‹ƒhˆõˆČŠO)‚ðƒZ[ƒuƒ|ƒCƒ“ƒg‚É–ß‚·‚æ‚Ī‚ÉCģB -Eƒ‚ƒ“ƒnƒEƒMƒ‹ƒhƒAƒWƒg‚ŃGƒ“ƒy‚ð‰ó‚·‚ƁAƒ‚ƒ“ƒnƒE‚ŠÁ‚͂邿‚Ī‚ÉCģB -@‚ą‚ĖCģ‚É”š‚Á‚Ämaprespawnguildid‚Ėˆø”‚Ėflag‚ĖŽd—l‚ð•ύX‚ĩ‚Ü‚ĩ‚― -@flag‚̓rƒbƒgƒtƒ‰ƒO‚ɂȂčA -@@1ƒrƒbƒg–ځFč—ĖƒMƒ‹ƒhˆõ‚ðƒZ[ƒuƒ|ƒCƒ“ƒg‚É–ß‚·‚Đ -@@2ƒrƒbƒg–ځFč—ĖƒMƒ‹ƒhˆõˆČŠO‚ðƒZ[ƒuƒ|ƒCƒ“ƒg‚É–ß‚·‚Đ -@@3ƒrƒbƒg–ځFƒGƒ“ƒyEƒK[ƒfƒBƒAƒ“ˆČŠO‚ĖMOB‚ðÁ‚·‚Đ -@‚Ē‚ļ‚ę‚āA0=NOA1=YES‚ɂȂč‚Ü‚· - - (conf/gvg/) - ev_agit_aldeg.txt CģB - ev_agit_gefg.txt CģB - ev_agit_payg.txt CģB - ev_agit_prtg.txt CģB - TEST_prtg_cas01_AbraiJ.txt CģB - TEST_prtg_cas01_mob.txt CģB - (map/) - pc.c - pc_checkitem() CģB - script.c - buildin_maprespawnguildid_sub() CģB - buildin_maprespawnguildid() CģB - --------------------- -//0807 by Ž€_ - -E0805‚ÅFD_SETSIZE‚ðCģ‚·‚鏊‚ðŠÔˆá‚Á‚―‚Ė‚ÅCģ‚ĩ‚Ü‚ĩ‚―B56–žŽ~‚Ü‚č‚ŠŽĄ‚邯Œū‚Ī•ÛØ‚Í‚ ‚č‚Ü‚đ‚ņ‚Š... -Eˆę“x‚É“]‘—‚·‚éƒpƒPƒbƒg‚Ė’·‚ģ‚ð32768bytes‚Đ‚į65536bytes‚ɕύXB - (common/) - mmo.h CģB - socket.h CģB - socket.c CģB - --------------------- -//0806 by Kalen - -EagitƒtƒHƒ‹ƒ_ĻgvgƒtƒHƒ‹ƒ_‚ֈڍs - ”ˆÓŒĐ‚ ‚邯Žv‚ǂ܂·‚ЁAjRO‚ł͍Uéí‚ðgvg‚ÆŒÄ‚Ô‚ą‚Æ‚Šˆę”Ę“I‚Ȃ˂łą‚ŋ‚į‚É“‡‚ĩ‚Ü‚·B - conf/gvg/ - ###agitƒtƒHƒ‹ƒ_‚ðíœ‚ĩ‚Ä‚­‚ū‚ģ‚Ē###@(Please delete the "agit" folder.) - getmaster‘Ήž - -EƒAƒ}ƒc‚ĖŽõŽi‰ŪƒoƒOCģ‚ƍ€–Ú’Į‰Á(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)‚ɂ͎}AƒeƒŒƒ|‚ŠŽg‚͂܂· - ŽžŠÔ‘O‚ÉŽ}ŽT‚ŦA‚Ü‚ūŽĀ‘•‚ĩ‚Ă܂đ‚ņ‚Е󔠒DŽæ‚ā‰Â”\‚ɂȂé‚Ė‚ÅŽ}AƒeƒŒƒ|‚͏í‚ÉŽg—p•s‰Â‚Å–â‘č‚Č‚Ē‚ÆŽv‚ǂ܂·B - -Œã‘O‰ņ‘‚Ŧ–Y‚ę‚Ü‚ĩ‚―‚ЁAmomotaroƒCƒxƒ“ƒg‚Å‚·‚ЁA‚ŋ‚å‚Á‚Æ•sˆĀ’č‚ȉ”\Ŧ‚Š‚ ‚č‚Ü‚·B -Œīˆö‚Š‚í‚Đ‚į‚Ȃǂ˂ł·‚ЁAƒ‹[ƒv‚ĩ‚Ä‚é‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņBˆę‰žƒRƒƒ“ƒgƒAƒEƒg‚ĩ‚Ä‚ ‚č‚Ü‚· - --------------------- -//0805 by Ž€_ - -E•ķŽš‰ŧ‚ŊCģB -EƒV[ƒYƒ‚[ƒh‚Å‚ĖƒeƒŒƒ|[ƒg‹ÖŽ~‚âŒÃ–Ø‚ĖŽ}Žg—p‹ÖŽ~‚̓\[ƒXƒŒƒxƒ‹‚Å -ˆ—‚ĩ‚Ăǂé‚Ė‚Åmapflag.txt‚Đ‚įíœB(ˆö‚Ý‚Énopenalty‚āƒ\[ƒXƒŒƒxƒ‹‚Å -ˆ—‚ĩ‚Ăǂ܂·B) -Ebattle_athena.conf‚Ėagit_eliminate_time‚ðgvg_eliminate_time‚ɕύXB -E@ƒRƒ}ƒ“ƒh@GMíœB -EFD_SETSIZE‚Đcygwin‚Å64‚ɐݒč‚ģ‚ę‚Ăǂ―‚Ė‚đ‚Ē‚ÅÅ‘åÚ‘ąl”‚Š56–ž‚ð -‰z‚͂邯ƒ}ƒbƒvŽI‚Š–ģŒĀƒ‹[ƒv‚·‚é–â‘čCģB(‚―‚ūƒeƒXƒg‚ЂłŦ‚ȂЂÁ‚―•ςȂ˂Ŗ{“–‚É‘åä•v‚ɂȂÁ‚―‚Đ‚Į‚Ī‚Đ‚Í•s–ū‚Å‚·B‚ ‚­‚܂łāŽĐ•Ђ˗\‘Ђɂ·‚ނȂǕςł·‚Š...) -E•ķŽš‰ŧ‚Ŋ‚Ė‚đ‚ǂłĮ‚ą‚ð‚Į‚ĪCģ‚ĩ‚―‚ĐŠo‚Ķ‚Ä‚Č‚Ē‚Ė‚ÅCģ‚ĩ‚―ƒtƒ@ƒCƒ‹‚ū‚ŊB - (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 Žß‘ļ - -EƒAƒ‹ƒxƒ‹ƒ^‚˂Ƃǂۂé‚݃Cƒxƒ“ƒg‚Å‚Ī‚ģ‚Ž‚˂Ƃǂۂé‚Ý‚ð‚ ‚°‚邯ƒT[ƒo[‚Š—Ž‚ŋ‚éƒoƒOCģ - - (conf/npc/) - npc_event_doll.txt CģB - --------------------- -//0803 by ‚Ō‚ī‚Ü‚ņ - - GvG‚ŃGƒ“ƒyƒŠƒEƒ€•ö‰óŽžgvg_eliminate_time‚Ė’l‚ÉŠÖ‚í‚į‚ļ‘ĶĀ‚É‘Þ‹Ž‚ģ‚đ‚į‚ę‚Ăǂ―ƒoƒOCģ - GvG‚ĖƒZƒŠƒt‚ðˆę•”Cģ - interŽI‚Åcastle.txt‚Š‚Č‚Ē‚Æ‹N‚ą‚éFX‚ČƒGƒ‰[‚ðCģ - help.txt‚ðCģ(@gvgstartĻ@agitstart‰]X) - - (conf/) - gvg/TEST_prtg_cas01_AbraiJ.txt CģB - agit/ev_agit_prtgJ.txt CģB - help.txt CģB - (map/) - int_guild.c - inter_guild_init() CģB - --------------------- -//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 -EƒAƒ}ƒcCģ -@@ŽĀ‘•‘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_flagCģ - [GVGMAP]Ž}AƒeƒŒƒ|‚͏í‚ÉŽg—p•s‰Â -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ŠÔ‚˒ƐMŽd—l•ύX -E0798‚ĖƒRƒ“ƒpƒCƒ‹ƒGƒ‰[Cģ(byƒoƒO•ņƒXƒŒ82ށ) - (login/) - login.c - parse_login() CģB - (map/) - intif.c - packet_len_table[] CģB - intif_parse_GuildCastleInfo() CģB - intif_parse_GuildCastleChange()‚ðintif_parse_GuildCastleChangeErr()‚ɉü–žECģB - intif_parse() CģB - guild.c - guild_read_castledb() CģB - - (char/) - inter.c - inter_send_packet_length[] CģB - int_guild.c - inter_guildcastle_tostr() CģB - inter_guildcastle_fromstr() CģB - mapif_parse_GuildChangeCastle() CģB - mapif_parse_GuildCastleInfo() CģB - mapif_guild_castle_info() CģB - mapif_guild_change_castle()‚ðmapif_guild_change_castle_err()‚ɉü–žECģB - (common/) - mmo.h CģB - version.h CģB - --------------------- -//0798 by ŒÓ’ą—– - -Elogin-server‚ĖƒƒOƒCƒ“Žļ”sƒpƒPƒbƒg‚Ė’·‚ģ‚Š‚Ļ‚Đ‚ĩ‚Đ‚Á‚―‚Ė‚ðCģ -Elogin-server‚ɃAƒNƒZƒXƒRƒ“ƒgƒ[ƒ‹‹@”\’Į‰Á - Elogin_athena.cnf‚Éorder,allow,deny‚ð‹Lq‚·‚邹‚ƂŁA - IP’PˆĘ(‘O•ûˆę’v)‚ŃAƒNƒZƒX‚ð‹ÖŽ~‚·‚é‹@”\B - EŽw’č•û–@‚Í doc/conf_ref.txt ‚ðŽQÆ - - (doc/) - conf_ref.txt - login_athena.cnf‚Ė•”•ŠCģ - (login/) - login.c - ƒOƒ[ƒoƒ‹•ϐ” access_* ’Į‰Á - parse_login()Cģ,check_ip()’Į‰Á - -EƒAƒJƒEƒ“ƒgėŽ—pCGIƒXƒNƒŠƒvƒg’Į‰Á - EŽĐŒČÓ”C•ÚŨ‚ȉðā–ģ‚ĩAŽŋ–â‚ģ‚ę‚Ä‚āƒXƒ‹[‚·‚é‰Â”\Ŧ—L‚č - EƒGƒfƒBƒ^‚ÅŠJ‚Ē‚―‚į­‚ĩā–ū—L‚č - ECGIÝ’u‚ĖŠî–{‚ģ‚Ķ‚í‚Đ‚ę‚Ζâ‘č‚Č‚Ē‚Í‚ļ - EƒƒbƒZ[ƒW‚͉pŒęA“ú–{Œę—ž‘Ήž - iAccept-Language‚Šja‚Č‚į“ú–{Œę‚ɕϊ·‚ĩ‚Ü‚·j - EŠĮ—ŽŌƒpƒXƒ[ƒh‚Č‚ĩ‚œۂ­‚Ė‚ÅƒZƒLƒ…ƒŠƒeƒB‚ɂ͒ˆÓ(.htaccess‚Č‚Į„§) - - (tool/cgi/) - addaccount.cgi - ƒAƒJƒEƒ“ƒgėŽ—pCGIB - -E‚ŧ‚Ė‘ž - (tool/) - backup - castle.txt‚āƒoƒbƒNƒAƒbƒv‚·‚邿‚Ī‚É - --------------------- -//0797 by Ž€_ - -E­‚ĩCģB -Ebattle_athena.conf‚Ė€–ڕύXB(lootitem_time íœAitem_first_get_timeA -item_second_get_timeAitem_third_get_timeAmvp_item_first_get_timeA -mvp_item_second_get_timeAmvp_item_third_get_time ’Į‰ÁB) -EƒAƒCƒeƒ€ƒ‹[ƒgŒ ŒĀ‚ðģ‚ĩ‚­ŽĀ‘•BÅ‰UŒ‚‚Å‚Í‚Č‚­—^‚Ķ‚―ƒ_ƒ[ƒW‚Ė -—ʂɂæ‚Á‚ÄŽû“ūŒ ŒĀ‚ð—^‚͂邿‚Ī‚É•ÏXB(Å‰Žû“ūŒ ŒĀ‚Ė‚ÝƒeƒXƒg) -ƒp[ƒeƒB‚Ėę‡ƒp[ƒeƒB‚ĖÝ’č‚ɍ‡‚í‚đ‚é•K—v‚Š‚ ‚č‚Ü‚·‚Ђ܂ūƒpƒPƒbƒg‚Š -•s–ū‚ČŠ‚Š‚ ‚éˆŨ“Ŋ‚ķƒp[ƒeƒB‚Č‚įŽû“ū‚Å‚Ŧ‚邿‚΂ɂȂÁ‚Ăǂ܂·B -Eƒ{ƒEƒŠƒ“ƒOƒoƒbƒVƒ…‚ĖƒoƒOCģB(‘―•ŠCģ‚ģ‚ę‚―‚Í‚ļ...) -E‘•”õƒXƒNƒŠƒvƒgbonus‚ÉbSplashRange‚ÆbSplashAddRange’Į‰ÁB -bSplashRange‚ÆbSplashAddRange‚Í•Ší‚Ń_ƒ[ƒW‚ð—^‚Ķ‚―Žž‚Ė‚Ý”­“ہA’ʏí‚Ė•ŠíUŒ‚ˆĩ‚ǂȂ˂Ŕð‚Ŋ‚į‚ę‚邊(Flee2‚É‚æ‚éŠŪ‘S‰ņ”ð‚Í•s‰Â”\)ƒNƒŠ‚͏o‚Ȃǂæ‚΂ɂȂÁ‚ĂǂĕŠí‚É‚æ‚éó‘ÔˆŲí‚Í”­ķ‚ĩ‚Ü‚đ‚ņB–{ŽIŽd—l‚Č‚ņ‚Ä’m‚č‚Ü‚đ‚ņB -EƒXƒLƒ‹‚Ėd‚Ë’u‚Ŧˆ—‚ð–{ŽI‚ɍ‡‚í‚đ‚ďCģB -Emapflag‚Ėgvg‚Í‚Ē‚Â‚ā‚Č‚Á‚Ăǂé‚í‚Ŋ‚ķ‚á‚Č‚Ē‚Ė‚ÅíœB -E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģB - athena-start CģB - (common/) - mmo.h CģB - (conf/) - mapflag.txt CģB - battle_athena.conf CģB - (db/) - const.txt CģB - item_db.txt CģB - (doc/) - conf_ref.txt CģB - item_bonus.txt CģB - (map/) - mob.c - mob_spawn()Amob_damage()Amob_class_change()Amob_warp() CģB - mob_delay_item_drop()Amob_delay_item_drop2() CģB - mobskill_castend_pos() CģB - pc.c - pc_takeitem()Apc_dropitem()Apc_equipitem() CģB - pc_calcstatus()Apc_bonus() CģB - skill.c - skill_attack()Askill_additional_effect()Askill_castend_damage_id() CģB - skill_castend_nodamage_id()Askill_produce_mix() CģB - skill_arrow_create()Askill_unit_timer_sub()Askill_castend_pos() CģB - map.h CģB - map.c - map_addflooritem() CģB - script.c - buildin_getitem() CģB - pet.c - pet_return_egg()Apet_get_egg()Apet_unequipitem() CģB - battle.h CģB - battle.c - battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CģB - battle_calc_pc_weapon_attack() CģB - battle_weapon_attack()Abattle_config_read() CģB - --------------------- -//0796 by huge - -EŨ‚Đ‚ĒCģ - (conf/npc/) - npc_event_valentine.txt CģB - - (map/) - pc.c - pc_takeitem() CģB - skill.c - skill_unit_timer_sub() CģB - --------------------- -//0795 by Kalen - -EŽG’k341‚Ėnpc_warp_niflheim.txt’Į‰Á - conf/warp/npc_warp_niflheim.txt - -Emapflag.txtCģ(GVGMAPÝ’č) - @nosave‚Í‚ĩ‚Ăǂ܂đ‚ņ - -Emap_athena.conf‚ĖCģ - @umbala niflheim“™‚Ė’Į‰Á - @ƒRƒƒ“ƒgƒAƒEƒg‚ĩ‚Ä‚ ‚č‚Ü‚·B - -EƒoƒŒƒ“ƒ^ƒCƒ“ƒXƒNƒŠƒvƒg’Į‰Á - conf/npc/npc_event_valentine.txt - @ƒ`ƒ‡ƒR’B‚ĖDrop‚͘M‚Á‚Ăǂ܂đ‚ņB‚ĻD‚݂łĮ‚Ī‚ž - @ŪAŽčė‚čƒ`ƒ‡ƒR‚ðH‚Ũ‚―‚Æ‚Ŧ‚ĖƒGƒtƒFƒNƒg‚Í - @ÅVƒNƒ‰ƒCƒAƒ“ƒg‚É‚·‚ę‚ÎŒĐ‚Ķ‚Ü‚·B - -EGVGScript’Į‰Á - conf/gvg/ˆČ‰š - @WeissŽž‘ã‚ÉėŽ‚ĩ‚―‚ā‚Ė‚ðAthena—p‚ɃRƒ“ƒo[ƒg&‘䎌Cģ - @prtg_cas01ˆČŠO‚ÍŠø‚Ė‚Ý‚Å‚·B - @GVGDATA‚ÍŽIÄ‹N“Ū‚ÅÁ–Å‚ĩ‚Ü‚·B - @ƒGƒ‰[‚Šo‚邿‚΂ȂįƒRƒƒ“ƒgƒAƒEƒg‚ĩ‚Ä‚­‚ū‚ģ‚ǁB - @MobDataAŽ·Ž–Script‚āprtg_cas01‚Ė‚Ý‚Å‚·B(TestScript) - @‚ ‚­‚܂ŃeƒXƒgƒXƒNƒŠƒvƒg‚Å‚·BGVGŽĀ‘•‚ĖŽQl‚É‚Į‚Ī‚ž - --------------------- -//0794 by DRG - -Eskillused‚ÅŽw’č‚ĩ‚―IW,QM‚Č‚Į‚ɂ˂Á‚Ä‚éŠÔMOBƒXƒLƒ‹‚ðŽg—p‚·‚邿‚Ī‚É•ÏX -EƒAƒbƒvƒXƒŒ‚R‚Ė7‚Ėathena-start‚ðˆę‰žŠÜ‚߂ƂŦ‚Ü‚ĩ‚― - - athena-start - (map/) - skill.c - skill_unit_onplace() CģB - --------------------- -//0793 by huge - -EƒT[ƒo[snapshot -EƒT[ƒo[‚ŠƒNƒ‰ƒbƒVƒ…‚·‚éƒoƒO‚ðCģ -E”­“Ū‚đ‚ļ‚ÉãĐ‚ŠÁ‚Ķ‚―‚įAÝ’u—pƒgƒ‰ƒbƒv‚Š•Ô‚Á‚Ä‚­‚邿‚Ī‚ÉCģB -Eƒ‹[ƒgŒ ŒĀ‚ŁA“Ŋ‚ķƒp[ƒeƒB[‚ĖƒLƒƒƒ‰‚Í‚·‚ŪE‚͂邿‚Ī‚ÉCģB -EƒoƒO•ņƒXƒŒ‚R >>54 ‚ĖƒoƒOCģB -EƒƒOƒCƒ“Žž‚ɃT[ƒo[‘Ī‚ÉID‚ð•\ŽĶ‚·‚邿‚΂ɂĩ‚Ü‚ĩ‚―B - (login/) - login.c - parse_login() CģB - (conf/npc/) - npc_event_doll.txt CģB - (map/) - skill.c - skill_unit_timer_sub() CģB - mob.c - mob_spawn_dataset() CģB - mob_damage() CģB - pc.c - pc_additem() CģB - --------------------- -//0791 by đ - -Eƒ}ƒbƒvƒT[ƒo‚ŠƒNƒ‰ƒbƒVƒ…‚·‚éƒoƒOCģB -EƒCƒO—t‚ðŽg‚Á‚Ä‚āƒWƒFƒ€‚Š•K—v‚ɂȂé–â‘č‚ðCģB -EPvP‹­§‘—ŠŌŽĀ‘•B -EPvP‚ÅƒŠƒUƒŒƒNƒVƒ‡ƒ“‚Šo—ˆ‚ȂЂÁ‚―–â‘č‚ðCģB -E‚ŧ‚Ė‘žŨ‚Đ‚ČCģB - (map/) - guild.c - mob.c - pc.c - skill.c - --------------------- -//0790 by Ž€_ - -EƒoƒOCģB - (conf/) - battle_athena.conf ŒëŽšCģB - (doc/) - conf_ref.txt ŒëŽšCģB - (common/) - mmo.h CģB - (map/) - itemdb.h CģB - map.h CģB - skill.c - skill_check_condition()Askill_use_pos()Askill_unit_onplace() CģB - --------------------- -//0789 by huge - -EƒhƒƒbƒvƒAƒCƒeƒ€‚Ƀ‹[ƒgŒ ŒĀ‚ðŽĀ‘•B -EÅ‰‚ɍUŒ‚‚ĩ‚―lˆČŠO‚ŠƒhƒƒbƒvƒAƒCƒeƒ€‚ðE‚Ķ‚é‚Ü‚Å‚ĖŽžŠÔ‚ðÝ’č‚Å‚Ŧ‚邿‚΂ɁB - (/conf) - battle_athena.conf €–Ú’Į‰ÁB - - (/doc) - conf_doc.txt ā–ū’Į‰ÁB - - (/map) - battle.h - Battle_Config{} CģB - battle.c - battle_config_read() CģB - itemdb.h - item_data {} CģB - map.h - flooritem_data {} CģB - mob_data {} CģB - map.c - map_addflooritem() CģB - mob.c - delay_item_drop{} CģB - mob_spawn() CģB - mob_damage() CģB - mob_delay_item_drop() CģB - mob_warp() CģB - pc.c - pc_takeitem() CģB - --------------------- -//0788 by ‚ ‚ä‚Ý - -EcardƒXƒLƒ‹‚Ėˆ—H‚ðCģB -E@allskillƒRƒ}ƒ“ƒh‚ĖÄCģB - - (map/) - pc.c - pc_skill() CģB - pc_allskillup() CģB - --------------------- -//0787 by ‚Û‚Û‚Û - -Eƒyƒbƒg‚É‚āmob_avail.txt‚ĖÝ’č‚ð“K—p‚·‚邿‚΂ɂĩ‚―B -EMOBƒXƒLƒ‹‚Ėskillused‚Åval1‚É0‚ð“ü‚ę‚邯‚ ‚į‚ä‚éƒXƒLƒ‹‚ɑ΂ĩ‚Ä”­“Ū‚·‚邿‚΂ɂĩ‚―B -Eskillused‚Å”­“Ū‚ĩ‚―ƒXƒLƒ‹‚Ė‘ÎÛ‚ðA”­“Ū‚ģ‚đ‚―PC‚É‚·‚é‚Đ‚Į‚Ī‚ĐÝ’č‚Å‚Ŧ‚邿‚΂ɂĩ‚―(‘ÎIWƒnƒ‚Č‚ĮH)B - (/map) - clif.c - clif_pet0078()Aclif_pet007b()CģB - mob.c - mobskill_use()CģB - skill.c - skill_attack() Askill_castend_damage_id()CģB - battle.h - battle.c - battle_config_read()CģB - --------------------- -//0786 by huge - -EBDSCģ - ‘O‚Đ‚į‚Ŧ”ō‚΂ĩ‚čs‚­‚Æ—Į‚­‚Č‚Ē‚Đ‚ā‚ĩ‚ę‚Ȃǂ˂ŁAŒã‚ë‚Đ‚įˆ— - —LŒø”ÍˆÍ‚ĖCģ - - (/map) - - skill.h - skill.c - skill_castend_damage_id() CģB - skill_castend_nodamage_id() CģB - skill_brandishspear_first() CģB - skill_brandishspear_dir() CģB - --------------------- -//0785 by Ž€_ - -E–{ŽI‚ɍ‡‚í‚đ‚ďCģB(ŠØ‘ˆÆ‚Ėƒpƒbƒ`notice‚ðŽQl‚ĩ‚ďCģ‚ĩ‚Ü‚ĩ‚―B) -EBB‚ÆBS‚ĖƒLƒƒƒXƒeƒBƒ“ƒOŽžŠÔ‚ð0.7•b‚É‚ĩ‚ăfƒBƒŒƒC‚Í0‚ɕύXB -Eghost‚Ė•Ï‚í‚č‚Ƀ}ƒbƒvˆÚ“ŪŒã‚Ė–ģ“GŽžŠÔ‚ðÝ’čB‚ą‚ĖŽžŠÔ‚ĖŠÔ‚Í‚Į‚ņ‚ȍUŒ‚‚āŽó‚Ŋ‚Č‚Ē‚ŠˆÚ“Ū‚âUŒ‚AƒXƒLƒ‹Žg—pAƒAƒCƒeƒ€Žg—p‚Å‚ą‚ĖŽžŠÔ‚͂Ȃ­‚Č‚č‚Ü‚·BƒV[ƒYƒ‚[ƒh‚ł͂ą‚Ė–ģ“GŽžŠÔ‚ð2”{‚Æ‚ĩ‚Ä“K—pB -EƒV[ƒYƒ‚[ƒh‚ÅŽ€‚ņ‚Å‚āŒoŒą‚ŠŒļ‚į‚Ȃǂæ‚Ī‚ÉCģB(mapflag‚Ėnopenalty‚ðÝ’č‚·‚é•K—v‚Í‚ ‚č‚Ü‚đ‚ņB) -EƒXƒLƒbƒh‚ÅŠŠ‚Ũ‚é‹——Ģ‘‰ÁB -EŠų‚É’ū–Ų‚É‚Đ‚Đ‚Á‚Ä‚é‘ΏۂɃŒƒbƒNƒXƒfƒBƒr[ƒi‚ðŽg‚Ī‚Æ’ū–Ų‚Š‰ðœ‚ģ‚ę‚邿‚Ī‚É•ÏXB -EŽô‚Ē‚É‚Đ‚Đ‚é‚ÆˆÚ“Ū‘Ž“x‚āŒļ‚邿‚Ī‚ÉCģB -Ebattle_athena.conf‚ɍ€–ڕύXB -EƒXƒLƒ‹‚Ėd‚Ë’u‚Ŧ‚ð”ŧ’fˆ—‚ð­‚ĩ•ύXB -EHP‚ĖŽĐ‘R‰ņ•œŽžŠÔ‚Š4•b‚Å‚Í‚Č‚­6•b‚ū‚Æ‚í‚Đ‚Á‚―‚Ė‚ÅƒfƒtƒHƒ‹ƒgCģ‚Æbattle_athena.confCģB -E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģ‚âƒoƒOCģB -E–w‚ĮƒeƒXƒg‚ĩ‚Ă܂đ‚ņB - (conf/) - atcommand_athena.conf CģB - battle_athena.conf CģB - (doc/) - conf_ref.txt CģB - (db/) - cast_db.txt CģB - (map/) - atcommand.c CģB - clif.c - clif_mob0078()Aclif_mob007b()Aclif_skill_estimation() CģB - clif_mob_class_change()Aclif_parse_WalkToXY() CģB - clif_parse_ActionRequest()Aclif_parse_LoadEndAck() CģB - clif_parse_UseItem()Aclif_parse_UseSkillToId() CģB - clif_parse_UseSkillToPos()Aclif_parse_UseSkillMap() CģB - mob.h CģB - mob.c - mob_get_viewclass()Amob_attack()Amob_target() CģB - mob_ai_sub_hard_activesearch()Amob_ai_sub_hard() CģB - mobskill_castend_id()Amobskill_castend_pos() CģB - skill.h CģB - skill.c - skill_can_produce_mix()Askill_castend_damage_id() CģB - skill_castend_nodamage_id()Askill_castend_id() CģB - skill_castend_pos()Askill_use_id()Askill_readdb() CģB - skill_check_condition()Askill_unit_onplace()Askill_unitsetting() CģB - skill_additional_effect()Askill_check_unit_range() CģB - skill_check_unit_range_sub()Askill_status_change_end() CģB - skill_status_change_start() CģB - pc.h - pc.c - pc_ghost_timer()Apc_setghosttimer()Apc_delghosttimer() íœB - pc_gvg_invincible_timer() -> pc_invincible_timer()‚ɕύXB - pc_setgvginvincibletimer() -> pc_setinvincibletimer()‚ɕύXB - pc_delgvginvincibletimer() -> pc_delinvincibletimer()‚ɕύXB - pc_authok()Apc_attack_timer()Apc_calcstatus() CģB - pc_setrestartvalue()Apc_damage()Apc_allskillup() CģB - do_init_pc() CģB - battle.h CģB - battle.c - battle_config_read()Abattle_weapon_attack()Abattle_check_target() CģB - battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CģB - battle_calc_pc_weapon_attack()Abattle_get_speed() CģB - map.h CģB - map.c - map_quit() CģB - --------------------- -//0784 by ‚ ‚ä‚Ý - -EƒJ[ƒhƒXƒLƒ‹‚ðŠo‚͂Ăǂéó‘Ô‚Å@allskillƒRƒ}ƒ“ƒh‚ðŽg—p‚·‚邯map-server‚Š–\‘–‚·‚é–â‘č‚ðCģB - - (map/) - pc.c - pc_allskillup() CģB - --------------------- -//0783 by huge - -Eƒuƒ‰ƒ“ƒfƒBƒbƒVƒ…ƒXƒsƒA‚ĖCģ - ”͈͎w’čAŽÎ‚ß‚ĖÛ‚ĖŠiŽq”͈́AUŒ‚—ÍŒvŽZ - ‘―•Š‡‚Á‚Ă邯Žv‚Ī‚ņ‚Å‚·‚Ŋ‚ĮAƒCƒ}ƒCƒ`ŽĐM‚ŠŽ‚ĂȂǁEEE - (ŽQl)‚Ý‚·‚Æ‚ę‘ƒ -ƒXƒLƒ‹ŠÖ˜A“Īî•ņ -EƒXƒyƒ‹ƒuƒŒƒCƒJ[‚ð‚ŋ‚å‚Á‚ƏCģ -Eƒvƒƒ{ƒbƒN‚ðMVPmob‚ÉŒø‚Đ‚Č‚Ē‚æ‚ĪCģ -EƒoƒO•ņƒXƒŒ‚R >>8 ‚Å•ņ‚ģ‚ę‚―‚ā‚Ė‚ĖŽæ‚荾‚Ý - - (/db) - create_arrow.txt CģB - skill_db.txt CģB - - (/map) - battle.c - battle_calc_pet_weapon_attack() CģB - battle_calc_mob_weapon_attack() CģB - battle_calc_pc_weapon_attack() CģB - - skill.h - skill.c - skill_brandishspear_first() ’Į‰ÁB - skill_brandishspear_dir() ’Į‰ÁB - skill_castend_nodamage_id() CģB - skill_castend_damage_id() CģB - skill_unit_group() CģB - --------------------- -//0782 by ‚Ō‚ī‚Ü‚ņ -E@allskillƒRƒ}ƒ“ƒh‚ĖŽg—pðŒ‚ŠŽQÆ‚ģ‚ę‚Ä‚Ē‚Č‚Đ‚Á‚―ƒoƒOCģ - (/map) - atcommand.c - atcommand() CģB - --------------------- -//0781 by Chunglyeng -Eƒoƒh, ƒ_ƒ“ƒT[‰đŠy‹ïŒŧ - (/map) - skill.c CģB - --------------------- -//0780 by reia -EƒyƒRƒyƒR‚Ė—‘‚Č‚Į‚Š›z‰ŧ‚·‚邯ƒmƒr‚ɂȂÁ‚Ä‚ĩ‚܂Ζâ‘čCģB -EGMƒRƒ}ƒ“ƒhu@kickallv‚Љ―Žž‚ĖŠÔ‚É‚Đ–ģŒø‚ɂȂÁ‚Ăǂ―‚Ė‚ÅCģB - - (/conf) - atcommand_athena.conf CģB - (db/) - mob_skill_db.txt CģB - (map/) - atcommand.c - atcommand_config_read() CģB - --------------------- -//0779 by ‚ ‚ä‚Ý - -E‘SƒXƒLƒ‹Žæ“ūƒRƒ}ƒ“ƒh‚Ė’Į‰ÁB - EGM‚Å‘SƒXƒLƒ‹‚ðŠo‚Ķ‚į‚ę‚邿‚΂ɂĩ‚Ăǂéę‡‚âAƒXƒLƒ‹‚ː”‚Š‘―‚ǐE‹Æ‚Íˆę•”‚ĖƒXƒLƒ‹•\ŽĶ‚Š‚Ļ‚Đ‚ĩ‚­‚Č‚č‚Ü‚·B‚ŧ‚Ėę‡‚ÍƒŠƒƒO‚ĩ‚ĉš‚ģ‚ǁB - @allskill : ŒŧÝ‚ːE‹Æ‚ÅŽæ“ū‰Â”\‚Č‘SƒXƒLƒ‹‚ðŽæ“ū‚·‚éB(ƒNƒGƒXƒgƒXƒLƒ‹ŠÜ‚Þ) - - (conf/) - battle_athena.conf CģB - help.txt CģB - (map/) - atcommand.h CģB - atcommand.c - atcommand() CģB - pc.h CģB - pc.c - pc_allskillup() ’Į‰ÁB - (doc/) - conf_ref.txt CģB - help.txt CģB - --------------------- -//0778 by huge - -EƒXƒyƒ‹ƒuƒŒƒCƒJ[‚ĖCģ - EƒLƒƒƒXƒeƒBƒ“ƒOƒ^ƒCƒ€‚Ė–ģ‚ĒƒXƒLƒ‹‚ɂ͌ø‚Đ‚Č‚Ē‚æ‚Ī‚ÉCģB - EŽg—p‚ģ‚ę‚―‘ŠŽč‚ĖÁ”ïSP‚ĖCģB - - (map/) - skill.c - skill_castend_nodamage_id() CģB - --------------------- -//0777 by ‚Ō‚ī‚Ü‚ņ - -EƒMƒ‹ƒhUéí‰žŽĀ‘• -@EŠî–{“I‚Č•”•Š‚ū‚Ŋ‚ĩ‚ĐŽĀ‘•‚ĩ‚Ä‚Č‚ĒãA‚Ē‚­‚Â‚Đ‚Ė“_‚Å–{ŽI‚Æ‘Šˆá‚Š‚ ‚č‚Ü‚·B -@EUéíŠJŽn‚ƏI—đ‚Í@ƒRƒ}ƒ“ƒh‚ōs‚ǂ܂· - @gvgstart : UéíŠJŽn - @gvgend : UéíI—đ -@Ebattle_athena.conf‚ɍ€–Ú’Į‰ÁB - (char/) - int_guild.c - inter_guild_init()Ainter_guild_readdb()Ainter_guild_save() CģB - 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() CģB - inter_send_packet_length[]Ainter_recv_packet_length[] CģB - int_guild.h CģB - (map/) - atcommand.c - atcommand()Aatcommand_config_read() CģB - battle.c - battle_config_read() CģB - guild.c - guild_castle_search()Aguild_read_castledb()’Į‰ÁB - do_init_guild() CģB - 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[] CģB - intif_parse_GuildCastleInfo()Aintif_parse_GuildCastleChange() ’Į‰ÁB - intif_guild_castle_info()Aintif_guild_castle_change() ’Į‰ÁB - mob.c - mob_damage() CģB - atcommand.h CģB - battle.h CģB - guild.h CģB - intif.h CģB - mob.h CģB - (common/) - mmo.h CģB - (conf/) - battle_athena.conf CģB - inter_athena.conf CģB - msg_athena.conf CģB - atcommand_athena.conf CģB - (db/) - castle_db.txt ’Į‰ÁB --------------------- -//0776 by Ž€_ - -ENPCƒXƒLƒ‹›z‰ŧŽĀ‘•B(mob_skill_db.txt‚Ėval1‚ðŽg‚ǂ܂·B) -Emob_skill_db.txt‚ĖŠm—Ķ‚ðį•Š—Ķ‚Đ‚į–œ•Š—Ķ‚É•ÏXB(‚―‚ūmob_skill_db.txt‚ĖCģ‚Í‚ĩ‚Ă܂đ‚ņB) -Eƒ‚ƒ“ƒXƒ^[‚Šƒ_ƒuƒ‹ƒAƒ^ƒbƒN‚·‚é–â‘čCģB(Cģ‚ģ‚ę‚―‚Đ‚Į‚Ī‚Đ‚ĖŽĐM‚Í‚ ‚č‚Ü‚đ‚ņ‚Š...) -E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģB - (db/) - mob_skill_db.txt CģB - skill_db.txt CģB - (map/) - map.h CģB - mob.h CģB - mob.c - mob_spawn_dataset()Amob_spawn() CģB - mob_changestate()Amobskill_use() CģB - mob_class_change() ’Į‰ÁB - npc.c - npc_parse_mob() CģB - battle.c - battle_check_target() CģB - clif.h CģB - clif.c - clif_mob_class_change() ’Į‰ÁB - skill.c - skill_castend_nodamage_id() CģB - --------------------- -//0775 by Ž€_ - -EƒV[ƒYƒ‚[ƒh‚Ėˆ—CģB -EƒV[ƒYƒ‚[ƒh‚Ė–ģ“GŽžŠÔ‚ĖŠÔ‚Í‚Į‚ņ‚ȍUŒ‚‚āŽó‚Ŋ‚Ȃǂæ‚Ī‚ÉCģB -EƒV[ƒYƒ‚[ƒh‚Ė–ģ“GŽžŠÔ‚ŠŽžŠÔØ‚ę‚ɂȂé‘O‚É‚Í‰ðœ‚ģ‚ę‚Ȃǂæ‚Ī‚ÉCģB -Ebattle_athena.conf‚ɍ€–Ú’Į‰ÁB -E@hide‚â/hide‚É‚æ‚éGMƒnƒCƒfƒBƒ“ƒO’†‚ÍŽĐ•Š‚ÉŽĐ“ŪŽg—p‚ģ‚ę‚éƒXƒLƒ‹ˆČŠO‚ĖƒXƒLƒ‹Žg—p‚âUŒ‚‚ðŽó‚Ŋ‚Ȃǂæ‚Ī‚ÉCģB -EƒnƒCƒfƒBƒ“ƒO’†’n‘ېŦƒXƒLƒ‹ˆČŠO‚ĖUŒ‚‚ðŽó‚Ŋ‚Ȃǂæ‚Ī‚ÉCģB(ƒgƒ‰ƒbƒv‚âƒNƒ@ƒOƒ}ƒCƒA“™‚ĖƒXƒLƒ‹‚͉e‹ŋ‚ðŽó‚Ŋ‚é‚Đ‚Į‚Ī‚Đ•s–ū‚Č‚Ė‚ÅĄ‚܂łƓŊ‚킿‚΂ɉe‹ŋ‚ðŽó‚Ŋ‚邿‚Ī‚Éˆ—B) -Eƒgƒ“ƒlƒ‹ƒhƒ‰ƒCƒu‚ĖˆÚ“Ū‘Ž“x‚ð–{ŽI‚ɍ‡‚í‚đ‚Ü‚ĩ‚―B -E‚ŧ‚Ė‘žƒoƒOCģ‚âŨ‚Đ‚ĒCģB(–w‚Į–ĒƒeƒXƒg) - (conf/) - battle_athena.conf CģB - (doc/) - conf_ref.txt CģB - (map/) - battle.h CģB - battle.c - battle_check_target()Abattle_calc_damage() CģB - battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CģB - battle_calc_pc_weapon_attack()Abattle_calc_magic_attack() CģB - battle_calc_misc_attack() CģB - battle_config_read()Abattle_weapon_attack() CģB - pc.h CģB - pc.c - do_init_pc()Apc_authok() CģB - pc_attack()Apc_attack_timer() CģB - pc_setgvg_ghosttimer()Apc_delgvg_ghosttimer()‚ð - pc_setgvginvincibletimer()Apc_delgvginvincibletimer()‚ɏCģB - pc_gvg_invincible_timer() ’Į‰ÁB - pc_attack_timer()Apc_steal_item()Apc_calcstatus() CģB - clif.c - clif_parse_ActionRequest()Aclif_parse_UseItem() CģB - clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() CģB - clif_parse_UseSkillMap()Aclif_parse_WalkToXY() CģB - map.h CģB - map.c - map_quit() CģB - mob.c - mob_attack()Amob_target()Amob_ai_sub_hard_activesearch() CģB - mob_ai_sub_hard_mastersearch()Amob_ai_sub_hard() CģB - mob_damage()Amobskill_castend_id()Amobskill_castend_pos() CģB - skill.c - skill_castend_damage_id()Askill_attack() CģB - skill_castend_id()Askill_castend_pos()Askill_castend_map() CģB - --------------------- -//0774 by Ž‚Žqo^.^o -EMonk job bouns Cģ -EƒhƒPƒr Cģ -(db/) - job_db2.txt Cģ - pet_db.txt Cģ - --------------------- -//0773 by đ - -EŨ‚Đ‚ĒƒoƒOCģ - (map/) - skill.c CģB - battle.c CģB - --------------------- -//0772 by ‚Ō‚ī‚Ü‚ņ - -EƒV[ƒYƒ‚[ƒh‰š‚ÅˆČ‰š‚Ė“_‚ðCģ -@E˜A‘ą‚ĩ‚čUŒ‚‚Å‚Ŧ‚Č‚­‚Č‚Á‚Ăǂ―ƒoƒOCģ -@Eƒ_ƒ[ƒWŒyŒļ—͂Аģ‚ĩ‚­Ý’č‚Å‚Ŧ‚ȂЂÁ‚―ƒoƒOCģ -@E–ģ“GŽžŠÔŽĀ‘•Bbattle_athena.conf‚Ėgvg_ghost_time‚Őݒč‚Å‚Ŧ‚Ü‚· - -EƒnƒCƒfƒBƒ“ƒO‚Å–‚–@UŒ‚“™‚ð‰ņ”ð‚Å‚Ŧ‚ȂЂÁ‚―ƒoƒOCģ - - (map/) - skill.c - skill_attack()Askill_unit_onplace()Askill_check_condition() CģB - clif.c - clif_parse_ActionRequest()Aclif_parse_UseItem() CģB - clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() CģB - clif_parse_UseSkillMap()Aclif_parse_WalkToXY() CģB - pc.c - do_init_pc()Apc_authok() CģB - pc_attack()Apc_attack_timer() CģB - 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() CģB - battle.h CģB - pc.h CģB - --------------------- -//0771 by huge - -EƒXƒyƒ‹ƒuƒŒƒCƒJ[ŽĀ‘• - (map/) - skill.c - skill_castend_nodamage_id() CģB - (db/) - skill_db.txt CģB - --------------------- -//0770 by đ - -EÂ” Œn‚Ėˆ—•ύX -E‚ŧ‚Ė‘žƒoƒOCģ - (map/) - battle.c CģB - itemdb.c CģB - mob.c CģB - script.c CģB - --------------------- -//0769 by Ž€_ - -EƒV[ƒYƒ‚[ƒhCģB -E–ģ“GŽžŠÔ‚Ė•û‚Íghost_timerˆČŠO‚Ė•û–@‚ÅŽĀ‘•‚·‚é‚‚ā‚č‚Č‚Ė‚ÅĄ‚͍폜‚ĩ‚Ăǂ܂·B -EƒXƒNƒŠƒvƒgviewpoint‚Аģ‚ĩ‚­“Ūė‚ĩ‚Ȃǖâ‘čCģB -Eproduce_db.txt‚ðCģB(“û”Ŧ‚Ískill_require_db.txt‚ŏˆ—‚ĩ‚Ăǂ܂·B‚ŧ‚ĩ‚ăAƒCƒeƒ€‚ː”‚ð0‚É‚·‚ę‚ΏÁ–Õ‚Í‚ģ‚ę‚ȂǂŊ‚Įė‚鎞•K—v‚ČƒAƒCƒeƒ€‚ɂȂč‚Ü‚·B) -E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģB - (conf/) - battle_athena.conf CģB - (doc/) - conf_ref.txt CģB - (db/) - produce_db.txt CģB - (map/) - battle.h CģB - battle.c - battle_calc_damage()Abattle_calc_weapon_attack() CģB - battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CģB - battle_calc_pc_weapon_attack()Abattle_calc_magic_attack() CģB - battle_calc_misc_attack()Abattle_check_target()Abattle_config_read() CģB - skill.c - skill_unit_onplace()Askill_castend_damage_id()Askill_castend_id() CģB - skill_use_id()Askill_use_pos()Askill_check_condition() CģB - skill_can_produce_mix() CģB - pc.c - pc_attack_timer()Apc_attack()Apc_isUseitem()Apc_delitem() CģB - pc_damage() CģB - mob.c - mob_damage()Amobskill_use_id()Amobskill_use_pos() CģB - script.c - buildin_viewpoint()Abuildin_emotion() CģB - makefile CģB - --------------------- -//0768 by ‚Ō‚ī‚Ü‚ņ - -EƒV[ƒYƒ‚[ƒh‰š‚ŁAˆČ‰š‚Ė“_‚ðCģ -@EŽ€–S‚ĩ‚―‚įƒZ[ƒuƒ|ƒCƒ“ƒg‚É‹­§‘—ŠŌ‚·‚邿‚Ī‚ÉCģ -@E“Á’č‚ĖƒAƒCƒeƒ€‚ŠŽg—p‚Å‚Ŧ‚Ȃǂæ‚Ī‚ÉCģ(ƒAƒ“ƒeƒBƒyƒCƒ“ƒƒ“ƒgEƒnƒG‚ˉH) -@E“Á’č‚ĖƒXƒLƒ‹‚ŠŽg—p‚Å‚Ŧ‚Ȃǂæ‚Ī‚ÉCģ(ƒ[ƒvƒ|[ƒ^ƒ‹EƒoƒbƒNƒXƒeƒbƒvEƒCƒ“ƒeƒBƒ~ƒfƒCƒgEƒeƒŒƒ|[ƒgEƒCƒ“ƒfƒ…ƒA) -@E“Ŋ–ŋƒMƒ‹ƒh‚ɂ͖ģðŒ‚ōUŒ‚‚Å‚Ŧ‚Ȃǂæ‚Ī‚ÉCģ -@E“G‘΃Mƒ‹ƒh‚ɂ͖ģðŒ‚ōUŒ‚‚Å‚Ŧ‚邿‚Ī‚ÉCģ -@E–ģ“GŽžŠÔ’†‚Í—žŽŌ‚Æ‚āUŒ‚‚Å‚Ŧ‚Ȃǂæ‚Ī‚ÉCģ - -ƒ\[ƒXƒŒƒxƒ‹‚ŃeƒŒƒ|AƒnƒG‚ĖŽg—p‚ð‹Ö‚ķ‚Ä‚Ē‚é‚―‚ߍUéíMAP‚Ėmapflag‚Énoteleport‚Í•K—v‚ ‚č‚Ü‚đ‚ņ -‚Ü‚―A–ģ“GŽžŠÔ‚Íghost_timerˆË‘ķ‚Å‚·B‚‚܂čbattle_athena.conf“ā‚Ėghost_time‚Š–ģ“GŽžŠÔ‚ɂȂč‚Ü‚· - - (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 - -Eƒtƒ@[ƒ}ƒV[‚ŁAŧ‘Ē‚Ė‘‚ŠŒļ‚é–â‘č‚ðCģ -E•Šíŧ‘ĒDB‚ŁA‚Ē‚­‚‚Дē‚Ŋ‚Ăǂ―‚Ė‚ðCģ - - (map/) - skill.c CģB - (db/) - produce_db.txt CģB - --------------------- -//0766 by ‚Ō‚ī‚Ü‚ņ - -EƒV[ƒYƒ‚[ƒh‰š‚ŁAˆČ‰š‚Ė“_‚ðCģ -@Eģ‹KƒMƒ‹ƒhģ”F‚Š‚Č‚Ē‚ÆƒGƒ“ƒyƒŠƒEƒ€‚ɍUŒ‚‚ŠŒø‚Đ‚Č‚Ē‚æ‚Ī‚ÉCģ -@EƒGƒ“ƒyƒŠƒEƒ€‚ɑ΂·‚éƒXƒLƒ‹UŒ‚‚ŠŒø‚Đ‚Č‚Ē‚æ‚Ī‚ÉCģ -@E–‚–@UŒ‚A‰“‹——ĢUŒ‚AãĐ‚Ėƒ_ƒ[ƒW•âģ‚ðŽĀ‘• -@@–‚–@UŒ‚F50%@‰“‹——ĢUŒ‚F75%@ãЁF60% -@@‚ą‚ę‚͐l‚É‚āƒGƒ“ƒyƒŠƒEƒ€‚É‚ā“K—p‚ģ‚ę‚Ü‚· - (map/) - battle.c - #include "guild.h" ’Į‰Á - battle_calc_damage()Abattle_calc_weapon_attack() Cģ - --------------------- -//0765 by ‚Ō‚ī‚Ü‚ņ - -E‘•”õ§ŒĀŽĀ‘• -E‘•”õ§ŒĀ‚Š‚Đ‚Đ‚Á‚―‘•”õ•i‚ÍŠY“–ƒ}ƒbƒv‚ÉˆÚ“Ū‚ĩ‚―Û‚ÉŽĐ“Ū“I‚É‘•”õ‚ŠŠO‚ęA -@Ä‘•”õ‚ā‚Å‚Ŧ‚Č‚­‚Č‚č‚Ü‚· -E§ŒĀ‚Å‚Ŧ‚é‚Ė‚Í‘•”õ•i‚Ė‚Ý‚Å‚·BƒJ[ƒ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 Ž€_ - -E‘S‚Ä‚Ėƒ_ƒ[ƒW‚Š1‚ɂȂé–hŒä‚ð10000‚Đ‚į1000000‚ɕύXB -Ebattle_athena.conf‚ɍ€–Ú’Į‰ÁB -Eƒ‚ƒ“ƒXƒ^[‚Đ‚įŒoŒą’l‚ð–á‚Īˆ—‚ð–{ŽI‚Ė‚æ‚Ī‚ÉCģB -EƒXƒLƒ‹ƒXƒ[ƒ|ƒCƒYƒ“ŽĀ‘•B -EŒðŠ·ƒoƒOCģB -E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģB -EƒeƒXƒg‚Í–w‚Į‚ĩ‚Ă܂đ‚ņB - (db/) - mob_db.txt CģB - skill_db.txt CģB - (doc/) - conf_ref.txt CģB - db_ref.txt CģB - (conf/) - battle_athena.conf CģB - (map/) - makefile CģB - battle.h CģB - battle.c - battle_get_def()Abattle_get_mdef() CģB - battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CģB - battle_calc_pc_weapon_attack()Abattle_calc_magic_attack() CģB - battle_calc_misc_attack()Abattle_config_read() CģB - skill.h CģB - skill.c - skill_castend_nodamage_id()Askill_castend_damage_id() CģB - skill_check_condition()Askill_status_change_timer() CģB - skill_status_change_end()Askill_status_change_start() CģB - skill_additional_effect()Askill_produce_mix()Askill_unit_timer_sub() CģB - skill_check_unit_sub()‚ð skill_check_unit_range_sub()‚ɕύXB - skill_check_unit_range() ’Į‰ÁB - skill_castend_pos()Askill_area_sub_count() CģB - mob.c - mobskill_castend_pos()Amob_damage() CģB - clif.c - clif_parse_TradeRequest()Aclif_parse_TradeAck() CģB - clif_parse_TradeAddItem()Aclif_parse_TradeOk() CģB - clif_parse_TradeCansel()Aclif_parse_TradeCommit() CģB - map.h CģB - map.c - do_init() CģB - pc.c - pc_calc_skilltree()Apc_calcstatus() CģB - tarde.c - trade_tradeack() CģB - --------------------- -//0763 by ŒÓ’ą—– - -EƒT[ƒo[snapshot - ƒtƒHƒ‹ƒ_‚ðŪ—‚ĩ‚―‚˂ŒˆÓ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB - ˆČ‘O‚ĖƒZ[ƒuƒf[ƒ^(account.txt‚Č‚Į)‚ÍsaveƒtƒHƒ‹ƒ_‚É’u‚ǂĂ­‚ū‚ģ‚Ē - cnfƒtƒ@ƒCƒ‹‚ÍŠeŽíƒtƒ@ƒCƒ‹‚ĖƒpƒX‚Š•Ï‚í‚Á‚Ä‚é‚˂ŁA - ‚ą‚ĖŒÃ‚Ē‚ā‚Ė‚ðƒRƒs[‚Å‚Í‚Č‚­AV‚ĩ‚­‘‚ŦŠ·‚͂Ȃςĩ‚Ä‚­‚ū‚ģ‚ǁB - -EƒtƒHƒ‹ƒ_Ū— - confƒtƒHƒ‹ƒ_ - NPCŠÖ˜A‚ðconf/npc/AMOB”z’uŠÖ˜A‚ðconf/mob/AWARPŠÖ˜A‚ðconf/warp/ - ƒeƒXƒg‚âƒTƒ“ƒvƒ‹‚ðconf/sample/‚ÉˆÚ“Ū‚ĩ‚Ü‚ĩ‚―B - dbƒtƒHƒ‹ƒ_ - sampleƒtƒHƒ‹ƒ_‚˂΂ŋdbŠÖŒW‚ð db/sample‚ÉˆÚ“Ū‚ĩ‚Ü‚ĩ‚―B - help.txt/motd.txt - confƒtƒHƒ‹ƒ_‚ÉˆÚ“Ū‚ĩ‚Ü‚ĩ‚― - account.txt/athena.txt/guild.txt/party.txt/pet.txt/storage.txt - saveƒtƒHƒ‹ƒ_‚ÉˆÚ“Ū‚ĩ‚Ü‚ĩ‚― - tool/backup - ƒpƒXCģ - -Emotd.txt/help.txt‚ĖƒpƒX‚ðmap_athena.cnf‚ÅŽw’č‚Å‚Ŧ‚邿‚Ī‚É - map.h/map.c/atcommand.c/atcommand.hCģ - -Eathena-start‚ÉrestartƒIƒvƒVƒ‡ƒ“’Į‰Á - ./athena-start restart‚ÅAthena‚ðÄ‹N“Ū‚ĩ‚Ü‚· - --------------- -//0761 by ‚Û‚Û‚Û - -EMOB‚ĖMDEF‚É10000ˆČãŽw’č‚ĩ‚Ä‚āƒtƒ@ƒCƒAƒsƒ‰[‚Å•’Ę‚Éƒ_ƒ[ƒW‚ð—^‚͂Ăĩ‚܂΂˂ðCģB - (map/) - battle.c - --------------- -//0760 by ll3y - -E•ķŽš‰ŧ‚ŊCģ - (map/) - script.c - --------------- -//0759 by Ž‚Žqo^.^o -EƒXƒsƒAƒNƒCƒbƒPƒ“ 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)‚ŃRƒ“ƒpƒCƒ‹‚ВƂ邿‚Ī‚ÉCģ - Interop Systems(http://www.interopsystems.com/)‚æ‚čgmake‚Æzlib‚ðŽæ‚Á‚Ä‚­‚é‚ЁA - ŽĐ‘O‚ÅInterix—p‚ð—pˆÓ‚·‚é•K—v‚Š‚ ‚č‚Ü‚·B - (common/) - socket.h CģB - --------------- -//0755 by Ž€_ - -EƒoƒOCģ‚Ɛā–ū’Į‰ÁB(•ņ‚ģ‚ę‚―‚Ė‚Í‘―•Š‘S‚ďCģ‚ģ‚ę‚―‚Ė‚Đ‚Æ...) -E0751‚ŃXƒLƒ‹‚ĖÅ‘åƒŒƒxƒ‹‚ð100‚܂Őݒč‚Å‚Ŧ‚邿‚΂ɂĩ‚Ü‚ĩ‚―B -Ecast_db.txt‚É“ü‚Á‚Ăǂéó‘ÔˆŲí‚ĖˆÛŽŽžŠÔ‚ÍŽĐ•Š‚Š“K“x‚É“ü‚ę‚―•ςł·B–{ŽI‚ĖŽd—l‚Č‚ņ‚Ä’m‚č‚Ü‚đ‚ņ‚˂ŁB - (doc/) - db_ref.txt CģB - (db/) - cast_db.txt CģB - skill_db.txt CģB - (map/) - skill.h CģB - skill.c - skill_check_unit_sub()Askill_castend_id()Askill_use_id() CģB - skill_status_change_end()Askill_status_change_start() CģB - skill_castend_map() CģB - mob.c - mobskill_castend_id()Amobskill_castend_pos() CģB - pc.c - pc_calcstatus() CģB - 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‚Ė”­ķƒ|ƒCƒ“ƒg‚ðŽw’č‚·‚邯ƒƒeƒI‚ĖƒGƒtƒFƒNƒg‚ŠˆęØo‚Č‚­‚Č‚é -@–â‘肊•œŠˆ‚ĩ‚Ăǂ―‚Ė‚ÅCģB -Ewarning‚ðo‚Ȃǂæ‚Ī‚ÉƒR[ƒhCģB - (map/) - skill.c - skill_castend_pos2() CģB - chrif.h - --------------- -//0752 by ‚Ō‚ī‚Ü‚ņ - -EchangesexƒXƒNƒŠƒvƒgŽĀ‘•BŦ•Ę‚ð”―“]‚ģ‚đ‚邹‚Æ‚Š‚Å‚Ŧ‚Ü‚· -@Ŧ•Ę”―“]ŽŒũŒã‚́A‚ŧ‚ĖƒvƒŒƒCƒ„[‚Í‹­§“I‚ɐڑą‚ðØ’f‚ģ‚ę‚Ü‚· -@‚Ü‚―Aƒ_ƒ“ƒT[Eƒo[ƒh‚ĖŒÝŠ·Ŧ‚͂ЂȂč‰ö‚ĩ‚ǂł· -@ƒ_ƒ“ƒT[Eƒo[ƒh‚ŠƒXƒƒbƒg“ā‚Į‚ą‚Ђɋ‚éƒAƒJƒEƒ“ƒg‚ł˔―“]‚́AˆČ‰š‚Ė“_‚É’ˆÓ‚ĩ‚ĉš‚ģ‚Ē -@E•K‚ļ”―“]‚ģ‚đ‚é‘O‚É‚ŧ‚ĖƒLƒƒƒ‰ƒNƒ^[‚ðƒXƒLƒ‹ƒŠƒZƒbƒg‚ĩ‚Ä‚­‚ū‚ģ‚Ē -@@‚ŧ‚˂܂ܔ―“]‚ģ‚đ‚邯A‹Ī’Ę‚·‚éƒXƒLƒ‹(ŠyŠí‚Ė—ûK“™)‚ĩ‚ĐŽc‚į‚Č‚­‚Č‚Á‚Ä‚ĩ‚܂ǂ܂· -@Eƒ_ƒ“ƒT[Eƒo[ƒhę—p•Ší‚ð‘•”õ‚ĩ‚Ăǂéę‡‚́AŠO‚ĩ‚Ä‚Đ‚į”―“]‚ģ‚đ‚Ä‚­‚ū‚ģ‚Ē -@@‚ŧ‚˂܂ܔ―“]‚ģ‚đ‚邯A‚ŧ‚ĖƒLƒƒƒ‰ƒNƒ^[‚ĖŠJŽnŽž‚É -@@ƒNƒ‰ƒCƒAƒ“ƒgƒGƒ‰[‚Šo‚Ü‚·io‚é‚ū‚Ŋ‚ŁA—Ž‚ŋ‚邹‚Æ‚Í‚Č‚Ē‚Ė‚Å‚·‚Ёcj -Eƒf[ƒ^ƒx[ƒXCģ 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.txt‚Æcast_db.txt‚Ė•ÏX‚Æskill_require_db.txt‚Ė’Į‰ÁB -E“Å‚É‚Đ‚Đ‚é‚ÆHP‚ŠŒļ‚邿‚Ī‚É•ÏXBHP‚Í1•b‚ɍőåHP‚Ė1%Œļ‚č‚Ü‚·B(–ĒƒeƒXƒg) -EÎ‰ŧ‚ðis’†‚Ė•Ļ‚ÆŠŪ‘S‚ȕςɕЂŊ‚ÄHP‚ŠŒļ‚邿‚Ī‚É•ÏXB(1•b‚ɍőåHP‚Ė1%)ƒuƒŒƒbƒVƒ“ƒO‚ÅŠŪ‘SÎ‰ŧ‚ū‚ŊŽĄ‚đ‚邿‚Ī‚ÉCģB(–ĒƒeƒXƒg) -Eƒnƒ“ƒ^[‚Ėƒgƒ‰ƒbƒv‚ɃGƒtƒFƒNƒgŽĀ‘•B‚―‚ūƒ‰ƒ“ƒhƒ}ƒCƒ“‚ƃVƒ‡ƒbƒNƒEƒF[ƒu‚Í”š”­ƒGƒtƒFƒNƒg‚Šo‚Ȃǂæ‚΂ł·Bƒ‰ƒ“ƒhƒ}ƒCƒ“‚̓tƒ@ƒCƒAƒsƒ‰[‚Ė”š”­ƒGƒtƒFƒNƒg‚Šo‚邿‚Ī‚É•Ï‚Ķ‚Ä‚Ē‚Ü‚·B -EƒI[ƒgƒJƒEƒ“ƒ^[‚Ė•ûŒüƒ`ƒFƒbƒN‚ð‚·‚é‚æ‚Ī‚É•ÏX‚Æ–{ŽIŽd—l‚ɍ‡‚í‚đ‚Ü‚ĩ‚―B -EƒoƒbƒNƒXƒ^ƒu‚ā•ûŒüƒ`ƒFƒbƒN‚ð‚·‚é‚æ‚Ī‚É•ÏXB -EƒCƒ“ƒeƒBƒ~ƒfƒCƒg‚Ėˆ—•ύXB -EƒfƒBƒtƒFƒ“ƒ_[‚ĖˆÚ“Ū‘Ž“xŒļ­‚ð–{ŽI‚ɍ‡‚í‚đ‚Ü‚ĩ‚―BASPD‚͏ŸŽč‚ȂЂį -(30 - (skilllv*5))%‚ŠŒļ‚邿‚΂ɂĩ‚Ü‚ĩ‚―‚Š–{ŽI‚łǂ­‚į’öŒļ‚é‚Ė‚Đ‚Ėî•ņ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·B -Eƒgƒ“ƒlƒ‹ƒhƒ‰ƒCƒuLV1‚ÅˆÚ“Ū‘Ž“x‚Š150‚Đ‚į312‚ɂȂé‚Ė‚ŠŠm”F‚ģ‚ę‚ÄŒvŽZ‚ð•ύX‚ĩ‚Ü‚ĩ‚―‚ŠƒŒƒxƒ‹‚É‚æ‚Á‚Ä‚Į‚ę‚Ū‚į‚Ē‘‰Á‚·‚é‚Ђ͕s–ū‚Å‚·Bî•ņ‚ð‹‚ß‚Ü‚·B(Ą‚ĖŒvŽZŽŪ‚Í“K“x‚ɍė‚Á‚―•ςł·B) -Eƒ|[ƒVƒ‡ƒ“ŧ‘Ē‚ĖŒvŽZŽŪ•ύX‚Æ‚ŋ‚å‚Á‚ƏCģB -Eˆę•”’n–ĘƒXƒLƒ‹‚Ėd‚Ë’u‚Ŧ‚ð‹ÖŽ~B -EbNoMagicDamage‚Å–‚–@‚É‚æ‚éˆŲí‚âƒXƒe[ƒ^ƒXƒAƒbƒvŒø‰Ę‚Šo‚Ȃǂæ‚Ī‚ÉCģB(ƒŠƒUƒŒƒNƒVƒ‡ƒ“ˆČŠO‚Ė–‚–@‚Í–ģŒø‚ɂȂč‚Ü‚·B) -Ebattle_athena.conf‚ɍ€–Ú’Į‰ÁB -E‚ŧ‚Ė‘žFX‚ƏCģB -E•ύX‚ģ‚ę‚―skill_db.txtAcastdb.txt‚Æ’Į‰Á‚ģ‚ę‚―skill_require_db.txt‚Ė\‘Ē‚ÍĄ‚ĖŠŽĐ•Š‚ĩ‚Đ’m‚į‚Ȃǂ˂Ådb_ref.txt‚ɐā–ū‚ð’Į‰Á‚·‚é—\’č‚Ȃ˂łŧ‚ę‚܂ł͂ą‚ę‚į‚Ė•ÏX‚͍T‚͂Ă­‚ū‚ģ‚ǁB - (char/) - int_guild.c CģB - (conf/) - battle_athena.conf CģB - (doc/) - conf_ref.txt CģB - (db/) - skill_db.txt CģB - skill_require_db.txt CģB - cast_db.txt CģB - (map/) - battle.h CģB - battle.c - battle_counttargeted()Abattle_calc_pet_weapon_attack() CģB - battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CģB - battle_weapon_attack()Abattle_config_read() CģB - skill.h CģB - skill.c - skill_attack()Askill_castend_damage_id() CģB - skill_castend_nodamage_id()Askill_status_change_start() CģB - skill_check_condition()Askill_castend_pos() CģB - skill_use_id()Askill_use_pos() CģB - skill_status_change_timer()Askill_status_change_start() CģB - skill_check_unit_sub() ’Į‰ÁB - pc.h CģB - pc.c - pc_damage()Apc_counttargeted()Apc_counttargeted_sub() CģB - mob.h CģB - mob.c - mob_countslave()Amob_counttargeted()Amob_counttargeted_sub() CģB - mobskill_use()Amob_can_move()Amob_damage() CģB - mobskill_use_id()Amobskill_use_pos()Amobskill_castend_id() CģB - mobskill_castend_pos() CģB - map.c - map_quit() CģB - --------------- -//0750 by CHRIS - -EƒXƒLƒ‹ŠÖŒW‚ĖDB‚ð’ēŪ - (db/) - skill_db.txt - cast_db.txt - skill_require_db.txt - --------------- -//0749 by Ž€_ - -EFX‚ƕύX‚ƏCģB -EƒXƒLƒ‹‚ĖŽd—l•ύX‚âŽĀ‘•Aó‘ÔˆŲí‚ĖŽd—l•ύX‚âŽĀ‘•B -EƒXƒLƒ‹‚ĖŽg—pðŒ‚ðdb‚ɐݒč‚Å‚Ŧ‚邿‚Ī‚É•ÏXB -Eskill_db.txt‚Æcast_db.txt‚ĖŽd—l•ύXB -Eƒ}ƒbƒvŽI‚Ė–ģŒĀƒ‹[ƒv‰Â”\Ŧ‚Š‚ ‚é•”•Š‚ðCģB(‚ ‚­‚܂łā‰Â”\Ŧ‚Š -‚ ‚Á‚―‚ū‚Ŋ‚˕ςł·B–ģŒĀƒ‹[ƒv‚ĖŒīˆö‚Ƃ͒fŒū‚Å‚Ŧ‚Ü‚đ‚ņB) -Eƒgƒ‰ƒbƒv‚Ė”­“ŪŽĀ‘•B(‚―‚ūŽĀÛ‚É“Ūė‚͂܂ūCģ‚ĩ‚Ăǂ܂đ‚ņB -ŒĐ‚―–Ú‚Š•Ï‚í‚Á‚―‚ū‚Ŋ‚Å‚·B) -Ebattle_athena.conf‚ɍ€–Ú’Į‰Á‚ðíœB -E0748‚ĖCģíœ‚Æ•ķŽš‰ŧ‚ŊCģB -Eskill_db.txtAcast_db.txtAskill_require_db.txt‚Ė•û‚Ђ܂ūŠŪŽ‚ģ‚ę‚ĂǂȂǂ˂Š-‚ЂȂč‚Ė—Ę‚ĖƒXƒLƒ‹‚Аģ‚ĩ‚­“Ūė‚ĩ‚Ü‚đ‚ņB(db_ref.txt‚ɐݒč•û–@‚ð“ü‚ę‚Č‚Ē‚Æ - ‚Ŋ‚Ȃǂ˂ł·‚ŠŽžŠÔ‚Š‚Č‚Đ‚Á‚―‚Ė‚Å...) ‚ŧ‚ĩ‚ďCģ‚Í‚ĩ‚Ü‚ĩ‚―‚ŠƒeƒXƒg‚Í -–w‚ņ‚Į‚ĩ‚Ă܂đ‚ņ‚˂ŒˆÓ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB - (char/) - char.c CģB - int_party.h CģB - int_party.c CģB - int_guild.h CģB - int_guild.c CģB - int_pet.h CģB - int_pet.c CģB - int_storage.h CģB - int_storage.c CģB - char‚Ė•û‚Í‘å‚ĩ‚―Cģ‚Í‚ĩ‚Ă܂đ‚ņB - (conf/) - battle_athena.conf CģB - (doc/) - conf_ref.txt CģB - (db/) - skill_db.txt CģB - cast_db.txt CģB - skill_require_db.txt ’Į‰ÁB - produce_db.txt CģB - (map/) - map.h CģB - map.c - map_check_dir() ’Į‰ÁB - map_readmap()Amap_addblock()Amap_delblock() CģB - map_foreachinarea()Amap_foreachinmovearea() CģB - map_addflooritem() CģB - pc.h CģB - pc.c - pc_spiritball_timer()Apc_addspiritball()Apc_delspiritball() CģB - pc_steal_item()Apc_steal_coin()Apc_calcstatus() CģB - pc_checkallowskill()Apc_jobchange()Apc_checkweighticon() CģB - pc_damage()Apc_equipitem()Apc_walk()Apc_stop_walking() CģB - pc_authok()Apc_counttargeted()Apc_counttargeted_sub() CģB - pc_damage()Apc_setpos() CģB - skill.h CģB - skill.c - skill_get_range()Askill_get_sp()Askill_get_num() CģB - skill_get_cast()Askill_get_delay() CģB - 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() CģB - skill_attack()Askill_castend_damage_id() CģB - skill_castend_nodamage_id()Askill_castend_id() CģB - skill_castend_pos()Askill_unit_onplace() CģB - skill_unit_timer_sub_onplace()Askill_unitsetting() CģB - skill_use_id()Askill_use_pos()Askill_check_condition() CģB - skill_status_change_end()Askill_status_change_timer() CģB - skill_status_change_start()Askill_can_produce_mix() CģB - skill_produce_mix()Askill_gangsterparadise() CģB - skill_gangster_out()Askill_gangster_in() CģB - skill_gangster_count() ’Į‰ÁB - skill_readdb() CģB - battle.h CģB - battle.c - distance()Abattle_counttargeted()Abattle_get_range() ’Į‰ÁB - battle_get_dir() ’Į‰ÁB - battle_get_maxhp()Abattle_get_str()Abattle_get_agi() CģB - battle_get_vit()Abattle_get_dex()Abattle_get_int() CģB - battle_get_luk()Abattle_get_flee()Abattle_get_hit() CģB - battle_get_flee2()Abattle_get_critical()Abattle_get_baseatk() CģB - battle_get_atk()Abattle_get_atk2()Abattle_get_def() CģB - battle_get_def2()Abattle_get_mdef()Abattle_get_speed() CģB - battle_get_adelay()Abattle_get_amotion()Abattle_get_party_id() CģB - battle_get_guild_id()Abattle_get_size() CģB - battle_check_undead() ’Į‰ÁB - battle_check_target()Abattle_addmastery() CģB - battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CģB - battle_calc_pc_weapon_attack()Abattle_weapon_attack() CģB - clif.h CģB - clif.c - clif_skillinfo()Aclif_skillinfoblock()Aclif_skillup() CģB - clif_item_skill()Aclif_changeoption()Aclif_parse_LoadEndAck() CģB - clif_01ac() ’Į‰ÁB - clif_parse_WalkToXY()Aclif_parse_ActionRequest() CģB - clif_parse_TakeItem()Aclif_parse_DropItem() CģB - mob.h CģB - mob.c - mobskill_castend_id()Amobskill_castend_pos() CģB - mobskill_use_id()Amobskill_use_pos()Amob_heal() CģB - mob_spawn()Amob_damage()Amob_walk() CģB - mob_stop_walking()Amob_warp()Amob_counttargeted() CģB - mob_counttargeted_sub()Amob_countslave() CģB - mob_attack()Amob_target()Amob_ai_sub_hard_activesearch() CģB - mob_ai_sub_hard_mastersearch()Amob_ai_sub_hard() CģB - script.c - buildin_sc_start() CģB - path.c - can_move() CģB - pet.c - pet_data_init()Apet_stop_walking() CģB - npc.c - npc_parse_warp()Anpc_parse_shop()Anpc_parse_script() CģB - --------------- -//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 đ -Eƒyƒbƒg‚ŠƒGƒ‚‚ðo‚·‚Æmap-server‚Š—Ž‚ŋ‚邹‚Æ‚Š‚ ‚Á‚―–â‘č‚ðCģB - (map/) - clif_parse_SendEmotion() CģB - --------------- -//0746 by Michael - (map/) - script.c - Add Script command - checkoption(type); - Attach a npc_testchkoption.txt npc script! - --------------- -//0745 by ‚Ō‚ī‚Ü‚ņ -EƒMƒƒƒ“ƒOƒXƒ^[ƒpƒ‰ƒ_ƒCƒXŽĀ‘• -EPvPƒGƒŠƒA‚Ėmapflag‚ðCģ(“ŊŽm“Ē‚ŋ‚Š–ģ‚­‚Č‚Á‚―‚Đ‚ÆŽv‚ǂ܂·) -EƒV[ƒYƒ‚[ƒh‚ŃmƒbƒNƒoƒbƒN‚Š‚ ‚Á‚―ƒoƒO‚ðCģ -EƒCƒ“ƒeƒBƒ~‚Ė’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 đ - -EƒAƒCƒXƒEƒH[ƒ‹AƒƒeƒIƒXƒg[ƒ€‚ĖƒRƒ“ƒ{‚сƒeƒIƒXƒg[ƒ€‚ĖƒGƒtƒFƒNƒg‚Š•\ŽĶ‚ģ‚ę‚Č‚­‚Č‚é–â‘č‚ðCģB -EHP‹zŽûƒXƒLƒ‹‚ĖƒGƒtƒFƒNƒgCģB -Ebattle_athena.conf‚ɍ€–Ú’Į‰ÁB -EƒpƒPŽü‚č‚ĖŨ‚Đ‚ĒCģB - (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‚ÉŽ—‚đ‚éˆŨ‚ĖCģB -@‚ ‚Æ–{ŽI‘ŠˆáƒXƒŒ‚É‚ ‚Á‚―ƒSƒXƒŠƒ“‚ĖŽæ‚芊‚Ŧ‚ðCģB -@ƒfƒŠ[ƒ^[‚ˋ󂯒n‚ĖƒXƒLƒ‹‚Š‹t‚ɂȂÁ‚Ăǂ―‚Ė‚ðCģB - (db/) - mob_skill_db.txt Cģ - --------------- -//0742 by ‚Ō‚ī‚Ü‚ņ - -EƒCƒ“ƒeƒBƒ~ƒfƒCƒg‚ðŽĀ‘• -@UŒ‚‚ƃ[ƒv‚˕ЕƂЂ΂܂­‚Ē‚Đ‚Č‚Đ‚Á‚―‚˂Š-@SC_INTIMIDATE‚ðŽg‚Á‚Ä’x‰„ˆ—‚ð‚ĩ‚Ü‚ĩ‚― -Eskill_db‚ĖŒëŽš“™‚ðCģ - (map/) - skill.c - skill_additional_effect()Askill_castend_map()Cģ - skill_castend_nodamage_id()ACģ - 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 ‚Û‚Û‚Û -EPC‚ŠMOB‚Ƀ^ƒQ‚į‚ę‚―‚Æ‚Ŧ3•C–Ú‚Đ‚į–hŒä‚Ɖņ”ð‚ŠŒļ‚邿‚΂ɂĩ‚―B -@1•C‚ɂ‚Ŧ‰ņ”ð‚Í10%A–hŒä‚Í5%Œļ‚č‚Ü‚·B - (map/) - pc.h - pc.c - pc_counttargeted()Apc_counttargeted_sub()’Į‰Á - battle.c - battle_get_flee()Abattle_get_def()Abattle_get_def2()CģB - --------------- -//0739 by đ -Eƒtƒ@ƒCƒA[ƒEƒH[ƒ‹“™‚ĖÝ’uŒnƒXƒLƒ‹‚Аģ‚ĩ‚­•\ŽĶ‚ģ‚ę‚Ȃǖâ‘č‚ðCģB -Eƒ}ƒŠƒ“ƒXƒtƒBƒA‚ŠŽĐ”š‚·‚é‚ÆƒTƒ“ƒ_[ƒXƒg[ƒ€“™‚Ėƒ_ƒ[ƒW‚Š•\ŽĶ‚ģ‚ę‚Č‚­‚Č‚é–â‘č‚ðCģB -EHP‹zŽûŒnƒXƒLƒ‹‚Å“G‚Љņ•œ‚ĩ‚Ä‚éƒGƒtƒFƒNƒg‚Šo‚邿‚ĪCģB - (map/) - skill.c - skill_castend_damage_id() CģB - battle.c - battle_calc_misc_attack() CģB - clif.c - clif_getareachar_skillunit() CģB - clif_skill_setunit() CģB - --------------- -//0738 by ‚Ō‚ī‚Ü‚ņ -EƒXƒg[ƒ€ƒKƒXƒg‚ðŠŪ‘S‚É–{ŽIŽd—l‚ɏCģ(3‰ņ‚Őâ‘Γ€Œ‹•“€Œ‹ó‘Ô‚Ė“G‚ÍSG‚ð‚­‚į‚í‚Č‚Ē) -EƒTƒtƒ‰ƒMƒEƒ€‚ŠŽĐ•Š‚É‚Đ‚Ŋ‚į‚ę‚éƒoƒOCģ - (map/) - skill.c - skill_additional_effect()Askill_attack()Cģ - skill_castend_nodamage_id()Cģ - map.h Cģ - --------------- -//0737 by ‚Û‚Û‚Û -EƒAƒ“ƒNƒ‹‚Š•ā‚ǂĂǂé“G‚ÉŒø‚ЂȂĒ&•Ą”‚Ė“G‚ÉŒø‚­‚Ė‚ðCģB - (map/) - skill.c - skill_unit_onplace()Askill_unit_onout()Cģ - mob.c - mob_stop_walking()Cģ - --------------- -//0736 by ‚Ō‚ī‚Ü‚ņ -Eó‘ÔˆŲí‘ϐŦ‚ŠŒø‰ĘŽžŠÔ‚É‚ā‹y‚Ô—l‚ɏCģB”­“Ū—Ķ‚Æ“Ŋ—Ķ‚ÅŒø‰ĘŽžŠÔ‚ŠŠ„‚čˆø‚Đ‚ę‚Ü‚· -EƒXƒg[ƒ“ƒJ[ƒX‚ĖŒø‰ĘŽžŠÔ‚ð‰i‹v‚Đ‚įƒ}ƒWƒXƒŒƒeƒ“ƒvƒŒ€‹’‚É -EUŒ‚‚ðŽó‚Ŋ‚―Žž‚Ƀyƒbƒg‚ĖŽx‰‡UŒ‚‚ðŽó‚Ŋ‚į‚ę‚Ȃǂæ‚ĪCģ(ƒRƒƒ“ƒgƒAƒEƒg‚ĩ‚―‚ū‚Ŋ) -@‚ą‚ę‚ÍVITŒ^‚Ƀyƒbƒg‚ð•t‚Ŋ‚Ä•ú’u‚·‚é‚ū‚Ŋ‚ÅŽĐ“Ū‚ÅƒŒƒxƒ‹ã‚°‚ЂłŦ‚é‚Ė‚ð -@–h‚Ū‚―‚ß‚ĖŽb’č“I‚ȏˆ’u‚Å‚· - (map/) - skill.c - skill_castend_nodamage_id()Askill_addisional_effect()Cģ - skill_status_change_start()Cģ - pc.c - pc_damage() Cģ - --------------- -//0735 by ‚Û‚Û‚Û - -E“G‚ð“|‚ĩ‚ăŒƒxƒ‹‚Šã‚Š‚Á‚―‚Æ‚ŦPTŒö•―”ÍˆÍ‚Ėƒ`ƒFƒbƒN‚ð‚·‚é‚æ‚΂ɂĩ‚―B -EƒI[ƒgƒJƒEƒ“ƒ^[‰žŽĀ‘•B -@Œü‚Ŧ‚âŽË’öƒ`ƒFƒbƒN‚Í‚ĩ‚Ăǂ܂đ‚ņB‚Ü‚―ƒ^ƒCƒ~ƒ“ƒO‚Š‚Ļ‚Đ‚ĩ‚Ē‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņB -@MOBƒXƒLƒ‹‚Æ‚ĩ‚ÄŽg‚Ī‚Æ‚Ŧ‚̓^[ƒQƒbƒg‚ðself‚É‚ĩ‚Ä‚­‚ū‚ģ‚ǁB - (conf/) - battle_athena.conf€–Ú’Į‰Á - (doc/) - conf_refCģ - (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ģ‚ƍŨ‚Đ‚ĒCģB -Eplayer_skillup_limit‚Šyes‚Ėę‡skill_tree.txt‚Őݒč‚ģ‚ę‚Ä‚é‚ŧ‚ˉšˆĘE‹Æ‚Ė -ƒXƒLƒ‹ƒcƒŠ[‚ðŽg‚ǂ܂·‚˂łŧ‚ːE‹Æ‚Å‚Í–ģ‚­‚Č‚é‚Í‚ļ‚ĖƒXƒLƒ‹‚Šo‚邹‚Æ‚Š -‚ ‚č‚Ü‚·‚Š‚ą‚ę‚ÍŽd—l‚Å‚ ‚čƒoƒO‚ł͂ ‚č‚Ü‚đ‚ņBƒoƒO•ņ‚ģ‚ę‚Ä‚ā–ģŽ‹‚ĩ‚Ü‚·B - (doc/) - conf_ref.txt CģB - (char/) - char.c - mmo_char_sync_timer()Ado_init() CģB - inter.c - inter_init() CģB - inter_save_timer() íœB - (map/) - pc.c - pc_calc_skilltree() CģB - pc_resetskill() CģB - --------------- -//0733 by Ž€_ - -EƒoƒOCģ‚ƍŨ‚Đ‚ĒCģB -EŽ€‚ņ‚ūŒã‚É‚·‚Ū‚ÉƒZ[ƒuƒ|ƒCƒ“ƒg‚É–ß‚į‚ļ‚É‚ĩ‚Î‚į‚­•ú’u‚ĩ‚Ă邯A -•ú’u‚ĩ‚Ă鎞ŠÔ‚É‚æ‚Á‚ÄŒoŒą’l‚ŠŒļ­‚·‚éƒoƒOCģB(–ĒƒeƒXƒg) -Emob_availe.txt‚Őݒč‚ĩ‚―ƒ‚ƒ“ƒXƒ^[‚Ƀ‚ƒ“ƒXƒ^[î•ņ‚ðŽg‚Ī‚ŋˆÆ—Ž‚ŋ‚·‚é–â‘čCģB -Ebattle_athena.conf‚ɍ€–Ú’Į‰ÁB -E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģB - (conf/) - battle_athena.conf CģB - (doc/) - conf_ref.txt CģB - (map/) - clif.c - clif_skill_estimation()Aclif_parse_Restart() CģB - pc.c - pc_setrestartvalue()Apc_makesavestatus() CģB - pc_read_gm_account()Apc_calc_skilltree() CģB - pc_calc_skillpoint() ’Į‰ÁB - map.c - map_quit() CģB - mob.c - mob_damage() CģB - skill.c - skill_unit_timer_sub()Askill_unit_timer() CģB - battle.h CģB - battle.c - battle_config_read() CģB - --------------- -//0732 by Kalen - -Enpc_town_kafra.txt‚Ė‘S–ĘŒĐ’ž‚ĩ - ƒJƒvƒ‰—˜—pŒ”‚Ė”pŽ~ - ‘qŒÉ—˜—p—ŋ‚ð–{ŽI(jRO)‚Æ“Ŋˆę‰ŋŠi‚É’ēŪ - ƒJ[ƒgŽg—p—ŋ‚ð–{ŽI(jRO)‚Æ“Ŋˆę‰ŋŠi‚É’ēŪ - ƒ|ƒCƒ“ƒgŽQÆ•ύX - ƒWƒ…ƒm[‚ĖƒZ[ƒuƒ|ƒCƒ“ƒgCģ - ƒAƒ}ƒc‚ĖƒZ[ƒuƒ|ƒCƒ“ƒgCģ - --------------- -//0731 by ‚Û‚Û‚Û - -E•ž‚ːF‚ð•Û‘ķ‚·‚é‚Đbattle_athena.conf‚Å‘I‘ð‚Å‚Ŧ‚邿‚΂ɁB -@•ūŠQ‚Š‚ ‚é‚Ė‚Å•Û‘ķ‚ĩ‚Ȃǂæ‚Ī‚É‚Æ‘‚ǂĂ ‚Á‚―‚Ė‚ÅƒfƒtƒHƒ‹ƒg‚ł͕ۑķ‚ĩ‚Ü‚đ‚ņB -EƒXƒNƒŠƒvƒg’Į‰Á -@strcharinfo(1) ŽĐ•Š‚Ėƒp[ƒeƒB[–ž‚ðŽæ“ū‚ĩ‚Ü‚·B -@strcharinfo(2) ŽĐ•Š‚ĖƒMƒ‹ƒh–ž‚ðŽæ“ū‚ĩ‚Ü‚·B -@getcharid(1) ŽĐ•Š‚Ėƒp[ƒeƒB[ID‚ðŽæ“ū‚ĩ‚Ü‚·B -@getcharid(2) ŽĐ•Š‚ĖƒMƒ‹ƒhID‚ðŽæ“ū‚ĩ‚Ü‚·B -@getpartyname(ID) ID‚ÅŽw’č‚ĩ‚―ƒp[ƒeƒB[‚Ė–ž‘O‚ðŽæ“ū‚ĩ‚Ü‚·B -@getguildname(ID) ID‚ÅŽw’č‚ĩ‚―ƒMƒ‹ƒh‚Ė–ž‘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 ‚Ō‚ī‚Ü‚ņ - -EƒXƒg[ƒ€ƒKƒXƒg‚Ė“€Œ‹ŽžŠÔ‚ð–{ŽI‚É‚ ‚í‚đ‚ďCģ(ƒXƒLƒ‹ƒŒƒxƒ‹‚ÉŠÖŒW‚Č‚­ˆę’č‚Ė“€Œ‹ŽžŠÔ(10•b)‚ɂȂč‚Ü‚·) -EƒXƒ^ƒ“AˆÃˆÅA’ū–؁A“Å‚Ėó‘ÔˆŲíŽžŠÔ‚ˁuŒp‚Ž‘Ŧ‚ĩv‚ЂłŦ‚Ȃǂæ‚Ī‚ÉCģ -Eó‘ÔˆŲí‚ŠŠ|‚Đ‚č‚É‚­‚·‚ނĂ―‚Ė‚ÅMOB‚Ėó‘ÔˆŲí‘ϐŦ‚ðŠÉ˜a(‚Ü‚―’ēŪ‚·‚é‚Đ‚ā) - (map/) - skill.c - skill_castend_nodamage_id()Askill_addisional_effect()Cģ - skill_status_change_start()Cģ - --------------- -//0729 by DRG - -EƒJ[ƒgƒŒƒ{ƒŠƒ…[ƒVƒ‡ƒ“‚ŠƒJ[ƒg‚Č‚ĩ‚ÅŽg‚Ķ‚―•s‹ï‡‚ĖCģ -EƒJ[ƒgƒŒƒ{ƒŠƒ…[ƒVƒ‡ƒ“‚ŠJOBLV30‚ÅŠo‚Ķ‚ę‚―‚Ė‚ðCģ - (conf/) - npc_event_skillget.txt - ƒJ[ƒgƒŒƒ{ƒŠƒ…[ƒVƒ‡ƒ“€Cģ - (map/) - skill.c - skill_check_condition()Cģ - --------------- -//0728 by ‚Û‚Û‚Û - -EE‚Š•Ï‚í‚Á‚Ä‚āƒMƒ‹ƒh‚ːE‹Æ—“‚ŠXV‚ģ‚ę‚ȂǕs‹ï‡‚ĖCģB - - (char/) - inter.c - ƒpƒPƒbƒg’·ƒŠƒXƒgCģB - 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•ŠíŒĪ‹†ƒXƒLƒ‹‚É‚æ‚Á‚ăzƒ‹ƒOƒŒƒ“‚Č‚Į‚ːļ˜BNPC‚Š -@ģí‚É“Ūė‚ĩ‚Ȃǖâ‘č‚ðCģB - - (map/) - pc.c - pc_percentrefinery() CģB - --------------- -//0726 by ŒÓ’ą—– - -Emob_skill_db2.txt‚Š‚ ‚ę‚Îmob_skill_db.txt‚ðƒI[ƒo[ƒ‰ƒCƒh‚·‚邿‚Ī‚ÉCģ - ƒIƒŠƒWƒiƒ‹‚ĖMOBŽg—pŽž‚âAŒŧsMOB‚ĖŽg—pƒXƒLƒ‹‚ð•ύX‚ĩ‚―‚Ēę‡‚ɁB - -Emob_skill_db.txt‚Åmob_id‚ĖŽŸ‚Ėƒ_ƒ~[•ķŽš—ņ‚Š"clear"‚ū‚Á‚―ę‡A - ‚ŧ‚ĖMOB‚ĖƒXƒLƒ‹‚ð‰Šú‰ŧ‚·‚é‹@”\’Į‰ÁB - Emob_skill_db2.txt‚Å‚ ‚éMOB‚ĖƒXƒLƒ‹‚ðŠŪ‘S‚ɏ‘‚ŦŠ·‚͂邯‚Ŧ‚ÉŽg—p‚ĩ‚Ä - ‚­‚ū‚ģ‚ǁB - Eclear‚ĩ‚ȂЂÁ‚―ę‡‚Ímob_skill_db.txt‚Ė‚ā‚˂ɒĮ‰Á‚ģ‚ę‚Ü‚·B - - mob.c - mob_readskilldb()Cģ - - -EƒAƒCƒeƒ€–ž/MOB–ž‚Š‘SŠp12•ķŽši24ƒoƒCƒgj‚ ‚éƒAƒCƒeƒ€/MOB‚ЁA - @ƒRƒ}ƒ“ƒh‚ÅŽæ‚čŠņ‚đ/ĒŠŦ‚Å‚Ŧ‚Ȃǖâ‘čCģB - mob.c - mobdb_searchname()Cģ - itemdb.c - itemdb_searchname_sub()Cģ - -EŒŧÝŽž‚ŃCƒxƒ“ƒg‚ð‹N‚ą‚·uŽžŒvƒCƒxƒ“ƒgv‹@”\‚ð’Į‰Á - EOnInit‚Æ“Ŋ‚킿‚΂ɂŧ‚ꂞ‚ę‚ĖNPC‚ŁAOn`‚ÅŽn‚܂郉ƒxƒ‹‚ð’č‹`‚ĩ‚Ü‚·B - OnMinute?? F–ˆŽžA??•Š‚ÉƒCƒxƒ“ƒg‚ð‹N‚ą‚ĩ‚Ü‚·B(0-59) - OnHour?? F–ˆ“úA??Žž‚ɃCƒxƒ“ƒg‚ð‹N‚ą‚ĩ‚Ü‚·B(0-23) - OnClock???? F–ˆ“úA??Žž??•Š‚ÉƒCƒxƒ“ƒg‚ð‹N‚ą‚ĩ‚Ü‚·B - OnDate???? F–ˆ”NA??ŒŽ??“ú‚ɃCƒxƒ“ƒg‚ð‹N‚ą‚ĩ‚Ü‚·B - EÚ‚ĩ‚­‚Í npc_test_ev.txt ‚ðŽQÆ - - (conf/) - npc_test_ev.txt - “ā—e’Į‰Á - (map/) - npc.c - FXCģ - -E‚ŧ‚Ė‘ž - clif.c - ƒRƒ“ƒpƒCƒ‹Œx‚Šo‚Ȃǂæ‚Ī‚ÉCģ - --------------- -//0725 by Ž€_ - -EŽI—Ž‚ŋƒoƒOCģB -Eƒ‚ƒ“ƒXƒ^[‚ɃCƒxƒ“ƒg‚ŠÝ’č‚ģ‚ę‚Ä‚Ē‚ÄŽĐŽE‚â‚Č‚É‚Đ‚Åƒ_ƒ[ƒW‚ð—^‚Ķ‚― -•Ļ‚Š‚Č‚Ēę‡ŽI—Ž‚ŋŠm’č‚Ȃ˂łŧ‚Ėƒ}ƒbƒv‚É‚ ‚éƒvƒŒƒCƒ„[‚ð—˜—p‚ĩ‚Ä -ƒCƒxƒ“ƒgƒXƒNƒŠƒvƒg‚ðŽĀs‚·‚邿‚Ī‚É•ÏXB - (map/) - makefile CģB - mob.c - mob_timer()Amob_damage() CģB - --------------- -//0724 by Ž€_ - -EƒoƒOCģ‚ÆˆĀ’č‰ŧ‚ĖˆŨ‚ĖCģB -Eƒyƒbƒg‚ĖUŒ‚‚ŃCƒxƒ“ƒg‚Šˆ—‚ģ‚ę‚ļŽI—Ž‚ŋ‚ɂȂé–â‘čCģB(–ĒƒeƒXƒg) -Eƒ‚ƒ“ƒXƒ^[‚Ė‘å—Ę”­ķ‚ÅŽI‚Š—Ž‚ŋ‚é–â‘čCģB(ƒ‚ƒ“ƒXƒ^[‚ð10000•C‚ðŒÄ‚ņ‚Å -–‚–@‚Å“|‚·‚ą‚Æ‚ð5‰ņ’öƒeƒXƒgB‚―‚ū“Ū‚Đ‚Č‚Ē‚â‚Â‚Ė‚ÝB) -EŽæ‚芊‚Ŧ‚Šƒ{ƒX‚Æˆę‚ÉŽ€‚ĘŽžƒAƒCƒeƒ€‚𗎂Ƃģ‚Ȃǂæ‚Ī‚É•ÏXB(–ĒƒeƒXƒg) -Ebattle_athena.conf‚Ėpc_skillflee‚ðplayer_skillfree‚ɕύX‚ĩ‚ďˆ—‚ð•ύXB -EƒAƒCƒXƒEƒH[ƒ‹‚Éskill_unit_setting‚ðŽg‚ĪƒXƒLƒ‹‚ōUŒ‚‚Å‚Ŧ‚Ȃǂæ‚Ī‚ÉCģB -E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģ­‚ĩBˆĀ’č‰ŧ‚ģ‚ę‚―‚Đ‚Į‚Ī‚Đ‚Í‚Ü‚ū‚í‚Đ‚č‚Ü‚đ‚ņ‚ŠXP1800+A512MAƒ‚ƒ“ƒXƒ^[”z’u50%‚Å10000•CĒŠŦ‚ĩ‚ÄˆŲí‚ȂЂÁ‚―‚˂őåä•v‚ɂȂÁ‚―‚ÆŽv‚ǂ܂·B‘åä•v‚ķ‚á‚Č‚­‚Ä‚āÓ”C‚͂Ƃę‚Ü‚đ‚ņ‚Š... - (conf/) - battle_athena.conf CģB - (doc/) - conf_ref.txt CģB - (map/) - mob.h CģB - mob.c - mob_timer()Amob_deleteslave_sub()Amob_damage() CģB - npc.c - npc_event() CģB - skill.c - skill_area_sub()Askill_unit_onplace()Askill_castend_nodamage_id() CģB - clif.c - clif_parse_GMKick() CģB - battle.h - battle.c - battle_damage()Abattle_check_target()Abattle_config_read() CģB - pc.c - pc_calc_skilltree()Apc_checkskill() CģB - map.h CģB - map.c - map_foreachinarea()Amap_foreachinmovearea() CģB - map_foreachobject() CģB - --------------- -//0723 by DRG - -E0719‚ĖCģ - (map/) - pc.c pc_calc_skilltree()Cģ - --------------- -//0722 by ƒpƒCƒ“ - -Egcc 2.29Œn—ņ‚Å‚āƒRƒ“ƒpƒCƒ‹‚ВƂ邿‚Ī‚ÉCģB -@‚ą‚ę‚ÍˆČ‘O‚É‚ā’ž‚ĩ‚―‚Í‚ļ‚Ȃ˂ł·‚ЁA‚Č‚š‚ĐŒģ‚É–ß‚Á‚Ăǂ܂ĩ‚―‚˂Š-@ŠF‚ģ‚ņ’ˆÓ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·B -@‚ ‚ƁAgcc3Œn—ņ‚Č‚į’萔‚Í‚Į‚ą‚ɏ‘‚ǂĂā–â‘č‚Ȃǂ˂ł·‚ЁA -@gcc2.29Œn—ņ‚ł́u•K‚ļƒuƒƒbƒN—v‘f‚Ėˆę”ԍŏ‰v‚ɏ‘‚Đ‚Č‚Ē‚ÆƒRƒ“ƒpƒCƒ‹‚Š -@’Ę‚č‚Ü‚đ‚ņ‚˂łą‚ŋ‚į‚ā‚ē’ˆÓŠč‚ǂ܂·B - -ƒRƒ“ƒpƒCƒ‹‚Š’Ę‚é—á -void hoge() { - const char booboo = 1; - c - -ƒRƒ“ƒpƒCƒ‹‚Š’Ę‚į‚ȂǗá -void hoge() { - c - const char booboo = 1; - c - - (map/) - skill.h ƒ}ƒNƒ‚ðCģ - skill.c skill_addisional_effect()Cģ - --------------- -//0721 by đ - -Eƒ{ƒX‚ɃŒƒbƒNƒXƒfƒr[ƒi‚ŠŒø‚Ē‚―–â‘č‚ðCģB -Eƒ{ƒX‚ɃJ[ƒh‚É‚æ‚éó‘ÔˆŲí‚ŠŒø‚ЂȂЂÁ‚―–â‘č‚ðCģB -@–{ŽI‚ł̓}ƒŠƒiƒJ[ƒh“™‚ŃI[ƒNƒq[ƒ[‚Č‚Į‚ð‰Ģ‚é‚ÆŽžX“€Œ‹‚ĩ‚Ü‚·B -@(Œ‹\”ũ–­‚ČŽĀ‘••û–@‚Ȃ˂ŁA‰―‚Đ–â‘肊‚ ‚Á‚―ę‡ -@ ‚ŧ‚Ė•ÓÚ‚ĩ‚Ē•û‚Ļ‚č‚Ü‚ĩ‚―‚įCģ‚ĩ‚Ä‚â‚Á‚Ä‚­‚ū‚ģ‚Ē(^^; )) - --------------- -//0720 by ŒÓ’ą—– - -EPC‚ÉIW‚ðd‚Ë‚é‚ÆMOB‚ŠUŒ‚‚ĩ‚Ä‚ą‚Ȃǖâ‘č‚ðCģ - EIW‚ɏd‚Č‚Á‚ĂǂĂāA—ŨÚ‰Â”\‚Č‚įMOB‚Š‹ßŠņ‚Á‚Ä‚Ŧ‚Ü‚· - E‚Į‚ņ‚Č’nŒ`‚ɂǂĂāA—ŨÚ‚ĩ‚Ăǂé‚Č‚įUŒ‚‰Â”\‚ɂȂč‚Ü‚· - E‚―‚ū‚ĩAMOB‚Љ“‹——ĢUŒ‚‰Â”\‚ŁAUŒ‚”͈͓ā‚ÉPC‚ЂǂĂāA - —ŨÚ•s‰Â”\‚Č‚įUŒ‚‚ĩ‚Ä‚Ŧ‚Ü‚đ‚ņB‚ą‚ę‚Ė‰ðŒˆ‚Í‚Đ‚Č‚č–Ę“|‚Ȃ˂ŁB - - mob.c - mob_can_reach()Cģ - battle.c - battle_check_range()Cģ - --------------- -//0719 by DRG - -E‰šˆĘƒXƒLƒ‹‚Š‚Č‚Ēę‡‚͏ãˆĘƒXƒLƒ‹‚Ђӂę‚Ȃǂæ‚΂ɂĩ‚Ü‚ĩ‚―B -@battle_athena.conf‚Ėskillflee‚Őݒč‰Â”\‚Å‚·B -@‰šˆĘƒXƒLƒ‹‚Š‚Č‚Ē‚Ü‚ÜãˆĘƒXƒLƒ‹‚ð‚Ó‚Á‚―ó‘ԂŁA‚ą‚ĖƒIƒvƒVƒ‡ƒ“‚ðŽg‚Īę‡‚̓XƒLƒ‹ƒŠƒZƒbƒg‚·‚é•K—v‚Š‚ ‚č‚Ü‚·B -@ˆę”ĘƒAƒJ‚ɃXƒLƒ‹ƒŠƒZƒbƒg‚ð‰ð•ú‚ĩ‚―‚Ē‚Æ‚Ŧ‚ÉŽg‚Á‚Ä‚â‚Á‚ĉš‚ģ‚ǁB - (conf/) - battle_athena.conf - (map/) - battle.c - battle.h - pc.c pc_calc_skilltree(),pc_checkskill()Cģ - --------------- -//0718 by Ž€_ - -EFX‚ƏCģB -E“łɂæ‚Á‚Ä–hŒä‚ŠŒļ‚邿‚Ī‚É•ÏXB(HP‚͂܂ūŒļ‚č‚Ü‚đ‚ņB) -EƒAƒCƒXƒEƒH[ƒ‹‚ɍUŒ‚‚Å‚Ŧ‚邿‚Ī‚É•ÏXB(Ą‚Í‘S‚Ä‚ĖUŒ‚‚É“–‚―‚č‚Ü‚·B) -‚―‚ūˆÆ‚ĖƒoƒO‚į‚ĩ‚­ƒAƒCƒXƒEƒH[ƒ‹‚ðƒNƒŠƒbƒN‚·‚邯ˆÆ‚Đ‚į0x89ƒpƒPƒbƒg‚Š30‰ņˆČã˜A‘ą‚Å‘—‚Á‚Ä‚­‚邹‚Æ‚Š‹N‚ą‚č‚Ü‚·‚ŠŒīˆö‚Í•s–ū‚Å‚·B‘―•ŠˆÆ‚ĖƒoƒO‚ū‚ÆŽv‚ǂ܂·‚Š...) -Eí“Ž‚ÉŠÖ‚í‚éŒvŽZ“™‚ðCģB -Eƒ[ƒj‚Š‘‚Ķ‚éƒoƒOCģB(‘―•Š‚ą‚ę‚Å‚ą‚ĖƒoƒO‚͂Ȃ­‚Ȃ邯Žv‚ǂ܂·‚Š‚Į‚Ī‚Č‚Ė‚Đ•ņ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·B) -E“ņ“—Ž‚ĖķŽč•Ší‚ĖŽí‘°A‘ېŦASize‚Ėƒ_ƒ[ƒW•âģ‚ð‰EŽč•Ší‚É“K—p‚·‚é‚Đ‚Į‚Ī‚Đ‚ðÝ’č‚Å‚Ŧ‚邿‚Ī‚É•ÏXB -E‚ŧ‚Ė‘žCģ‚Í‚ĩ‚―‚Í‚ļ‚Å‚·‚ŠŠo‚͂Ă܂đ‚ņB(Cģ‚ĩ‚ĂȂǕς₠‚č‚Ü‚·‚Šdiff“–‚Ă˓r’†‚Å‚Į‚ę‚ðė‹Æ‚ĩ‚―‚Ė‚Đ‚ð–Y‚ę‚―‚Ė‚Å...) - (common/) - mmo.h CģB - (conf/) - battle_athena.conf CģB - (doc/) - conf_ref.txt CģB - (map/) - battle.h CģB - battle.c - battle_get_baseatk()Abattle_get_speed()Abattle_get_adelay() ’Į‰ÁB - battle_get_amotion() Abattle_calc_pet_weapon_attack() CģB - battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CģB - battle_get_atk()Abattle_get_atk_()Abattle_get_atk2() CģB - battle_get_attack_element()Abattle_get_attack_element2() CģB - battle_get_str()Abattle_get_agi()Abattle_get_vit()Abattle_get_int() CģB - battle_get_dex()Abattle_get_luk()Abattle_get_flee() CģB - battle_get_flee2()Abattle_get_hit()Abattle_get_critical() CģB - battle_get_def()Abattle_get_def2()Abattle_get_mdef() CģB - battle_get_element()Abattle_check_target()Abattle_check_range() CģB - battle_weapon_attack()Abattle_config_read() CģB - clif.c - clif_skill_estimation()Aclif_mob0078()Aclif_mob007b() CģB - pc.c - pc_attack_timer()Apc_attack()Apc_calcstatus()Apc_payzeny() CģB - pc_getzeny() CģB - npc.c - npc_buylist()Anpc_selllist() CģB - pet.c - pet_attack()Apet_randomwalk()Apet_ai_sub_hard() CģB - mob.h CģB - mob.c - calc_next_walk_step()Amob_attack()Amobskill_castend_id() CģB - mobskill_use_id()Amobskill_use_pos()Amob_ai_sub_hard() CģB - mob_damage()Amob_changestate() CģB - mob_get_adelay()Amob_get_speed() íœB - skill.h CģB - skill.c - skill_unitsetting()Askill_unit_ondamaged()Askill_unit_timer_sub() CģB - skill_unit_timer()Askill_area_sub()Askill_unit_onplace() CģB - skill_status_change_start() CģB - chat.c CģB - makefile CģB - chrif.c CģB - guild.c CģB - itemdb.c CģB - map.c CģB - party.c CģB - script.c CģB - path.c CģB - --------------- -//0717 by đ - -E‘å—Ę‚Éƒ‚ƒ“ƒXƒ^[‚ðĒŠŌ‚ĩ‚Ĉę“x‚É“|‚·‚Æmap-server‚Š—Ž‚ŋ‚é–â‘č‚ðCģB -@(ƒJƒz‚ð100‘Ė‚ļ‚ÂĒŠŌ‚ĩ‚Ä50‰ņƒeƒXƒg‚ð‚ĩ‚―‚˂ŋ°‚į‚­‘åä•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 đ - -Eļ˜BŽŒũ—Ķ‚É‘Î‚ĩ‚ÄBS‚Ė•ŠíŒĪ‹†‚Аģ‚ĩ‚­“K—p‚ģ‚ę‚Ä‚Ē‚Č‚Đ‚Á‚―–â‘č‚ðCģB - (map/) - pc.c - pc_percentrefinery() CģB - --------------- -//0715 by Ž€_ - -Eƒ}ƒbƒvƒT[ƒo[‚Đ‚į•\ŽĶ‚ģ‚ę‚é•Ļ‚ð•\ŽĶ‚·‚é‚Đ‚Į‚Ī‚Đ‚ĖÝ’č‚Š‚Å‚Ŧ‚邿‚΂ɂĩ‚Ü‚ĩ‚―BƒXƒLƒ‹•\ŽĶ‚ū‚Ŋ‚Å‚ā‚Č‚­‚ĩ‚Ä‚â‚邯ƒT[ƒo[‚Š‚Đ‚Č‚čŠy‚ɂȂÁ‚―‚č‚ā‚ĩ‚Ü‚·B -ŠJ”­‚âƒoƒOƒgƒŒ[ƒX‚ĖŽž‚Í•\ŽĶ‚·‚邹‚Æ‚ð‚ĻŠĐ‚ß‚ĩ‚Ü‚·B -E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģB -ECģ‚ĩ‚―Š‚ð‘S‚ď‘‚Ŋ‚Č‚Ē‚Ė‚Åƒtƒ@ƒCƒ‹‚ū‚ŊB - (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Ũ‚Đ‚ĒCģB -EƒV[ƒ‹ƒhƒu[ƒƒ‰ƒ“‚ŏ‚‚Ėd—Ę‚Æļ˜B‚É‚æ‚Á‚ă_ƒ[ƒW‚Š‘‚͂邿‚Ī‚ÉCģBļ˜Bƒ_ƒ[ƒW‚ð‘Ŧ‚·Žž“K—p‚Ń_ƒ[ƒW+d—Ę+‚ļ˜B*4(‚ą‚Ė4‚Írefine_db.txt‚Ė–h‹ï‚Ė‰ßčļ˜Bƒ{[ƒiƒX‚ðŽg‚Á‚Ä‚é‚Ė‚Å•ÏX‰Â”\‚Å‚·B)‚ɂȂč‚Ü‚·B -EƒXƒLƒ‹‚É‚æ‚鐁‚Ŧ”ō‚΂ĩˆ—‚Å0x88ƒpƒPƒbƒg‚ðŽg‚Á‚Ăǂ܂ĩ‚―‚Š‚ŧ‚ĖƒpƒPƒbƒg‚Ė—Dæ‡ˆĘ‚Š‚Đ‚Č‚č’á‚Ē‚į‚ĩ‚­Œã‚Å—ˆ‚éƒpƒPƒbƒg‚É‚æ‚Á‚Ä–ģŽ‹‚ģ‚ę‚邹‚Æ‚ā‚ ‚邿‚Ī‚Č‚Ė‚ÅƒvƒŒƒCƒ„[‚ū‚Ŋ‚É“K—p‚ĩ‚ă‚ƒ“ƒXƒ^[‚É‚Í0x78‚ðŽg‚Ī‚æ‚Ī‚É•ÏX‚ĩ‚Ü‚ĩ‚―B -‚Å‚āˆĘ’u‚ļ‚ę‚ÍŠŪ‘S‚ɂȂ­‚Č‚į‚Ȃǂæ‚΂ł·B(‹°‚į‚­ˆÆ‚ĖƒoƒO‚ū‚ÆŽv‚ǂ܂·BŽI‚Ė -Ā•W‚ðŠm”F‚ĩ‚Ă݂܂ĩ‚―‚ŠŽI‚Ė•û‚Í–â‘肊‚ ‚č‚Ü‚đ‚ņ‚Å‚ĩ‚―B) -ƒvƒŒƒCƒ„[‚Ėę‡0x78(PACKETVER‚Š4ˆČã‚Č‚į0x1d8)‚ŠŽg‚͂܂đ‚ņB•Аg‚ðė‚Á‚Ä‚ĩ‚܂΂˂Å... -EƒoƒO•ņƒXƒŒƒbƒh2 ‚Ė47‚ðŽæ‚čž‚݂܂ĩ‚―B -E‚ŧ‚Ė‘žCģ‚ĩ‚―Š­‚ĩ‚ ‚čB - (db/) - refine_db.txt CģB - item_db.txt CģB - (map/) - battle.c - battle_stopattack()Abattle_stopwalking() CģB - battle_get_attack_element2()Abattle_calc_pc_weapon_attack() CģB - battle_weapon_attack() CģB - path.c - path_blownpos() CģB - pc.h CģB - pc.c - pc_stop_walking()Apc_damage() CģB - pc_getrefinebonus() ’Į‰ÁB - mob.c - mob_damage() CģB - pet.c - pet_target_check()Apet_stop_walking()Apet_performance() CģB - skill.c - skill_attack()Askill_blown()Askill_status_change_start() CģB - skill_castend_damage_id() CģB - makefile CģB - --------------- -//0713 by ‚Û‚Û‚Û - -Emob_avail.txt’Į‰ÁBitem_avail.txt‚Æ“Ŋ—l‚ĖŽw’č‚Ń‚ƒ“ƒXƒ^[‚ĖŒĐ‚―–ڂ𑞂ĖID‚Ė‚ā‚Ė‚É•ÏX‚ĩ‚Ü‚·B -@ƒ‚ƒ“ƒXƒ^[‚ĖIDˆČŠO‚ðŽw’č‚ĩ‚―‚č‚·‚邯PC‚âNPC‚ĖŽp‚ð‚ĩ‚―MOB‚Ɉę•û“I‚ɍUŒ‚‚ģ‚ę‚éę‡‚Š‚ ‚é‚˂ŒˆÓB - (db/) - mob_avail.txt ’Į‰ÁB - (map/) - clif.c - clif_mob0078()Aclif_mob007b() CģB - mob.h CģB - mob.c - mob_readdb_mobavail()Amob_get_viewclass()’Į‰ÁB - do_init_mob()Amob_readdb() CģB - --------------- -//0712 by Ž€_ - -EƒV[ƒ‹ƒhƒ`ƒƒ[ƒWAƒV[ƒ‹ƒhƒu[ƒƒ‰ƒ“ŽĀ‘•B -EƒI[ƒgƒK[ƒh‚Í‚Æ‚č‚ ‚Ķ‚ļƒGƒtƒFƒNƒg‚Šo‚邿‚Ī‚É•ÏX‚ĩ‚Ü‚ĩ‚―B -E0708‚ŏ‘‚Ŧ–Y‚ęBƒfƒBƒtƒFƒ“ƒ_[‚ðŽg‚Á‚―ŽžASPD‚ÆˆÚ“Ū‘Ž“x‚Í20%’ቚ‚ĩ‚Ü‚·B -–{ŽI‚Œቚ‚·‚é‚Ė‚ÍŠm‚Đ‚Ė‚æ‚΂ł·‚Š‚Į‚ę‚Ū‚į‚Ē‰š‚Š‚é‚Ė‚Đ‚Í‚ģ‚Á‚Ï‚č‚í‚Đ‚č‚Ü‚ņ‚Ė‚Å... -E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģB - (db/) - cast_db.txt CģB - skill_db.txt CģB - (map/) - battle.h CģB - battle.c - battle_calc_damage()Abattle_calc_pet_weapon_attack() CģB - battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CģB - battle_calc_magic_attack()Abattle_calc_misc_attack() CģB - skill.c - skill_additional_effect()Askill_attack()Askill_castend_nodamage_id() CģB - skill_check_condition()Askill_status_change_start() CģB - skill_castend_damage_id() CģB - pc.h CģB - pc.c - pc_calcstatus()Apc_checkallowskill()Apc_unequipitem() CģB - --------------- -//0711 by npc - -EzÎŧ‘ĒƒGƒtƒFƒNƒg‚ĖCģ -EƒXƒNƒŠƒvƒg–„‚ߍž‚ݕϐ”‚ÉHp,MaxHp,Sp,MaxSp‚ð’Į‰Á(“Į‚ݍž‚Ý‚Ė‚Ý) - (map/) - skill.c - skill_produce_mix()CģB - pc.c - pc_readparam()CģB - (db/) - const.txt CģB - --------------- -//0710 by ŒÓ’ą—– - -E–ž‘O‚É”žŠpƒXƒy[ƒX‚Š“ü‚Á‚―ƒp[ƒeƒB[‚ðėŽ‚ĩ‚―‚Æ‚ŦA‚Ļ‚æ‚ҁA - ”žŠpƒXƒy[ƒX‚Š“ü‚Á‚―–ž‘O‚ĖPC‚ðƒp[ƒeƒBƒƒ“ƒo‚É‚ĩ‚―‚Æ‚ŦA - party.txt‚Аģ‚ĩ‚­“Į‚ݍž‚߂Ȃ­‚Č‚é–â‘č‚ðCģ - - (char/) - int_party.c - inter_party_fromstr()Cģ - -EMessage of the Day ‹@”\’Į‰Á - EƒƒOƒCƒ“‚ĩ‚―ƒ†[ƒU[‚ÉMOTD‚ð•\ŽĶ‚ģ‚đ‚邹‚Æ‚Šo—ˆ‚Ü‚·B - Emap-server.exeŽĀsŽž‚ĖƒJƒŒƒ“ƒgƒfƒBƒŒƒNƒgƒŠihelp.txt‚Æ“Ŋ‚ķ - ƒfƒBƒŒƒNƒgƒŠj‚Émotd.txt‚ðė‚邯•\ŽĶ‚ĩ‚Ü‚·B - EMOTD‚Š•\ŽĶ‚ģ‚ę‚éƒ^ƒCƒ~ƒ“ƒO‚́A - uƒ}ƒbƒvƒT[ƒo[‚ɃƒOƒCƒ“‚ĩ‚―’žŒã‚ˁAƒ}ƒbƒvƒ[ƒhŠŪ—𮾁v‚Å‚·B - ‚‚܂čAƒƒOƒCƒ“’žŒãAƒLƒƒƒ‰ƒZƒŒ’žŒã‚Ļ‚æ‚ҁA - ƒ}ƒbƒvƒT[ƒo[ŠÔˆÚ“Ū‚ĖŽž(ƒ}ƒbƒvƒT[ƒo[‚Ė•ŠŽU‚ðs‚Á‚Ăǂéę‡‚Ė‚Ý) - ‚Ėƒ}ƒbƒvƒ[ƒh‚ŠI‚í‚Á‚―Žž‚É•\ŽĶ‚ģ‚ę‚Ü‚·B - E•\ŽĶ•û–@‚Íhelp.txt‚Æ“Ŋ‚ķ‚Å•’Ę‚ĖƒƒbƒZ[ƒW‚Æ‚ĩ‚Ä‘—M‚ĩ‚Ü‚·B - iƒMƒ‹ƒh’mƒƒbƒZ[ƒW‚Í•ķŽš”§ŒĀ‚Š‚ ‚čAGMƒAƒiƒEƒ“ƒX‚Í’·ŽžŠÔ - ‰æ–Ę‚Ėã•”‚É•\ŽĶ‚ģ‚ę‚Ä‚ĩ‚܂΂―‚߁j - E‰ï˜b‚Æ‹æ•Ę‚Š‚Â‚­‚æ‚΂ɁA"< Message of the Day >"A"< End of MOTD >" - ‚Ė•ķ‚ŏ㉚‚ðˆÍ‚ǂ܂·B - - (map/) - pc.c - pc_authok()Cģ - - --------------- -//0709 by ‚Û‚Û‚Û - -EƒXƒNƒŠƒvƒg‚Éemotion’Į‰Á -@emotion n;‚ÆŽg‚Ī‚ÆNPC‚ŠƒGƒ‚‚ðo‚ĩ‚Ü‚·Bn‚Í0`33‚ŠŽg—p‰Â”\B -Eļ˜B‚ÆŠXƒKƒCƒh‚ĖNPC‚ð–{ŽI‚Ė‘äŽŒ‚ɍ‡‚í‚đ‚ďCģB - (conf/) - npc_town_refine.txtAnpc_town_guide.txt CģB - (map/) - script.c - buildin_emotion() ’Į‰ÁB - --------------- -//0708 by Ž€_ - -EƒXƒLƒ‹ƒLƒƒƒXƒgƒLƒƒƒ“ƒZƒ‹AƒfƒBƒtƒFƒ“ƒ_[AƒI[ƒgƒK[ƒhŽĀ‘•B -EƒI[ƒgƒK[ƒh‚Ėę‡ƒK[ƒh‚ĩ‚Ä‚āƒGƒtƒFƒNƒg‚͏o‚Ü‚đ‚ņBƒ~ƒX‚ɂȂé‚ū‚Ŋ‚Å‚·B–{ŽI‚Ė•û‚Í•\ŽĶ‚ģ‚ę‚é‚Đ‚Į‚Ī‚Đ‚ā‚í‚Đ‚į‚ȂǂĩƒpƒPƒbƒgî•ņ‚ā‚Ȃǂ˂Å... -EƒfƒBƒtƒFƒ“ƒ_[‚Í–ĒƒeƒXƒgBbLongAtkDef‚ðŽg‚Á‚Ä‚é‚Ė‚Åƒzƒ‹ƒ“ƒJ[ƒh‚Ė‚æ‚Ī‚ÉbLongAtkDef‚ðã‚°‚é•Ļ‚ð‘•”õ‚ĩ‚ÄŽg‚Ī‚Æ‰“‹——̕ϗUŒ‚‚ð‘S‚Ä–ģŒø‚ɂłŦ‚Ü‚·B(‚ą‚ę‚ā–{ŽI‚ĖŽd—l‚Š‚Į‚Ī‚Č‚Ė‚Đ‚Í‚í‚Đ‚č‚Ü‚đ‚ņB) -E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģB - (db/) - cast_db.txt CģB - (map/) - map.h CģB - map.c - map_quit() CģB - skill.h CģB - skill.c - skill_castend_nodamage_id()Askill_use_id()Askill_check_condition() CģB - skill_castend_id()Askill_castend_nodamage_id()Askill_castcancel() CģB - pc.c - pc_calcstatus()Apc_setpos()Apc_damage() CģB - battle.c - battle_calc_damage()Abattle_damage() CģB - clif.c - clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() CģB - mob.c - mob_damage() CģB - itemdb.c - itemdb_searchrandomid() CģB - --------------- -//0707 by Ž€_ - -E0705‚ĖˆĒC—…”e–PŒ‚ĖƒoƒOCģB - (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 -ECģ - conf/npc_warp_umbala.txt - --------------- -//0705 by Ž€_ - -EFX‚ƏCģB -EƒvƒŒƒCƒ„[‚ĖƒNƒŠƒeƒBƒJƒ‹ŒvŽZ‚ɃoƒO‚Š‚ ‚Á‚―‚Ė‚ÅCģB -E”š—ô”g“Ū‚Ėˆ—CģB -Eƒ‚ƒ“ƒN‚ĖƒRƒ“ƒ{‚ðCģB -EˆĒC—…”e–PŒ‚ĖŽg—p‚É‚æ‚Á‚ă}ƒbƒvŽI‚Ė–ģŒĀƒ‹[ƒvƒoƒOCģB(‚ą‚ę‚ЂȂč’v–―“I‚ȕςū‚Á‚―‚æ‚΂ł·B) -EƒRƒ“ƒ{‚ÅŽg‚ĪˆĒC—…”e–PŒ‚Í“G‚ðƒNƒŠƒbƒN‚·‚é•K—v‚ЂȂǂæ‚Ī‚ÉCģB -E–Ō—īŒ‚Å“G‚𐁂Ŧ”ō‚΂·‹——Ģ‚ð5ƒZƒ‹‚ɕύXB‚æ‚Á‚ăRƒ“ƒ{‚ÅŽg‚ĪˆĒC—…”e–PŒ‚Í‹——Ģƒ`ƒFƒbƒN‚ð‚ĩ‚Ü‚đ‚ņB5ƒZƒ‹”ō‚΂ģ‚ę‚―“G‚ÍˆĒC—…”e–PŒ‚ĖŽË’ö‚Đ‚į—Ģ‚ę‚―‚í‚Ŋ‚Ȃ˂ŋ——Ģƒ`ƒFƒbƒN‚Č‚ĩ‚Å”­“Ū‚ĩ‚Ü‚·B(–{ŽI‚ĖŽd—l‚Č‚ņ‚Ä’m‚č‚Ü‚đ‚ņB) -Eƒ}ƒbƒv‚Ė–ž‘O‚ð16byte‚Đ‚į24bytes‚ɕύXB(‘å‚ĩ‚―ˆÓ–Ą‚Í‚ ‚č‚Ü‚đ‚ņ‚ŠˆĀ‘S‚ĖˆŨ‚˕ςł·B) -EƒEƒFƒfƒBƒ“ƒOƒLƒƒƒ‰‚É‚æ‚éˆÆ—Ž‚ŋ‚ð–h‚ŪˆŨ‚ɏCģB -E‚ŧ‚Ė‘ž­‚ĩCģB(ƒeƒXƒg‚Í–w‚ņ‚Į‚ĩ‚Ă܂đ‚ņB) - (conf/) - battle_athena.conf CģB - (db/) - skill_db.txt CģB - (common/) - mmo.h CģB - (doc/) - conf_ref.txt CģB - item_bonus.txt CģB - (map/) - battle.h CģB - battle.c - battle_get_flee2()Abattle_calc_pet_weapon_attack() CģB - battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CģB - battle_weapon_attack()Abattle_calc_magic_attack() CģB - battle_config_read() CģB - skill.h CģB - skill.c - skill_status_change_start()Askill_castend_damage_id() CģB - skill_check_condition()Askill_use_id()Askill_blown() CģB - skill_castend_map()Askill_unit_onlimit()Askill_attack() CģB - pc.c - pc_attack_timer()Apc_setpos()Apc_setsavepoint() CģB - pc_movepos()Apc_calcstatus()Apc_bonus() CģB - clif.h CģB - clif.c - clif_set0078()Aclif_set007b() CģB - clif_updatestatus()Aclif_initialstatus()Aclif_parse_UseSkillToId() CģB - clif_skillinfo() ’Į‰ÁB - map.h CģB - map.c - map_setipport()Amap_addmap() CģB - ‚ŧ‚Ė‘ž”ē‚Ŋ‚―Š­‚ĩ‚ ‚čB - --------------------- -//0704 by kalen - -EUmbala Warp’Į‰Á - conf/npc_warp_umbala.txt - --------------------- -//0703 by ‚Ē‚Į - -EƒT[ƒo[snapshot - --------------- -//0702 by ‚Û‚Û‚Û - -Eƒtƒ@[ƒ}ƒV[‚ĖƒGƒtƒFƒNƒg‚ð–{—ˆ‚Ė‚ā‚Ė‚É•ÏX -EƒXƒNƒŠƒvƒg‚ł˖„‚ߍž‚ݕϐ”‚ÉBaseExp,JobExp,NextBaseExp,NextJobExp’Į‰Á - (map/) - skill.c - skill_produce_mix() CģB - pc.c - pc_readparam()Apc_setparam() CģB - (db/) - const.txt CģB - --------------- -//0701 by ‚Ō‚ī‚Ü‚ņ - -EƒXƒe[ƒ^ƒXˆŲí”ŧ•ĘŽŪ“ą“üBŠeƒXƒe[ƒ^ƒXˆŲí‚Ė”­“Ū—Ķ‚ŠVIT/INT/MDEF‚ɉe‹ŋ‚·‚邿‚΂ɂȂč‚Ü‚·BŽ‘ąŽžŠÔ’Zk‚͂܂―Ą“x‚Å_|P|› -E•sŽ€‚É“€Œ‹‚ŠŒø‚Ē‚―ƒoƒOCģB - (map/) - skill.c - skill_additional_effect()Askill_castend_nodamage_id() CģB - --------------- -//0700 by “ė - -E697‚ĖƒoƒOCģB -@@@@(db/) - mob_db.txt - --------------- -//0699 by Ž€_ - -E‘•”õ‚Ėƒ{[ƒiƒXƒNƒŠƒeƒBƒJƒ‹‚ÍŽĐ•Š‚ĖŠÔˆá‚Ē‚ū‚Á‚―‚Ė‚ÅbCriticalRate‚ðbCritical‚ɕύXB‚ŧ‚悯0695‚ŏ‘‚Ŧ–Y‚ę‚Å‚·‚ŠASPD‚ðã‚°‚éƒJ[ƒh‚â‘•”õ‚Ėˆę•”‚ðbAspdAddRate‚Đ‚įbAspdRate‚ɕύX‚ĩ‚Ü‚ĩ‚―B‚Ý‚·‚Æ‚ę‘ƒ‚ĖƒVƒ~ƒ…ƒŒ[ƒ^[‚É‚æ‚邯ƒhƒbƒyƒ‹ƒJ[ƒh‚Í•Ą”‚Å‚āˆę‚‚ĩ‚Đ“K—p‚ģ‚ę‚Č‚Ē‚Ý‚―‚Ē‚ū‚Á‚―‚˂ŁB - (db/) - item_db.txt - --------------- -//0698 by Ž€_ - -Eˆę•”‚ĖƒLƒƒƒ‰‚ɏd—ƂЂO‚ɂȂÁ‚ăJƒvƒ‰‚Č‚Į‰―‚ā‚o‚bC‚m‚b‚o‚Š•\ŽĶ‚ģ‚ę‚Č‚­‚Č‚éƒoƒOCģB(‚ŧ‚ę‚ū‚Ŋ) - (common/) - mmo.h CģB - (map/) - clif.c - clif_updatestatus() CģB - pc.c - pc_calcstatus() CģB - --------------- -//0697 by “ė - -Emob_dbCģ -@ƒhƒƒbƒv‚𒆐S‚ɏCģB -@@@@(db/) - mob_db.txt - --------------- -//0696 by Ž€_ - -EƒoƒOCģB -EƒeƒŒƒ|[ƒg‚⃏[ƒv“™‚ĖŽžƒXƒLƒ‹ƒ†ƒjƒbƒg‚Đ‚į”ē‚Ŋ‚鏈—‚Š“ü‚Á‚Ä -‚ȂЂÁ‚―‚Ė‚ÅSAFETYWALL“™‚É‚æ‚Á‚ÄŽI—Ž‚ŋ‚Š‹N‚ą‚Á‚―‚æ‚΂ł·B(Šm‚Đ•ņ‚ā -‚ ‚Á‚―‚ÆŽv‚ǂ܂·‚Š...) ‚æ‚Á‚ďCģ‚Í‚ĩ‚Ü‚ĩ‚―‚ŠŠm”F‚Í‚ĩ‚Ă܂đ‚ņB•ņ‚ð -‚ĻŠč‚Ē‚ĩ‚Ü‚·B -EƒXƒLƒ‹‚É‚æ‚鐁‚Ŧ”ō‚΂ĩˆ—‚ð‚ŋ‚å‚Á‚ƏCģ‚ƃ‚ƒ“ƒXƒ^[‚ĖƒR[ƒh‚ð­‚ĩCģB -‘―•Š•Ï‚É‚Č‚Á‚―‚ą‚Æ‚Í‚Č‚Ē‚ÆŽv‚ǂ܂·‚Š•Ï‚ū‚Á‚―‚į•ņ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB -E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģB - (map/) - skill.h CģB - skill.c - skill_blown()Askill_attack()Askill_unit_move() CģB - skill_castend_nodamage_id()Askill_castend_damage_id() CģB - skill_unit_out_all()Askill_unit_out_all_sub() ’Į‰ÁB - mob.c - mob_stop_walking()Amob_spawn()Amob_warp() CģB - mob_can_move()Amob_changestate() CģB - map.h CģB - pc.c - pc_setpos() CģB - battle.c - battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CģB - battle_calc_pc_weapon_attack() CģB - --------------- -//0695 by Ž€_ - -E­‚ĩCģB -EƒvƒŒƒCƒ„[‚ĖŠî–{ƒpƒ‰ƒ[ƒ^‚ð2byte‚ÉŠg’́B -Eitem_db.txt‚ðƒ‰ƒOƒiƒQ[ƒg‚ːā–ū‚ɍ‡‚í‚đ‚ďCģB -EbAddEff‚ÆbResEff‚ĖŠm—Ķ‚ð•S•Š—Ķ‚Đ‚į–œ•Š—Ķ‚É•ÏXB -EƒXƒNƒŠƒvƒgstatusup‚Æstatusup2’Į‰ÁB -statusup bStr; ‚Ė‚æ‚Ī‚ÉŽg‚Á‚Ä‹@”\‚̓Xƒe[ƒ^ƒXƒ|ƒCƒ“ƒg‚ðŒļ‚į‚ĩ‚Ä -Šî–{ƒpƒ‰ƒ[ƒ^‚ð1ã‚°‚éB -statusup2 bInt,n; ‚Ė‚æ‚Ī‚ÉŽg‚Á‚Ä‹@”\‚̓Xƒe[ƒ^ƒXƒ|ƒCƒ“ƒg‚ðŒļ‚į‚ģ‚ļ‚É -Šî–{ƒpƒ‰ƒ[ƒ^‚ðnã‚°‚éB -E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģB - (conf/) - battle_athena.conf CģB - (db/) - item_db.txt CģB - const.txt CģB - (doc/) - item_bonus.txt CģB - conf_ref.txt CģB - (common/) - mmo.h CģB - (char/) - char.c - mmo_char_send006b()Aparse_char() CģB - (map/) - map.h CģB - clif.h CģB - clif.c - clif_initialstatus()Aclif_updatestatus() CģB - pc.h CģB - pc.c - pc_bonus()Apc_calcstatus()Apc_equippoint()Apc_equipitem() CģB - pc_jobchange()Apc_checkbaselevelup()Apc_statusup() CģB - pc_statusup2() ’Į‰ÁB - battle.h CģB - battle.c - battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CģB - battle_calc_pc_weapon_attack()Abattle_config_read() CģB - skill.c - skill_additional_effect()Askill_status_change_start() CģB - script.c - buildin_statusup()Abuildin_statusup2() ’Į‰ÁB - atcommnad.c CģB - --------------- -//0694 by Ž€_ - -EƒoƒOCģ‚ƍŨ‚Đ‚ĒCģB -EbCriticalRate‚Аģ‚ĩ‚­“K—p‚ģ‚ę‚ȂЂÁ‚―–â‘čCģB -Eƒyƒbƒg‚É‚æ‚éƒXƒe[ƒ^ƒXƒ{[ƒiƒX’Į‰ÁBƒXƒe[ƒ^ƒXƒ{[ƒiƒX‚Í‘•”õ‚Ė -ƒXƒNƒŠƒvƒg‚É‚æ‚Á‚Đݒč‚ĩ‚Ü‚·B‚―‚ūƒyƒbƒg‚É‚æ‚éƒ{[ƒiƒX‚̓J[ƒh‚É‚æ‚é•Ļ‚Æ“Ŋ‚ķˆĩ‚Ē‚ð‚ĩ‚Ü‚·B‚ŧ‚ĩ‚đېŦ‚Ė“K—p‚͈ę”Ô—Dæ‡ˆĘ’á‚ǂł·BĄ‚͉―‚ā“ü‚Á‚Ă܂đ‚ņ‚Š... - (conf/) - battle_athena.conf CģB - (db/) - const.txt CģB - pet_db.txt CģB - (doc/) - item_bonus.txt CģB - conf_ref.txt CģB - db_ref.txt CģB - (map/) - map.h CģB - map.c - map_quit() CģB - battle.h CģB - battle.c - battle_calc_pc_weapon_attack()Abattle_weapon_attack() CģB - battle_calc_magic_attack()Abattle_calc_misc_attack() CģB - battle_config_read() CģB - pc.c - pc_calcstatus()Apc_bonus()Apc_setpos()Apc_authok() CģB - pc_damage()Apc_autosave_sub() CģB - pet.h CģB - pet.c - pet_hungry()Apet_birth_process()Apet_recv_petdata()Apet_food() CģB - pet_return_egg()Apet_ai_sub_hard()Aread_petdb() CģB - clif.c - clif_sendegg()Aclif_parse_LoadEndAck() CģB - atcommand.c CģB - makefile CģB - --------------- -//0693 by ŒÓ’ą—– - -ESC_*‚Ė—ņ‹“•\‚ðƒŠƒiƒ“ƒoƒŠƒ“ƒO - ƒNƒ‰ƒCƒAƒ“ƒg‚É’Ę’m‚·‚é‚Ė‚ð64–Ē–ž‚Đ‚į128–Ē–ž‚É‘‚â‚ĩ‚― - ƒpƒPƒbƒgî•ņ‚ɍ‡‚Ī‚æ‚Ī‚ÉƒŠƒiƒ“ƒo[ - StatusChange‚Ė”z—ņ‚ð128‚Đ‚į192‚É‘‚â‚ĩ‚―‚Ė‚Åƒƒ‚ƒŠŽg—p—ƂБ‚͂܂·B - - (db/) - const.txt - SC_* ‚ː”’l‚ð•ύX - (map/) - skill.h - SC_* ‚Ė—ņ‹“‚ː”’l‚ð•ύX - map.h - MAX_STATUSCHANGE‚ð128‚Đ‚į192‚É‘‚â‚ĩ‚― - skill.c - skill_status_change_start(),skill_status_change_end(), - skill_status_change_clear()‚Ė’Ę’mˆ—‚ð•ύX - -E‰‰‘t/ƒ_ƒ“ƒX‚Ėˆ—‚ð•ύX - ‰‰‘t/ƒ_ƒ“ƒX’†‚Đ‚Į‚Ī‚Đ‚ðSC_DANCING‚Å”ŧ’č‚·‚邿‚Ī‚É•ÏX - i”ŧ’čˆ—‚Š‘―­‚‘މŧ‚ģ‚ę‚―‚Í‚ļj - ƒ[ƒv(ƒ}ƒbƒvˆÚ“Ū‚â”ˆ‚Č‚Į)‚·‚邯‰‰‘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 - ‘‚Ŧ‘đ‚ķ‚Š‚ ‚é‚Đ‚āEE - pc.c - pc_calcstatus(),pc_setpos(),pc_damage()•ύX - -E•s‹Ķ˜a‰đƒXƒLƒ‹‚ĖCģ - (db/) - skill_db.txt - •s‹Ķ˜a‰đƒXƒLƒ‹‚ĖHIT”Cģ - (map/) - skill.c - skill_status_change_timer()•ύX - battle.c - battle_calc_misc_attack()Cģ - --------------- -//0692 by ŒÓ’ą—– - -EƒAƒhƒŠƒuƒXƒLƒ‹‚ŠŽg—p‚Å‚Ŧ‚Ȃǖâ‘čCģiskill_db‚Ė“Y•t‚ĩ–Y‚ęj - (db/) - skill_db.txt - ƒAƒhƒŠƒu‚ĖÁ”ïSP‚ð1‚ɏCģ - -Emob_db2.txt‚Š‚ ‚ę‚Îmob_db.txt‚ɃI[ƒo[ƒ‰ƒCƒh‚·‚邿‚Ī‚É - ƒIƒŠƒWƒiƒ‹mob‚ðė‚Á‚Ä‚él‚ÍŽg‚Ī‚Æ•Ö—˜‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņB - - mob.c - mob_readdb() - -EŽI—Ž‚ŋƒoƒO•ņŽž‚Ė‚―‚ß‚ĖƒXƒ^ƒbƒNƒoƒbƒNƒgƒŒ[ƒXƒƒOŠ“ū•û–@‚ðÐ‰î - ŽI—Ž‚ŋƒoƒO‚Ė•ņŽž‚ɁA‚ą‚Ėî•ņ‚ðƒRƒsƒy‚·‚邯ŠJ”­ŽŌ‚ŠŠė‚҂܂·B - Cygwin‚Åcore‚Ė“f‚Đ‚đ‚é•û–@‚āÐ‰î‚ĩ‚Ă܂·B - - (doc/) - coredump_report.txt - --------------- -//0691 by ŒÓ’ą—– - -Eitem_db2.txt‚Š‚ ‚ę‚Îitem_db.txt‚ɃI[ƒo[ƒ‰ƒCƒh‚·‚邿‚Ī‚É - ƒIƒŠƒWƒiƒ‹ƒAƒCƒeƒ€‚ðė‚Á‚Ä‚él‚ÍŽg‚Ī‚Æ•Ö—˜‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņB - - itemdb.c - itemdb_readdb()Cģ - -E‰‰‘t/ƒ_ƒ“ƒXŒnƒXƒLƒ‹‰žŽĀ‘• - E‰‰‘t/ƒ_ƒ“ƒX’†‚ÍˆÚ“Ū‚Š’x‚­AƒXƒLƒ‹‚āŽg‚͂Ȃǂæ‚΂ɂȂč‚Ü‚ĩ‚― - EƒAƒhƒŠƒuƒXƒLƒ‹‚ʼn‰‘t/ƒ_ƒ“ƒX‚ð’†’f‚Å‚Ŧ‚邿‚΂ɂȂč‚Ü‚ĩ‚― - E‰‰‘t/ƒ_ƒ“ƒX‚͐Ήŧ‚Č‚Į‚ĖˆŲíAMHP‚Ė1/4ˆČã‚Ėƒ_ƒ[ƒW‚Å’†’f‚ĩ‚Ü‚· - EƒLƒƒƒ‰ƒNƒ^[ƒOƒ‰ƒtƒBƒbƒN‚͉‰‘t/ƒ_ƒ“ƒX‚ĩ‚Ü‚đ‚ņ - E‰‰‘t/ƒ_ƒ“ƒX’†‚ĖSPÁ”ï‚Í–ĒŽĀ‘•‚Å‚· - EˆÚ“Ū‚ĩ‚Ä‚āŒø‰Ę”ÍˆÍ‚Í‚Â‚Ē‚Ä‚Ŧ‚Ü‚đ‚ņ - Ed•Ą‚ĩ‚Ä‚ā•s‹Ķ˜a‰đ‚Č‚Į‚ɕωŧ‚ĩ‚Ü‚đ‚ņ - EƒGƒtƒFƒNƒg‚Šo‚Ä‚āŒø‰Ę‚Í–ĒŽĀ‘•‚Ė‚ā‚˂Ђ ‚č‚Ü‚· - E‚Ų‚Æ‚ņ‚Į–ĒƒeƒXƒg‚Ȃ˂ő―”‚Ė•s“s‡‚Š‚ ‚邯Ž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 ”g˜Q - -EŨ‚Đ‚ĒCģ - (db/) - item_db.txt ‚ƃƒMƒ“ƒMƒ‡ƒ‹ƒh‚Ėbonus‚ðCģB - (doc/) - item_bonus.txt CģB - --------------- -//0689 by Ž€_ - -E‘qŒÉƒoƒOCģ‚ƍŨ‚Đ‚ĒCģB - (map/) - pc.c - pc_modifybuyvalue()Apc_modifysellvalue() CģB - storage.c - storage_storageopen() CģB - storage_storage_quit()Astorage_storage_save() CģB - --------------- -//0688 by đ - -EƒfƒBƒXƒJƒEƒ“ƒgAƒRƒ€ƒpƒ‹ƒVƒ‡ƒ“ƒfƒBƒXƒJƒEƒ“ƒgAƒI[ƒo[ƒ`ƒƒ[ƒW‚Š“K—p‚ģ‚ę‚ȂЂÁ‚―–â‘č‚ðCģB - (map/) - pc.c - pc_modifybuyvalue() CģB - pc_modifysellvalue() CģB - --------------- -//0687 by Ž€_ - -E­‚ĩCģB -Ebattle_athena.conf‚ɍ€–Ú’Į‰ÁB(Ú‚ĩ‚Ē‚ą‚Æ‚Íconf_ref.txt‚Å) -Eitem_avail.txt‚Ėˆ—‚ð•ύXBƒAƒCƒeƒ€ID‚ĖŒã‚É0‚ð“ü‚ę‚邯Ą‚܂ŒƂč‚ÉŽg—p•s‰Â”\‚ɂȂ邊0ˆČŠO‚ː”’l‚ð“ü‚ę‚邯Žg—p•s‰Â”\‚Å‚Í‚Č‚­‚ŧ‚ː”’l‚ðƒAƒCƒeƒ€‚ĖID‚Æ‚ĩ‚ÄŒĐ‚―–Ú‚ū‚Ŋ‚ð‚ŧ‚ę‚ɕύX‚ĩ‚Ü‚·B‚æ‚Á‚ÄˆÆ—Ž‚ŋƒAƒCƒeƒ€‚ð•Ƃ˕ςɕ\ŽĶ‚ĩ‚ÄˆÆ—Ž‚ŋ‚ð–h‚Ū‚ą‚Æ‚ЂłŦ‚Ü‚·B(•\ŽĶ‚ū‚Ŋ•Ï‚Ķ‚ÄŽI‚Ėˆ—‚Í–{“–‚ĖƒAƒCƒeƒ€ID‚Ė•Ļ‚Æ‚ĩ‚Ä”FŽŊ‚ĩ‚Ü‚·BCģ‚Í‘S‚Ä‚ĩ‚―‚ÆŽv‚ǂ܂·‚Š”ē‚Ŋ‚―Š‚Š‚ ‚é‚Đ‚ā’m‚č‚Ü‚đ‚Ė‚ÅŒĐ‚―–ڕύX‚ĩ‚―ƒAƒCƒeƒ€‚ÅˆÆ—Ž‚ŋ‚Š‹N‚ą‚Á‚―‚į•ņ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB) ŽI‚Ėˆ—‚Í‚ą‚ꂊŒĀŠE‚Å‚·B(­‚Č‚­‚Æ‚āŽĐ•ЂɂÍ) ƒAƒCƒeƒ€‚Š“Ŋ‚ķ•ςГņ‚•\ŽĶ‚ģ‚ę‚ÄŠÔˆá‚ĒˆĀ‚Ē‚Æ‚Đ‚Į‚Ī‚ą‚Ī‚Æ‚Đ‚Ė•ķ‹å‚ðŒū‚Ē‚―‚ǐl‚͈ƍė‚悿BˆČãB -EƒWƒ‹ƒ^ƒX‚ƃAƒŠƒX‚ĖƒRƒ}ƒ“ƒgƒAƒEƒg‰ðœBitem_avail.txt‚Å—‘‚ðƒ‹ƒr[‚ƃAƒNƒAƒ}ƒŠƒ“‚Å•\ŽĶ‚ĩ‚ĕߊlƒAƒCƒeƒ€‚ā‘ž‚˕ςɕ\ŽĶ‚·‚邿‚Ī‚É•ÏX‚ĩ‚Ăǂ܂·B -Eƒ_ƒ[ƒWŒvŽZ‚ĖƒoƒOCģB(‘å‚ĩ‚―•Ļ‚ķ‚á‚ ‚č‚Ü‚đ‚ņ‚Š‹|‚ū‚Ŋ‚ŋ‚å‚Á‚Æ–â‘肊‚ ‚Á‚―‚æ‚΂ł·B) -EÂ” “™‚ĖƒAƒCƒeƒ€‚Å“ū‚―‘•”õ•i‚Í–ĒŠÓ’č‚ɂȂ邿‚Ī‚É•ÏXB -E‘•”õƒ{[ƒiƒX‚˓╔ˆ—Cģ‚Ə­‚ĩ•ύXB(Ú‚ĩ‚Ē‚ą‚Æ‚Íitem_bonus.txt‚Å) -EƒLƒƒƒ‰ŽI‚Ƀe[ƒ^‚𑗂鎞ƒLƒƒƒ‰A‘qŒÉAƒyƒbƒg‚Ėƒe[ƒ^‚ð“ŊŽž‚É‘—‚邿‚Ī‚É•ÏXB(ƒLƒƒƒ‰ŽI‚ƃ}ƒbƒvŽI‚ĖŠÔ‚Ė“]‘——ƂБ‚Ķ‚é‚Đ‚ā’m‚č‚ę‚Ü‚đ‚ņ‚Šƒf[ƒ^‚ð“ŊŠú‰ŧ‚ĖˆŨ‚Å‚·B) -EFW‚Ė“ŪėŠÔŠu‚ð0.25•b‚Đ‚į0.1•b‚ɕύXB(‚ą‚ę‚Ő ‚č”ē‚͏­‚ĩŒļ‚é‚Í‚ļ‚Å‚·B) -EƒJ[ƒgƒŒƒ{ƒŠƒ…ƒVƒ‡ƒ“‚Å‚Į‚ņ‚ȏó‘ÔˆŲí‚ā‚ЂЂį‚Ȃǂæ‚Ī‚É•ÏXB - (conf/) - battle_athena.conf CģB - (db/) - const.txt CģB - item_avail.txt CģB - pet_db.txt CģB - (doc/) - conf_ref.txt CģB - item_bonus.txt CģB - (map/) - map.h CģB - map.c - map_quit() CģB - battle.h CģB - battle.c - battle_calc_pc_weapon_attack()Abattle_calc_mob_weapon_attack() CģB - battle_calc_pet_weapon_attack()Abattle_calc_magic_attack() CģB - battle_get_dmotion()Abattle_config_read() CģB - pc.c - pc_calcstatus()Apc_bonus()Apc_bonus3()Apc_setpos() CģB - pc_makesavestatus()Apc_autosave_sub()Apc_modifybuyvalue() CģB - pc_modifysellvalue()Apc_stop_walking() CģB - skill.c - skill_additional_effect()Askill_unitsetting() CģB - clif.c - clif_buylist()Aclif_selllist()Aclif_set009e()Aclif_set0078() CģB - clif_set007b()Aclif_additem()Aclif_itemlist()Aclif_equiplist() CģB - clif_storageitemlist()Aclif_storageequiplist()Aclif_changelook() CģB - clif_arrow_create_list()Aclif_useitemack()Aclif_tradeadditem() CģB - clif_storageitemadded()Aclif_getareachar_item() CģB - clif_skill_produce_mix_list()Aclif_cart_additem()Aclif_cart_itemlist() CģB - clif_cart_equiplist()Aclif_vendinglist()Aclif_openvending() CģB - clif_produceeffect()Aclif_sendegg()Aclif_pet_equip()Aclif_mvp_item() CģB - clif_pet0078()Aclif_pet007b() CģB - itemdb.h CģB - itemdb.c - itemdb_searchrandomid()Aitemdb_search()Aitemdb_readdb() CģB - itemdb_read_itemavail()Aitemdb_read_itemvaluedb() CģB - itemdb_equippoint() íœB - storage.h CģB - storage.c - storage_storage_quitsave() ->storage_storage_quit()‚ɕύX‚ƏCģB - storage_storageclose() CģB - atcommand.c CģB - pet.c - pet_change_name()Apet_equipitem()Apet_unequipitem() CģB - pet_birth_process()Apet_return_egg() CģB - script.c - buildin_getitem() CģB - mob.c - mob_stop_walking() CģB - makefile CģB - --------------- -//0686 by đ - -EŨ‚Đ‚ĒCģB - (map/) - pc.h CģB - --------------- -//0685 by ”g˜Q - -E0683A0684‚Å‚Ėbonus‚Ė’Į‰Á‚ɂƂā‚Č‚Á‚Äitem_db.txt‚ðCģ -E‘žFXCģ - (db/) - item_db.txt CģB - (doc/) - item_bonus.txt CģB - --------------- -//0684 by Ž€_ - -EŨ‚Đ‚ĒCģB -EŽ€‚ņ‚ū‚Ó‚č‚ĖŽžƒXƒLƒ‹‚ƃAƒCƒeƒ€‚ŠŽg‚͂Ȃǂæ‚Ī‚É•ÏXB -EbInfiniteEndure’Į‰ÁB‹@”\‚Í–ģŒĀƒCƒ“ƒfƒ…ƒAB -Eƒ_ƒ[ƒW•\ŽĶ‚Ėˆ—­‚ĩ•ύXB - (db/) - const.txt CģB - (doc/) - item_bonus.txt CģB - (map/) - map.h CģB - pc.c - pc_calcstatus() CģB - pc_equipitem()Apc_unequipitem() CģB - clif.c - clif_parse_UseItem()Aclif_parse_UseSkillToId() CģB - clif_parse_UseSkillToPos()Aclif_parse_UseSkillMap() CģB - clif_damage()Aclif_skill_damage()Aclif_skill_damage2() CģB - clif_parse_LoadEndAck() CģB - skill.c - skill_status_change_timer() CģB - --------------- -//0683 by Ž€_ - -EƒoƒOCģ‚Æbonus’Į‰ÁB -E‘qŒÉƒoƒOA‘ېŦƒoƒOCģ‚Æ‚ŧ‚Ė‘ž‚ĖƒoƒOCģB -EƒXƒNƒŠƒvƒgbonus3’Į‰ÁBĄ‚ÍbAddMonsterDropItem‚ū‚Ŋ‚Š‘Î‰ž‚ɂȂÁ‚Ăǂ܂·B -Ebonus bRestartFullRecover;n;“™‚Ån‚Í–ģˆÓ–Ą‚ū‚Ŋ‚ĮÁ‚·‚Ė‚Í‚ŋ‚å‚Á‚Ƃ܂ļ‚ǂł·‚Ė‚Å0‚É‚ĩ‚Ä“ü‚ę‚―•û‚Ђǂǂł·Bbonus‚Í2‚Â‚Ė”’l‚Š•K—v‚ČƒXƒNƒŠƒvƒg‚Ȃ˂ŁB -EbDefRatioAtk‚ð–hŒä–ģŽ‹‚ɕύXB -E0677‚ŏ‘‚Ŧ–Y‚ęB -E•Ší‚ˑېŦ“K—p—Dæ‡ˆĘ‚ðŧ‘Ē>ƒJ[ƒh>•Ší‚ɕύXBŧ‘Ē‚ŠÅ—Dæ‚Å‚·B(‘ېŦ‚Š‚ ‚鎞‚ɘb‚Å‚·B‘ېŦ‚Š‚Č‚Ēę‡‘ېŦ‚ ‚é•Ļ‚Éã‘‚Ŧ‚ģ‚ę‚―‚č‚Í‚ĩ‚Ü‚đ‚ņB) -E‘•”õ‚Å“K—p‚ģ‚ę‚éŒø‰Ę‚Ė—Dæ‡ˆĘ‚ð‰EŽč>ķŽč>‘Ė>“Šã>“Š’†>“Љš>ƒ[ƒu>ŒC>ƒAƒNƒZƒTƒŠ[1>ƒAƒNƒZƒTƒŠ[2>–î‚ɐݒčB(–{ŽIŽd—l‚Š‚Į‚Ī‚Č‚Ė‚Đ•Š‚Đ‚é‚ą‚Æ‚Š‚Å‚Ŧ‚ŧ‚΂ȕςłā‚Č‚Ē‚Ė‚ÅƒAƒeƒi‚ĖŽd—l‚ÆŒū‚Ī‚ą‚Æ‚ŁB) ‰EŽč‚ŠÅ—Dæ‚Å‚·B -E•Ší‚ĖŽË’ö‚ð‰EŽč‚ƍķŽč‚Ė•Ší‚Ė’†‚Å’·‚Ǖςð“K—p‚·‚邿‚Ī‚É•ÏXB - (db/) - const.txt CģB - (doc/) - item_bonus.txt CģB - (map/) - map.h CģB - battle.c - battle_calc_pc_weapon_attack()Abattle_calc_mob_weapon_attack() CģB - battle_calc_pet_weapon_attack()Abattle_calc_magic_attack() CģB - battle_damage() CģB - pc.c - pc_autosave_sub()Apc_calcstatus() CģB - pc_bonus()Apc_bonus2() CģB - pc_bonus3() ’Į‰ÁB - script.c - buildin_bonus3() ’Į‰ÁB - mob.c - mob_once_spawn()Amob_damage() CģB - storage.h CģB - storage.c - storage_storage_save() ’Į‰Á - atcommand.c CģB - --------------- -//0682 by đ - -EƒXƒs[ƒhƒAƒbƒvƒ|[ƒVƒ‡ƒ“Œn‚ĖƒoƒOCģ - (map/) - pc.c - pc_calcstatus() CģB - --------------- -//0681 by Ž€_ - -E‘•”õƒoƒOCģB - (map/) - pc.c - pc_equipitem() CģB - --------------- -//0680 by đ - -EŨ‚Đ‚ĒCģB -Eu@monstervƒRƒ}ƒ“ƒh‚Ń‚ƒ“ƒXƒ^[ID‚ĖŽw’č‚Ɂu-1vAu-2v“™‚ðŽw’č‚·‚邯 -@ƒ‚ƒ“ƒXƒ^[‚ðƒ‰ƒ“ƒ_ƒ€‚ÅĒŠŌ‚Å‚Ŧ‚é‹@”\‚ð’Į‰ÁB - (map/) - mob.c - atcommand.c - --------------- -//0679 by ”g˜Q - -E0676‚ŐV‚ĩ‚ĒƒAƒCƒeƒ€Œø‰Ę‚ŠŽĀ‘•‚ģ‚ę‚―‚˂ŁAitem_db.txt‚ðCģ(bonus bAddMonsterDropItem,n,x; ‚́AŽí‘°”ŧ’肊‚Å‚Ŧ‚Č‚Ē‚Ė‚Å‚Æ‚č‚ ‚Ķ‚ļ•Û—Ŋ‚ĩ‚Ü‚ĩ‚―B) -E‘žFXCģ - (db/) - item_db.txt - job_db1.txt - (doc/) - item_bonus.txt - --------------- -//0678 by đ - -EĒŠŌŠÖ˜A‚ĖŨ‚Đ‚ĒCģB - (map/) - mob.c - mob_once_spawn_area() CģB - --------------- -//0677 by Ž€_ - -EŨ‚Đ‚ĒCģB -EƒAƒCƒeƒ€”„”ƒ‚É‚æ‚Á‚Ä“ū‚į‚ę‚éŒoŒą’l‚ðƒJ[ƒh‚É‚æ‚éƒXƒLƒ‹‚ł͓ū‚į‚ę‚Ȃǂæ‚Ī‚ÉCģB -E“łɊ|‚Đ‚é‚ÆŽĐ‘R‰ņ•œ‚Å‚Ŧ‚Ȃǂæ‚Ī‚ÉCģB -E0676‚ŏ‘‚Ŧ–Y‚ęBŧ‘Ē•Ší‚Ėę‡ŧ‘ǂɂæ‚Á‚Ä—^‚Ķ‚―‘ېŦ‚Š•Ší‚ˑېŦ‚æ‚č—Dæ‚ĩ‚Ä“K—p‚ģ‚ę‚邿‚Ī‚É•ÏXB(ŧ‘Ē•Ší‚Š–ģ‘ېŦ‚Ėę‡‚Í“K—p‚ģ‚ę‚Ü‚đ‚ņB) - (doc/) - item_bonus.txt ŒëŽšCģB - (map/) - npc.c - npc_buylist()Anpc_selllist() CģB - pc.c - pc_calcstatus()Apc_natural_heal_sub() CģB - --------------- -//0676 by Ž€_ - -EFX‚ƏCģB -Ebattle_athena.conf‚ɍ€–Ú’Į‰ÁB(Ú‚ĩ‚Ē‚ą‚Æ‚Íconf_ref.txt‚Å) -E‚Ý‚·‚Æ‚ę‘ƒ‚ðŽQl‚ĩ‚ă_ƒ[ƒWŒvŽZ‚ð­‚ĩCģB -E‘•”õbonus‚ɐFX‚Æ’Į‰ÁB(Ú‚ĩ‚Ē‚ą‚Æ‚Íitem_bonus.txt‚Å) -EŽĐ“ŪƒZ[ƒu‚·‚鎞(ƒLƒƒƒ‰ŽI‚Ƀf[ƒ^‚𑗂鎞)‘qŒÉ‚Ėƒf[ƒ^‚ā‘—‚邿‚Ī‚É•ÏXB -E0667‚ÅŒū‚Ē–Y‚ęBƒJ[ƒg‚ðŠO‚ĩ‚Ä‚āƒAƒCƒeƒ€‚ŠÁ‚͂Ȃǂæ‚Ī‚É•ÏXB(–{ŽI‚ŏÁ‚Ķ‚é‚Ė‚ŠŽd—l‚ū‚ÆŽv‚Á‚Ăǂ―‚Ŋ‚ĮCģ‚ģ‚ę‚―‚Ý‚―‚ǂȂ˂ŁB) -EŽæˆø—vŋ‚ðŽó‚Ŋ‚é‘Ī‚ÍŠî–{ƒXƒLƒ‹‚ðƒ`ƒFƒbƒN‚ĩ‚Ȃǂæ‚Ī‚ÉCģB(Žó‚Ŋ‚é‘Ī‚ĖŠî–{ƒXƒLƒ‹ƒ`ƒFƒbƒN‚ÍŽĐ•Š‚Š“ü‚ę‚―•Ļ‚Å‚Í‚Č‚Ē‚Å‚·B‚Ē‚Â‚ĖŠÔ‚É‚Đ“ü‚Á‚Ăǂ―‚Ė‚Åíœ‚ĩ‚Ü‚ĩ‚―B) -E–h‹ï‚ːļ˜Bƒ{[ƒiƒX‚ð’[”–ģŽ‹‚ɕύXB(‚ą‚ꂊ–{ŽI‚ĖŽd—l‚Ý‚―‚ǂȂ˂Å) -EƒAƒ“ƒNƒ‹‚Ėˆ—­‚ĩ•ύXB(‚ЂЂį‚Č‚Ē‚ÆŒū‚Ī•ņ‚Š‚ ‚č‚Ü‚ĩ‚―‚Ė‚Å...) -EƒvƒŒƒCƒ„[‚ĖƒXƒe[ƒ^ƒXŒvŽZ‚Å–â‘č‚ ‚č‚ŧ‚Ī‚ČŠCģB -EƒJ[ƒh‚ĖID‚Å‹@”\‚ŠŒˆ‚Ü‚Á‚Ăǂ―ƒJ[ƒh‚āƒXƒNƒŠƒvƒg‚É‚æ‚Á‚Ä•Ï‚Ķ‚é‚ą‚Æ‚Š‚Å‚Ŧ‚邿‚Ī‚É•ÏXB(Ú‚ĩ‚Ē‚ą‚Æ‚Íitem_bonus.txt‚Å) -EaspdŒvŽZ•û–@­‚ĩ•ύXB -E–î‚ÉbCriticalAbAtkEleAbHitAbAddEleAbAddRaceAbAddSizeAbAddEff‚ð“K—p‚Å‚Ŧ‚邿‚Ī‚É•ÏXB–î‚ðŽg‚ĪƒXƒLƒ‹‚â‹|‚É‚æ‚éUŒ‚‚ū‚Ŋ‚É–î‚ĖbCriticalAbAtkEleAbHitAbAddEleAbAddRaceAbAddSizeAbAddEff‚Š“K—p‚ģ‚ę‚邿‚Ī‚ÉCģB -EƒLƒŠ‚ĖŽĀ‘•‚ɈŨ‚ɏCģ‚Í‚ĩ‚Ü‚ĩ‚―‚ŠƒLƒŠ‚Š–hŒä–ģŽ‹‚Č‚Ė‚Đ‚Į‚Ī‚Đ‚Š‚í‚Đ‚į‚ȂЂÁ‚―‚˂ŖhŒä–ģŽ‹‚Í‚ĩ‚Ȃǂæ‚΂ɂȂÁ‚Ăǂ܂·B -EƒeƒXƒg‚ĩ‚―•Ļ‚ÍbAddMonsterDropItem‚ÆbGetZenyNum‚ū‚Ŋ‚Ȃ˂Őģí‚É“Ūė‚·‚é‚Đ‚Į‚Ī‚Đ‚Ė•ņ‚Š—~‚ĩ‚ĒŠ‚Å‚·B(‚Â‚Ē‚Å‚Éitem_db‚ĖCģ‚ā...‚ą‚ę‚Å‹zŽûŒn‚ƃI[ƒgƒXƒyƒ‹ŒnˆČŠO‚Í–w‚ĮŽĀ‘•‚Å‚Ŧ‚é‚Í‚ļ‚Å‚·B‘―•Š...) -E‚ŧ‚Ė‘ž‚ÍŠo‚͂ĂȂǂŊ‚ĮCģ‚ĩ‚―Š‚Š­‚ĩ‚ ‚é‚Đ‚ā... - (conf/) - battle_athena.conf CģB - (doc/) - conf_ref.txt CģB - item_bonus.txt CģB - (db/) - const.txt CģB - (char/) - inter.c - inter_init() CģB - int_storage.c - mapif_parse_SaveStorage() CģB - (map/) - trade.c - trade_traderequest() CģB - pc.h CģB - pc.c - pc_autosave_sub()Apc_calcstatus() CģB - pc_bonus()Apc_bonus2() CģB - pc_setrestartvalue()Apc_setequipindex() CģB - pc_check_equip_wcard()Apc_check_equip_dcard()Apc_check_equip_card() íœ - ‚ŧ‚Ė‘žCģB - skill.h CģB - skill.c CģB - skill_castend_nodamage_id()Askill_unit_onplace() CģB - skill_check_condition()Askill_additional_effect() CģB - skill_attack()Askill_status_change_start() CģB - map.h CģB - battle.h CģB - battle.c - battle_get_def()Abattle_get_mdef2() CģB - battle_weapon_attack()Abattle_damage() CģB - battle_calc_magic_attack()Abattle_calc_pc_weapon_attack() CģB - battle_calc_mob_weapon_attack()Abattle_calc_pet_weapon_attack() CģB - battle_calc_misc_attack()Abattle_config_read() CģB - mob.c - mob_damage() CģB - pet.c - pet_target_check() CģB - clif.c - clif_set0078()Aclif_set007b()Aclif_changelook() CģB - atcommand.c CģB - --------------- -//0675 by ”g˜Q - -EŠØŽI‚Å‘šģ‚ĖŒø‰Ę‚Š•ÏX‚ģ‚ę‚―‚˂ŕņ‚ðŒģ‚Éitem_db.txt‚ðCģ -Ejob_db1.txt‚ðCģ - (db/) - item_db.txt - job_db1.txt - --------------- -//0674 by npc - -Eƒtƒ@[ƒ}ƒV[‚ˉžŽĀ‘•B - (db/) - produce_db.txt - (map/) - skill.c - --------------- -//0673 by “ė - -EW’†—ÍŒüã‚É‘•”õ•i‚Ė•âģ‚Š“ü‚Á‚Ä‚Ē‚Č‚Đ‚Á‚―‚Ė‚ðCģB -@@@@@(map/)@@@ -@@@@@ pc.c - --------------- -//0672 by “ė - -EW’†—ÍŒüã‚É‘•”õ•i‚Ė•âģ‚Š“ü‚Á‚Ä‚Ē‚Č‚Đ‚Á‚―‚Ė‚ðCģB -@@@@@(map/)@@@ -@@@@@ pc.c - --------------- -//0672 by đ - -Eƒ‚ƒ“ƒXƒ^[Œn‚ĖƒoƒOCģ(‚·‚݂܂đ‚ņA‚Ü‚ūŽc‚Á‚Ă܂ĩ‚―(^^; ) - (map/) - mob.c - --------------- -//0671 by đ - -EIDƒ`ƒFƒbƒN”ÍˆÍ‚ĖCģ‘žB -E@monster‚Ő”‚ðŽw’č‚ĩ‚Č‚­‚Ä‚āĒŠŌ‚Å‚Ŧ‚邿‚Ī‚ÉCģB - (map/) - atcommand.c - battle.c - battle.h - mob.c - pet.c - (conf/) - battle_athena.conf - (doc/) - conf_ref.txt - --------------- -//0670 by RR - -Eƒ‚ƒ“ƒXƒ^[ƒhƒƒbƒv—Ķ‚ðCģ(–{ŽI€‹’ADB‚Å‚ĖÝ’č+1/10000)B -E—މš—Ķ‚O‚ɐݒč‚ĩ‚―ƒAƒCƒeƒ€‚𗎂Ƃ·‚Đ‚Į‚Ī‚Đ‚ðbattle_athena.conf‚Őݒč‰Â”\‚ɁB - (map/) - mob.c - mob_damage() CģB - battle.c - battle.h - (conf/) - battle_athena.conf - --------------- -//0669 by đ - -Eƒ‚ƒ“ƒXƒ^[ƒhƒƒbƒv‚ĖCģB - (map/) - mob.c - mob_damage() CģB - --------------- -//0668 by đ - -Eƒ‚ƒ“ƒXƒ^[ID‚Ė”ÍˆÍƒ`ƒFƒbƒN‚ðCģB - (map/) - mob.c - mob_dbAmob_once_spawn()Amob_once_spawn_area()A - mob_summonslave()Amob_read_randommonster()Amob_readdb() CģB - --------------- -//0667 by Ž€_ - -EÅ‘åHPŒvŽZŽŪ‚ðƒ~ƒXƒgƒŒ‘ƒ‚ðŽQl‚ĩ‚ďCģB(‘―•Š‚ą‚ę‚Å–{ŽI‚É‚ ‚Á‚Ăǂ邯Žv‚ǂ܂·B) -E–h‹ï‚ːļ˜Bƒ{[ƒiƒX‚ð0.7‚ɕύXB(Ą‚Í’[”‚ðŽlŽĖŒÜ“ü‚ĩ‚Ăǂ܂·‚Š–{ŽI‚Š’[”–ģŽ‹‚Č‚įCģ‚ĩ‚ĂςŦ‚Ü‚·B) -E@refineƒRƒ}ƒ“ƒh‚Å‘•”õęŠID‚É0‚ð“ü‚ę‚邯‘•”õ‚ĩ‚Ăǂé‘S‚Ăˑ•”õ‚ðļ˜B‚·‚邿‚Ī‚É•ÏXB -E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģB - (db/) - item_db.txt - 7140A7142‚ðŒģ‚É–ß‚ĩ‚Ä0666‚Ė•Ļ‚ÍƒRƒ}ƒ“ƒgƒAƒEƒg‚ĩ‚Ü‚ĩ‚―B - job_db1.txt CģB - refine_db.txt CģB - (map/) - mob.c - mob_once_spawn() CģB - itemdb.c - itemdb_read_randomitem() CģB - pet.c - pet_food() CģB - pc.c - pc_readdb()Ado_init_pc()Apc_calcstatus()Apc_setoption() CģB - pc_calc_sigma() ’Į‰ÁB - ‚ŧ‚Ė‘žCģB - map.h CģB - battle.c - battle_calc_magic_attack()Abattle_calc_misc_attack() CģB - atcommand.c CģB - --------------- -//0666 by đ - -Eƒ‰ƒ“ƒ_ƒ€ƒAƒCƒeƒ€‚ĖŨ‚Đ‚ĒCģB -Ebattle_athena.conf‚Ė€–Ú’Į‰ÁB -EŒÃ–Ø‚ĖŽ}‚ÅĒŠŌ‚·‚郂ƒ“ƒXƒ^[‚ĖŠm—Ķ‚ðÝ’čo—ˆ‚邿‚΂ɂĩ‚Ü‚ĩ‚―B -Eƒ‚ƒ“ƒXƒ^[ĒŠŌƒAƒCƒeƒ€‚ð•Ą”ė‚鎖‚Šo—ˆ‚邿‚΂ɂĩ‚Ü‚ĩ‚―B -EĒŠŌƒAƒCƒeƒ€‚ĖƒTƒ“ƒvƒ‹‚Æ‚ĩ‚Ä -@ķ–―‚ĖŽíŽq‚ðƒ|ƒŠƒ“ŒnĒŠŌA -@ƒGƒ“ƒuƒŠƒI‚ðMVPƒ{ƒXŒnĒŠŌ‚É‚ĩ‚Ă݂܂ĩ‚―B -@‚ ‚Ü‚č‚Ē‚ĒƒTƒ“ƒvƒ‹‚ðŽv‚Ē‚Â‚Đ‚Č‚Đ‚Á‚―‚˂ŁA -@‰―‚Đ‚Ē‚ĒˆÄ‚ðŽv‚Ē‚Â‚Ē‚―l‚͏‘‚ŦŠ·‚͂Ăâ‚Á‚Ä‚­‚ū‚ģ‚Ē(^^; - (conf/) - battle_athena.conf - (doc/) - conf_ref.txt - (map/) - mob.h - mob_db CģB - mob.c - mob_once_spawn()Amob_makedummymobdb()Amob_readdb() CģB - mob_readbranch() -> mob_read_randommonster()‚ɕύXB - battle.h - battle_config CģB - battle.c - battle_config_read() CģB - itemdb.c - itemdb_read_randomitem() CģB - (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‚ĖŽæ‚芊‚Ŧ‚ŠƒJƒuƒL”EŽŌ‚ɂȂÁ‚Ăǂ―‚Ė‚ðŽð“V‹į‚ɏCģB -EƒIƒbƒg[‚ɃtƒFƒCƒNƒGƒ“ƒWƒFƒ‹‚Šo‚·‚Í‚ļ‚ĖŽæ‚芊‚Ŧ‚Š‚Â‚Ē‚Ä‚―‚Ė‚ðCģB - (db/) - mob_skill_db.txt - --------------- -//0664 by đ - -Eļ˜BŽļ”sŽž‘ž‚ĖƒvƒŒ[ƒ„[‚É‚āƒGƒtƒFƒNƒg‚Š•\ŽĶ‚ģ‚ę‚邿‚Ī‚ÉCģB - (map/) - script.c - buildin_failedrefitem() CģB - --------------- -//0663 by lide - -Eƒuƒ‰ƒ“ƒfƒBƒbƒVƒ…ƒXƒsƒACģ - (map/) - battle.c - skill.c - --------------- -//0662 by Ž€_ - -EŨ‚Đ‚ĒCģ‚ƃoƒOCģB -Eƒvƒƒ{ƒbƒN‚É‚æ‚Á‚ă‚ƒ“ƒXƒ^[‚͏æŽZ–hŒä‚ÆŒļŽZ–hŒä‚ŠŒļ‚邿‚Ī‚ÉCģ‚ĩ‚ăvƒŒƒCƒ„[‚ÍŒļŽZ–hŒä‚ū‚ŊŒļ‚邿‚Ī‚ÉCģB -EƒXƒNƒŠƒvƒggetgmlevel’Į‰ÁB‹@”\‚Í‚ŧ‚ĖNPC‚Ƙb‚ĩ‚ĂǂéƒvƒŒƒCƒ„[‚ĖGMƒŒƒxƒ‹‚ð•Ô‚ĩ‚Ü‚·B -E0659‚Ė‘‚Ŧ–Y‚ę‚Å‚·‚Šƒyƒbƒg‚ĖƒpƒtƒHƒ}ƒ“ƒX‚ĖŽí—Þ‚Še–§“x‚É‚æ‚Á‚Ä‘‚͂邿‚Ī‚É•ÏX‚ĩ‚Ü‚ĩ‚―B - (map/) - clif.c - pc.c - script.c - --------------- -//0661 by Ž€_ - -EŨ‚Đ‚ĒCģB -EÚ‘ą‚ĩ‚―Žž‚Ėƒyƒbƒg‚ĖƒƒbƒZ[ƒW‚ðe–§“x‚Š‚Ŧ‚í‚߂Đe‚ĩ‚Ē‚ĖŽž‚Ė‚Ý‚Éo‚邿‚Ī‚É•ÏXB -E0659‚ŏ‘‚Ŧ–Y‚ę‚Å‚·‚Šƒyƒbƒg‚ĖŽx‰‡UŒ‚‚͐e–§“x‚Š‚Ŧ‚í‚߂Đe‚ĩ‚Ē‚ĖŽž‚Ė‚Ý‚É”­ķ‚ĩ‚Ü‚·B(‚ŧ‚悯e–§“x‚É‚æ‚Á‚ÄŽx‰‡UŒ‚Šm—Ķ‚Š­‚ĩ•ωŧ‚ĩ‚Ü‚·B) -EƒWƒ‹ƒ^ƒX‚ƃAƒŠƒX‚Ė—‘‚ĖID‚ðitem_db.txt‚ɍ‡‚í‚đ‚Ü‚ĩ‚―B(ŽĐ•Š‚Šė‚Á‚―pet_db.txt‚Ė•û‚ŠŽĐ•ŠŸŽč‚ɐݒč‚ĩ‚Ăǂ―•ςłĩ‚―‚˂ŁB‚ÄŒū‚Ī‚Đ–ĒŽĀ‘•ƒAƒCƒeƒ€‚ū‚Đ‚į”ԍ†‚Š‚í‚Đ‚į‚ȂЂÁ‚―‚ū‚Ŋ‚Å‚·‚Š...) -Epet_db.txt‚Ėattack_rate‚Аģ‚ĩ‚­“K—p‚ģ‚ę‚ȂЂÁ‚―ƒoƒOCģB - (db/) - pet_db.txt - (map/) - clif.c - clif_parse_LoadEndAck() CģB - pc.c - pc_attack_timer() CģB - --------------------- -//0660 by ‚Ē‚Į - -EƒT[ƒo[snapshot - --------------- -//0659 by Ž€_ - -Eƒyƒbƒg‚ðFX‚ƏCģB(ƒyƒbƒg‚ĖƒR[ƒh‚ð‚Ų‚Æ‚ņ‚Į•Ï‚Ķ‚Ü‚ĩ‚―B) -EŽč“Ū“I‚ū‚Á‚―ƒyƒbƒg‚˓ۂŦ‚ðƒ‚ƒ“ƒXƒ^[‚Ė‚æ‚Ī‚ÉAI‚Æ‚ĩ‚ďˆ—B -EÚ‘ą‚ĩ‚―Žž‚Ėƒyƒbƒg‚ĖƒƒbƒZ[ƒWŽĀ‘•B(–{ŽI‚Í‚Į‚Ī‚Č‚Ė‚Đ‚í‚Đ‚č‚Ü‚đ‚ņ‚Š -Athena‚ÍÚ‘ą‚·‚邯100%˜b‚·‚æ‚΂ɂȂÁ‚Ăǂ܂·B) -Eƒyƒbƒg‚ĖƒXƒyƒVƒƒƒ‹ƒpƒtƒHƒ}ƒ“ƒXŽĀ‘•B(‚―‚ū‘䎌‚Š‚ŋ‚å‚Á‚ƕςł·B‚Ē‚­‚į’T‚ĩ‚Ä‚āŠY“–‚·‚éƒpƒPƒbƒg‚ŠŒĐ‚Â‚Đ‚į‚ȂЂÁ‚―‚˂ŁB) -Eƒyƒbƒg‚Ė‘äŽŒ‚ð‘ž‚Ėƒyƒbƒg‚Ė•Ļ‚É•ÏX‚·‚é‹@”\’Į‰ÁB(Ú‚ĩ‚Ē‚ą‚Æ‚Ídb_ref.txt‚Æpet_db.txt‚ŁB) -Eƒyƒbƒg‚É‚æ‚éŽx‰‡UŒ‚•ύXBpet_db.txt‚ōUŒ‚‚·‚鎞‚ƍUŒ‚‚ðŽó‚Ŋ‚―Žž‚ĖŽx‰‡UŒ‚ -Šm—Ķ‚ð•ʁX‚ɐݒč‚Å‚Ŧ‚Ü‚·BUŒ‚‚·‚鎞‚Ėę‡UŒ‚‚·‚é“x‚Ƀ`ƒFƒbƒN‚ð‚ĩ‚Ü‚·‚˂Š-UŒ‚‘Ž“x‚Š‘Ž‚Ē‚ÆŽx‰‡UŒ‚‚ðŽó‚Ŋ‚â‚·‚­‚Č‚č‚Ü‚·BUŒ‚‚ðŽó‚Ŋ‚―Žž‚ā“Ŋ‚ķ‚Å‚·B(‚ą‚ŋ‚į‚̓_ƒ[ƒW‚ð‹ō‚į‚Ī“x‚ɂȂč‚Ü‚·‚ЁB) Žx‰‡UŒ‚Šm—Ķ‚Íƒ\ƒq[AƒWƒ‹ƒ^ƒXAƒAƒŠƒX‚ū‚ŊŽĐ•ŠŸŽč‚ɐݒč‚ĩ‚Ăǂ܂·B(‘ž‚Ė‚Í‘S•”1%‚ɁBƒyƒbƒg‚ĖŽx‰‡UŒ‚‚Í“Ŋ‚ķƒ‚ƒ“ƒXƒ^[‚ɂ͂łŦ‚Ȃǂæ‚΂ɂȂÁ‚Ăǂ܂·B‚ŧ‚ĩ‚ăyƒbƒg‚Ėí“Ž”\—͂̓‚ƒ“ƒXƒ^[‚Æ“Ŋ‚ķ‚Å‚·B) -E/hideƒRƒ}ƒ“ƒhŽĀ‘•B -Eƒvƒƒ{ƒbƒN‚É‚æ‚Á‚ďæŽZ–hŒä‚āŒļ‚邿‚Ī‚ÉCģB -EƒtƒŠ[ƒLƒƒƒXƒg‚ĖƒoƒOCģB -Eƒm[ƒrƒX‚ĖƒXƒe[ƒ^ƒXƒ{[ƒiƒXíœB -Ebattle_athena.conf‚Ė€–Ú’Į‰Á‚ƍ폜B -ECģ‚ĩ‚―ƒtƒ@ƒCƒ‹‚ū‚ŊB–ĒƒeƒXƒg‚ĩ‚―•Ļ‚ā‚ЂȂ肠‚č‚Ü‚·‚˂Ŗâ‘肊‚ ‚Á‚―‚į•ņ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·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 - -Eƒyƒbƒg‚Š‚Æ‚Į‚ß‚ð‚ģ‚·‚ƁAŽ”‚ĒŽå‚ÉŒoŒą’l‚Š“ü‚邿‚΂ɂĩ‚Ü‚ĩ‚―B -EŒÅ’č’lƒ_ƒ[ƒW‚ķ‚á–Ą‚Š–ģ‚ǂ˂ÅATK1`ATK2‚ĖŠÔ‚Å—”‚ðŽæ‚é‚æ‚΂ɂĩ‚Ü‚ĩ‚―B -E‚ ‚ƁAƒyƒbƒg‚Š‚Æ‚Į‚ß‚ð‚ģ‚·‚Đ‚Į‚Ī‚Đ‚ĖÝ’č‚ðAbattle_athena.conf‚ɉÁ‚͂܂ĩ‚―B - - (conf/) - battle_athena.conf pet_finish’Į‰ÁB - (map/) - battle.c - battle_config_read() CģB - battle.h CģB - pet.c - pet_attack() CģB - (doc/) - conf_ref.txt ā–ū’Į‹LB - --------------- -//0657 by huge - -Eƒyƒbƒg‚É‚æ‚éUŒ‚‚ðŽĀ‘•B -Eƒyƒbƒg‚ðŽ‚Á‚ĂǂāAƒyƒbƒg‚Š‘•”õ•i‚ð‚‚Ŋ‚ĂāA‚ģ‚į‚Ƀ‰ƒ“ƒ_ƒ€‚É‚æ‚é”ŧ’č‚Å”­“Ū‚ĩ‚Ü‚·B -E‚―‚ū‚Ė—V‚ҐS‚Å‚·‚— -Ebattle_athena.conf‚Å•p“x‚ðÝ’č‚Å‚Ŧ‚Ü‚·BÚŨ‚Ídoc‚ŁB - - (conf/) - battle_athena.conf pet_attack’Į‰ÁB - - (map/) - battle.c - battle_config_read() CģB - battle.h CģB - pc.c - pc_attack_timer() CģB - pet.c - pet.h - pet_attack() ’Į‰ÁB - (doc/) - conf_ref.txt ā–ū’Į‹LB - - ‚Æ‚č‚ ‚Ķ‚ļAƒyƒbƒg‚ГۂǂĂé‚Č‚Ÿ‚Á‚ÄŠī‚킯Aƒ_ƒ‰ņ”‚𑝂â‚ĩ‚―’ö“x‚Å‚·B - --------------- -//0656 by Ž€_ - -EƒOƒ‰ƒ“ƒhƒNƒƒX‚ĖCģB(‚ςǂςlj―“x–Ú‚ū...) -EƒOƒ‰ƒ“ƒhƒNƒƒXŒvŽZŽŪŠÔˆá‚Ē‚ÅCģB(€3‚Ђ܂ļ‚Đ‚Á‚―‚Ý‚―‚ǂł·B) -‚Å‚ā‚Ü‚ū”―ŽËƒ_ƒ[ƒW‚Š‚Ý‚·‚Æ‚ę‘ƒ‚æ‚č‚ŋ‚å‚Á‚ƍ‚‚ǂł·B(10‚Ū‚į‚Ē‚ū‚Đ‚į -ŠÖŒW‚Č‚Ē‚Đ‚ā) -Eƒ‚ƒ“ƒN‚Ė‹C‹…‚ð•K’†‚ɏCģB(ŽĐ•Š‚ĖŠÔˆá‚ǂ˂æ‚΂ł·‚Ė‚Å...) - (map/) - skill.c CģB - battle.c CģB - --------------- -//0655 by Ž€_ - -EƒOƒ‰ƒ“ƒhƒNƒƒX‚ĖCģB -EŽĐ•ЂȂč‚ɏî•ņ‚ðŽûW‚ĩ‚Ă݂―Œ‹‰ĘƒOƒ‰ƒ“ƒhƒNƒƒX”―ŽËƒ_ƒ[ƒW‚Í -ƒvƒŒƒCƒ„[ƒLƒƒƒ‰‚Š‚ŧ‚ĖƒLƒƒƒ‰ŽĐg‚ɃOƒ‰ƒ“ƒhƒNƒƒX‚ðŽg‚Á‚―Žž‚Ė -ƒ_ƒ[ƒW‚ū‚ŧ‚Ī‚Č‚Ė‚ÅCģ‚ĩ‚Ü‚ĩ‚―B(‚Ý‚·‚Æ‚ę‘ƒ‚ĖŒvŽZ‚Æ‚Í‚Đ‚Č‚čˆá‚Ī‚æ‚Ī‚Č -‹C‚ā‚ĩ‚Ü‚·‚Š...) -E–‚–@‚ƃgƒ‰ƒbƒvA‘é‚ĖUŒ‚‚É‚ā‘ېŦ‘ϐŦ‚ÆŽí‘°‘ϐŦ‚ð“K—p‚·‚邿‚Ī‚ÉCģB -(–{ŽI‚ĖŽd—l‚É‚ ‚Á‚Ăǂé‚Đ‚Į‚Ī‚Đ‚Í•s–ū‚Å‚·‚Š“K—p‚ĩ‚―•û‚Аģ‚ĩ‚Ē‚ÆŽv‚Á‚―‚˂Š-Cģ‚ĩ‚Ü‚ĩ‚―B) - (map/) - skill.c CģB - map.h CģB - battle.c CģB - --------------- -//0654 by Ž€_ - -EƒOƒ‰ƒ“ƒhƒNƒƒX‚ĖCģ‚ƍŨ‚Đ‚ĒCģB(ŒvŽZŽŪŠÔˆá‚Ē‚ÅCģB) -E0653‚ŏ‘‚Ŧ–Y‚ęB‹CŒũ‚É‚æ‚é’Į‰Áƒ_ƒ[ƒW‚Í•K’†‚Å‚Í‚Č‚Ē‚į‚ĩ‚ǂ˂Š-C—û‚ˉÁŽZ‚Æ“Ŋ‚ķŠ‚ÉŒvŽZ‚·‚邿‚Ī‚É•ÏX‚ĩ‚Ü‚ĩ‚―B -EƒJ[ƒg‚ɃoƒO‚Š‚ ‚č‚ŧ‚Ī‚ū‚Á‚―‚˂łŋ‚å‚Á‚ƏCģB -Eƒ_ƒ[ƒWŒvŽZ‚ð‚Ų‚ņ‚Ė­‚ĩCģB(ƒ_ƒ[ƒW—Ę‚Š•Ï‚í‚Á‚―‚č‚Í‚ĩ‚Ü‚đ‚ņB) - (map/) - battle.c - battle_calc_magic_attack() CģB - battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CģB - skill.c - pc_damage_feedback() -> skill_damage_feedback()‚ɕύXB - skill_unit_timer() CģB - pc.c - pc_setoption() CģB - atcommand.c CģB - --------------- -//0653 by Ž€_ - -E0652‚ĖCģ‚ƍŨ‚Đ‚ĒCģBĄ‚܂ŒƂč–ĒƒeƒXƒg‚ā‘―‚ǂł·B -EƒOƒ‰ƒ“ƒhƒNƒƒX‚Ėˆ—CģB(–{ŽI‚É‚ ‚Á‚Ăǂé‚Đ‚Į‚Ī‚Đ‚ĖŽĐg‚Í‚ ‚č‚Ü‚đ‚ņB) -ƒ‰ƒOƒi[ƒQ[ƒg‚ːā–ū‚É‚æ‚邯Žn‚߂ɌŧÝHP‚Ė20%‚ŠÁ–Õ‚ģ‚ę‚Ä‚ŧ‚ĖŒã“G‚É—^‚Ķ‚― -ƒ_ƒ[ƒW‚Ė’†‚ňę”ԍ‚‚ǕςЖ߂Á‚Ä‚­‚邿‚΂ł·B‚ŧ‚ĩ‚Ä‚ŧ‚Ė–ß‚Á‚Ä‚Ŧ‚― -ƒ_ƒ[ƒW‚͐đ‚ˑېŦ‚ðŽ‚ŋƒgƒ‰ƒXƒg‚É‚æ‚Á‚Đđ‚Ė‘ÏŦ‚Š50%‚ɂȂÁ‚Ăǂé‚˂Š-”ž•Š‚ð‹ō‚į‚Ī‚ą‚Æ‚ɂȂ邿‚΂ł·B(đ‚Ė‘ÏŦã‚Ђ鑕”õ‚ð‚ĩ‚Ăǂę‚Ζ߂Á‚Ä‚­‚é -ƒ_ƒ[ƒW‚ÍŽó‚Ŋ‚Ȃǂæ‚΂ł·B) -–â‘č‚Č‚Ė‚ÍƒvƒŒƒCƒ„[‚Ė–hŒä‘ېŦ‚ðŒvŽZ‚·‚é‚Đ‚Į‚Ī‚Đ‚Å‚·BĄ‚Í–hŒä‘ېŦŒvŽZ‚Ė -Œã‚Őđ‚ˑېŦ‚ðŒvŽZ‚ĩ‚Ăǂ܂·B‚ŧ‚ĩ‚Ä–ß‚Á‚Ä‚­‚éƒ_ƒ[ƒW‚ÍHPƒo[‚ÍŒļ‚é‚Ŋ‚Į -•\ŽĶ‚Í‚ģ‚ę‚Ü‚đ‚ņB–{ŽI‚Ė•û‚Š‚Į‚Ī‚Č‚Ė‚Đ•s–ū‚Ȃ˂Å... -‚ŧ‚悯ˆę‰žƒ‚ƒ“ƒXƒ^[‚āƒOƒ‰ƒ“ƒhƒNƒƒX‚ĖŽg—p‚Š‰Â”\‚Å‚·B‚―‚ūƒ‚ƒ“ƒXƒ^[‚Ėę‡ -ŒŧÝHP‚Ė20%Á–Õ‚ĖŒã‚Ėƒ_ƒ[ƒW‚ÍŽó‚Ŋ‚Ü‚đ‚ņB(ƒ‚ƒ“ƒXƒ^[‚ŠŽg‚Ī -ƒOƒ‰ƒ“ƒhƒNƒƒX‚ĖƒeƒXƒg‚Í‚ĩ‚Ă܂đ‚ņB) -Eƒ_ƒ[ƒW‚É‚æ‚éƒfƒBƒŒƒC’†‚ɂ܂―ƒfƒBƒŒƒC‚Š‚Đ‚Đ‚į‚Ȃǂæ‚Ī‚ÉCģB(‘å‚ĩ‚―ˆÓ–Ą‚Í‚Č‚Ē‚Đ‚ā...) -E’l’i‚Šƒ[ƒ‚ĖƒAƒCƒeƒ€‚┄‚ę‚邿‚Ī‚É•ÏXB -E@ƒRƒ}ƒ“ƒhheal‚Ėˆ—­‚ĩCģB -EˆÚ“ŪƒR[ƒh­‚ĩCģB - (map/) - clif.c - clif_selllist() CģB - battle.c - battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CģB - battle_calc_magic_attack()Abattle_calc_misc_attack() CģB - skill.c - skill_additional_effect()Askill_unit_onplace() CģB - skill_status_change_start()Askill_unit_onplace() CģB - skill_castend_damage_id()Askill_castend_id()Askill_attack() CģB - skill_unitsetting()Askill_check_condition() CģB - skill_use_id()Askill_use_pos() CģB - npc.c - npc_parse_script() CģB - pc.h CģB - pc.c - pc_walk()Apc_walktoxy_sub()Apc_stop_walking() CģB - map.h CģB - mob.h CģB - mob.c - mob_stop_walking()Amob_changestate()Amob_walk() CģB - pet.c - pet_changestate() CģB - atcommand.c CģB - (db/) - skill_db.txt ƒOƒ‰ƒ“ƒhƒNƒƒXCģB - cast_db.txt ƒOƒ‰ƒ“ƒhƒNƒƒXCģB - --------------- -//0652 by ŒŽ‰r‚Ý - -EƒOƒ‰ƒ“ƒhƒNƒƒX‚ð‰žŽĀ‘• - (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 ”g˜Q - -Eitem_db.txt‚ðCģ - (db/) - item_db.txt - ‘•”õ•i‚ĖƒAƒCƒeƒ€Œø‰Ę‚ðCģ - --------------- -//0650 by Ž€_ - -EŽO’iķ‚Ė”­“ŪðŒ‚ð‹|‚Æ“ņ“—ŽˆČŠO‚ɕύXB -E•\ŽĶ‚ð‚đ‚ļ‚ɓ╔‚ŏˆ—‚ū‚Ŋ‚·‚éNPC‚ĖCLASS‚ð111‚Đ‚į32767‚ɕύXB -EŨ‚Đ‚ĒCģB - (map/) - clif.c - clif_getareachar_npc()Aclif_spawnnpc()Aclif_pcoutsight() CģB - npc.h CģB - battle.c - battle_calc_pc_weapon_attack()Abattle_calc_mob_weapon_attack() CģB - --------------- -//0649 by ”g˜Q - -EDB‚ÆDOCCģ - (db/) - item_db.txt - ƒOƒ“ƒOƒj[ƒ‹‚ÍLV4•Ší‚Ȃ˂ŁAŠØ‘‚Ėƒf[ƒ^‚É‚ ‚í‚đ‚Ä•—‘ېŦ‚Å‚Í‚Č‚­‚ĩ‚Ü‚·B - mob_db.txt - size_fix.txt - ŠyŠí‚Í‘åŒ^‚ɑ΂ĩ‚Ä75%‚ū‚ŧ‚΂ł·B - (doc/) - item_bonus.txt - --------------- -//0648 by Ž€_ - -EƒVƒ‡ƒbƒv‚Ė’l’i‚É-‚ð“ü‚ę‚邯ŽI‚Š—Ž‚ŋ‚é–â‘čCģB(itemdb‚Ė‰Šú‰ŧ‚ðnpc‚æ‚č -æ‚É‚·‚邿‚Ī‚É•ÏXB) ‚ŧ‚ę‚ū‚Ŋ‚Å‚·B - (map/) - map.c - do_init() - --------------- -//0647 by nini - -Eitem_dbCģ -EƒXƒiƒbƒ`ƒƒ[Žd—l•ύXB‹|ˆČŠO‚Ė‚·‚Ũ‚Ă˕Ší‚ŏo‚邿‚΂ɂȂÁ‚Ă܂·B - (/map/) - battle.c - ŽO’iķ‚Ė”­“ŪðŒ’Į‰Á - skill.c - ƒXƒiƒbƒ`ƒƒ[‚Ė”­“ŪðŒ’Į‰Á - (/db/) - item_db.txt - ƒVƒ‹ƒNƒnƒbƒg‚ÉSPãļ’Į‰Á - --------------- -//0646 by last - -Eitem_db.txt‚ĖCģ(‘ېŦŠÖ˜A) - (/db/) - item_db.txt - --------------- -//0645 by ‚é‚é‚éi•ree_ronj - -Eitem_value_db.txt‚ɃfƒBƒXƒJƒEƒ“ƒg•ƒI[ƒo[ƒ`ƒƒ[ƒW“™‚ĖƒXƒLƒ‹‚É‚æ‚é‰ŋŠi•Ï“Ū‚ðŽó‚Ŋ‚é‚Đ‚Į‚Ī‚Đ‚Ėƒtƒ‰ƒOƒƒ“ƒg‚ð’Į‰ÁB -@ŽĀÛ‚ĖŒ`ŽŪ‚̓Tƒ“ƒvƒ‹‚Æ‚ĩ‚Ä—pˆÓ‚ĩ‚―item_value_db.sample.txt‚ðŒĐ‚Ä‚­‚ū‚ģ‚ǁBiÝ’č‰ŋŠi‚ÍŠŪ‘S‚ɓƒf‚Æ•ÎŒĐ‚Å‚·j -@“Ŋ—l‚ĖƒTƒ“ƒvƒ‹‚Æ‚ĩ‚Ä‚m‚o‚bÝ’uƒXƒNƒŠƒvƒg‚ā“Y•t‚ĩ‚ĂςŦ‚Ü‚·B -Eitem_value_db.txt‚ĖƒAƒCƒeƒ€‰ŋŠiÝ’肣A”„’l‚Æ”ƒ’l‚ĖÝ’č‚ð“Æ—§Biitem_db.txt‚͏]—ˆ‚Į‚Ļ‚č”ƒ’l‚Í”„’l‚Ė”žŠz‚Æ‚ĩ‚ÄŽĐ“Ūˆ—j -E‚m‚o‚bƒVƒ‡ƒbƒv‚ɂāA‚P‚m‚o‚b‚ňĩ‚Ķ‚éƒAƒCƒeƒ€”‚ðÅ‘å64‚Đ‚įÅ‘å100‚ɕύXBiƒNƒ‰ŽĐ‘Ė‚Í120‚Ū‚į‚Ē‚Ü‚Å‰Â”\‚Å‚·‚Ёj - (/db) - item_value_db.txt - ƒJƒ‰ƒ€”‚ðŪ—‚ĩ‚―‚ū‚Ŋ‚Å‚·B“ā—e‚͂܂Á‚―‚­•ύ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‚Å‚·BŽŸ‰ņSnapShot‚É‚ÍŠÜ‚Ü‚Č‚Ē‚Å‹X‚ĩ‚ǂł·B - -ƒRƒƒ“ƒg -ŒīŒ^‚ÍŽ„‚Ė—Flree_ron‚Šs‚ǁAŽ„‚ŠX‚ɍŨ‚Đ‚Ēƒ~ƒX‚ð’ž‚ĩ‚―‚ū‚Ŋ‚Å‚·‚ЁAƒeƒXƒg‚Í‚ĩ‚Ü‚ĩ‚―‚˂őåä•v‚Å‚ĩ‚å‚΁B -ŒģX‚ą‚Ėˆ—‚ð“ą“ü‚·‚闝—R‚Æ‚ĩ‚āA“Á’čƒAƒCƒeƒ€‚Ė”„’l‚Š1zŒÅ’č‚ɂłŦ‚Ȃǂā‚Ė‚ĐA‚Æ‚Ē‚Ī“_‚ū‚Á‚―‚Đ‚į‚Å‚·B -‚ŧ‚ĩ‚Ä‚â‚Á‚Ăǂ­‚Ī‚ŋ‚ɁA‚m‚o‚bƒVƒ‡ƒbƒv‚ð—˜—p‚ĩ‚―ƒŒƒAƒAƒCƒeƒ€‚˔˔„‚Æ‚Đ‚Å–{ŽI˜I“X‚É‹ß‚Ē‚ą‚Æ‚Šo—ˆ‚é‚Ė‚Å‚Í‚Č‚Ē‚ĐA -‚Æ‚Ē‚Ī‚ą‚Æ‚Š”ŧ‚Á‚Ä‚Ŧ‚―‚í‚Ŋ‚Å‚·B -‚ŧ‚ę‚Åˆę‰ž‚̓f[ƒ^‚ð—pˆÓ‚ĩ‚Ü‚ĩ‚―‚ЁA‚ ‚­‚܂łāƒTƒ“ƒvƒ‹‚Æ‚ĩ‚Ä—˜—p‚ĩ‚Ä‚­‚ū‚ģ‚ǁB‚ā‚ĩ‰Â”\‚Č‚į‚΁A -‚ģ‚į‚ɏCģ‚ð‰Á‚Ķ‚ÄƒAƒeƒi“ÆŽĐ‚Æ‚ĩ‚Ä–{Ė—p‚Æ‚ĩ‚―ƒf[ƒ^‚ðƒpƒbƒ`ƒAƒbƒv‚ĩ‚Ä‚­‚ę‚ę‚΂ƂāŽv‚ǂ܂·‚Š‚— - - --------------- -//0644 by nini - -EDB‚ĖŠÔˆá‚ǁA643‚Å’Į‰Á‚ģ‚ę‚―ƒXƒNƒŠƒvƒg’Į‰ÁB - (/db/) - item_db.txt - cast_db.txt - ƒ`ƒƒ[ƒWƒAƒ[‚ĖƒLƒƒƒXƒg’Į‰ÁB - exp_guild.txt - 46-50‚܂łĖexp”ē‚Ŋ‚É’Į‰ÁB - size_fix.txt - ŠyŠíA•ځAƒiƒbƒNƒ‹‚ĖƒTƒCƒY•âģCģB - --------------- -//0643 by Ž€_ - -EFX‚ƏCģB -EbMVPaddAtkRateíœBbAddRace‚ŏˆ—‚·‚邿‚Ī‚É•ÏXB -EbIgnoreDefEle‚ÆbIgnoreDefRace’Į‰ÁB -bonus bIgnoreDefEle,n; n‘ېŦ‚Ė“G‚Ė–hŒä–ģŽ‹ -bonus bIgnoreDefRace,n; nŽí‘°‚Ė“G‚Ė–hŒä–ģŽ‹ -EbMatkRate’Į‰ÁB–‚–@UŒ‚—Í‚ð+n%ã‚°‚Ü‚·B‚æ‚Á‚Äbattle.c‚ÅŒvŽZ‚ĩ‚Ăǂ―ƒƒbƒh‚É‚æ‚é–‚–@UŒ‚—Í‘•‚ĖŒvŽZ‚͂Ȃ­‚ĩ‚Ü‚ĩ‚―BƒXƒe[ƒ^ƒX‰æ–Ę‚Éã‚Š‚Á‚―”’l‚Í•\ŽĶ‚ģ‚ę‚Ü‚đ‚ņBƒ_ƒ[ƒWŒvŽZ‚ĖŽž‚É“K—p‚ĩ‚Ăǂ܂·B -EbCriticalDef‚É-‚ð“ü‚ę‚邯ƒNƒŠƒeƒBƒJƒ‹‚ð‹ō‚į‚ĪŠm—Ķ‚Šã‚Š‚邿‚Ī‚É•ÏXB -ENPC”ԍ†111‚Í“§–ūNPC‚Å‚·‚Š—Ž‚Æ‚ĩŒŠ“™‚Ė‚ą‚Æ‚ðl‚͂ĕ\ŽĶ‚ðˆęØ‚đ‚ļ‚É -“ā•”‚ŏˆ—‚ū‚Ŋ‚·‚邿‚Ī‚É•ÏXB(flag‚ðŽg‚Ī‚Æ‰―‚Æ‚Đ‚Č‚č‚ŧ‚΂ł·‚Š‚ŧ‚Ė -ˆ—‚Š‘S‘R‚í‚Đ‚į‚ȂЂÁ‚―‚˂œ§–ūNPC‚ɃNƒŠƒbƒN‚â–ž‘O‚Ė•\ŽĶ‚ā‚Å‚Ŧ‚Ȃǂæ‚Ī‚É•ÏX‚ĩ‚Ü‚ĩ‚―B) -EƒVƒ‡ƒbƒv‚Ė’l’i‚É-‚ð“ü‚ę‚邯item_db.txt‚ā‚ĩ‚­‚Íitem_value_db.txt‚˕ςðŽg‚Ī‚æ‚Ī‚É•ÏXB -EƒXƒLƒ‹ƒ‹ƒAƒt‚ĖƒGƒtƒFƒNƒg‚ŠƒTƒCƒg‚Æ“Ŋ‚ķ‚ū‚Á‚―‚Ė‚ÅCģB‚Â‚Ē‚Å‚Éƒ‹ƒAƒt‚Ė -ƒ_ƒ[ƒW‚āCģB -E‚Ý‚·‚Æ‚ę‘ƒ‚É‚æ‚邯ƒ‚ƒ“ƒXƒ^[î•ņ‚Å•\ŽĶ‚ģ‚ę‚é–hŒä‚Æ–‚–@–hŒä‚͏æŽZ‚Å‚Í‚Č‚­ŒļŽZ‚Ý‚―‚Ē‚Č‚Ė‚ÅCģB -E‘ž—Í–{Šč‚Å‚·‚Šitem_db.txt‚ĖCģ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·B(‘S‚Ä‚Ėƒƒbƒh‚Ébonus bMatkRate,15; ‚ð“ü‚ę‚é•K—v‚Š‚ ‚č‚Ü‚·B‚ŧ‚Ė‘ž‚ĖCģ‚ā•K—v‚Å‚·B) -EƒeƒXƒg‚ĩ‚ĂǂȂǕςā‚ЂȂ肠‚č‚Ü‚·‚˂Ŗâ‘肊‚ ‚Á‚―‚į•ņ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB - (map/) - map.h CģB - map.c - map_quit() CģB - pc.h CģB - pc.c - pc_walk()Apc_stop_walking()Apc_setpos()Apc_authok() CģB - pc_calcstatus()Apc_bonus()Apc_natural_heal_sub() CģB - npc.h CģB - npc.c - npc_touch_areanpc()Anpc_parse_shop() CģB - clif.c - clif_quitsave()Aclif_getareachar_npc()Aclif_spawnnpc() CģB - clif_skill_estimation() CģB - battle.c - battle_calc_magic_attack()Abattle_calc_pc_weapon_attack() CģB - battle_calc_mob_weapon_attack() CģB - mob.c - mobskill_use() CģB - skill.c - skill_status_change_end()Askill_status_change_timer() CģB - skill_status_change_start() CģB - (db/) - const.txt CģB - (doc/) - item_bonus.txt CģB - --------------- -//0642 by Ž€_ - -E‘•”õƒoƒOCģB(‚ŧ‚ę‚ū‚Ŋ) - (map/) - pc.c - pc_authok()Apc_checkitem() CģB - --------------- -//0641 by Ž€_ - -EbAspdRate‚ÆbSpeedRate‚ĖƒoƒOCģB(‚ŧ‚ę‚ū‚Ŋ)0640‚ÅŒvŽZ‚ð‚ŋ‚å‚Á‚Æ•Ï‚Ķ‚ÄŒĐ‚Ü‚ĩ‚―‚Š‚ŧ‚ꂊ‚Ü‚ļ‚Đ‚Á‚―‚Ý‚―‚ǂł·BĄ“x‚āŒvŽZŽŪ‚ð•Ï‚Ķ‚Ü‚ĩ‚―‚Š‚ā‚Ī‘åä•v‚ū‚ÆŽv‚ǂ܂·B(‘―•Š) - (map/) - pc.c - pc_calcstatus()Apc_bonus()Apc_delitem() - --------------- -//0640 by Ž€_ - -EƒoƒOCģ‚Ə­‚ĩCģB -E‚Ý‚·‚Æ‚ę‘ƒ‚ðŽQl‚ĩ‚ă_ƒ[ƒWŒvŽZ‚ð­‚ĩCģB -Ebattle_athena.conf‚ɍ€–Ú’Į‰ÁB(Ú‚ĩ‚Ē‚ą‚Æ‚Íconf_ref.txt‚Å) -EƒLƒƒƒ‰‚ĖHP‚ÆSP‚ð2byte‚Đ‚į4byte‚ɕύXB(ƒeƒXƒg‚Í‚ĩ‚Ăǂ܂·‚ŠƒoƒO‚Šo‚é -‰Â”\Ŧ‚ā‚ЂȂ肠‚č‚Ü‚·B‚―‚ūƒLƒƒƒ‰ƒZƒŒƒNƒg‰æ–Ę‚ÅHP‚âSP‚Š32768‚ð‰z‚Ķ‚éŽž -•\ŽĶ‚Í32768‚ɂȂé‚Ŋ‚Į“ā•”‚Ėˆ—‚͐ģí‚ɓۂŦ‚Ü‚·‚˂łŧ‚ę‚̓oƒO‚ł͂ ‚č‚Ü‚đ‚ņB -ƒpƒPƒbƒg‚Ė’·‚ģ‚Ė‚đ‚ǂłŧ‚ęˆČŠOŽč’i‚Š‚Č‚Đ‚Á‚―‚Ė‚Å...) -EbCriticalDef(ƒNƒŠƒeƒBƒJƒ‹‚ð‹ō‚į‚í‚Č‚ĒŠm—Ķ+n%)‚Ėˆ—•ύXB100‚É‚·‚ę‚Î -ƒNƒŠƒeƒBƒJƒ‹‚ð‹ō‚į‚í‚Ȃǂæ‚΂ɂȂč‚Ü‚·B) -EbInnerAtk‚ðbBaseAtk‚ɕύXB‚Ý‚·‚Æ‚ę‘ƒ‚ŃJ[ƒh‚ĖUŒ‚‚ÍŠî–{UŒ‚—Í‚Ė•û‚É‘Ŧ‚ģ‚ę‚邯‚ ‚č‚Ü‚ĩ‚―‚Ė‚Å•ÏX‚ĩ‚Ü‚ĩ‚―BĄ“x‚͏り‚Á‚―UŒ‚—Í‚Š•\ŽĶ‚ģ‚ę‚Ü‚·B -EbDoubleRate‚Ėˆ—•ύXBŠm—Ķ‚ð‘Ŧ‚ģ‚ļ‚Ɉę”ԍ‚‚Ǖςū‚Ŋ“K—p‚ĩ‚Ü‚·B‚ŧ‚悯ķŽč -‘•”õ‚Ėę‡–ģŽ‹‚·‚邿‚Ī‚É•ÏX‚ĩ‚Ü‚―B(ķŽč‚̓_ƒuƒ‹‚Š“K—p‚ģ‚ę‚Ü‚đ‚ņ‚Ė‚Å) -EbDoubleAddRate’Į‰ÁB‹@”\‚̓_ƒuƒ‹ƒAƒ^ƒbƒNŠm—Ķ+n%(•Ší–ģŽ‹)‚Å‚·B -ķŽč‘•”õ‚Í–ģŽ‹‚ģ‚ę‚Ü‚·B -E0635‚ōUŒ‚—Í•\ŽĶ‚ð–{ŽI‚É‚ ‚í‚đ‚Ü‚ĩ‚―B‚ŧ‚ĩ‚襓x‚Í‹|‚ū‚Ŋ‚Å‚Í‚Č‚­ -ŠyŠí‚ƃ€ƒ`‚ādex‚É‚æ‚Á‚čUŒ‚—Í‚Šã‚Š‚邿‚Ī‚É•ÏX‚ĩ‚Ü‚ĩ‚―B -E‘•”õ‚ĩ‚―•Ší‚ŠÁ‚Ķ‚éƒoƒOCģ‚ĖˆŨ‚ɏ­‚ĩCģ‚Í‚ĩ‚Ü‚ĩ‚―‚Š–{“–‚É -‘åä•v‚Č‚Ė‚Đ‚Í•s–ū‚Å‚·B•ņ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·B - (conf/) - battle_athena.conf CģB - (db/) - const.txt CģB - item_db.txt CģB - (doc/) - item_bonus.txt CģB - conf_ref.txt CģB - (map/) - map.h CģB - pc.c - pc_calcstatus()Apc_bonus()Apc_equipitem() CģB - battle.h CģB - battle.c - battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CģB - battle_config_read() CģB - clif.c - clif_updatestatus()Aclif_parse_LoadEndAck()Aclif_party_hp() CģB - (common/) - mmo.h CģB - (char/) - char.c - mmo_char_send006b()Aparse_char() CģB - --------------- -//0639 by ŒÓ’ą—– - -Eladmin‚ĖCģ‚Č‚Į - Eƒvƒƒ“ƒvƒg‚Ė“ü—Í‚ÉTerm::ReadLine‚ðŽg‚Ī‚æ‚΂ɂĩ‚― - @i“ü—Í—š—ð‚âƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚Ė•ŌW‚Š‰Â”\‚Ɂj - EPOSIXŠÖŒW‚Ėˆ—‚Ė—áŠOƒGƒ‰[‚ðƒgƒ‰ƒbƒv‚·‚邿‚΂ɂĩ‚Ü‚ĩ‚― - @iPOSIX‚Š‘S‚­Žg‚Ķ‚Č‚ĒŠÂ‹Ŧ‚Å‚āÅ’áŒĀA“Ū‚­‚æ‚΂ɂȂÁ‚―‚Đ‚ā‚ĩ‚ę‚Ȃǁj - EŨ•”Cģ - - (tool/) - ladmin - Ver.1.04‚ɁB - -EMODƒo[ƒWƒ‡ƒ“‚Š‚Ļ‚Đ‚ĩ‚Ē–â‘č‚ðCģ - (common/) - version.h - ATHENA_MOD_VERSION‚Š‚Wi”‚Å‹Lq‚ģ‚ę‚Ăǂé–â‘č‚ðCģ - ”Žš‚˓ЂÉ0‚ð‚‚Ŋ‚邯‚Wi”‚ɂȂé‚˂ŒˆÓ‚ĩ‚Ä‚­‚ū‚ģ‚Ē - --------------- -//0638 by ”g˜Q - -E0635E0637‚ŐV‚ĩ‚­ƒAƒCƒeƒ€Œø‰Ę‚ŠŽĀ‘•‚ģ‚ę‚―‚˂ŁA‚ŧ‚ę‚É”š‚Á‚Äitem_db.txt‚ðCģ -Eitem_bonus.txt‚ðCģ - (db/) - item_db.txt Cģ - (doc/) - item_bonus.txt Cģ - --------------- -//0637 by Ž€_ - -E0635‚ĖƒoƒOCģB -Ebattle_athena.conf‚ɍ€–Ú’Į‰ÁB(Ú‚ĩ‚Ē‚ą‚Æ‚Íconf_ref.txt‚ðŒĐ‚Ä‚­‚ū‚ģ‚ǁB) -EŽžŠÔ‚Š’x‚·‚Ž‚Ä0635‚Őā–ū‚ĩ‚ĂȂЂÁ‚―‚Å‚·B(Q•s‘Ŧ‚ū‚Á‚―‚Ė‚Å...) -‚Ü‚ļŽd—l‚Š•Ï‚í‚Á‚―‚Ė‚Í“ņ“—Ž‚Ėƒ_ƒ[ƒW‚𕐊í•Ę‚ÉŠŪ‘S‚ɕЂŊ‚čs‚Ī‚æ‚Ī‚É -•ύX‚ƃAƒTƒVƒ“‚ķ‚á‚Č‚­‚Ä‚āķŽčC—û‚ðŠo‚͂Ăǂę‚Γņ“—Ž‚ðŽg‚͂邿‚Ī‚É -•ύX‚ĩ‚Ü‚ĩ‚―B‚ŧ‚悯ƒ_ƒ[ƒW‚ĖŒvŽZ‚ð‚ŋ‚å‚Á‚ƏCģB -‚ŧ‚ĩ‚Äbonus‚É’Į‰Á‚ģ‚ę‚―‚Ė‚Í -bonus bInnerAtk,n; “ā•”UŒ‚—Í+n -ƒJ[ƒh‚Ėˆø‚Ŧã‚°ƒ_ƒ[ƒW—p‚Å‚·B•\ŽĶ‚Í‚ģ‚ę‚ȂǂŊ‚Įƒ_ƒ[ƒW‚ÉŒvŽZ‚ģ‚ę‚Ü‚·B -bonus bSpeed,n; ˆÚ“Ū‘Ž“x+n -ˆÚ“Ū‘Ž“x‚ðnã‚°‚Ü‚·B -bonus bAspd,n; UŒ‚‘Ž“x+n -UŒ‚‘Ž“x‚ðnã‚°‚Ü‚·B -bonus bSpeedRate,n; ˆÚ“Ū‘Ž“x+n% -ˆÚ“Ū‘Ž“x‚ðn%ã‚°‚Ü‚·B -bonus bAspdRate,n; UŒ‚‘Ž“x+n% -UŒ‚‘Ž“x‚ðn%ã‚°‚Ü‚·B -bonus bHPrecovRate,n; HPŽĐ“Ū‰ņ•œ—Ķ+n% -ŽĐ“Ū‰ņ•œ‚·‚éHP‚Ė—Ę‚ðn%ã‚°‚Ü‚·BƒXƒLƒ‹‚É‚æ‚é‰ņ•œ‚ɂ͉e‹ŋ‚Š‚ ‚č‚Ü‚đ‚ņB–{ŽI‚ĖŽd—l‚Æ‚ ‚Á‚Ăǂé‚Ђ͕s–ū‚Å‚·B -bonus bSPrecovRate,n; SPŽĐ“Ū‰ņ•œ—Ķ+n% -ŽĐ“Ū‰ņ•œ‚·‚éSP‚Ė—Ę‚ðn%ã‚°‚Ü‚·BƒXƒLƒ‹‚É‚æ‚é‰ņ•œ‚ɂ͉e‹ŋ‚Š‚ ‚č‚Ü‚đ‚ņB–{ŽI‚ĖŽd—l‚Æ‚ ‚Á‚Ăǂé‚Ђ͕s–ū‚Å‚·B -bonus bCriticalDef,n; ƒNƒŠƒeƒBƒJƒ‹‚ð‹ō‚į‚í‚Č‚ĒŠm—Ķ+n% -ƒNƒŠƒeƒBƒJƒ‹‚Ė‘ÏŦ‚ðnã‚°‚Ü‚·B10000ˆČã‚É‚·‚邯ƒNƒŠƒeƒBƒJƒ‹‚ð‹ō‚į‚ǂ܂đ‚ņB -bonus bMVPaddAtkRate,n; MVPƒ‚ƒ“ƒXƒ^[‚Én%‚Ė’Į‰Áƒ_ƒ[ƒW -ƒ{ƒXƒ‚ƒ“ƒXƒ^[‚Én%‚Ė’Į‰Áƒ_ƒ[ƒW‚ð—^‚͂܂·B[•̂ˋRŽmƒJ[ƒh—pB -bonus bNearAtkDef,n; ‹ß‹——ĢUŒ‚‚Ėƒ_ƒ[ƒW‚ðn%‚ĖŒļ‚į‚· -‘S‚ċߋ——ĢUŒ‚‚Ėƒ_ƒ[ƒW‚ðn%‚ĖŒļ‚į‚ĩ‚Ü‚·B(–‚–@‚ƃgƒ‰ƒbƒvA‘é‚ðœ‚­) -bonus bLongAtkDef,n; ‰“‹——ĢUŒ‚‚Ėƒ_ƒ[ƒW‚ðn%‚ĖŒļ‚į‚· -‘S‚ĉ“‹——ĢUŒ‚‚Ėƒ_ƒ[ƒW‚ðn%‚ĖŒļ‚į‚ĩ‚Ü‚·B(–‚–@‚ƃgƒ‰ƒbƒvA‘é‚ðœ‚­) -bonus bDoubleRate,n; ƒ_ƒuƒ‹ƒAƒ^ƒbƒNŠm—Ķ+n%(•Ší–ģŽ‹) -•Ší‚ÉŠÖŒW‚Č‚­”­“Ū‚·‚éƒ_ƒuƒ‹ƒAƒ^ƒbƒNŠm—Ķ‚ðn%ã‚°‚Ü‚·B -ƒ_ƒuƒ‹ƒAƒ^ƒbƒNƒXƒLƒ‹‚Æ•Ę‚Ė”ŧ’č‚ðs‚ĪˆŨƒ_ƒuƒ‹ƒAƒ^ƒbƒNƒXƒLƒ‹‚Š -‚ ‚Á‚Ä‚āƒXƒLƒ‹‚É‚æ‚éƒ_ƒuƒ‹ƒAƒ^ƒbƒNŠm—Ķ‚Šã‚Š‚é‚í‚Ŋ‚ł͂ ‚č‚Ü‚đ‚ņB -ƒTƒCƒhƒƒCƒ“ƒ_[ƒJ[ƒh—pB - (map/) - pc.c - pc_bonus()Apc_calcstatus() CģB - pc_natural_heal_sub() CģB - battle.h - struct Battle_Config {} CģB - battle.c - battle_calc_pc_weapon_attack()Abattle_calc_mob_weapon_attack() CģB - battle_config_read() CģB - (db/) - skill_db.txt - ƒXƒeƒB[ƒ‹‚ĖSP‚ð10‚ɏCģB - (conf/) - battle_athena.conf CģB - (doc/) - conf_ref.txt CģB - --------------- -//0636 by Sin - -EƒfƒoƒbƒO—pƒ|ƒ^Žq‚ģ‚ņƒXƒNƒŠƒvƒg(npc_pota.txt)‚ĖƒAƒ}ƒcEƒRƒ“ƒƒ“‚Ö‚Ė‘Î‰žB -@‚·‚Å‚ÉŽĐ—ÍŽĀ‘•‚ģ‚ę‚Ăǂį‚Á‚ĩ‚á‚é•ûX‚ā‘―‚Ē‚Đ‚ÆŽv‚ǂ܂·‚ЁcB -@ƒRƒ“ƒƒ“ƒ_ƒ“ƒWƒ‡ƒ“‚Ė–ž‘O‚Š‚í‚Đ‚į‚Ȃǂ―‚߁u›Ā›ÄD1v‚Č‚Į‚Æ‚ģ‚đ‚Ăǂ―‚ū‚ǂĂǂ܂·B - (conf/) npc_pota.txt - --------------- -//0635 by Ž€_ - -Ebattle_athena.conf‚ɍ€–Ú’Į‰ÁB(Ú‚ĩ‚Ē‚ą‚Æ‚Íconf_ref.txt‚ðŒĐ‚Ä‚­‚ū‚ģ‚ǁB) -Ebonus‚ÉbInnerAtk(ƒJ[ƒh“™‚Å•\ŽĶ‚Í‚ģ‚ę‚ȂǂŊ‚ĮŽĀÛ‚ɂ͍UŒ‚—͂ɔ―‰f‚ģ‚ę‚é•Ļ—p‚Å‚·B)“™‚ð’Į‰ÁB‘ž‚Ė‚Íitem_bonus.txt‚ðŒĐ‚Ä‚­‚ū‚ģ‚ǁB(’Į‰Á‚Í‚ĩ‚―‚Ŋ‚Įitem_db.txt‚Í–w‚ņ‚ĮCģ‚ĩ‚Ă܂đ‚ņB) -E‚ŧ‚Ė‘žƒoƒOCģ‚âŽd—l•ύX‚ā‚â‚č‚Ü‚ĩ‚―‚ŠˆęX‘‚­ŽžŠÔ‚ЂȂǂ˂Å... - (map/) - makeile CģB - pc.c CģB - map.h CģB - clif.c CģB - battle.h CģB - battle.c CģB - itemdb.c CģB - (conf/) - battle_athena.conf CģB - (doc/) - conf_ref.txt CģB - item_bonus.txt CģB - (db/) - const.txt CģB - item_db.txt CģB - --------------- -//0634 by Ž€_ - -EweddingƒNƒ‰ƒX‚ɂ͓]E‚Å‚Ŧ‚Ȃǂæ‚Ī‚ÉCģB -EƒX[ƒp[ƒm[ƒrƒX‚ĖˆŨ‚Éexpƒe[ƒuƒ‹‚ðbase 4‚Âjob 4‚‚Ɋg’́B -exp.txt‚Š•Ï‚í‚čƒX[ƒp[ƒm[ƒrƒX‚ū‚Ŋ‚ĖŒoŒą’l‚ðÝ’č‚Å‚Ŧ‚Ü‚·B(exp.txt‚Ė -4‚Â–Ú‚ŠƒX[ƒp[ƒm[ƒrƒX‚Ėbase exp‚Å8‚–ڂŠjob exp‚Å‚·BĄ‚Í2ŽŸE‹Æ‚˕ςð -ƒRƒs[‚ĩ‚―•ςɉ߂ނ܂đ‚ņ‚ЁB) exp.txt‚ĖÝ’č•û–@‚ā’m‚į‚ȂǕû‚Í‚Ē‚Č‚Ē‚Æ -Žv‚ǂ܂·‚˂Őā–ū‚ÍČ—Š‚ĩ‚Ü‚·B -EƒX[ƒp[ƒm[ƒrƒX‚Í“]ķ‚ĖƒeƒXƒg‚ĖˆŨ‚Ɋ؍‘ƒTƒNƒ‰ƒC‚ū‚ŊŽĀ‘•‚ĩ‚Ăǂé•Ļ‚Æ -Žv‚í‚ę‚Ü‚·‚Š(“]ķ‚ŠŽĀ‘•‚ģ‚ę‚ę‚΂Ȃ­‚Ȃ邯—\‘Š‚ĩ‚Ăǂ܂·B)‚ŧ‚ę‚ð -ŽĀ‘•‚ĩ‚Ä‚Ē‚Ē‚Ė‚Đ‚ÆŽv‚Á‚―‚č‚ā‚ĩ‚Ü‚·‚Š... -EŒ‹ĨˆßÖ‚ÍŠų‚É0629‚ÅŽĀ‘•‚ĩ‚Ăǂé‚˂ɂ܂―ƒpƒbƒ`‚Æ‚ĩ‚Ä -ƒAƒbƒv‚ģ‚ę‚é‚Ė‚ā‚ŋ‚å‚Á‚Æ•Ï(H)‚Å‚·‚ˁB‚ŧ‚Ī‚Ē‚Ķ‚Îā–ū‚ĩ‚ĂȂЂÁ‚―‚ņ‚Å‚·‚ˁB -E‘•”õę—pƒXƒNƒŠƒvƒg‚Å‚ ‚échangebase‚Ė’Į‰Á‚É‚æ‚Á‚ă^ƒLƒV[ƒh‚Æ -ƒEƒFƒfƒBƒ“ƒOƒhƒŒƒX‚ŠŽĀ‘•‚ĩ‚Ăǂ܂·B‚ą‚ę‚͐E‹Æ‚ð•ύX‚đ‚ļ‚ÉŒĐ‚―–Ú‚ū‚Ŋ -•Ï‚Ķ‚é•ςł·BweddingƒNƒ‰ƒXˆČŠO‚Ė“K—p‚ā‰Â”\‚ŕϑ•ƒZƒbƒg‚Æ‚Đ‚āė‚ę‚é -‚í‚Ŋ‚Å‚·‚Г╔ˆ—‚͕ύX‚đ‚ļ‚ÉŒĐ‚―–Ú‚ū‚Ŋ•Ï‚Ķ‚Ä‚Ē‚é‚Ė‚Å0631‚Őā–ū‚ĩ‚―‚æ‚Ī‚É -‘•”õ‚Å‚Ŧ‚Č‚Ē•Ļ‚ð‘•”õ‚ĩ‚Ăǂéę‡ˆÆ—Ž‚ŋ‚Š‹N‚ą‚é‰Â”\Ŧ‚Š‚ ‚č‚Ü‚·‚˂Š-‘ž‚ːE‹Æ‚ÅŽg‚Ī‚Ė‚Í‚ĻŠĐ‚ß‚ĩ‚Ü‚đ‚ņB‰žŽĀ‘•‚Č‚Ė‚ÍĄ‚ĖŽd—l‚̓^ƒLƒV[ƒh‚Æ -ƒEƒFƒfƒBƒ“ƒOƒhƒŒƒX‚ð‘•”õ‚·‚é‚ū‚Ŋ‚ÅŒĐ‚―–Ú‚Š•Ï‚í‚é‚Đ‚į‚Å‚·BŠØ‘ƒTƒNƒ‰ƒC‚Ė -•û‚ł͉―‚Đ‚ĖðŒ‚Š•K—v‚ū‚ÆŽv‚Á‚Ăǂé‚˂łŧ‚ĖðŒ‚Š‚Ü‚ūŽĀ‘•‚ģ‚ę‚Ē‚Č‚Ē‚Đ‚į -‰žŽĀ‘•‚Å‚·B‚ŧ‚ę‚ÉweddingƒNƒ‰ƒX‚ðE‹Æ‚É‚ĩ‚Ä‚ĩ‚Ü‚Ī‚ÆŒ‹Ĩ‚·‚邯ƒXƒLƒ‹“™‚Š -ƒŠƒZƒbƒg‚ģ‚ę‚é‚Đ•Ï‚É‚Č‚é‚Đ‚Ė‚Į‚ŋ‚į‚Č‚Ė‚Å•Ï‚ū‚ÆŽv‚Á‚ĂȂЂÁ‚―‚˂łĩ‚å‚Ī‚ĐH - help.txt CģB - (db/) - job_db1.txt CģB - exp.txt CģB - (map/) - pc.c - pc_jobchange()Apc_readdb() CģB - pc_nextbaseexp()Apc_nextjobexp() CģB - --------------- -//0633 by ”g˜Q - -E‘•”õ‚ĖÝ’čCģBŒ‹ĨˆßÖ‚ːE‚́AŽĀÛ‚É“]E‚·‚é‚Ė‚Å‚Í‚Č‚­ƒyƒRƒiƒCƒg(13)AƒyƒRƒNƒ‹ƒZ(21)‚Ė‚æ‚Ī‚É‰æ‘œ‚ðŽg‚Ī‚ū‚Ŋ‚ū‚ÆŽv‚΂˂Š-@‰―‚ā‘•”õ‚Å‚Ŧ‚Č‚ĒÝ’č‚É‚ĩ‚Ü‚ĩ‚―BƒXƒpƒmƒr‚̓mƒr‚Š‘•”õ‚Å‚Ŧ‚é‚ā‚Ė‚ū‚ŊÝ’č‚ĩ‚Ü‚ĩ‚―B -EŒÃ–Ø‚ĖŽ}‚ĖoŒŧƒ‚ƒ“ƒXƒ^[‚ð’Į‰Á -EƒAƒ}ƒc‚Ėƒ‚ƒ“ƒX‚˕͂Ŧ‹ï‡‚ð–{ŽI‚ɋ߂­‚Ȃ邿‚Ī‚ÉCģ(‚Ü‚ū‚Ü‚ūˆá‚ǂ܂·‚ЁEEE) - (conf/) - npc_monster.txt ƒ‚ƒ“ƒX–žCģ - npc_monster_amatsu.txt Cģ - (db/) - item_avail.txt ˆÆ—Ž‚ŋƒAƒCƒeƒ€’Į‰Á - item_db.txt ‘•”õÝ’č‚ðCģA‘ž‘―” - mob_branch.txt Cģ - mob_db.txt ƒ‚ƒ“ƒX–žCģ - skill_tree.txt Cģ - --------------- -//0632 by nini - -E@jobchange‚ÅŒ‹ĨˆßÖ‚ƃX[ƒp[ƒm[ƒrƒX‚ɂȂę‚邿‚΂ɁB(’ˆÓFŠØ‘ũˆäƒNƒ‰ƒCƒAƒ“ƒg‚Ė‚Ý) -ESƒmƒr‚ĖƒXƒeAƒXƒLƒ‹‚Č‚Į‚āŽb’č’Į‰ÁB(ƒm[ƒrƒX‚ĖƒRƒs[‚Å‚·‚Š) -@‚Æ‚č‚ ‚Ķ‚ļŒĐ‚―–Ú‚ū‚Ŋ‚Æ‚Ē‚Ī‚ą‚Æ‚ŁAŒ‹ĨˆßÖ‚Å‚āUŒ‚‚Å‚Ŧ‚Ü‚·‚Š(‚―‚ū‚ĩƒm[ƒ‚[ƒVƒ‡ƒ“)A–{—ˆ‚͂łŦ‚Ü‚đ‚ņB -Eã‚É‚ ‚í‚đ‚Äitem_db•ŌWB -@Œ‹ĨˆßÖ‚Å•Ší‚ā‚‚ÆactAsprƒGƒ‰[o‚·‚˂ŁAŒ‹ĨˆßÖ‚ł͕Ší‚ðŽ‚Ä‚Č‚Ē‚æ‚΂ɂĩ‚―(‚Í‚ļ)B - (db/) - job_db1.txt - job_db2.txt - item_db.txt - Œ‹ĨˆßÖASƒmƒr‚Ėƒf[ƒ^ - skill_tree.txt - Sƒmƒr‚ĖƒXƒLƒ‹ - (map/) - map.h - MAX_PC_CLASS‚É’Į‰Á - --------------- -//0631 by Ž€_ - -EŨ‚Đ‚ĒCģB -Eƒ^ƒLƒV[ƒh‚ƃEƒFƒfƒBƒ“ƒOƒhƒŒƒX‚Ė•\ŽĶ‚ðbattle_athena.conf‚Őݒč‚Å‚Ŧ‚é -‚æ‚Ī‚É•ÏXB -E•ŠíƒOƒ‰ƒpƒbƒ`‚É‚Â‚Ē‚Ä‚Å‚·‚Šƒpƒbƒ`‘O‚ÍŽg‚͂ȂǐE‹Æ‚Š‘•”õ‚ð‚ĩ‚Ä‚ā•\ŽĶ‚Í -‚ģ‚ę‚Ȃǂū‚Ŋ‚ÅˆÆ—Ž‚ŋ‚܂ł͋N‚ą‚į‚ȂЂÁ‚―‚Ŋ‚Į•ŠíƒOƒ‰ƒpƒbƒ`‚ĖŒã‚Í‚ŧ‚Ė•Ší‚ð -‘•”õ‚·‚邹‚Æ‚Š‚Å‚Ŧ‚ȂǐE‹Æ(–{ŽI‚Å)‚Š‘•”õ‚ĩ‚Ä‚ĩ‚Ü‚Á‚―ę‡ˆÆ—Ž‚ŋ‚Š‹N‚ą‚é -‚ą‚Æ‚Š‚ ‚č‚Ü‚·‚˂ŒˆÓ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB - (db/) - item_db.txt - 1161A2338A7170 CģB - (conf/) - battle_athena.conf CģB - (doc/) - conf_ref.txt CģB - (map/) - battle.h - struct Battle_Config‚Éwedding_modifydisplay ’Į‰ÁB - battle.c - battle_config_read() CģB - pc.h - pc_cart_delitem() CģB - pc.c - pc_jobchange()Apc_additem()Apc_delitem()Apc_cart_delitem() CģB - pc_checkitem()Apc_getitemfromcart() CģB - clif.c - clif_changelook()Aclif_send()Aclif_parse_GlobalMessage() CģB - script.c - buildin_changebase() CģB - storage.c - storage_storageaddfromcart() CģB - vending.c - vending_purchasereq() CģB - --------------- -//0630 by ˆø‘ސl - -EƒMƒ‹ƒh’E‘ÞŽž‚ÉcharƒT[ƒo‚Š—Ž‚ŋ‚邹‚Æ‚Š‚ ‚é‚Ė‚ðCģ -Ewater_height.txt‚ðXV -E0627‚ÉŠÖ˜A‚ĩ‚ÄmodifydisplayŠÖ˜A‚ðíœ - (char/) - int_guild.c - mapif_guild_leaved()‚Ėƒoƒbƒtƒ@—e—ƂБŦ‚č‚ȂЂÁ‚―‚˂ŁA - unsigned char buf[64]; -> unsigned char buf[128]; - ‚ƏCģB - (conf/) - battle_athena.conf - equip_modifydisplay‚ðíœ - water_height.txt - prt_fild04.gat‚Æmoc_fild01.gat‚˕Ђð’Į‰Á - (doc/) - conf_ref.txt - equip_modifydisplay‚ːā–ū‚ðíœ - (map/) - battle.h - struct Battle_Config ‚Đ‚įequip_modifydisplay‚ðíœ - --------------- -//0629 by Ž€_ - -E0627‚ĖƒoƒOˆę•”Cģ‚ƐV‚ĩ‚ĒˆÚ“ŪƒpƒPƒbƒg‚ɑΉžB(ŽĐ•Š‚ĖŠÔˆá‚ǂłĩ‚―B -ƒ‚ƒ“ƒXƒ^[‚âNPC‚āV‚ĩ‚ĒˆÚ“ŪƒpƒPƒbƒg‚ðŽg‚Ī‚ÆŽv‚Á‚Ăǂ―‚˂ł·‚Š -V‚ĩ‚ĒˆÚ“ŪƒpƒPƒbƒg‚̓vƒŒƒCƒ„[‚Ė‚Ý‚Ė‚æ‚΂ł·B) -Eƒ^ƒLƒV[ƒh‚ƃEƒFƒfƒBƒ“ƒOƒhƒŒƒX‰žŽĀ‘•B(ŠØ‘‚ĖƒTƒNƒ‰ƒCˆÆ‚ķ‚á‚Č‚Ē‚Æ -ˆÆ—Ž‚ŋ‚ģ‚ę‚Ü‚·BŽg—p‚·‚鎞‚Íitem_db.txt‚ĖƒRƒ}ƒ“ƒgƒAƒEƒg‚ģ‚ę‚Ăǂé -2338‚Æ7170‚ð‰ðœ‚ĩ‚ÄŽg‚Á‚Ä‚­‚ū‚ģ‚ǁB) -ESP‰ņ•œƒAƒCƒeƒ€‚āint‚É‚æ‚Á‚ÄŒø‰Ę‚Š‘‚͂邿‚Ī‚É•ÏXB -E0627‚ŏ‘‚Ŧ–Y‚ę‚Å‚·‚ŠƒJ[ƒg‚ĖƒAƒCƒeƒ€ŒvŽZ‚Æitemdb_‚ðŒÄ‚Ô‚Ė‚ðÅŽ‰ŧ‚·‚é -ˆ—‚ð“ü‚Á‚Ä‚é‚đ‚Ē‚Åpc_additem()Apc_delitem()Apc_cart_additem()Apc_cart_delitem()ˆČŠO‚Ė•û–@‚ŃJ[ƒgƒAƒCƒeƒ€‚âƒAƒCƒeƒ€‚É•Ï“Ū‚Š‚ ‚éę‡ -ģí‚É“Ūė‚·‚é•ÛØ‚Š‚Č‚Ē‚Ė‚ÅCģ‚Ė‚ģ‚Ē‚É‚Í’ˆÓ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB - readme0754‚ðreadme0574‚ɏCģB - makefile CģB - (map/) - map.h CģB - clif.c CģB - pc.c CģB - battle.c CģB - mob.c CģB - script.c CģB - (db/) - item_db.txt CģB - class_equip_db.txt CģB - skill_db.txt CģB(ŒëŽš‚ðŽĄ‚ĩ‚―‚ū‚Ŋ‚Å‚·B) - (conf/) - npc_event_doll.txt CģB(—Ž˜Ql‚ģ‚ņ‚ ‚肊‚Æ‚Ī‚ē‚ī‚ǂ܂·B) - --------------- -//0628 by NOCTURNE - -Esnapshot -Esnapshot‚Đ‚įsnapshot‚܂łĖReadme•ŠŠ„ -E—v–]‚Š‘―‚Đ‚Á‚―‚Ė‚ÅsnapėŽiƒvƒƒOƒ‰ƒ€“I‚Č•ÏX“_‚Í–ģ‚ĩ - --------------- -//0627 by Ž€_ - -EƒR[ƒh‚ĖÅ“K‰ŧ‚Ə­‚ĩCģB(­‚ĩ‚ÍŒy‚­‚Ȃ邯Žv‚ǂ܂·B) -E @modifydisplayƒRƒ}ƒ“ƒhíœB -EV‚ĩ‚ĒˆÚ“ŪƒpƒPƒbƒg‚ɑΉž‚ū‚ÆŽv‚Á‚―‚į0x1d8A0x1d9A0x1daƒpƒPƒbƒg‚Ėˆę•”‚Š -0x78A0x79A0x7b‚ƕςí‚Á‚Ä‚é‚Ý‚―‚ǂł·B‚Â‚Ü‚čĄ‚Ė‚Ü‚Ü‚Å‚Í‘Î‰ž‚Å‚Ŧ‚Ü‚đ‚ņB -X,Y‚ĖĀ•W‚Ė•”•Š‚Ė‘ŽŪ‚Š•Ï‚í‚Á‚―‚Ė‚Đ‚Æ—\‘Š‚Í‚ĩ‚Ăǂ܂·‚Š... -î•ņ‚ð‹‚Ý‚Ü‚·B(makefile‚ĖDPACKETVER‚ð4‚É‚·‚ę‚Î0x1d8A0x1d9A0x1da‚ð -Žg‚ǂ܂·‚ŠĀ•W‚Š‚ļ‚ę‚―‚į‚ĩ‚­‰―‚ā•WŽĶ‚ģ‚ę‚Ü‚đ‚ņB) -E100000‚Đ‚į‚ū‚Á‚―char_id‚ð150000‚Đ‚į‚ɕύXB(ƒyƒbƒg‚Ė—‘‚Ė–â‘č‚Å•Ší‚Ė–ž‘O‚Š‚ŋ‚å‚Á‚Æ•Ï‚É‚Č‚Á‚―‚Ė‚ÅCģ‚ĩ‚Ü‚ĩ‚―B) -Eƒyƒbƒg‚ĖƒR[ƒh­‚ĩCģB(pet_id‚ðcard[2]‚Æcard[3]‚Đ‚įcard[1]‚Æcard[2]‚ɕύX‚ĩ‚Ü‚ĩ‚―B‚æ‚Á‚Ä‘O‚ɍė‚Á‚―—‘‚ÍŽg‚͂܂đ‚ņBˆÆ‚Åcard[3]‚Ė‹@”\‚Š•Ï‚í‚Á‚―‚˂Š-Žd•û‚Č‚­Cģ‚ĩ‚Ü‚ĩ‚―BĄ“x‚Íconvertƒc[ƒ‹‚Š‚ ‚č‚Ü‚đ‚ņBė‚鎞ŠÔ‚Š‚Č‚Đ‚Á‚―‚Ė‚Å...) -EÅ“K‰ŧ‚ĖˆŨ‚ɏCģ‚ĩ‚―Š‚Š‘―‚ǂł·‚Š‘S‚Đģí“Ūė‚·‚é•ۏ؂͂ ‚č‚Ü‚đ‚ņB -ŽI—Ž‚ŋƒoƒO‚Š”­ķ‚ĩ‚―‚į•ņ‚ĻŠč‚Ē‚ĩ‚Ü‚·B(batte.c‚͂܂ūÅ“K‰ŧ‚ĩ‚Ă܂đ‚ņB) -ƒJ[ƒg‚ĖƒAƒCƒeƒ€ŒvŽZ‚âƒAƒCƒeƒ€‚Ėd—Ę‚ĖŒvŽZ‚ðÅ‰‚É‚ū‚Ŋ‚·‚邿‚΂ɂĩ‚Ăǂé‚˂ŕ\ŽĶ‚ɏ­‚ĩ–â‘肊‚ ‚é‚Đ‚ā... -ECģ‚ĩ‚―ƒtƒ@ƒ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 - -EƒpƒPƒbƒg’·ƒe[ƒuƒ‹iVˆÚ“ŪƒpƒPƒbƒg‚Č‚ĮjCģ - (doc/) - client_packet.txt ƒpƒPƒbƒg‰ðÍƒXƒŒ M‚ģ‚ņ‚Ėî•ņ‚ð”―‰f - conf_ref.txt 0624‚ɍ‡‚í‚đ‚ďCģ - (map/) - clif.c - packet_len_table[] client_packet.txt‚ɍ‡‚í‚đ‚ďCģ - --------------- -//0625 by ˆø‘ސl - -E@hide“§–ū‰ŧ‚ðBOSS‚Č‚Į‚ÉŒĐ”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)!=0j‚ÅŽ€l‚Æ“Ŋ—l‚É”ŧ’č‚ģ‚ę‚邿‚Ī‚ÉCģ - (conf/) - npc_cTower.txt Cģithx to holyzard‚ģ‚ņj - --------------- -//0624 by ‚é‚é‚é - -E•Ší‰æ‘œ•\ŽĶˆ—‚ĖˆęViVˆÚ“ŪƒpƒPƒbƒgŽg—pj -Eã‚ÆŠÖ˜A‚ĩ‚āA@modifydisplayƒRƒ}ƒ“ƒh‚ðÝ‚Ŋ‚― -@@@@‹@”\‚Æ‚ĩ‚ẮAŒŧÝ‚ĖƒAƒTƒVƒ“•Ší‚Č‚Į‚Ė‚Š‚Ļ‚Đ‚ĩ‚Ēę‡‚ɁA‚Ü‚―‚Í‹C‚É“ü‚į‚Č‚Ē‚Æ‚Đ‚ÅA -@@@@ƒLƒƒƒ‰–ˆ‚É‹ŒƒpƒP‚ðŽg—p‚·‚邿‚΂ɂĩ‚ĂǂéB - - (map/) - atcommand.c - atcommand() @modifydisplayƒRƒ}ƒ“ƒ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[ƒ[ƒhumodifydisplayv‚ŃT[ƒ`‚·‚ę‚Î‚Ų‚Ú‚í‚Đ‚é‚Đ‚ÆB - -ƒRƒƒ“ƒgF‚ā‚Ī‚ą‚ę‚Å–â‘č‚Í–ģ‚Ē‚Í‚ļBŽĀ‚Í‘å‚ǂȂéŠĻˆá‚Ē‚ð‚ĩ‚Ä‚―ŒÂŠ‚Š‚ ‚Á‚―‚Ė‚Í“āiƒ}ƒew - --------------- -//0623 by ˆø‘ސl - -E@hide‚Å“§–ū‰ŧiŒĐ‚į‚ę‚Ȃǁ•MOB‚Ƀ^ƒQ‚į‚ę‚Ȃǁj‚·‚邿‚Ī‚ÉCģ‚Č‚Į - (map/) - atcommand.c - @hide‚ĖoptionÝ’č‚ð0x04‚Đ‚į0x40‚ɕύX - mob.c - mob_attack() - mob_target() - mob_ai_sub_hard_activesearch() - mob_ai_sub_hard_mastersearch() - mob_ai_sub_hard() - option”ŧ’č‚ð0x06‚Đ‚į0x46‚ɏCģ - (conf/) - npc_event_potion.txt MORISON_MEATCģithx to holyzard‚ģ‚ņj - --------------- -//0622 by ˆø‘ސl - -Emob‚ŠƒXƒLƒ‹Žg—p‚ÉŽļ”s‚ĩ‚―ę‡A’ʏíUŒ‚‚·‚邿‚Ī‚É - (map/) - mob.c - mobskill_use_id() ƒXƒLƒ‹Žg—pŽļ”s‚Å0AŽŒũ‚Å1‚ð•Ô‚·‚æ‚Ī‚ÉCģ - mobskill_use_pos() ƒXƒLƒ‹Žg—pŽļ”s‚Å0AŽŒũ‚Å1‚ð•Ô‚·‚æ‚Ī‚ÉCģ - mobskill_use() ã‹L‚ð”―‰f‚ĩ‚ÄŽļ”sŽž‚É‚Í0‚ð•Ô‚·‚æ‚Ī‚ÉCģ - --------------- -//0621 by ŒÓ’ą—– - -EƒAƒCƒeƒ€ƒ`ƒFƒbƒN‚ðs‚Ī‚Đ‚Į‚Ī‚Đconf/battle_athena.cnf‚ɏ‘‚Ŋ‚邿‚Ī‚É -EƒAƒCƒeƒ€ƒ`ƒFƒbƒN‚Å•sģ‚Æ”ŧ’f‚·‚é‚Đ‚Į‚Ī‚Đ‚ðdb/item_avail.txt‚ɏ‘‚Ŋ‚邿‚Ī‚É -E@itemcheck‚Å–ūŽĶ“I‚ɃAƒCƒeƒ€ƒ`ƒFƒbƒN‚Å‚Ŧ‚邿‚Ī‚É - - ƒfƒoƒO‚âƒeƒXƒg‚Č‚Į‚ŐFX‚ČƒAƒCƒeƒ€ID‚ðŽg—p‚ĩ‚―‚Ēę‡‚Í - ƒAƒCƒeƒ€ƒ`ƒFƒbƒN‚ð–ģŒø‚É‚ĩ‚ĉš‚ģ‚ǁB(item_check: off) - –ģŒø‚É‚ĩ‚―ę‡‚Å‚ā@itemcheckƒRƒ}ƒ“ƒh‚Ń`ƒFƒbƒN‚·‚邹‚Æ‚Šo—ˆ‚Ü‚·B - cnfƒtƒ@ƒCƒ‹‚Í—pˆÓ‚ĩ‚ĂȂǂ˂ŕK—v‚Č‚įŠeŽĐ“K“–‚ɏ‘‚ŦŠ·‚͂Ă­‚ū‚ģ‚ǁB - - (db/) - item_avail.txt - V‹K’Į‰ÁB•sģƒAƒCƒeƒ€‚Ė—ņ‹“‚ÉŽg—pB–ĒŠŪŽB‘ž—Í–{ŠčB - item_db.txt‚É’č‹`‚ģ‚ę‚Ă邊ŽĀÛ‚ɂ͎g—p‚Å‚Ŧ‚Č‚ĒƒAƒCƒeƒ€‚ð‘‚­B - (doc/) - conf_ref.txt - battle_athena.cnf‚Æatcommand_athena.cnf‚ːā–ūCģ - (map/) - itemdb.c/itemdb.h - itemdb_availableƒ}ƒNƒ’Į‰Á - itemdb_read_itemavail()’Į‰Á - itemdb_readdb()‚Åavailable=1‚É‚·‚邿‚Ī‚É - itemdb_search()‚Å‘ķÝ‚ĩ‚Č‚ĒID‚Íavailable=0‚Ńf[ƒ^‚ðė‚邿‚Ī‚É - do_init_itemdb()‚Åitemdb_read_itemavail()‚ðŒÄ‚Ô‚æ‚Ī‚É - pc.c/pc.h - pc_checkitem()‚ðƒGƒNƒXƒ|[ƒg - pc_checkitem()‚Åavailable‚Æbattleconfig‚ðƒ`ƒFƒbƒN‚·‚邿‚Ī‚É - atcommand.c/atcommand.h - @item‚Åbattleconfig‚ðƒ`ƒFƒbƒN‚·‚邿‚Ī‚É - @itemcheckƒRƒ}ƒ“ƒh’Į‰Á - atcommandconfig‚Éitemcheckƒƒ“ƒo’Į‰Á - battle.c/battle.h - battle_config‚Éitem_checkƒƒ“ƒo’Į‰Á - -Eladmin‚ĖCģ‚Č‚Į - ƒAƒJƒEƒ“ƒg’Į‰ÁAƒpƒXƒ[ƒh•ύX‚ĖÛ‚ÉƒpƒXƒ[ƒh‚ðČ—Š‚·‚邯A - ƒpƒXƒ[ƒh—p‚ĖƒGƒR[‚ĩ‚Ȃǐę—pƒvƒƒ“ƒvƒg‚Å“ü—͂łŦ‚Ü‚·i•“ü—ÍŠm”FjB - ’Į‰Á‚ĖÛ‚ÉƒpƒXƒ[ƒh‚Š•\ŽĶ‚ģ‚ę‚―‚įĒ‚éę‡‚Č‚Į‚ɁB - ƒpƒXƒ[ƒh“ü—Í’†‚ÍCtrl+C‚ŠŒø‚Đ‚Č‚Ē‚Ė‚Å’ˆÓ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB - - ƒpƒXƒ[ƒh‚Ė•sģ•ķŽš‚Ė•\ŽĶ‚ЁA‰―•ķŽš–Ú‚Đ‚Å•\ŽĶ‚·‚邿‚΂ɂȂč‚Ü‚ĩ‚―B - ‚ŧ‚Ė‘ž”ũ–­‚Ƀ`ƒFƒbƒN’Į‰Á‚Č‚ĮB - - Cygwin‚Å‚ĩ‚Đ“ŪėŠm”F‚ĩ‚Ăǂ܂đ‚ņBPOSIXƒ‚ƒWƒ…[ƒ‹‚ðŽg‚Á‚Ăǂé‚˂ŁA - POSIX‚łȂĒ(•ƒGƒ~ƒ…ƒŒ[ƒVƒ‡ƒ“‚ā‚Å‚Ŧ‚Č‚Ē)ƒvƒ‰ƒbƒgƒtƒH[ƒ€‚ū‚Æ - “Ū‚Đ‚Č‚Ē‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņB - UNIXŒn‚Å‚Ínkf‚Č‚Į‚ʼnüsƒR[ƒh‚ð•ÏŠ·‚ĩ‚Č‚Ē‚Æ‚ū‚߂ЂāH - - (tool/) - ladmin - Ver.1.03‚ɁB - -------------- -//0620 by ŒŽ‰r‚Ý - -Eƒz[ƒŠ[ƒNƒƒXŽĀ‘• - - (db) - skill_db.txt Cģ - (map) - skill.c - skill_additional_effect()Cģ(ƒRƒƒ“ƒg‚Ė‚Ý) - battle.c - Damage battle_calc_weapon_attack()Cģ - -------------- -//0619 by ‚é‚é‚é - -Eƒpƒbƒ`0617‚˂łâ‚č–Y‚悯”ũ–­‚ȏCģ - - clif.c - clif_movechar(),clif_parse_LoadEndAck() Cģ - --------------- -//0618 by nini - -EƒŠƒUƒŒƒNƒVƒ‡ƒ“‚ˉrĨAƒfƒBƒŒƒC’Į‰ÁB‰ņ•œ—ʏCģB -EÁ”ïSPCģ -EƒAƒ[ƒVƒƒƒ[‚Ė”ÍˆÍ‚ð5*5‚É‚ĩ‚Ä2ƒZƒ‹‚Ŧ”ō‚΂ĩB -Eƒ`ƒƒ[ƒWƒAƒ[‚ĖŽg—p•ŠíðŒ–ģ‚ĩB -EƒXƒsƒAƒXƒ^ƒu‚Ė”ō‹——Ģ‚ð6ƒZƒ‹‚Ɂ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‚Æ‚č‚ ‚Ķ‚ļvCģ -EŒC•\ŽĶ‚ĖƒpƒPƒbƒg‚𑗐M’âŽ~iŒŧŽž“_‚ł̓€ƒ_BƒRƒƒ“ƒg‚ĩ‚―‚ū‚Ŋ‚Å‚·‚Ёj - clif.c - clif_spawnpc(),clif_getareachar_pc(),clif_fixpcpos(),clif_changelook()Cģ - pc.c - clif_changelook()‚Š‚ ‚é•”•Š‚ðCģi•Ší[„‚‚Ə‡‚ɂȂ邿‚Ī‚Éˆ—‚Ė“ü‚ę‘ւ́j - -ƒRƒƒ“ƒgB -Vƒ}ƒbƒvˆÚ“ŪƒpƒP(0x1d8`0x1daj‚ðFX‚Æ‚â‚Á‚―‚ЁA‚ŧ‚ĖƒpƒP‚P‚‚ŕŠí•\ŽĶ‚АVŽŪ‚Ė‚É‘Î‰ž‚ĩ‚Ä‚é -‚Æ‚Ē‚Ī‚í‚Ŋ‚Å‚Í‚Č‚Ē‚Á‚Û‚ĒB‹ŒˆÚ“ŪƒpƒP‚ū‚ÆŽĐ•ŠˆČŠO‚ĖƒLƒƒƒ‰‚ŠˆÚ“Ū‚·‚邯‹ŒŽŪ•\ŽĶ‚ɂȂÁ‚Ä‚ĩ‚Ȃ΁B -X‚ɁAV•Ší•\ŽĶƒpƒP‚Í•Ší‚Ə‚‚Ė“ŊŽžˆ—‚Šo—ˆ‚ĂȂǁB‚Ļ‚ŧ‚į‚­ƒNƒ‰ƒCƒAƒ“ƒg‚Ė–â‘č‚ū‚ÆŽv‚΁B -‚Æ‚č‚ ‚Ķ‚ļAƒLƒƒƒ‰‚Гۂ­‚―‚҂ɐV•ŠíƒpƒP„‹Œ‚ƒpƒP‚Ė‚Q‚Â‚Ė‘•”õƒpƒP‚ð‘—‚é‚ą‚Æ‚Å‰ðŒˆ‚ģ‚đ‚ĂǂéB -–{ŽI‚ł͂Į‚Ī‚Č‚Ė‚Đ‚ĖŽĀÛ‚Ė‚Æ‚ą‚ë‚Ėƒf[ƒ^‚Š–ģ‚Ē‚―‚߁A‚ą‚ęˆČã‚Ė‚ą‚Æ‚̓€ƒŠB - --------------- -//0616 by ŒÓ’ą—– - -Ewater_height.txt‚ð“Į‚ņ‚Å‚Ē‚Č‚Ē‚ÆƒT[ƒo[‚Š—Ž‚ŋ‚éƒoƒOCģ - map.c - map_waterheight()Cģ - -EPC‚Ėƒ}ƒbƒvˆÚ“ŪŽž‚ĖƒAƒCƒeƒ€ƒ`ƒFƒbƒN‚ŃAƒCƒeƒ€ID‚Ė‘ķÝ‚ðƒ`ƒFƒbƒN‚·‚邿‚Ī‚ÉCģ -Eˆę•”‚ˁ—ƒRƒ}ƒ“ƒh‚ŃAƒCƒeƒ€ID‚Ė‘ķÝ‚ðƒ`ƒFƒbƒN‚·‚邿‚Ī‚ÉCģ - pc.c - pc_checkitem()Cģ - pc_authok()Cģ pc_checkitem()’Į‰Á - clif.c - clif_parse_LoadEndAck()Cģ - itemdb.c - itemdb_exists()’Į‰Áiitemdb_search‚Æ“Ŋ‚ķ‚ū‚ЁAdb‚É‘ķÝ‚ĩ‚Č‚Ē - ę‡‚͐V‚ĩ‚Ēƒf[ƒ^‚ðė‚į‚ļ‚É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 - @itemCģ itemdb_search=>itemdb_exists - @produceCģ itemdb_exists‚Ń`ƒFƒbƒN‚·‚邿‚Ī‚É - --------------- -//0615 by ”g˜Q - -EƒAƒCƒeƒ€DATA‘啝Cģ -@Žå‚ȏCģ‰ÓŠ‚́A‰ņ•œƒAƒCƒeƒ€‚ˉņ•œ—Ę‚ĖCģAÁ”ïƒAƒCƒeƒ€‚ðclass_equip_db.txt–ģ‚ĩ‚Å‚āŽg—p‚Å‚Ŧ‚é—l‚ɏCģA -@‘•”õ•i‚Ė‘•”õ‰Â”\E‚ð‘S‚ďCģAƒJ[ƒhŒø‰Ę‚ðCģAetcEEE‚Å‚·B - --------------- -//0614 by Nikita - -EƒAƒCƒeƒ€DATA‚ĖCģiŽå‚ɉņ•œ—ʁj -EƒXƒLƒ‹‰ð“Å‚ĖŽË’öCģ -E0612‚ĖŨ‚Đ‚ĒCģ - (conf/) - npc_town_prontera.txt Cģ - (db/) - item_db.txt Cģ - skill_db.txt Cģ - --------------- -//0613 by ˆø‘ސl -EcheckweightCģ - (conf/) - npc_event_making.txt checkweight•”•Š‚ðCģ - npc_event_potion.txt ƒ|[ƒVƒ‡ƒ“AƒWƒ…[ƒXNPC‚ĖcheckweightCģ - --------------- -//0612 by nini - -EƒAƒCƒeƒ€DATACģ - (db/) - item_db.txt Cģ - (conf/) - npc_town_***.txt Cģ - R.O.M776‚ģ‚ņ‚ðŽQÆ‚ĩ‚Ü‚ĩ‚―B - --------------- -//0611 by Ž€_ - -EƒAƒCƒeƒ€Žg—pðŒ‚Š‚ ‚í‚Č‚ĒŽž0xa8ƒpƒPƒbƒg‚ð‘—‚é‚æ‚Ī‚É•ÏXB(ƒoƒO•ņƒXƒŒƒbƒh 243‚Ėno name‚ģ‚ņî•ņ’ņ‹Ÿ‚ ‚肊‚Æ‚Ī‚ē‚ī‚ǂ܂·B) -EQM‚ŏW’†—ÍŒüã‚Æ‘Ž“xãļAƒAƒhƒŒƒiƒŠƒ“ƒ‰ƒbƒVƒ…Aƒ‰ƒEƒhƒ{ƒCƒXAƒXƒsƒAƒNƒCƒbƒPƒ“Aƒc[ƒnƒ“ƒhƒNƒCƒbƒPƒ“‚ð‰ðœ‚·‚邿‚Ī‚ÉCģB -E‘Ž“xãļ‚Æ‘Ž“xŒļ­‚Å‹t‚ĖƒXƒLƒ‹‚Š‰ðœ‚ģ‚ę‚邿‚Ī‚ÉCģB -E0609‚ŏ‘‚Ŧ–Y‚ęBƒ‚ƒ“ƒXƒ^[‚ŠQM‚Ė”ÍˆÍ‚Đ‚į”ē‚Ŋ‚Ä‚āŒø‰Ę‚ŠˆÛŽ‚·‚邿‚Ī‚É -•ύX‚ƃuƒŒƒbƒVƒ“ƒO‚ÅŽô‚Ē‚ÆÎ‰ŧ‚Š‰ðœ‚ģ‚ę‚邿‚Ī‚ÉCģB - clif.c - clif_useitemack() CģB - skill.c - skill_status_change_start() CģB - pc.c - pc_insert_card() CģB(‚ą‚ę‚̓J[ƒhƒoƒO‚Ƃ͊֌W‚Č‚ĒCģ‚Å‚·B‚ŧ‚ĖƒoƒO‚ĖCģ‚ÍŽĐ•Š‚Š05xx“–‚―‚č‚ŏCģ‚ĩ‚Ü‚ĩ‚―‚˂ŁB) - --------------- -//0610 by ”g˜Q - -EƒAƒCƒeƒ€DATACģ - (db/) - item_db.txt Cģ - --------------- -//0609 by Ž€_ - -EFX‚ƏCģB -Eƒ‚ƒ“ƒXƒ^[‚ŠŽ~‚܂邿‚΂ɓۂ­–â‘čCģB -EŽw’e‚ĖƒfƒBƒŒƒCCģB -E–îėŽ‚ĖƒR[ƒh•Еt‚ŊB -E“G‚ŠƒXƒLƒ‹”ÍˆÍ‚Đ‚į“Ķ‚°‚―ę‡ƒXƒLƒ‹‚ŠŽļ”s‚·‚邿‚Ī‚É•ÏXB -Eclass_equip_db.txt‚ĖŽd—l•ύXB - Ŧ•Ę‚Æ‘•”õƒŒƒxƒ‹‚āÝ’č‰Â”\‚ɕύX‚ÆŽg—pƒAƒCƒeƒ€‚ĖŽg—pE‹ÆAŦ•Ę‚ÆŽg—p - ƒŒƒxƒ‹‚ĖÝ’č‚Š‚Å‚Ŧ‚邿‚Ī‚É•ÏXB(‚―‚ūƒf[ƒ^‚Š‘―‚Ē‚đ‚Ē‚ÅCģ‚ĩ‚― - class_equip_db.txt‚̓Tƒ“ƒvƒ‹’ö“x‚˕ςł·B–„‚߂Ă­‚ū‚ģ‚ǁB‘ž—Í–{Šč‚Å‚·‚Š...) - ‚ŧ‚悯ƒAƒCƒeƒ€Žg—pðŒ‚Š‚ ‚í‚Č‚Ē‚ÆƒAƒCƒeƒ€‚ŠŽg‚í‚Ȃǂæ‚΂ɂĩ‚Ä‚Í - ‚ǂ܂·‚Š01c8ƒpƒPƒbƒg‚Ė‚ð0‚É‚ĩ‚Ä‚āƒAƒCƒeƒ€‚ðŽg—p‚ĩ‚―Žž‚Æ“Ŋ‚ķ - ƒGƒtƒFƒNƒg‚Šo‚Ü‚·B–{ŽI‚ĖƒAƒCƒeƒ€Žg—pƒpƒPƒbƒg‚Š•Š‚Đ‚į‚Ȃǂ܂܂ķ‚á - ‚ą‚Ī‚·‚é‚ĩ‚ЂȂЂÁ‚―‚˂ł·‚Š... -Ebattle_athena.conf‚ɍ€–Ú’Į‰ÁB -E‚ŧ‚Ė‘žƒXƒLƒ‹­‚ĩCģ‚ƍŨ‚Đ‚ĒCģB -ECģ‚ĩ‚―Š‚ð‘S‚ÄŠo‚͂Ă܂đ‚ņ‚Ė‚Åƒtƒ@ƒCƒ‹‚ū‚ŊB - (map/) - clif.c CģB - mob.c CģB - mob.h CģB - pc.c CģB - map.h CģB - skill.c CģB - skill.h CģB - itemdb.c CģB - battle.c CģB - battle.h CģB - (conf/) - battle_athena.conf CģB - (db/) - cast_db.txt CģB - skill_db.txt CģB - create_arrow_db.txt CģB - class_equip_db.txt CģB - item_db.txt CģB - (doc/) - client_packet.txt CģB - conf_ref.txt CģB - --------------- -//0608 by sk -EƒAƒ}ƒcNPC’Į‰Á - (conf/) - npc_town_amatsu.txt é“āNPC’Į‰Á - npc_warp_amatsu.txt é“āƒ[ƒvƒ|ƒCƒ“ƒg’Į‰Á - --------------- -//0607 by J -EƒAƒTƒ‹ƒgƒ^[ƒgƒ‹‚ĖŽč‰šĒŠŦ‚ĖƒoƒOCģ(•ņ‚ ‚肊‚Æ‚Ī‚ē‚ī‚ǂ܂· ‚é‚é‚é‚ģ‚ņ) - (db/) - mob_skill_db.txt ƒAƒTƒ‹ƒg‚ĖCģ‚Â‚Ē‚Å‚ÉƒeƒŒƒ|‚ðŽg‚ĪMOB‚ĖƒXƒLƒ‹ƒfƒBƒŒƒC‚āCģ - --------------- -//0606 by ˆø‘ސl -EƒXƒLƒ‹ƒŒƒxƒ‹Å‘å’lˆČã‚ɃNƒŠƒbƒN‚ĩ‚―Žž“_‚Å‘žƒXƒLƒ‹‚Šã‚°‚į‚ę‚Č‚­‚Č‚éƒoƒO‚ðCģiThanx to 227‚ģ‚ņj - (map/) - clif.c - clif_skillup() - ƒXƒLƒ‹ƒŒƒxƒ‹‚ŠÅ‘å’l‚Ė‚Æ‚ŦAƒpƒPƒbƒg––”ö‚ð0‚É‚·‚邿‚Ī‚ÉCģ - --------------- -//0605 by ‚é‚é‚é - -E•Ší‘ېŦ•t—^ƒXƒLƒ‹‚Ė•s“s‡Cģ - •Ší‚ðŽ‚ŋ‘Ö‚Ķ‚―‚čŠO‚ĩ‚―‚č‚ĩ‚―ę‡‚āA‘ېŦ•t—^‚ð‰ðœ‚·‚邿‚΂ɂĩ‚Ü‚ĩ‚―B - ’A‚ĩA‘fŽč„•Ší‘•”õ‚Ė‚Ýó‘ÔˆÛŽ‚ĩ‚Ü‚·B -EƒXƒsƒAƒNƒCƒbƒPƒ“‚ĖƒXƒe[ƒ^ƒXƒAƒCƒRƒ“‚ðģ‚ĩ‚­•\ŽĶ -E‚Q‚g‚pAƒXƒsƒAƒNƒCƒbƒPƒ“AƒAƒhƒŒƒiƒŠƒ“ƒ‰ƒbƒVƒ…‚ÅŠY“–ˆČŠO‚Ė•ŠíŽ‚ŋ‘Ö‚Ķ‚Åó‘ԏÁ–Å - ƒXƒsƒAƒNƒCƒbƒPƒ“‚Í–ĒŠm”F‚Å‚·‚ЁA‚Q‚g‚p‚ÍŠmŽĀ‚Ȃ˂łQ‚g‚p‚Æ•sŒö•―‚ČŽd—l‚Æ‚Í - l‚͂ɂ­‚ǂ˂œŊ—l‚Čƒpƒ^[ƒ“‚Æ‚ĩ‚Ü‚ĩ‚―B–{ŽI‚Æ‘Šˆá‚Š‚ ‚éę‡‚Í•ņŠč‚ǂ܂·B -E“G‚Ė‚p‚l‚ŏW’†—ÍŒüã‚Æ‘Ž“xãļ‚ð‰ðœ - ‚p‚l‚ʼne‹ŋ‚·‚éƒXƒLƒ‹‚Í‚ą‚ę‚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 -EMOBƒXƒLƒ‹ÄCģ -EMOBDBCģ - (db/) - mob_skill_db.txt - ƒA[ƒNƒGƒ“ƒWƒFƒŠƒ“ƒO‚ƃ^[ƒgƒ‹ƒWƒFƒlƒ‰ƒ‹‚Š1‰ņ‚É2Ží—ނ܂łĩ‚Đ - MOB‚ðo‚ģ‚ȂЂÁ‚―‚Ė‚ðCģ - mob_db.txt - ƒ[ƒhƒIƒuƒfƒX‚Ėƒhƒƒbƒv‚ŃGƒ‰[‚Šo‚é‚Ė‚ðCģ(–ĒŠm”F) - ‰…—땐Žm‚Ėƒhƒƒbƒv‚ÆMVP‚ð’Į‰Á(–ĒŠm”F) --------------- -//0603 by ˆø‘ސl -EV‹KƒAƒCƒeƒ€Žž‚É‚āŠŽ‰Â”\ŒÂ”ƒ`ƒFƒbƒN‚ð‚·‚é‚æ‚Ī‚ÉCģ - (map/) - pc.c - pc_checkadditem() - V‹KƒAƒCƒeƒ€Žž‚ÉMAX_AMOUNT‚ð’ī‚͂Ăǂ―‚į - ADDITEM_OVERAMOUNT‚ð•Ô‚·‚æ‚Ī‚ÉCģ - --------------- -//0602 by ˆø‘ސl -EGeffen’b–č‰Ū‚Å—Ž‚ŋ‚é–â‘č‚ðCģ - (conf/) - npc_town_geffen.txt if (!checkweight(,)) ‚Đ‚į if (!(checkweight(,))) ‚ɏCģ - --------------- -//0601 by J -EMOBƒXƒLƒ‹‚ĖŠë‚Č‚ĒŠ‚ð‚Ē‚­‚į‚ЏCģ -EŠoÁ‚Æ‹ķ‹C‚ĖŽg‚Ķ‚éE‚ðCģ -EƒQƒtƒFƒjƒAƒ_ƒ“ƒWƒ‡ƒ“‚Ė”z’u‚ðƒJƒ{ƒ`ƒƒƒCƒxƒ“ƒg‚Å“ü‚ę‚―‚Æ‚Ŧ‚Ė”z’u‚ɏCģ - ‚―‚ū‚ĩƒ{ƒX‚ŠDOP2‘Ė‚Å‚Í‚Č‚­ƒhƒ‰ƒLƒ…ƒ‰‚É‚ĩ‚Ăǂ܂·B - (conf/) - npc_monster.txt ƒ‚ƒ“ƒXƒ^[”z’u”ũ•ύX - (db/) - mob_skill_db.txt ‰ö‚ĩ‚ĒÝ’č‚Č‚Į‚ĖCģ - item_db.txt ‘‘ŽPOT‚ĖCģ - --------------- -//0600 by ˆø‘ސl -Eƒvƒƒ“ƒeƒ‰ļ˜BŠ‚ˉĄ‚Ėƒtƒ@ƒ“‚ɘb‚ĩŠ|‚Ŋ‚邯ŒÅ‚Ü‚é–â‘č‚ðCģ -EMOBƒXƒLƒ‹Žæ‚荾‚݁iThanx to J‚ģ‚ņj - (conf/) - npc_event_skillget.txt ƒtƒ@ƒ“‚ĖLabel‚ðCģ - npc_town_prontera.txt ƒtƒ@ƒ“‚Šd•Ą‚ĩ‚Ăǂ―‚Ė‚Åíœ - (db/) - mob_skill_db.txt ƒWƒ…ƒm[ˆČ~‚ĖMOBƒXƒLƒ‹’Į‰Á - --------------- -//0599 by ‚é‚é‚é - -EƒZ[ƒW‚Ė•Ší‘ېŦ•t—^ƒXƒLƒ‹‚Ė•s“s‡Cģ‚ƃXƒe[ƒ^ƒXƒAƒCƒRƒ“•\ŽĶ - ƒAƒXƒyƒ‹ƒVƒI‚ƃGƒ“ƒ`ƒƒƒ“ƒgƒ|ƒCƒYƒ“‚Ƃő―d‚ɂЂЂÁ‚Ä‚ĩ‚Ü‚Á‚Ä‚―‚˂ŁA - ÅŒã‚É•t—^‚ĩ‚―‚ā‚Ė‚P‚Â‚É‚Č‚é‚æ‚΂ɂĩ‚Ü‚ĩ‚―B - ‚ŧ‚Ė‚Â‚Ē‚Å‚ÉƒXƒe[ƒ^ƒXƒAƒCƒRƒ“‚ā•\ŽĶ‚·‚邿‚΂ɂā‚ĩ‚Ü‚ĩ‚―B - i–ĒƒeƒXƒg‚Å‚·‚ЁAƒAƒCƒRƒ“o‚ȂЂÁ‚―ƒXƒsƒAƒNƒCƒbƒPƒ“‚ā‚Å‚é‚Í‚ļ‚Å‚·Bj -EƒAƒCƒeƒ€DB‚ɂāA‘‘Žƒ|[ƒVƒ‡ƒ“‚ĖŽg—p§ŒĀ‚ð’Į‰Á - Jazz‚ģ‚ņ’ņ‹Ÿ‚Å‚·B - ‚ŧ‚悯ބ‚ĖŽï–Ą‚щƒOƒiƒƒNTƒVƒƒƒc‚ðƒAƒŒƒiƒj‚ĩ‚Ü‚ĩ‚―‚Š‚—@‹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‚ɑΉž - ˆę‰ž‚ȂЂįƒNƒ‹ƒZƒCƒ_[‚Ė—žŽč‘„‚Æ‚ĐƒvƒŠ[ƒXƒg‚Ė“ÝŠí‚Æ‚Đ‚ÍƒeƒXƒg‚ĩ‚Ü‚ĩ‚―‚ЁA - ‘S‚ĂːE‚ðƒ`ƒFƒbƒN‚Í‚Ē‚Ü‚đ‚ņB‚Ü‚―‚ą‚ĖŽž“_‚ł̓Nƒ‰ƒCƒAƒ“ƒgŽĐ‘˂˕\ŽĶƒf[ƒ^‚É - –â‘č‚Ė—L‚é‚˂Б―‚ǂ˂ā•t‚Ŋ‰Á‚͂ĂςŦ‚Ü‚·B - ‚ ‚ƁAŒC‚āˆę‰ž‚͑Ήž‚ĩ‚Ü‚ĩ‚―B’A‚ĩ‚ą‚ę‚ÍŒŧŽž“_‚ł͖{ŽI‚·‚į‚ā–Ē‘Î‰ž‚Ȃ˂ł·‚ЁB - •\ŽĶ‚Љŧ‚Ŋ‚ÄŒ™‚ū‚Æ‚Ē‚Īę‡‚͏]—ˆ‚Ė‚â‚č•û‚āo—ˆ‚Ü‚·B - - (conf/) - battle_athena.conf - ƒIƒvƒVƒ‡ƒ“ 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 ”g˜Q - -EƒAƒ}ƒc‚ÉŠÖ‚·‚éCģ•”ũCģ - (conf/) - npc_mob_job.txt - npc_monster.txt - npc_monster30.txt - ƒ‚ƒ“ƒX–žCģ - npc_monster_amatsu.txt - ’Į‰Áiƒ‚ƒ“ƒX”‚Š‚Đ‚Č‚čŽč”ē‚Ŧ‚Å‚·EEE - npc_town_amatsu.txt - ƒVƒ‡ƒbƒvNPC‚𓝍‡inpc_shop3.txt‚ðÁ‚ĩ‚Ä‚āOK‚Å‚· - (db/) - mob_db.txt - ƒAƒ}ƒc‚Ėƒ‚ƒ“ƒXƒf[ƒ^‚ðŒŧÝ•Š‚Đ‚é”͈͂ŏCģ•‘‚Æ‚Ŧ‚Ė‚ą‚Ėdef,mdef‚ðCģ - --------------- -//0596 by Ž€_ - -E0595‚ĖCģ‚ƍŨ‚Đ‚ĒCģB -EƒtƒŠ[ƒLƒƒƒXƒg‚ŃLƒƒƒXƒg‚ĩ‚ĂǂéŠÔ‚͍UŒ‚‰Â”\‚Å‚·‚ŠƒLƒƒƒXƒg‚ĩ‚―Œã‚Ė -ƒfƒBƒŒƒCƒ^ƒCƒ€‚ł͍UŒ‚‚Å‚Ŧ‚Ȃǂæ‚΂ɂȂÁ‚Ăǂ܂·B–{ŽI‚ĖŽd—l‚Š‚Į‚Ī‚Č‚Ė‚Đ‚Í -‚í‚Đ‚č‚Ü‚đ‚ņB -E“ۂǂĂǂéPC‚Ƀ‚ƒ“ƒXƒ^[‚ŠUŒ‚‚Å‚Ŧ‚Ȃǖâ‘čCģB(ƒeƒXƒg‚ĩ‚Ă܂đ‚ņ‚Š -‘―•Š‚ą‚ę‚Å‘åä•v‚Đ‚ÆB) - (map/) - skill.h - SC_FREECAST íœB - skill.c - skill_use_id()Askill_use_pos() CģB - skill_castend_id()Askill_castend_pos() CģB - ‚ŧ‚Ė‘ž­‚ĩCģB - pc.c - calc_next_walk_step()Apc_attack_timer()Apc_calcstatus() CģB - clif.c - clif_parse_ActionRequest()Aclif_parse() CģB - map.h - struct map_session_data‚Éprev_speed’Į‰ÁB - mob.c - mob_ai_sub_hard()Amob_changestate()Amob_attack() CģB - --------------- -//0595 by PRevEv -EƒtƒŠ[ƒLƒƒƒXƒgCģAŽĀ‘•(ƒLƒƒƒXƒeƒBƒ“ƒO’†UŒ‚‚ā‚Å‚Ŧ‚Ü‚·B) - (/map) - pc.c - pc_calcstatus() CģB - calc_next_walk_step() CģB - pc_attack_timer() CģB - skill.c - skill_castend_id()Askill_castend_pos()Askill_use_id()Askill_use_pos() CģB - --------------- -//0594 by Ž€_ - -EŠØ‘ˆÆ‚Ėƒp[ƒeƒB–â‘čCģ‚ƍŨ‚Đ‚ĒCģB -E@partyƒRƒ}ƒ“ƒhCģ‚Æ@guildƒRƒ}ƒ“ƒh’Į‰ÁB -Ebattle_athena.conf‚Éguild_emperium_check’Į‰ÁB -EƒXƒLƒ‹Žg—p‚ŠŽļ”s‚ĩ‚Ä‚āƒfƒBƒŒƒC‚Š‚Đ‚Đ‚é–â‘čCģB - help.txt CģB - (map/) - clif.c - clif_parse_CreateParty2() ’Į‰ÁB - clif_parse_ItemIdentify() CģB - ‚ŧ‚Ė‘ž­‚ĩCģB - atcommand.hAatcommand.c CģB - battle.h - struct Battle_Config‚Éguild_emperium_check’Į‰ÁB - battle.c - battle_config_read() CģB - guild.c - guild_create()Aguild_created() CģB - skill.c - skill_castend_id()Askill_castend_pos() CģB - Makefile CģB - (doc/) - client_packet.txt - ƒpƒPƒbƒg0x01e8 ’Į‰ÁB - conf_ref.txt CģB - (conf/) - atcommand_athena.conf CģB - battle_athena.conf CģB - --------------- -//0593 by Ž€_ - -EƒƒeƒI‚ƃoƒ~ƒŠƒIƒ“‚Ėƒ_ƒ[ƒWCģ‚ƍŨ‚Đ‚ĒCģB -EƒƒeƒI‚ĖčĶÎ‚Š—Ž‚ŋ‚Ä‚­‚é”͈͂ð7*7‚Đ‚į5*5‚ɕύXB(‚ą‚ę‚Å’†‰›‚Í‘S‚Ä‚ĖčĶÎ‚Ė -ƒ_ƒ[ƒW‚ðŽó‚Ŋ‚邹‚Æ‚É‚Č‚č‚Ü‚·B) -EŽĐ“Ū‰ņ•œŒvŽZŽŪ•ύXB - ƒXƒLƒ‹ƒŒƒxƒ‹*5 + (max_hp/50)‚Đ‚į - ƒXƒLƒ‹ƒŒƒxƒ‹*5 + (max_hp*ƒXƒLƒ‹ƒŒƒxƒ‹/500)‚ɕύXB(SP‚Æ‘§‚ā“Ŋ‚킿‚Ī‚É•ÏXB) -EGM‰EƒNƒŠƒbƒN–―—߁uŽg—pŽŌ‹­§I—đv‚Åatcommand_athena.conf‚Ėkick‚Ė -ƒŒƒxƒ‹‚ðƒ`ƒFƒbƒN‚·‚邿‚Ī‚É•ÏXB - (db/) - skill_db.txt - ƒXƒLƒ‹‹CŒũ‚Ėsp‚ð10‚Đ‚į8‚ɏCģB - (map/) - map.c - NO_WATER‚ð100‚Đ‚į1000000‚ɕύXB - battle.c - battle_calc_magic_attack() CģB - skill.c - skill_castend_pos2() CģB - pc.c - pc_natural_heal_hp()Apc_natural_heal_sp()Apc_spirit_heal() CģB - clif.c - clif_parse_GMKick() CģB - (doc/) - conf_ref.txt CģB - --------------- -//0592 by ˆø‘ސl - -E…ę‚Ė—L‚č–ģ‚ĩ‚ðwater_height.txt‚ū‚Ŋ‚ÅŒˆ‚߂邿‚Ī‚É•ÏXBnpc_water.txt‚Í•s—v‚ɁB -EƒJ[ƒhƒXƒLƒ‹‚ł̓Œƒxƒ‹ã‚°‚Å‚Ŧ‚Ȃǂæ‚΂ɂȂÁ‚―‚―‚ß•s—v‚ɂȂÁ‚―ˆ—‚ðíœB - (conf/) - map_athena.conf - npc: conf/npc_water.txt Á‹Ž - water_height.txt - ƒfƒtƒHƒ‹ƒg‚‚ģ3‚Ėƒ}ƒbƒv•Š‚ð’Į‰Á•all_water‚ð‚‚ģ-100‚Æ‚ĩ‚ăRƒƒ“ƒg‚Å’Į‰Á - (map/) - map.c - waterlist‚Ímap_readwater()“ā‚сƒ‚ƒŠŠm•Û - gatÝ’čŒã‚Í•s—v‚Ȃ˂Åmap_readallmap()‚сƒ‚ƒŠŠJ•ú‚ĩ‚Ăǂ܂· - map.h - struct map_data‚Ėflag‚Đ‚įwater_flag‚ðÁ‹Ž - npc.c - npc_parse_mapflag() - ƒ}ƒbƒvƒtƒ‰ƒOwater‚Æall_water‚ðÁ‹Ž - pc.c - pc_skillup() - — ‚ŃXƒLƒ‹LvUP‚Å‚Ŧ‚Č‚­‚Č‚Á‚―‚Ė‚Åskill[id].flag‚Ė•Š‚ÍÁ‹Ž - skill.c - skill_check_condition() - map_getcell‚Ő…ę”ŧ’č‚·‚邿‚Ī‚ÉCģ - --------------- -//0591 by CHRIS - -Eƒ‚ƒ“ƒN‚ŠŸ†’e‚ð‚ā‚Á‚Ăǂ邯‚ŦAŸ†’e*3‚Ė•K’†ƒ_ƒ[ƒW‚Š“ü‚é—l‚ɂȂč‚Ü‚ĩ‚―B„Ÿ@battle.cCģ -Eƒ‚ƒ“ƒNƒXƒLƒ‹uŽw’ev‚Ɓu”­™Īv‚Ɓu‹CEv‚ˉrĨŽžŠÔ‚Аģ‚ĩ‚­Cģ‚ģ‚ę‚Ü‚ĩ‚―B„Ÿ@cast_db.txtCģ - --------------- -//0590 by Ž€_ - -Egrf-files.txt‚âconfƒtƒ@ƒCƒ‹Aaccount.txtƒtƒ@ƒCƒ‹‚Ė–ž‘O‚ÆˆĘ’u‚ð•Ï‚Ķ‚é‚æ‚Ī‚É•ÏXB -Eƒ}ƒbƒvˆÚ“Ū‚É‚æ‚éŽI—Ž‚ŋ‚ð–h‚ŪˆŨ‚ɏCģB(ƒ}ƒbƒv‚Š“ņ“xƒ[ƒh‚ģ‚ę‚ÄŽI—Ž‚ŋ‚Š -‹N‚ą‚Á‚―‚Æ‚Ė•ņ‚ðŽó‚Ŋ‚―‚˂ŁB) -E0586‚ð‚ŋ‚å‚Á‚ƏCģB‘•”õ‚É‚æ‚éƒXƒLƒ‹‚Ėę‡ƒŒƒxƒ‹ã‚°‚ЂłŦ‚Ȃǂæ‚Ī‚ÉCģB -‚―‚ū‘•”õ‚É‚æ‚éƒXƒLƒ‹‚ðƒXƒLƒ‹ƒ|ƒCƒ“ƒg‚ðŽg‚Á‚ďグ‚鎞‚Í‘•”õ‚ðŠO‚·•K—v‚Š -‚ ‚č‚Ü‚·B -E@party‚ŋ‚å‚Á‚ƏCģB(–ž‘O‚ɋ󔒂Ђ ‚Á‚Ä‚ā‘åä•v‚Č‚æ‚΂ɁB) -E…ę‚Ė‚‚ģ‚ðwater_height.txt‚Å“Į‚ݍž‚Þ‚æ‚Ī‚É•ÏXB -Econfƒtƒ@ƒCƒ‹‚ÅÝ’č‚·‚é•Ļ‚ðƒtƒ@ƒCƒ‹‚ĖƒpƒX‚ɋ󔒂Ђ ‚Á‚Ä‚ā‘åä•v‚Č -‚æ‚Ī‚É•ÏXB -EGM‰EƒNƒŠƒbƒN–―—߁uŽg—pŽŌ‹­§I—đv‚Ń‚ƒ“ƒXƒ^[‚ð“|‚đ‚邿‚Ī‚É•ÏXB -(Œīˆö‚Í•s–ū‚Å‚·‚Š‚ą‚ę‚Ń‚ƒ“ƒXƒ^[‚ðŽE‚·‚ÆŽI‚Ђ߂ŋ‚á‚­‚ŋ‚á‚É’x‚­‚Ȃ邹‚Æ‚Š -‚ ‚č‚Ü‚·B) -E‚ŧ‚Ė‘ž­‚ĩCģB -EƒeƒXƒg‚Í–w‚ņ‚Į‚ĩ‚Ă܂đ‚ņ‚˂ŒˆÓ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB - athena-start CģB - (map/) - pc.c - pc_skill()Apc_resetskill()Apc_setpos()Apc_read_gm_account() CģB - pc_set_gm_account_fname() ’Į‰ÁB - pc.h - pc_set_gm_account_fname() ’Į‰ÁB - clif.c - clif_skillinfoblock()Aclif_parse_LoadEndAck()Aclif_parse_GMKick() CģB - clif_changemap() CģB - atcommand.c - @partty CģB - skill.c - skill_castend_nodamage_id() CģB - map.c - map_config_read()Amap_readwater() CģB - script.c - script_config_read()Ado_init_script() CģB - script.h - script_config_read() ’Į‰ÁB - (common/) - version.h CģB - grfio.h - grfio.c - grfio_init() CģB - mmo.h - GRF_PATH_FILENAME ’Į‰ÁB - (conf/) - map_athena.conf CģB - npc_water.txt CģB - water_height.txt ’Į‰ÁB - login_athena.conf CģB - (login/) - login.c - login_config_read()Aread_gm_account() CģB - (char/) - char.c - do_init() CģB - char_config_read() ’Į‰ÁB - inter.c - inter_config_read() CģB - (doc/) - conf_ref.txt CģB - --------------- -//0589 by ŒÓ’ą—– - -EGM‚ˉEƒNƒŠƒbƒN‚Őؒf‚ģ‚ę‚é–â‘č‚ðCģ - ‚Æ‚č‚ ‚Ķ‚ļ01dfƒpƒPƒbƒg‚ð–ģŽ‹‚·‚邿‚΂ɂĩ‚Ü‚ĩ‚―B - ‚Č‚ņ‚Æ‚Č‚­‚ą‚ĖƒpƒPƒbƒg‚̓`ƒƒƒbƒg‹ÖŽ~‰ņ”‚Ƃ͊֌W–ģ‚Ē‚æ‚΂ȋC‚ācc - - clif.c - clif_parse_GMReqNoChatCount()’Į‰Á - -Estart‚ðathena.sh‚łȂ­athena-start‚ðŽg‚Ī‚æ‚Ī‚É•ÏX - start - athena.sh => athena-start start‚É’u‚ŦŠ·‚Ķ‚ĩ‚―‚ū‚Ŋ - --------------- -//0588 by Kalen - -EAmatsuNPC’Į‰Á - --------------- -//0587 by ŒÓ’ą—– - -EloginƒT[ƒo[‚ĖŠĮ—ƒpƒPƒbƒg‚ĖŽd—l‚ð•ύXi0579‚ĖƒƒOƒCƒ“‹‘”ۏî•ņ‚ɑΉžj - (login/) - login.c - ƒAƒJƒEƒ“ƒgƒoƒ“ó‘ԕύXƒpƒPƒbƒg’Į‰Á(7936,7937) - ƒAƒJƒEƒ“ƒgƒŠƒXƒgŠ“ūƒpƒPƒbƒgCģ(7921) - (doc/) - admin_packet.txt - -Eladmin‚Ė‹@”\’Į‰Á - Eƒoƒ“ó‘Ô‚ð•ύX‚·‚éƒRƒ}ƒ“ƒh’Į‰Á - EƒŠƒXƒg•\ŽĶ‚ÆŒŸõ‚Ńoƒ“ó‘Ô‚ā•\ŽĶ‚ģ‚ę‚邿‚΂ɂȂÁ‚― - E"?"‚Å‚āƒwƒ‹ƒv‚Šo‚邿‚Ī‚ÉCģ - EƒVƒ“ƒ{ƒŠƒbƒNƒŠƒ“ƒN‚Éstateaccount‚Š’Į‰Á‚ģ‚ę‚Ü‚ĩ‚―B - Žg‚ΐl‚Íladmin‚Ė--makesymlink‚ð‚ā‚Īˆę“xŽĀs‚ĩ‚Ä‚­‚ū‚ģ‚Ē - - (tool/) - ladmin - ‹@”\’Į‰Á - --------------- -//0586 by ˆø‘ސl -EƒJ[ƒhƒXƒLƒ‹‚ðCģ - (/map) - pc.c - pc_calc_skilltree() - pc_skill() - Šo‚Ķ‚į‚ę‚Č‚ĒƒXƒLƒ‹‚Č‚įskill[id].flag=1‚Æ‚·‚é - ‚Ü‚―‚Ískill[id].flag‚É–{—ˆ‚Ėlv‚ð+2‚ĩ‚Ä‹L‰Ŋ - pc_skillup() - skill[id].flag‚ā‘‚â‚· - clif.c - clif_skillinfoblock() - skill[id].flag==1‚Č‚įŠo‚Ķ‚į‚ę‚Č‚ĒƒXƒLƒ‹ - (/char) - char.c - mmo_char_tostr() - skill[id].flag‚Đ‚į–{—ˆ‚Ėlv’l‚ð•Û‘ķ‚·‚é - --------------- -//0585 by kalen -EscriptCģ - npc_town_guid.txt ŠOŒĐ•ύX - --------------- -//0584 by ˆø‘ސl -EƒJ[ƒhƒXƒLƒ‹‚ðCģ - (/map) - pc.c - pc_calc_skilltree() cardƒXƒLƒ‹‚ð–Y‚ę‚ģ‚đ‚鏈—‚ð’Į‰Á - pc_skill() Ū— - --------------- -//0583 by kalen -EscriptCģ - npc_event_doll.txt ”ē‚Ŋ‚Ăǂ―•”•Ђˉï˜b’Į‰Á - npc_town_guid.txt ’Ž‚ĖˆÄ“ā—vˆõ‚Ė‰æ‘œ‚ð•\ŽĶ‚Å‚Ŧ‚邿‚Ī‚ÉCģ - Šî–{“I‚ɍŐVjRO‚Å–â‘č‚Č‚ĩ‚Å‚·B - --------------- -//0582 by PRevEv -E580‚ĖƒoƒOCģB - (/map) - skill.c - skill_use_pos() CģB --------------- -//0581 by ˆø‘ސl -E…ę‚‚ģÝ’čŠÖ˜A‚ð­‚ĩCģ - (/map) - map.c - map_waterheight() - map_readwater() - map_readmap() - waterlist[512] -> *waterlist‚É‚ĩ‚āAmalloc‚сƒ‚ƒŠŠm•Û‚·‚邿‚Ī‚ÉCģB - map_readallmap() - free(waterlist);’Į‰Á - -EƒoƒO•ņƒXƒŒƒbƒh‚ĖCģƒpƒbƒ`‚ðŽæ‚čž‚Ý - (conf/) - npc_town_refine.txt ƒZƒ~ƒRƒƒ“”ē‚ŊCģ - (db/) - item_db.txt 1161,ƒoƒ‹ƒ€ƒ“Cģ - --------------- -//0580 by PRevEv -EƒtƒŠ[ƒLƒƒƒXƒg‰žŽĀ‘•(ƒLƒƒƒXƒeƒBƒ“ƒO’†UŒ‚‚Í•s‰Â”\) - (/map) - clif.c - clif_parse_WalkToXY() CģB - pc.c - pc_calcstatus() CģB - skill.c - skill_castend_id()Askill_castend_pos()Askill_use_id()Askill_use_pos() CģB --------------- -//0579 by A‚ːl -EƒƒOƒCƒ“‚ð’e‚­ˆ—‚ð‰žŽĀ‘• - conf/login.c - auth_dat\‘Ǒ˂Éstate‚ð’Į‰Á - mmo_authŠÖ”Cģ - mmo_auth_newŠÖ”Cģ - mmo_auth_syncŠÖ”Cģ - mmo_auth_initŠÖ”Cģ - - ‚ą‚Ė’l‚ð•ύX‚·‚éƒc[ƒ‹A‰ü‘PôB‘ž—Í–{Šč‚Å‚·i„ƒG --------------- -//0578 by ˆø‘ސl -EƒoƒO•ņƒXƒŒƒbƒh‚ĖCģƒpƒbƒ`‚ðŽæ‚čž‚݂ȂĮithanx to ‚é‚é‚é‚ģ‚ņ,Athefans‚ģ‚ņ,sage‚ģ‚ņ,zupport‚ģ‚ņj - 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,ƒ‰ƒtƒŒƒVƒA...Cģ - --------------- -//0577 by ‚é‚é‚é -E@ƒRƒ}ƒ“ƒh‚ð’Į‰Á•Cģ - atcommand.c - atcommand() @itemresetƒRƒ}ƒ“ƒh’Į‰Á @goƒRƒ}ƒ“ƒhCģiƒAƒ}ƒcEƒRƒ“ƒƒ“‚ð’Į‰Áj - atcommand_config_read() ã‚ɍ‡‚í‚đ‚ÄitemresetŽg—pƒŒƒxƒ‹Žw’č‚ð’Į‰Á - - doc/conf_ref.txt - conf/atcommand_athena.conf itemresetŽg—pƒŒƒxƒ‹Žw’č‚ð’Į‰Á - help.txt @itemreset‚ːā–ū’Į‰Á‚Æ@go‚ːā–ūCģ - -------------- -//0576 by V&S -EƒS[ƒXƒgƒŠƒ“ƒOƒJ[ƒh‚ƃo[ƒXƒŠ[ƒJ[ƒh‚ĖŒø‰Ę‚Š‹t‚ɂȂÁ‚Ăǂ―‚Ė‚ðCģ - { bonus bDefEle,7; }ĻƒS[ƒXƒgƒŠƒ“ƒOƒJ[ƒh(”O) - { bonus bDefEle,8; }Ļƒo[ƒXƒŠ[ƒJ[ƒh(ˆÅ) - Š‚ū‚Á‚―‚Ė‚ðŦ‚ɏCģ - { bonus bDefEle,7; }Ļƒo[ƒXƒŠ[ƒJ[ƒh(ˆÅ) - { bonus bDefEle,8; }ĻƒS[ƒXƒgƒŠƒ“ƒOƒJ[ƒh(”O) - - |“S‚Ėd—Ę‚ðCģ - --------------- -//0575 by ˆø‘ސl -E…ęƒtƒ@ƒCƒ‹‚Š"conf/npc_water.txt"ŒÅ’č‚ū‚Á‚―‚Ė‚ðCģ -iconf/map_athena.conf‚Ėnpc:‚ɏ‘‚Đ‚ę‚Ăǂéƒtƒ@ƒCƒ‹‚ð‚݂Đ…ę‚‚ģÝ’č‚·‚邿‚΂Ɂj - map.c - struct waterlist[512]; V‹K’Į‰ÁBƒ}ƒbƒvƒtƒ@ƒCƒ‹–ž‚Ɛ…ę‚‚ģ‚ð‹L‰ŊB - map_waterheight() V‹K’Į‰ÁB…ę‚Ė‚‚ģ‚ð•Ô‚·B - map_readwater() …ęƒtƒ@ƒCƒ‹‚ð‚Ý‚Äwaterlist‚ðÝ’č‚·‚邿‚Ī‚ÉCģB - map_readmap() map_waterheight()‚ðŒÄ‚Ô‚æ‚Ī‚ÉCģB - map_config_read() "npc"‚Åmap_readwater(w2);’Į‰ÁB - --------------- -//0574 by ‚Ē‚Į - -EƒT[ƒo[Snapshot -Econf/shop_*.txt‚Ė“ā—e‚ðconf/npc_town_*.txt‚É“‡ - --------------- -//0573 by Jazz - -Emap‚Ė penalty, nomemo, noteleport, nobranch‚Ė option‚ðÝ’čB -Emap ƒT[ƒo[‚Š cpu‚ð–ģŒĀč—L‚·‚邹‚Æ‚ðŒŸļ‚·‚é‚―‚ß‚Ė script “Y•t. cygwinŠÂ‹Ŧ‚ÅėŽ‚ÆŽĀŒą‚ð‚ĩ‚Ü‚ĩ‚―. - (/conf) - mapflag.txt ’Į‰ÁB - (/tool) - mapcheck.sh ’Į‰ÁB - --------------- -//0572 by ˆø‘ސl -E"conf/npc_water.txt"‚Ė‘æ4—ņ‚Ő…ę‚‚ģÝ’č -@i‚ŋ‚á‚ņ‚Æ‚ĩ‚―…ę”ŧ’肊ŽĀ‘•‚ģ‚ę‚é‚Ü‚Å‚Ė‚Â‚Č‚Ž‚Æ‚ĩ‚āEEEj - (/conf) - npc_water.txt ƒTƒ“ƒvƒ‹CģB - E‘æ4—ņ‚Ő…ę‚Ė‚‚ģ‚ðÝ’č‚ĩ‚Ü‚·B - E‚‚ģ‚ð‘‚Đ‚Č‚Đ‚Á‚―ę‡‚ĖƒfƒtƒHƒ‹ƒg’l‚Í3‚ɂȂč‚Ü‚·B - (/map) - map.c - E…ę‚‚ģÝ’čŠÖ” map_readwater() ’Į‰ÁB - --------------- -//0571 by code -“V’ÃtƒB[ƒ‹ƒh‚ĖMOB‚Ė”z’u‚ƃ[ƒvƒ|ƒCƒ“ƒg‚ĖÝ’č‚ĖCģ -“V’Ãpƒbƒ`‚É›Ā›Ä‚ŠŠÜ‚Ü‚ę‚Ăǂé‚Ė‚ðŠm”F‚ĩ‚―‚Ė‚Å›Ā›Ä‚Ėƒ[ƒv‚Æmob‚ð”z’u - -conf/npc_monster35.txt - mob‚Ė”z’u - -conf/npc_warp_amatsu.txt -@@ “V’Ãwarp point‚ĖÝ’u - -conf/npc_warp_gonryun.txt - ›Ā›Äwarp point‚ĖÝ’u - -conf/npc_town_amatsu.txt -@@ Žb’č“I‚Ƀvƒƒ“ƒeƒ‰•ސ…‘OĐĻ“V’Í`^ƒvƒƒ“ƒeƒ‰•ސ…‘OĐĻ›Ā›Ä‚ĖÚ‘ąNPC - --------------- -//0570 by code -“V’ÃtƒB[ƒ‹ƒh‚ĖMOB‚Ė”z’u‚ƃ[ƒvƒ|ƒCƒ“ƒg‚ĖÝ’č‚Å‚·B -conf/npc_monster35.txt - mob‚Ė”z’u - -conf/npc_warp_amatsu.txt -@@ warp point‚ĖÝ’u - -conf/npc_town_amatsu.txt -@@ Žb’č“I‚Ƀvƒƒ“ƒeƒ‰•ސ…‘OĐĻ“V’Í`‚ĖÚ‘ąNPC - --------------- -//0569 by Ž€_ - -E0561‚Ė@jobcange ‚Å‚ĖŠƒo[ƒh•‰ƒ_ƒ“ƒT[‚É‚æ‚éˆÆ—Ž‚ŋ–hŽ~‚ðpc_jobchange()‚Å‚·‚邿‚Ī‚É•ÏXB -E@ƒRƒ}ƒ“ƒh@party’Į‰ÁBƒp[ƒeƒB‚ðė‚é–―—߂ł·BŠØ‘ˆÆ‚ðŽg‚Ī‚Æƒp[ƒeƒB‚ðė‚鎞Ž~‚Ü‚é‚Ė‚Å—ÕŽž“I‚É‚ą‚ę‚ðŽg‚Á‚ăp[ƒeƒB‚ðė‚Á‚Ä‚­‚ū‚ģ‚ǁB -E…‚Ė”ŧ’fˆ—CģB -Eƒ}ƒbƒvƒtƒ‰ƒO‚Éwater‚Æall_water’Į‰ÁBÚ‚ĩ‚­‚Ínpc_water.txt‚ðŽQl‚ĩ‚Ä‚­‚ū‚ģ‚ǁB -iz_dun0x‚ū‚Ŋ“ü—Í‚ĩ‚Ăǂ܂·‚˂őž‚Ė‚Í–„‚߂Ă­‚ū‚ģ‚ǁBƒ}ƒbƒvƒtƒ‰ƒOwater‚Đall_water‚Š“ü‚Á‚Ä‚Č‚Ē‚ÆƒZƒ‹‚Ėtype‚Š3‚ł␅‚Æ‚ĩ‚Ä”FŽŊ‚ĩ‚Ü‚đ‚ņB‚ŧ‚ĩ‚Đ…‚ū‚į‚Ŋ‚Ėiz_dun02‚Đ‚į04‚܂ł͑S‚Đ…‚Æ‚ĩ‚Ä”FŽŊ‚·‚邿‚Ī‚Éall_water‚ð“ü‚ę‚Ăǂ܂·B(‚ą‚ęˆČŠO‚Í•û–@‚Š‚Č‚Đ‚Á‚―‚Ė‚Å...) -Ebattle_athena.conf‚ɍ€–Ú’Į‰ÁBˆę•”‚ÍWeiss‚ðŽQl‚ĩ‚čė‚Á‚―•ςł·B -EƒeƒXƒg‚ĩ‚Ä‚Č‚Ē•Ļ‚ā­‚ĩ‚ ‚č‚Ü‚·B - (/conf) - atcommand_athena.conf CģB - battle_athena.conf CģB - map_athena.conf CģB - npc_water.txt ’Į‰ÁB - (/doc) - conf_ref.txt CģB - (/map) - atcommand.hAatcommand.c CģB - battle.h CģB - battle.c - battle_config_read() CģB - pc.c - pc_jobchange()Apc_stop_walking() CģB - npc.c - npc_parse_warp()Ado_init_npc()Anpc_parse_mapflag() CģB - mob.c - mob_ai_sub_hard() CģB - pet.c - pet_food() CģB - skill.c - skill_check_condition() CģB - map.h - struct map_data CģB - --------------- -//0568 by ˆø‘ސl - -EƒAƒNƒAƒxƒlƒfƒBƒNƒ^…ę”ŧ’č‚Č‚Į -EƒEƒH[ƒ^[ƒ{[ƒ‹…ę”ŧ’čiread_gat(m,x,y)==3‚Ő…ę‚Æ”ŧ’čj - skill.c - skill_castend_nodamage_id() - case AL_HOLYWATER: ƒAƒNƒAƒxƒlƒfƒBƒNƒ^iđ…Žæ“ūj - skill_check_condition() - case AL_HOLYWATER: ƒAƒNƒAƒxƒlƒfƒBƒNƒ^i…ę”ŧ’čj - case WZ_WATERBALL: ƒEƒH[ƒ^[ƒ{[ƒ‹i…ę”ŧ’čj - --------------- -//0567 by ‚é‚é‚é - -EƒAƒRƒ‰ƒCƒg‚ĖƒAƒNƒAƒxƒlƒfƒBƒNƒ^‚ð‰žŽĀ‘•i…ęŒĀ’čŽg—p‚Ė‚Ý–ĒŽĀ‘•j -EƒvƒŠ[ƒXƒg‚ĖƒAƒXƒyƒ‹ƒVƒIAƒZ[ƒW‚ĖƒtƒŒƒCƒ€ƒ‰ƒ“ƒ`ƒƒ[‚ŃXƒLƒ‹Žg—pŽž‚ɃAƒCƒeƒ€Á”ï -Eƒ~ƒXƒgƒŒƒXƒJ[ƒh‘•”õŽž‚ɃZ[ƒW‚ˑېŦŒīÎ•ƒnƒ“ƒ^[‚ĖãĐ‚ŠÁ”ï‚ģ‚ę‚Č‚ĒƒoƒO‚ðCģ - - (/map) - skill.c - skill_check_condition() Cģ - --------------- -//0566 by ƒpƒCƒ“ - -E0563‚ĖƒXƒLƒ‹‰ðœðŒ‚ŠŠÔˆá‚Á‚Ăǂ―‚Ė‚ÅCģB•Ší‚ð‚Í‚ļ‚·&•Ší‚ð•Ï‚Ķ‚―ę‡‚Í -@–ģðŒ‚Å‰ðœ‚·‚邿‚΂ɂĩ‚―B - -# pc_checkallowskill ‚É‚Â‚Ē‚Ä(‘O‰ņā–ū‘‚­‚Ė‚ð–Y‚ę‚Ăǂ―‚˂Łc) -@ˆę‰žĄŒã‚ĖŠÜ‚Ý‚Æ‚ĩ‚Äreturn‚ð•Ô‚·‚æ‚΂ɂĩ‚Ăǂ܂·‚ЁAŒŧÝ‚Í(–߂萿‚Å‚Í)Žg‚Á‚Ăǂ܂đ‚ņB -@ĄŒŧÝ‚Í‹RŽmEƒNƒ‹ƒZƒCƒ_[‚­‚į‚Ē‚ĩ‚ĐƒXƒLƒ‹Žg—pŽž‚Ė•Ší§ŒĀ‚Š‚ ‚č‚Ü‚đ‚ņ‚ЁAĄŒão‚Ä‚ą‚Č‚Ē -@‚Æ‚āŒĀ‚į‚Ȃǂ˂ŁA‚ā‚ĩ(2ŽŸãˆĘ‚Đ3ŽŸH)o‚Ä‚Ŧ‚―‚į‚ą‚ą‚Ń`ƒFƒbƒN‚ĩ‚Ä‚­‚ū‚ģ‚ǁB - - (/map) - pc.c - pc_checkallowskill() Cģ - --------------- -//0565 by ˆø‘ސl - -Eƒ}ƒbƒvˆÚ“ŪŽž‚É–î‘•”õ‚ŠŠO‚ę‚Ȃǂæ‚Ī‚ÉCģ -EƒƒOƒCƒ“Žž‚É–î‘•”õ‚Š•\ŽĶ‚ģ‚ę‚邿‚Ī‚ÉCģ - (/common) - mmo.h - i–î‘•”õ‚Í0x8000‚Ȃ˂Łjshort‚ū‚Æint‚Ö‚ĖƒLƒƒƒXƒgŽž‚Č‚Į‚É - •‰’l‚Æ‚Č‚Á‚Ä‚ĩ‚܂΂―‚ßunsigned short‚ɏCģ - struct item - short equip; -> unsigned short equip; - (/map) - clif.c - clif_itemlist() ƒAƒCƒeƒ€ƒŠƒXƒg‚Ė–î‚Ė‚Â‚Ē‚Å‚É–î‘•”õ‚āƒ`ƒFƒbƒN - clif_arrowequip() ƒVƒ“ƒvƒ‹‰ŧ - pc.c - pc_equipitem() Cģ - --------------- -//0564 by g—t - -E@model‚Ė•žõ‚ß•s‰Â”\”ŧ’čCģB -E@model‚ŁA‘I‚Ũ‚éƒnƒY‚Ė”ŊŒ`‚ɕύXo—ˆ‚ȂЂÁ‚―•”•Š‚ðCģB -@ã‹L•ύX“_‚ɍ‡‚í‚đ‚Ähelp.txt‚ĖCģB - --------------- -//0563 by ƒpƒCƒ“ - -EMOB‚ĖˆÃˆÅƒXƒLƒ‹‚ðH‚į‚Á‚―Œã‚ɉņ•œ‚ĩ‚Ȃǂ˂ðCģBc‚Č‚ņ‚ū‚Ŋ‚ĮA“Kģ‚Č’l‚Š•Š‚Đ‚į‚Ȃǂ˂Š-@“Å‚â’ū–Ų‚Æ“Ŋ‚ķŽžŠÔ‚É‚ĩ‚Ä‚ ‚č‚Ü‚· -@ĄŒãA‚Ü‚―Žč‚ð‰Á‚Ķ‚é‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņB -E2HQ‚ƃXƒsƒAƒNƒCƒbƒPƒ“‚ðŽg—p’†‚É•Ší‚ð•Ï‚Ķ‚―ę‡‚Í‰ðœ‚·‚邿‚Ī‚É•ÏXB - - (/map) - skill.c - skill_castend_damage_id() CģB - skill_status_change_timer() CģB - pc.c - pc_checkallowskill() VÝB - pc_equipitem() CģB - pc.h - pc_checkallowskill() VÝB - --------------- -//0562 by huge - -E–î‚ð‹|‘•”õŽžˆČŠO‚ł⑕”õ‚Å‚Ŧ‚邿‚΂ɖ߂ĩ‚Ü‚ĩ‚―B -E–î‚ˑېŦ‚ð“K—p‚·‚é‚Ė‚ð‹|‘•”õŽž‚Ė‚Ý‚ÉCģB - - pc.c - pc_equipitem() CģB - pc_calcstatus() CģB - --------------- -//0561 by ˆø‘ސl - -ELinux‚Å‚āƒRƒ“ƒpƒCƒ‹‚Å‚Ŧ‚邿‚Ī‚É - (/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‚ɐŦ•Ęƒ`ƒFƒbƒN’Į‰Á - -// ƒiƒiƒX‚ģ‚ņCģ -Eclif.c“ā‚Åatcommand.h‚ð‚Q“xinclude‚ĩ‚Ăǂ―‚Ė‚Åˆę‚폜B -Eƒp[ƒeƒB[‰ï˜bAƒMƒ‹ƒh‰ï˜b‚Å‚ā@ƒRƒ}ƒ“ƒh‚ðƒ`ƒFƒbƒN‚·‚邿‚Ī‚ÉCģB - (/map) - clif.c - clif_parse_PartyMessage()Aclif_parse_GuildMessage CģB - --------------- -//0560 by ƒpƒCƒ“ - -E0559 ‚Ė athena-start ‚ð Unix Like OS ‚Å‚ā“Ū‚­‚æ‚Ī‚ÉƒŠƒtƒ@ƒCƒ“B - --------------- -//0559 by rowla - -Eathena.sh‚ð‘S–Ę“I‚ɏ‘‚Ŧ’ž‚ĩAathena-start‚ɁBathena-start start‚ÅŠJŽnAathena-start stop‚ŃT[ƒo[’âŽ~Bcygwin‚ŃeƒXƒgA*BSD|Linux‚Å‚Í–ĒƒeƒXƒg(ŠÂ‹Ŧ‚ЂȂǂ―‚ß)B - --------------- -//0558 by Ž€_ - -EƒuƒŠƒbƒcƒr[ƒg‚ðŽĐ“Ū‚ū‚Ŋ‹|‚ð‘•”õ‚ĩ‚Ä‚Ē‚Č‚Ē‚Æ”­“Ū‚Å‚Ŧ‚Ȃǂæ‚Ī‚É•ÏXB(Žč“Ū‚Í•Ší‚ÉŠÖŒW‚Č‚­Žg‚͂܂·B) –ĒƒeƒXƒgB -Eƒgƒ‰ƒbƒv‚Ėd‚ģCģB(‰―ŒĖ‚Ђ͒m‚į‚ȂǂŊ‚Į100‚ɂȂÁ‚Ăǂ―‚Ė‚ð10‚ɏCģBˆö‚݂ɑq‚Ė•\ŽĶ‚Í100‚Š10‚Å10‚Š1‚Å‚·B) -E‹|‚ÅŽg‚ĪƒXƒLƒ‹‚Ėę‡–Œļ‚į‚Č‚Ē‚Ė‚ŠŽd—l‚ū‚Á‚―‚ÆŠo‚͂Ăǂé‚˂Ŗî‚ðƒ`ƒFƒbƒN‚ĩ‚Ȃǂæ‚Ī‚ÉCģB -Eƒ‚ƒ“ƒNƒXƒLƒ‹ŽO’iķ‚Ė•\ŽĶ‚ðƒpƒbƒVƒu‚ɕύXB -Eƒ}ƒbƒvƒtƒ‰ƒO‚ðƒZƒbƒg‚·‚鎞dummy‚ЂȂ­‚Ä‚āƒZƒbƒg‚Å‚Ŧ‚邿‚Ī‚ÉCģB -(mapflag nomomo dummy‚Đ‚įmapflag nomemo‚Å‚ā‘åä•v‚Č‚æ‚Ī‚É•ÏXB) -–ĒƒeƒXƒgB - (/db) - item_db.txt CģB - skill_db.txt CģB - (/map) - skill.c - skill_check_condition()Askill_additional_effect() CģB - skill_status_change_start() CģB - npc.c - do_init_npc() CģB - --------------- -//0557 by huge - -E–î‚ðA‹|‘•”õŽž‚Ė‚Ý‘•”õ‚Å‚Ŧ‚邿‚Ī‚ÉCģB -E‹|‚ð‘•”õ‚Đ‚įŠO‚ĩ‚―‚įA–î‚āŠO‚ę‚邿‚Ī‚ÉCģB -E–î‚ðÁ”ï‚·‚éƒXƒLƒ‹‚ð‚Ē‚­‚Â‚ĐCģB -E‘é‚ðA‹|‚ð‘•”õ‚ĩ‚Ăǂ邯‚Ŧ‚Ė‚Ý”­“Ū‚·‚邿‚Ī‚ÉCģB(–ĒƒeƒXƒg) - - pc.c - pc_equipitem() CģB - pc_unequipitem() CģB - skill.c - skill_additional_effect() CģB - skill_check_condition() CģB - --------------- -//0555 by Ž€_ - -EŨ‚Đ‚ĒCģ‚ƃvƒŒƒ[ƒ“ƒgƒ{ƒbƒNƒXAŒÃ‚ĒŠŠ•Ļ‚ĖƒoƒOCģB -E@ƒRƒ}ƒ“ƒh@refineA@produce­‚ĩCģB -EƒT[ƒo[‚ĖIP‚ÉDNS–ž‚ðŽg‚͂邿‚Ī‚É•ÏXB(Ą‚ģ‚į‚Å‚·‚ŠYare‚Đ‚į -Ž‚Á‚Ä‚Ŧ‚―•ςł·B) -EƒXƒeƒB[ƒ‹ŒvŽZŽŪ•ύX‚ÆMVPƒAƒCƒeƒ€ˆ—•ύXB -E“XNPC‚ð—˜—p‚É‚æ‚éƒWƒ‡ƒuŒoŒą’lŠl“ūŒvŽZŽŪ•ύXB - Šl“ūƒWƒ‡ƒuŒoŒą’l = ln(‹ā*ƒXƒLƒ‹ƒŒƒxƒ‹) * shop_exp / 100 -E‚Ų‚Æ‚ņ‚ĮƒeƒXƒg‚ĩ‚Ä‚Č‚Ē‚Ė‚ÅƒoƒO‚Ė‰Â”\Ŧ‚Š‚ ‚č‚Ü‚·B - help.txt CģB - (/conf) - atcommand_athena.conf CģB - battle_athena.conf CģB - (/db) - item_db.txt CģB - (/doc) - conf_ref.txt CģB - (/char) - char.c - do_init()Acheck_connect_login_server() Cģ‚Ə­‚ĩCģB - (/map) - mob.c - mob_damage() CģB - pc.c - pc_getitemfromcart()Apc_steal_item() CģB - pet.c - pet_return_egg()Apet_get_egg()Apet_unequipitem() CģB - script.c - buildin_getitem() CģB - skill.c - skill_produce_mix() CģB - storage.c - storage_storageget() CģB - atcommand.c CģB - map.c - map_config_read() Cģ‚Ə­‚ĩCģB - chrif.c - check_connect_char_server()Ado_init_chrif()Achrif_setip() Cģ‚Ə­‚ĩCģB - npc.c - npc_buylist()Anpc_selllist() CģB - --------------- -//0554 by NOCTURNE -EƒT[ƒo[SnapShot -Etoo/addaccount‚Ėíœ -Ehelp.txt‚ĖXV - --------------- -//0553 by ŒÓ’ą—– - -Eladmin‚ĖƒoƒOCģ‚Æ‹@”\’Į‰Á - EƒL[ƒ[ƒh‚É‚æ‚éƒAƒJƒEƒ“ƒgŒŸõ‹@”\’Į‰Á - EƒVƒFƒ‹ƒRƒ}ƒ“ƒh‚Æ‚ĩ‚ÄŽg—p‚Å‚Ŧ‚邿‚Ī‚Éƒvƒƒ“ƒvƒg‚ðŽg‚í‚Č‚Ēƒ‚[ƒh’Į‰Á - E’Į‰Á‹@”\‚É‚Â‚Ē‚Ä‚Íladmin‚ðŒĐ‚Ä‚­‚ū‚ģ‚Ē - E ladmin‚Ė--makesymlink‚É‚æ‚čAƒVƒ“ƒ{ƒŠƒbƒNƒŠƒ“ƒN‚Æ‚ĩ‚Äaddaccount‚ð - ėŽ‚·‚é‚―‚߁AˆČ‘O‚Ėaddaccount‚͍폜‚·‚é•K—v‚Š‚ ‚č‚Ü‚·B - ‚ą‚ę‚į‚ĖƒVƒ“ƒ{ƒŠƒbƒNƒŠƒ“ƒN(Cygwin‚ł̓Vƒ‡[ƒgƒJƒbƒg)‚ƁA - ŒÃ‚Ēaddaccount‚ÍŽIsnapshot‚É‚ÍŠÜ‚Ü‚Č‚Ē‚Å‰š‚ģ‚ǁB - - (tool/) - ladmin - ‹@”\’Į‰Á‚ƏCģ - -E—ŦƒAƒJƒEƒ“ƒg‚ĩ‚ĐėŽ‚Å‚Ŧ‚Č‚ĒƒoƒOCģ -EladminAcheckversionŽg—pŽžloginƒT[ƒo[‚Š–\‘–‚·‚éƒoƒOCģ -EGMƒAƒJƒEƒ“ƒgŽü•Ó‚ĖID‚ð”ð‚Ŋ‚é‚―‚ß‚ÉSTART_ACCOUNT_NUM‚ð•ύX - (Šų‚ÉGMƒAƒJƒEƒ“ƒg‚Í”ð‚Ŋ‚éŽd—l‚ɂȂÁ‚Ăǂ܂·‚ЁAŽ—–hŽ~‚Ė‚―‚ß) - - (login/) - login.h - START_ACCOUNT_NUM‚ð500000‚Đ‚į2000000‚ɕύX - login.c - 7532(Ø’f)ƒpƒPƒbƒg‚Ėˆ—Cģ - mmo_auth_new()Cģ - -Ebackup‚ŠƒoƒbƒNƒAƒbƒv‚·‚éƒtƒ@ƒCƒ‹‚Épet.txt‚ð’Į‰Á - (tool/) - backup - ƒtƒ@ƒCƒ‹’Į‰ÁCģ - --------------- -//0552 by Ž€_ - -EˆĀ’čŦ‚ðã‚°‚éˆŨ‚ĖCģ‚Å‚·‚Š–{“–‚ÉˆĀ’čŦã‚Š‚Á‚―‚Đ -‚Į‚Ī‚Đ‚Í•s–ū‚Å‚·B -EPVP‚É‚æ‚čƒNƒ‰ƒCƒAƒ“ƒg‚Š—Ž‚ŋ‚é–â‘čCģB - atcommand.c - @pvpoffA@pvponA@gvgonA@gvgoff CģB - script.c - buildin_pvpon()Abuildin_pvpoff()Abuildin_gvgon()Abuildin_gvgoff() CģB - clif.c - clif_pvpset() CģB - skill.c - skill_attack()Askill_unit_onplace()Askill_unit_onout() CģB - skill_unit_ondelete() CģB - --------------- -//0551 by Kalen -EDBCģ - db/create_arrow_db.txt ŠŪŽ - SourceID‡‚Ƀ\[ƒg‚ĩ‚Ü‚ĩ‚―B - --------------- -//0550 by huge - -E–îėŽƒXƒLƒ‹ŽĀ‘• - - 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 - ƒIƒŠƒWƒiƒ‹ƒXƒNƒŠƒvƒgA‹GßŒĀ’čƒXƒNƒŠƒvƒg‚ðŪ“Ú - shop3.txt’Į‰Á - -EŠeŽíNPC’Į‰Á•Cģ - npc_event_yuno.txt [’Į‰Á]ƒWƒ…ƒm[ƒCƒxƒ“ƒg(ÂÎ5ŒÂGET) - npc_cTower.txt [’Į‰Á]’nã’n‰š‚ĖŒŪNPC - npc_town_yuno.txt [Cģ]‘䎌Cģ - - npc_event_carnival.txt [’Į‰Á]‹ŒŽIƒJ[ƒjƒoƒ‹ƒCƒxƒ“ƒgŽž‚ĖNPC - --------------- -//0548 by huge - -E–î‚ð‘•”õ‚ĩ‚―Žž‚Ė•\ŽĶƒoƒO–â‘č‚ðCģB - clif.c - clif_arrowequip() CģB - pc.c - pc_equipitem() CģB - -‚ ‚Ƃ́Aƒ}ƒbƒv‚ðˆÚ“Ū‚·‚é‚―‚҂ɑ•”õ‚ŠŠO‚ę‚ŋ‚á‚Ī“_‚Å‚·‚ˁEEEB - --------------- -//0547 by Ž€_ - -EˆĀ’čŦ‚ðã‚°‚éˆŨ‚ĖCģ‚ƍŨ‚Đ‚ĒCģB -EƒXƒLƒ‹ƒ†ƒjƒbƒg‚Ė”ŧ’č‚ð‚ĩ‚ĂǂéŠÔƒƒ‚ƒŠ[‚ð‰ðœ‚Å‚Ŧ‚Ȃǂæ‚Ī‚É•ÏXB - map.c - map_foreachinarea()Amap_foreachinmovearea() CģB - map_foreachobject() CģB - block_free_max‚ð32000‚Đ‚į50000‚ɕύXB - pc.c - pc_calcstatus() CģB - skill.c - do_init_skill()Askill_unit_timer()Askill_status_change_clear() CģB - skill.cAbattle.cAbattle.h - struct battle_config‚Ėsanctury_type‚ðsanctuary_type‚ɕύXB - (‰pŒęƒXƒyƒ‹ŠÔˆá‚Ē‚ÅCģB) - battle_athena.conf - sanctury_type‚ðsanctuary_type‚ɕύXB - conf_ref.txt - sanctury_type‚ðsanctuary_type‚ɕύXB - --------------- -//0546 by Ž‚Žqo^.^o - -conf/npc_shop2.txt -DƒoˆęƒhAƒ_ƒ“ƒTˆę—p‚Ė•ŠíBƒRƒ‚ƒh‚Ė•Ší‰Ū‚Ŕ˔„‚ĩ‚ĂǂéB -Dƒ‚ƒ“ƒN—p‚Ė•ŠíBƒJƒsƒgˆęƒŠƒiC“đ‰@‚Ŕ˔„‚ĩ‚ĂǂéB - --------------- -//0545 by Ž€_ - -EƒuƒŠƒbƒc‚Ėƒ_ƒ[ƒW‚ðŽĐ“Ū‚Å•ŠŽUAŽč“Ū‚Å•’ƂɂȂ邿‚Ī‚É•ÏXB -EƒI[ƒgƒuƒŠƒbƒcƒoƒOCģB(‚ą‚ę‚Å‘åä•v‚ū‚Æ‚Ē‚Ē‚Ŋ‚Į...) - map.c - block_free_max‚ð16000‚Đ‚į32000‚ɏCģB - block_list_max‚ð4096‚Đ‚į5120‚ɏCģB - battle.c - battle_weapon_attack() CģB - skill.c - skill_attack()Askill_castend_damage_id() CģB - --------------- -//0544 by Diex -E–Ō—īŒ‚Đ‚įˆĒC—…”e™€Œ‚Ö‚ĖƒRƒ“ƒ{ŽĀ‘•B -EˆĒC—…”e™€Œ”­“ŪŒãA“G‚Ė”wŒã‚ÉˆÚ“Ū‚·‚邿‚΁ACģB -EŽO’iķ‚Ėƒ_ƒ[ƒWCģB - (/map) - skill.c - skill_castend_damage_id() CģB - skill_check_condition() CģB - skill_use_id() CģB - pc.c - pc_attack_timer() CģB - pc_authok() CģB - battle.c - battle_calc_weapon_attack() CģB - battle.h - struct Battle_Config CģB - map.h - struct map_session_data CģB - (/conf) - battle_athena.conf CģB - -‚Í‚Á‚Ŧ‚č‚Ē‚Á‚ăRƒ“ƒ{Œq‚°‚Âį‚ǂł·B‚ŧ‚Ė‚―‚ßˆĒC—…‚Ö‚ĖƒRƒ“ƒ{‚͂ЂȂčŠÃ‚Ē”ŧ’č‚É -‚ĩ‚Ă܂·iˆęŽž“I‚ɂł·‚ЁjBŒq‚°‚Âį‚Ŋ‚ę‚Îbattle_athena.conf‚Ė‚Ų‚Ī‚Åƒfƒ…ƒŒƒCŽž -ŠÔ‚ð‘å‚Ŧ‚­‚ĩ‚Ă݂Ă­‚ū‚ģ‚ǁB - “Ū‰æŒĐ‚ĂċC‚Ã‚Ē‚―‚˂ł·‚ЁAˆĒC—…”e™€Œ‚Í–Ō—īŒ‚Š”­“Ū‚ĩ‚―ŒãA‘ĶŽž”­“Ū‚ĖƒXƒL -ƒ‹‚ɕςí‚Á‚Ă邿‚΂Ȃ˂ł·B‘ž—Í–{Šč‚Å‚·‚ЁAˆĒC—…‚Ü‚Å‚ĖƒRƒ“ƒ{‚ĖƒpƒP‚ð‹L˜^‚ĩ‚― -•Ļ‚ð‚Į‚Č‚―‚ĐƒAƒbƒv‚ĩ‚Ä‚ā‚į‚͂Ȃǂłĩ‚å‚Ī‚ĐHÚŨ‚Š‚í‚Đ‚čŽŸ‘æACģ‚ĩ‚Ü‚·B - --------------- -//0543 by Ž€_ - -EƒuƒŠƒbƒc‚Ėƒ_ƒ[ƒW‚𕊎U‚ģ‚ę‚邿‚Ī‚É•ÏXB -E•’Ę‚ĖƒAƒJƒEƒ“ƒgė‚č‚Å‚ÍGMƒAƒJƒEƒ“ƒg‚ðė‚ę‚Ȃǂæ‚Ī‚É•ÏXB -(‘O‚ÉŽĐ•Š‚Š“ü‚ę‚―•ςЂȂ­‚Č‚Á‚―‚˂Ŗ߂ĩ‚―‚ū‚Ŋ‚Å‚·‚Š...) -EŽæ‚芊‚Ŧ‚ŠŽå‚Æˆę‚ÉŽ€‚Ę‚æ‚Ī‚É•ÏXB(‚―‚ū‚ŋ‚å‚Á‚Əd‚­‚Č‚é -‰Â”\Ŧ‚Š‚ ‚č‚Ü‚·B) –ĒƒeƒXƒgB -EMVPŒoŒą’l‚Š•\ŽĶ‚ū‚Ŋ‚ģ‚ę‚ÄŽĀÛ‚É‚Í“ü‚Á‚ĂȂǖâ‘čCģB - (/login) - login.c - mmo_auth_new() CģB - (/map) - skill.c - skill_castend_damage_id() CģB - battle.c - battle_calc_misc_attack() CģB - mob.c - mob_damage() CģB - mob_deleteslave()Amob_deleteslave_sub() ’Į‰ÁB - --------------- -//0542 by Ž€_ - -EƒI[ƒgƒuƒŠƒbƒcƒoƒOCģB(Ą“x‚ą‚ŧ‘åä•v‚Ė‚Í‚ļ...) -EŽĐ•Š‚ÉŽg‚Á‚―ƒq[ƒ‹‚ł͌oŒą‚Š“ü‚į‚Ȃǂæ‚Ī‚É•ÏXB -E“XNPC‚ð—˜—p‚É‚æ‚éƒWƒ‡ƒuŒoŒą’lŠl“ūŒvŽZŽŪ•ύXB - Šl“ūƒWƒ‡ƒuŒoŒą’l = ln(‹ā) * shop_exp / 100 -‚ɂȂč‚Ü‚·B -log‚ðŽg‚Ī‚ą‚Æ‚Å‹ā‚Š‘―‚­‚Ä‚ā“ü‚éŒoŒą’l‚Š‘―‚­“ü‚į‚Ȃǂæ‚Ī‚É•ÏX‚ĩ‚Ü‚ĩ‚―B - (/map) - battle.c - battle_damage() CģB - skill.c - skill_attack()Askill_castend_damage_id() CģB - skill_castend_nodamage_id CģB - npc.c - npc_buylist()Anpc_selllist() CģB - map.c - map_foreachinarea()Amap_foreachinmovearea()Amap_foreachobject() - CģB(‘å‚ĩ‚―Cģ‚Å‚Í‚Č‚Ē‚Å‚·B) - (/conf) - battle_athena.conf CģB - (/doc) - conf_ref.txt CģB - --------------- -//0541 by huge - -E–î‚ð‚܂Ƃ߂ϝ‚Ă邿‚Ī‚ÉCģB -E‹|‚ōUŒ‚‚ĩ‚―‚Æ‚Ŧ‚ɁA‘•”õ‚ĩ‚Ăǂé–î‚ðÁ”ï‚·‚邿‚Ī‚ÉCģB - - 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 Ž€_ - -EƒoƒOCģ‚Æ–â‘č‚ ‚č‚ŧ‚Ī‚ČŠCģB(‚ą‚ę‚ÅWZ_FIREPILLAR‚ƃuƒŠƒbƒc‚É -‚æ‚éŽIƒ_ƒEƒ“‚͂Ȃ­‚Č‚é‚Í‚ļ...) - map.c - map_foreachinarea()Amap_foreachinmovearea() CģB - skill.c - skill_unitsetting()Askill_delunitgroup() CģB - pc.c - pc_damage() CģB - battle.c - battle_damage() CģB - npc.c - npc_parse_mob() CģB - mob.c - mob_spawn_dataset() CģB - --------------- -//0539 by Ž€_ - -Eclif_pvpset()‚ðƒ}ƒbƒv‚Đ‚įAREA‚Đƒ}ƒbƒv‚Đ‚ðÝ’č‚Å‚Ŧ‚邿‚Ī‚É•ÏXB(pvp‚ĖŽž‚Ėˆ—‚Í0535ˆČ‘O‚˕ςɖ߂ŧ‚Ü‚ĩ‚―BŽĐ•Š‚ū‚Ŋ‚É“]‘—‚ĩ‚Ä‚ā‚ǂǂæ‚΂ȋC‚ā‚ĩ‚Ü‚·‚Š...) - clif.hAclif.c - clif_pvpset() CģB - clif_parse_LoadEndAck() CģB - script.c - buildin_pvpoff() CģB - buildin_pvpon() CģB - atcommand.c CģB -EUŒ‚“r’†‚ŃAƒCƒeƒ€‚ðE‚Ī‚ÆUŒ‚‚ŠŽ~‚܂邿‚Ī‚ÉCģB - pc.c - pc_takeitem() CģB -E0535ā–ū‚Š”š—ô”g“ۂɂȂÁ‚Ä‚Ē‚é‚Š‚ŧ‚ę‚Í‹ā„‚ÉŠÔˆá‚ǂł·B -E0537‚Őā–ū‚ð–Y‚ę‚Ü‚ĩ‚―‚Šƒ‚ƒ“ƒXƒ^[‚Ėdef‚Æmdef‚ð10000ˆČã‚ɐݒ肷‚ę‚ΑS‚Ä‚ĖUŒ‚‚É1ƒ_ƒ[ƒW‚É‚Č‚éƒ‚ƒ“ƒXƒ^[‚ɂȂč‚Ü‚·B‚ŧ‚ĩ‚ă‚ƒ“ƒXƒ^[î•ņ‚Ådef‚Æ -mdef‚Š10000ˆČã‚Ėę‡def 100Amdef 99‚É•\ŽĶ‚·‚邿‚Ī‚É•ÏXB–{ŽIŽd—l‚É -‚·‚é‚É‚Ímob_db.txt‚ðCģ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB - --------------- -//0538 by huge - -EƒOƒŠƒ€ƒgƒD[ƒX‚ð”͈͍UŒ‚‚ɏCģ -EƒTƒvƒ‰ƒCƒYƒAƒ^ƒbƒNŽĀ‘• (—LŒø”͈͂Á‚āA‚ą‚ę‚Å‚ ‚Á‚Ä‚é‚Ė‚Đ‚ČH) -EƒoƒbƒNƒXƒ^ƒu‚ˉžŽĀ‘• - –{ŽI‚Å‚â‚Á‚Ä‚él‚Đ‚į˜b‚ð•·‚Ē‚ÄAęŠŽw’č‚ķ‚á‚Č‚­‚Ä - ƒ^ƒQŽæ‚Á‚Ä‚ā—Į‚ģ‚ŧ‚Ī‚ū‚Á‚―‚Ė‚Å•ÏX‚ĩ‚Ü‚ĩ‚―Bi‚â‚č‚â‚·‚Đ‚Á‚―‚˂Š(^^; - ‚Ü‚ū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 - ƒoƒbƒNƒXƒ^ƒu‚ĖŽí—Þ‚ð[ęŠ]‚Đ‚į[“G]‚֕ύX - --------------- -//0537 by Ž€_ - -EƒXƒeƒB[ƒ‹ƒoƒOCģ‚Æbattle_athena.conf‚Ė€–Ú’Į‰ÁAŽd—l•ύX‚ƍŨ‚Đ‚ĒCģ‚Å‚·B -(ƒXƒeƒB[ƒ‹‚ÍŒvŽZŽŪ‚É–â‘肊‚ ‚Á‚―‚Ė‚ÅCģ‚ĩ‚ÄŠm—Ķ‚ðX‚É—Ž‚Æ‚ĩ‚Ü‚ĩ‚―B) - battle.h - finger_offencive_type‚ðfinger_offensive_type‚ɏCģB(‰pŒęƒXƒyƒ‹ŠÔˆá‚Ē‚ÅCģ‚ĩ‚Ü‚ĩ‚―B) - struct battle_config‚Érestart_hp_rateArestart_sp_rate ’Į‰ÁB - battle.c - battle_calc_weapon_attack()Abattle_calc_magic_attack() CģB - skill.c - skill_attack() CģB - clif_skill_nodamage()‚ɃXƒLƒ‹ƒŒƒxƒ‹‚ð‘—‚é‚æ‚Ī‚É•ÏXB(M‚ģ‚ņ‚ĖŽw“E‚É‚æ‚čCģB) - clif.c - clif_skill_estimation() CģB - conf_ref.txt - finger_offencive_type‚ðfinger_offensive_type‚ɏCģ‚Ə­‚ĩ’Į‰ÁB - mob.c - mob_ai_sub_hard()Amob_target()Amob_damage() CģB - pc.c - pc_steal_item() CģB - atcommnad.cAatcommnd.h - @ƒRƒ}ƒ“ƒh@gvgon , @gvgoff ’Į‰ÁB - battle_athena.conf - finger_offencive_type‚ðfinger_offensive_type‚ɏCģ‚Ə­‚ĩ’Į‰ÁB - --------------- -//0536 by hogefuga3 (Athena staff) - -EVGRFƒtƒ@ƒCƒ‹ƒtƒH[ƒ}ƒbƒg‘Ήž -@- Athena staff —l‚ĖėŽ‚ģ‚ę‚―ƒpƒbƒ`‚ð“K—p‚ĩ‚Ü‚ĩ‚―B - XV—š—ð‚Ė•”•Š‚Íƒpƒbƒ`ƒ~ƒX‚ɂȂÁ‚―‚Ė‚ÅŽč“Ū‚Å‘g‚ݍž‚݁B - -i•ύXj - common/ - grfio.c - --------------- -//0535 by Ž€_ - -E0533‚Ė–â‘肊‚ ‚č‚ŧ‚΂ȕ”•Š‘S‚ďCģBCģ‚ĩ‚―Š‚ð‘S•”ƒ`ƒFƒbƒN‚ĩ‚ĂȂЂÁ‚―‚Ė‚ÅCģ‚ĩ‚―ƒtƒ@ƒCƒ‹‚ū‚Ŋ... -EƒXƒNƒŠƒvƒgsetmapflagnosave ’Į‰ÁB - setmapflagnosave ƒ}ƒbƒv–žAƒZ[ƒu‚·‚éƒ}ƒbƒv–žAĀ•W(XAY) - nosaveƒtƒ‰ƒO‚ðon‚É‚ĩ‚Ü‚·B -Ebattle_athena.conf‚É’Į‰Á‚Æˆę•”Žd—l•ύXB(Ú‚ĩ‚­‚Íconf_ref.txt‚ðŽQl‚ĩ‚Ä‚­‚ū‚ģ‚ǁB) -Eƒ‚ƒ“ƒXƒ^[‚Ėdef‚Æmdef‚Š10000ˆČã‚Ėę‡‘S‚Ä‚ĖUŒ‚(ƒNƒŠƒeƒBƒJƒ‹ŠÜ‚ß‚Ä)‚Š1ƒ_ƒ[ƒW‚ɂȂ邿‚Ī‚É•ÏXB(ƒgƒ‰ƒbƒv‚âƒuƒŠƒbƒc‚Ėę‡—ž•û‚Š10000ˆČã‚Ėę‡‚Ė‚Ý1‚ɂȂč‚Ü‚·B) ‘‚ƃLƒmƒR‚É‚Pƒ_ƒ[ƒWŒÅ’č‚͍폜‚ĩ‚Ü‚ĩ‚―B(ŒģX–{ŽI‚Å‚ā1ŒÅ’č‚Å‚Í‚Č‚Ē‚Å‚·Bļ—û“™‚É‚æ‚éˆø‚Ŧã‚°ƒ_ƒ[ƒW‚Í‚ŧ‚Ė‚Ü‚Üo‚Ü‚·‚Ė‚Å... ŒÅ’č‚ĩ‚―‚ǂ˂Ȃįdef‚Æmdef‚ð10000‚É‚ĩ‚Ä‚­‚ū‚ģ‚ǁBŽĀ‚Í‚ą‚ę‚̓NƒŠƒXƒ^ƒ‹‚ɈŨ‚ɍė‚ë‚Ī‚Æ‚ĩ‚―•ςł·‚Š...) -E”š—ô”g“Ū‚ĖŽžƒAƒCƒeƒ€‚É‚æ‚éƒXƒLƒ‹‚ÍŽg—p‚Å‚Ŧ‚邿‚Ī‚ÉCģB -E‚ŧ‚Ė‘ž­‚ĩCģB(Cģ‚˕ς˒†‚ɃeƒXƒg‚ĩ‚ĂȂǕς₠‚č‚Ü‚·B) - (/doc) - conf_ref.txt CģB - (/conf) - battle_athena.conf CģB - (/map) - battle.h CģB - battle.c CģB - mob.h CģB - mob.c CģB - skill.c CģB - npc.c CģB - pc.c CģB - script.c CģB - clif.c CģB - chrif.c CģB - --------------- -//0534 by Diex - -EƒRƒ“ƒ{ƒVƒXƒeƒ€‰žŽĀ‘• - map/ - battle.c - battle_weapon_attack() CģB - clif.c - clif.h - clif_combo_delay()@ŠÖ”’Į‰ÁB - map.h - map_session_data@•ϐ”’Į‰ÁB - pc.c - pc_authok()@•ϐ”’Į‰ÁB - pc_attack_timer()@CģB - skill.c - skill_castend_damage_id()@CģB - skill_check_condition@CģB - skill_use_id@CģB - db/ - skill_db.txt@CģB - -’j–Ō—īŒ‚Đ‚įˆĒC—…”e–PŒ‚ɂ͂܂ū‚‚Ȃ°‚Ü‚đ‚ņB - ˆĒC—…”e–PŒ‚ð•ú‚Á‚―ŒãAPC‚ÍMOB‚Ė”wŒã(?)‚ÉˆÚ“Ū‚ĩ‚Ä‚é‚Á‚Û‚Ē‚Ė‚Å‚·‚ЁA -@@‚ŧ‚ą‚į‚Ö‚ņ‚Ėî•ņ‚Š‘Ŧ‚č‚Ü‚đ‚ņBî•ņ’ņ‹Ÿ‚ĻŠč‚Ē‚ĩ‚Ü‚·B - --------------- -//0533 by ‚é‚é‚é - -E‘‚ƃLƒmƒR‚É‚Pƒ_ƒ[ƒWŒÅ’č -battle.c ‚Ė battle_weapon_attack() ‚Æ battle_calc_attack() ‚ðCģ -battle.c ‚Ė battle_get_mobid() ‚ð’Į‰Á -mob.c ‚Ė mob_makedummymobdb() ‚Æ mob_readdb() ‚ðCģ - -EƒXƒLƒ‹ƒƒO‚Ƀ‚ƒu‚ĖŒÅ—L”ԍ†•‚o‚b‚Ė‚h‚c”ԍ†‚ð•\ŽĶ -ibattle.c ‚Ė battle_get_mobid() ‚ð’Į‰Á‚ĩ‚―‚˂łŧ‚Ė‚Â‚Ē‚Å‚Éj -mob.c skill.c ‚Ė•ÏX‰ÓŠ‘―”iŠū -i"MOB %d" ‚ā‚ĩ‚­‚Í "PC %d" ‚ÅŒŸõ‚·‚ę‚ΕύX‰ÓŠ‚Š‚í‚Đ‚é‚Đ‚Æj - -Eƒnƒ“ƒ^[‚ĖãЂðŽg‚Á‚―ƒXƒLƒ‹‚ÅãЂðÁ”ï‚·‚邿‚΂ɂĩ‚― -batttle.c ‚Ė skill_check_condition() ‚ðCģ -iƒWƒFƒ€Á”—‚Ė—Ž—p‚Á‚Û‚Ē‚ą‚Æ‚ð‚â‚Á‚Ä‚é‚ņ‚ū‚Ŋ‚Įˆ—’†g‚Í—‰ð‚ĩ‚ĂȂǂ—j - -EƒTƒ“ƒNƒ`ƒ…ƒAƒŠ•ƒ}ƒOƒkƒX‚Ėƒ_ƒ[ƒW”ŧ’č‚ð•sŽ€‘ېŦ•ˆŦ–‚Ží‘°‚ɍēxCģ -0532‚ÅÄ‚ŅŒģ‚É–ß‚Á‚Ä‚ĩ‚Ü‚Á‚―‚Ė‚ð‚Ȃςĩ‚Ü‚ĩ‚―B -‚―‚ū‚ĩA‰ņ”•l””ŧ’č‚ɂ͎č‚ð‰Á‚͂Ăǂ܂đ‚ņi‚Á‚Ä‚ĐŽĐ•Š‚É‚Í‚Ü‚ūƒ€ƒŠj - -ˆČãB -Ø‚Á‚―“\‚Á‚―‚ĖŒĐ—lŒĐ^Ž—‚Å‚â‚Á‚―‚Ė‚ÅŒūŒę“I‚ɉʂ―‚ĩ‚Ä‚ą‚ę‚Å‚æ‚Ē‚Ė‚ĐBBB -‚ā‚ĩˆ—•û–@‚É–â‘č—L‚č‚ū‚Á‚―‚įCģ‚Č‚č‚ð‚ĩ‚Ăǂ―‚ū‚Ŋ‚邯Šð‚ĩ‚ǂł·B - --------------- -//0532 by Ž€_ - -ECģ‚ĩ‚―Š‚ð‘S‘Rƒ`ƒFƒbƒN‚ĩ‚ĂȂЂÁ‚―‚Ė‚ÅCģ‚ĩ‚―ƒtƒ@ƒCƒ‹‚ū‚Ŋ...Šū -Emapflag‚Énopenalty’Į‰ÁBŽg—p•û–@‚Í - mapflag nopenalty dummy -‚Å‚·B‹@”\‚Í‚ŧ‚Ėƒ}ƒbƒv‚ÅŽ€‚ņ‚ūŽžŒoŒą‚ŠŒļ‚į‚Ȃǂæ‚΂ɂĩ‚Ü‚·B -Emapflag‚Épvp_nopartyApvp_noguildAgvgAgvg_noparty’Į‰ÁB -pvp_noparty‚ÍPVPƒ‚[ƒh‚Å“Ŋ‚ķƒp[ƒeƒB‚ɍUŒ‚‚Š“–‚―‚į‚ȂǁApvp_noguild‚ÍPVPƒ‚[ƒh‚Å“Ŋ‚ķƒMƒ‹ƒh‚ɍUŒ‚‚Š“–‚―‚į‚ȂǁAgvg‚̓V[ƒYƒ‚[ƒh‚ɁAgvg_noparty‚̓V[ƒYƒ‚[ƒh‚Å“Ŋ‚ķƒp[ƒeƒB‚ɍUŒ‚‚Š“–‚―‚į‚ȂǕςł·B -E‰Â“Ū‚ĩ‚Ä‚Č‚Ēƒ^ƒCƒ}[‚Í‘S‚Ä-1‚ɂȂ邿‚Ī‚É•ÏXB -E‚Ŧ”ō‚΂ĩˆ—CģB -Eƒ}ƒbƒvƒ[ƒh’žŒã‹CŒũ‚ŠŒĐ‚Ķ‚Č‚Ē–â‘čCģB -EŽc‰e‚Ėˆ—CģB -Eƒ}ƒbƒv‚ðƒ[ƒh‚·‚邯ހ‚ņ‚ū‚ӂ肊‰ðœ‚ģ‚ę‚邿‚Ī‚É•ÏXB -EPVP‚ð­‚ĩ•ύXB -EŒÃ–Ø‚ĖŽ}‚ŏo‚郂ƒ“ƒXƒ^[‚ðŽĐ•Š‚ĖƒŒƒxƒ‹‚æ‚č‚‚Ē•Ļ‚Ío‚Ȃǂæ‚Ī‚É•ÏXB -E‰Á‘Žƒ|[ƒVƒ‡ƒ“‚Ėsc_start SC_SpeedPot0,1,0;‚ðsc_start SC_SpeedPot0,1800,0;‚Ė‚æ‚Ī‚É•ÏXBSC_SpeedPotH‚ĖŒã‚ː”’l‚ÍŽ‘ąŽžŠÔ‚Å‚·B(’PˆĘ‚Í•b) -E@ƒRƒ}ƒ“ƒh@pvp‚ð@pvpon‚ɕύX‚Æ@pvpon‚Æ@pvpoffA@gat‚Ė‹@”\•ύXB -Ebattle_athena.conf‚ĖpvpíœB -Ebattle_athena.conf‚Édeath_penalty_type’Į‰ÁB -Eƒyƒiƒ‹ƒeƒB‚Ė“K—p‚ðŽ€‚ņ‚ūŽž‚Đ‚įŽ€‚ņ‚ūŒãƒŠƒXƒ^[ƒg‚ĩ‚―Žž‚ɕύXB(ƒŠƒU‚Å•œŠˆ‚·‚邯ŒoŒą‚ŠŒļ‚č‚Ü‚đ‚ņB–{ŽI‚ĖŽd—l‚Š‚Đ‚Č‚č‹C‚ɂǂį‚ȂЂÁ‚―‚Ė‚Å•ÏX‚ĩ‚Ü‚ĩ‚―B) -EƒXƒNƒŠƒvƒgsetmapflagAremovemapflagApvponApvpoffAgvgonAgvgoff’Į‰ÁB - setmapflag ƒ}ƒbƒv–žAƒ}ƒbƒvƒtƒ‰ƒOƒ^ƒCƒv - Žw’č‚ĩ‚―ƒ}ƒbƒvƒtƒ‰ƒO‚ðon‚ĩ‚Ü‚·B(‚―‚ūpvpAgvg‚ÍpvponAgvgon‚łłŦ‚é‚Ė‚ÅŽw’č‚ĩ‚Ä‚ā“Ūė‚ĩ‚Ü‚đ‚ņB‚ ‚Ænosave‚Ėę‡ˆ—‚Š‚ŋ‚å‚Á‚Æ•ĄŽG‚ɂȂé‚Ė‚Å‘Î‰ž‚ĩ‚Ă܂đ‚ņB) - removemapflag ƒ}ƒbƒv–žAƒ}ƒbƒvƒtƒ‰ƒOƒ^ƒCƒv - Žw’č‚ĩ‚―ƒ}ƒbƒvƒtƒ‰ƒO‚ðoff‚ĩ‚Ü‚·B(‚―‚ūpvpAgvg‚ÍpvpoffAgvgoff‚łłŦ‚é‚Ė‚ÅŽw’č‚ĩ‚Ä‚ā“Ūė‚ĩ‚Ü‚đ‚ņB‚ą‚ŋ‚į‚Ínosave‚ā‰Â”\‚Å‚·B) - pvpon ƒ}ƒbƒv–ž - Žw’č‚ĩ‚―ƒ}ƒbƒv‚ðPVPƒ‚[ƒh‚É‚ĩ‚Ü‚·B - pvpoff ƒ}ƒbƒv–ž - Žw’č‚ĩ‚―ƒ}ƒbƒv‚ĖPVPƒ‚[ƒh‚ð‰ðœ‚ĩ‚Ü‚·B - gvgon ƒ}ƒbƒv–ž - Žw’č‚ĩ‚―ƒ}ƒbƒv‚ðƒV[ƒYƒ‚[ƒh‚É‚ĩ‚Ü‚·B - gvgoff ƒ}ƒbƒv–ž - Žw’č‚ĩ‚―ƒ}ƒbƒv‚ĖƒV[ƒYƒ‚[ƒh‚ð‰ðœ‚ĩ‚Ü‚·B -‚―‚ū‘S‚Ä‚ĖƒXƒNƒŠƒvƒg‚Ė“Ūė‚ÍŠm”F‚ĩ‚Ă܂đ‚ņ‚˂ŒˆÓ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB -EƒTƒ“ƒNƒ`ƒ…ƒAƒŠAƒ}ƒOƒkƒXƒGƒNƒ\ƒVƒYƒ€‚Ėˆ—‚ð0529‚É–ß‚ĩ‚Ü‚ĩ‚―B -ŽĐ•Ђ˒ēļ‚ł̓Tƒ“ƒNƒ`ƒ…ƒAƒŠ‚͐l”‚ː§ŒĀ‚Š‚ ‚č‚Ü‚·B(ƒŒƒxƒ‹1‚Å4–ž‚Å -1ƒŒƒxƒ‹‚Ɉęl‚ļ‚‘‚͂܂·B) -E‚ŧ‚ĖŒã­‚ĩCģB(‚ĩ‚―‚Í‚ļ...) - (db/) - const.txt CģB - item_db.txt CģB - (conf/) - battle_athena.conf CģB - (doc/) - conf_ref.txt CģB - (map/) - clif.hAclif.c CģB - mob.c CģB - pc.hApc.c CģB - skill.c CģB - pet.c CģB - npc.c CģB - map.hAmap.c CģB - battle.hAbattle.c CģB - atcommand.hAatcommand.c CģB - script.c CģB - makefile CģB - --------------- -//0531 by Ž‚Žqo^.^o - -conf/npc_turtle.txt -Dƒ^[ƒgƒ‹ƒAƒCƒ‰ƒ“ƒh‚ɍs‚­ŽžAƒTˆęƒoˆę‚ð—Ž‚Á‚Ä–â‘čCģ -Dnpc_turtle.txt‚Ė508s–Ú -set Zeny - 10000,0; --> set Zeny,Zeny-10000; Cģ - --------------- -//0530 by RR -EƒXƒLƒ‹uƒTƒ“ƒNƒ`ƒ…ƒAƒŠv‚ōUŒ‚‘ΏۂðƒAƒ“ƒfƒbƒg/ˆŦ–‚Ží‘°‚Đ‚į•sŽ€‘ېŦ/ˆŦ–‚Ží‘°‚ɕύX -EƒXƒLƒ‹uƒ}ƒOƒkƒXƒGƒNƒ\ƒVƒYƒ€v‚ōUŒ‚‘ΏۂðƒAƒ“ƒfƒbƒg/ˆŦ–‚Ží‘°‚Đ‚į•sŽ€‘ېŦ/ˆŦ–‚Ží‘°‚ɕύX -EƒXƒLƒ‹uƒTƒ“ƒNƒ`ƒ…ƒAƒŠv‚ˉņ•œ‰ņ”‚ðl”‚Đ‚įƒJƒEƒ“ƒg‚ɕύX - skill.c - skill_unit_onplace()Cģ - skill_unit_onout()Cģ - -‘―•Š‚ą‚ĖŽd—l‚ō‡‚Á‚Ä‚é‚Í‚ļ‚Å‚·cB - --------------- -//0529 by ŒÓ’ą—– - -EMOB‚ŠƒXƒLƒ‹uƒq[ƒ‹v‚ðŽg—p‚·‚邯ƒT[ƒo[‚Š—Ž‚ŋ‚éę‡‚Š‚ ‚Á‚―–â‘č‚ðCģ -EƒXƒLƒ‹uƒTƒ“ƒNƒ`ƒ…ƒAƒŠv‚ōUŒ‚‘Ώۂð•sŽ€‘ېŦ‚Đ‚įƒAƒ“ƒfƒbƒg/ˆŦ–‚Ží‘°‚ɕύX - - skill.c - skill_unit_onplace()Cģ - skill_castend_nodamage_id()Cģ - -EƒƒOƒCƒ“ƒT[ƒo[‚ĖƒAƒJƒEƒ“ƒgƒf[ƒ^ƒx[ƒX•ÛŽįƒc[ƒ‹‚ð“Y•t - Perlŧ‚Č‚Ė‚ÅŽĀs‚É‚ÍPerl‚Š•K—v‚Å‚·B - Žg—p•û–@‚Č‚Į‚̓GƒfƒBƒ^‚ÅŠJ‚Ē‚ÄŒĐ‚Ä‚­‚ū‚ģ‚ǁB - Žg‚Ē•û‚Š—Į‚­‚í‚Đ‚į‚Ȃǐl‚ÍŽč‚ðo‚ģ‚Ȃǂ؂΂Ђǂǂł·B - - “Á‚É——R‚Š–ģ‚ĒŒĀ‚čƒAƒJƒEƒ“ƒgėŽ‚ā‚ą‚ŋ‚į‚Ėƒc[ƒ‹‚ðŽg‚Á‚Ä‚­‚ū‚ģ‚ǁB - addaccount‚̓pƒPƒbƒg‚Ė“s‡ãƒpƒXƒ[ƒh•ķŽš”‚ː§ŒĀ‚Š‚Ŧ‚Â‚Ē‚Ė‚ÅB - - ƒAƒJƒEƒ“ƒg‚ðíœ‚ĩ‚Ä‚āƒLƒƒƒ‰ƒNƒ^[ƒf[ƒ^A‘qŒÉƒf[ƒ^A - ‚ŧ‚Ė‘ž‚ĖƒAƒJƒEƒ“ƒgˆČŠO‚Ėƒf[ƒ^‚͏Á‚͂܂đ‚ņB‘ŠŽč‚ŠƒƒOƒCƒ“’†‚ū‚Á‚―ę‡ - ‹­§Ø’f‚Í‚ģ‚ę‚Ü‚đ‚ņ‚ЁAŽŸ‰ņ‚Đ‚į‚̓ƒOƒCƒ“‚Å‚Ŧ‚Č‚Ē‚Í‚ļ‚Å‚·B - i‚‚܂č‚́A’P‚Élogin-serverã‚ĖƒAƒJƒEƒ“ƒg‚ðÁ‚ĩ‚Ăǂé‚ū‚Ŋ‚Å‚·j - - (login/) - login.c - parse_admin()’Į‰ÁAparse_login()Cģ - (doc/) - admin_packet.txt - V‹K’Į‰ÁBŠĮ—ƒpƒPƒbƒgî•ņ - (tool/) - ladmin - login-server administration tool‚ĖPerlƒXƒNƒŠƒvƒg - - --------------- -//0528 by RR -EƒXƒLƒ‹uƒq[ƒ‹v‚ðŽg—p‚ĩ‚―Û‚ɉņ•œ—ʂɔä—á‚ĩ‚―•Š‚ū‚ŊƒWƒ‡ƒuŒoŒą’l‚ŠŠl“ū‚Å‚Ŧ‚邿‚Ī‚É•ÏX -EĪlŒnE‹Æ‚Š“XNPC‚ð—˜—p‚ĩ‚―Û‚ɃWƒ‡ƒuŒoŒą’l‚ŠŠl“ū‚Å‚Ŧ‚邿‚Ī‚É•ÏX -E—ž•û‚Æ‚ābattle_athena.conf‚Å’ēŪ‰Â”\‚É‚ĩ‚Ü‚ĩ‚―B‰ŠúÝ’č‚Í0”{i”ņ“K—pj -Emap_athena.conf‚ɂĂЂڂŋ‚áƒNƒGƒXƒg‚Ė‚ā‚˂Гü‚Á‚ĂȂЂÁ‚―‚Ė‚ÅƒRƒƒ“ƒgƒAƒEƒg‚ĩ‚ȂЂį’Į‰ÁB - - map_athena.conf - - battle.c battle_config_read() - battle.h Battle_Config - battle_athena.conf - ˆČãAbattle_athena.conf—˜—p‚―‚߂ɕύX - - pc.c pc_heal() - –ß‚č’l‚ðhp+sp‚ɁB–ß‚č’l‚ð—˜—p‚ĩ‚Ă镔•ЂЂȂģ‚ŧ‚Ī‚ū‚Á‚―‚Ė‚ÅŽg‚í‚đ‚Ä–á‚ǂ܂ĩ‚―BƒoƒO‚Š‹N‚Ŧ‚―‚į‚·‚݂܂đ‚ņB - - skill.c skill_casted_nodamage_id()‚Ėƒq[ƒ‹•”‚ɂăWƒ‡ƒuŒoŒą’lŠl“ū‚·‚邿‚Ī•ÏX - - npc.c npc_buylist() - npc_selllist() •ύX - ‚ą‚ę‚Ⴏ‚ĖŒ“‚ˍ‡‚Ē‚Åskill.h‚ðincludeB - - -Īl‚Ė“X—˜—pƒWƒ‡ƒuŒoŒą’lŠl“ū‚Å‚·‚ЁAŒvŽZŽŪ‚͂܂ūl‚Ķ’†‚Ȃ˂ʼnž‚ŁB -ŒvŽZŽŪ‚̓AƒCƒeƒ€w“ü‚Ё@‘ã‹ā * ƒXƒLƒ‹ƒŒƒxƒ‹iƒfƒBƒXƒJƒEƒ“ƒgj/ ((1{300/ƒAƒCƒeƒ€ŒÂ”) * 4000) -ƒAƒCƒeƒ€”„‹p‚Ё@‘ã‹ā * ƒXƒLƒ‹ƒŒƒxƒ‹iƒI[ƒo[ƒ`ƒƒ[ƒWj / ((1{500/ƒAƒCƒeƒ€ŒÂ”) * 4000)‚Å‚·B -í‚É–î‚ð‚―‚­‚ģ‚ņˆę‚ɍw“ü‚·‚邹‚ƂŌoŒą’l‚ð‘―—Ę‚É‰Ō‚Ū‚ą‚Æ‚Š‰Â”\‚Å‚·‚ˁcB -‚Į‚Č‚―‚Đ‚Ē‚ĒŽŪ‚ðŽv‚Ē‚Â‚Ē‚―‚į•ύX‚ĻŠč‚Ē‚ĩ‚Ü‚·B - -‚Æ‚ą‚ë‚Å“]ENPC‚Šˆę•”‚ЂԂÁ‚Ä‚é‚ņ‚Å‚·‚ŠCģ‚ĩ‚Ȃǂłǂǂņ‚Å‚ĩ‚å‚Ī‚ĐH - --------------- -//0527 by Ž€_ - -E0526‚ĖƒoƒOCģB(ƒeƒXƒg‚ĖˆŨ‚É•Ï‚Ķ‚Ä‚Ē‚―•Ļ‚ð“ü‚ę‚―‚܂܃Aƒbƒv‚ĩ‚Ä‚ĩ‚Ü‚Á‚―‚Ė‚ŠŒīˆö‚Å‚ĩ‚―B) - skill.c CģB - pc.c CģB - mob.c CģB - clif.c CģB - --------------- -//0526 by Ž€_ - -E0525‚ĖƒŠƒUƒŒƒNƒVƒ‡ƒ“‚ðŽ€‚ņ‚ūƒLƒƒƒ‰‚ÉŽg‚Ķ‚Č‚ĒƒoƒOCģB(ƒeƒXƒg‚Í‚ĩ‚Ă܂đ‚ņ‚ŠŽĄ‚Á‚―‚Í‚ļ‚Å‚·B‘―•Š...) - skill.c CģB - clif.c CģB - --------------- -//0525 by Ž€_ - -Edmotion‚ĖŠÔ‚ÍƒLƒƒƒ‰‚Š“Ū‚Đ‚Č‚Ē‚æ‚Ī‚É•ÏXB(ƒeƒXƒg‚ĩ‚Ă܂đ‚ņB) -EƒƒeƒI‚Ėƒ_ƒ[ƒW•\ŽĶƒ^ƒCƒ~ƒ“ƒOCģB(­‚ĩ’x‚Ē‹C‚ā‚ĩ‚Ü‚·‚Š...) -EƒoƒbƒNƒXƒ‰ƒCƒfƒBƒ“ƒO‚ĖŽž‚Ƀ‚[ƒVƒ‡ƒ“‚Šo‚邿‚Ī‚É•ÏXB(ƒXƒLƒ‹Žg—pŒã -0.2•bŒã‚ɃXƒLƒ‹Žg—pƒpƒPƒbƒg‚ð‘—‚é‚æ‚Ī‚É•ÏX‚ĩ‚Ü‚ĩ‚―Bƒ‰ƒO“™‚É‚æ‚Á‚Ä•Ï‚Č“Ūė‚ð‚·‚é‰Â”\Ŧ‚ā‚ ‚č‚Ü‚·B) -E0524‚ĖCģB -EƒnƒCƒfƒBƒ“ƒO‚ĩ‚Ä‚Ē‚éŽžŽĐ‘R‰ņ•œ‚ĩ‚Ȃǂæ‚Ī‚É•ÏXB -E0519‚ÅŠÔˆá‚Á‚―conf‚ĖCģ‚ƍŨ‚Đ‚ĒŠCģB - map.h - struct map_session_data‚Ėcanmove_tick‚ðcanact_tick‚ɕύXB - skillcanmove_tick‚ðcanmove_tick‚ɕύXB - skill.c CģB - pc.c CģB - pc.h CģB - clif.c CģB - battle.c CģB - battle.h CģB - mob.c CģB - mob.h CģB - char_athena.conf CģB - map_athena.conf CģB - --------------- -//0524 by huge - -Eƒ[ƒO ƒgƒ“ƒlƒ‹ƒhƒ‰ƒCƒuŽĀ‘• - clif.c - clif_parse_WalkToXY() - pc.c - pc_calcstatus() - - ‚Į‚Ė‚­‚į‚ǑޓxŒļ­‚·‚é‚Ė‚Đ•Š‚Đ‚į‚ȂЂÁ‚―‚˂ŁAŽb’č“I‚É - speed += speed * (20-ƒXƒLƒ‹ƒŒƒxƒ‹)/40 - ‚ƁA‚ĩ‚Ü‚ĩ‚―B–{ŽIŽd—l‚Š•Š‚Đ‚é•û‹‚Ü‚ĩ‚―‚įCģ‚ĻŠč‚Ē‚ĩ‚Ü‚·B - --------------- -//0523 by NOCTURNE - -Enpc_event_rental.txt‚ɃNƒ‹ƒZƒCƒ_[—p‚ĖƒyƒRƒyƒRŠĮ—•š‚ð’Į‰Á --------------- -//0522 by ”g˜Q - -Emob_db.txt‚ðƒWƒ…ƒm[Œã‚Ėƒf[ƒ^‚ɏCģ - --------------- -//0521 by ŒÓ’ą—– - -EmapƒT[ƒo[‚ÉŒq‚Š‚į‚Ȃǖâ‘č‚ðCģ - clif.c - clif_parse()‚ĖCģ - --------------- -//0520 by ŒÓ’ą—– - -EcharƒT[ƒo[ƒƒO‚ˁuset map X.Y HOGE.gatv‚Š•\ŽĶ‚ģ‚ę‚Č‚­‚Č‚č‚Ü‚ĩ‚― - •Ï‚í‚č‚ɁAuset map M from XX.YY.ZZ.WW:PP (CC maps)v - ‚Æ‚Ē‚Ī‚Ó‚Ī‚É‰―ŒÂ‚Ėƒ}ƒbƒv‚ðƒZƒbƒg‚ĩ‚―‚Đ‚ū‚Ŋ‚ð•\ŽĶ‚·‚邿‚΂ɂȂč‚Ü‚·B - - char/char.c - parse_frommapCģ - -E•Ą”mapƒT[ƒo[‚ɉž‘Ήž - ENPC‚Ėƒ}ƒbƒvƒT[ƒo[•ϐ”‚ÍŽIŠÔ‚Å‚Í‹Ī—L‚ģ‚ę‚Ü‚đ‚ņB‹Ī—L‚·‚Ũ‚Ŧ•ϐ”‚ð - Ž‚ÂNPC‚Ђǂéƒ}ƒbƒv“ŊŽm‚Í“Ŋ‚ķmapƒT[ƒo[‚Å“Ū‚Đ‚·‚Ũ‚Ŧ‚Å‚·B - ‚Ļ‚ŧ‚į‚­PC‚ĖƒOƒ[ƒoƒ‹•ϐ”‚Í‹Ī—L‚Å‚Ŧ‚邯Žv‚ǂ܂·(–ĒƒeƒXƒg) - EŽb’č“I‚ɓۂ­‚æ‚΂ɂĩ‚―‚ū‚Ŋ‚Ȃ˂ŁA•s“s‡‚Š‚ ‚é‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņB - “Á‚ɁAƒp[ƒeƒB/ƒMƒ‹ƒh/‘qŒÉ/ƒyƒbƒg/Wis‚Č‚Į‚ĖinterƒT[ƒo[‚ðŽg‚Ī‹@”\‚Š - ģ‚ĩ‚­ė“Ū‚·‚é‚Đ‘S‚­ƒ`ƒFƒbƒN‚ĩ‚Ăǂ܂đ‚ņB - Eurecv map on XX.YY.ZZ.WW:PP (CC maps)v‚Æ‚Ē‚ĪƒƒO‚Š•\ŽĶ‚ģ‚ę‚Ü‚·B - ‚ą‚ę‚Í‘ž‚ĖmapƒT[ƒo[‚Š’S“–‚·‚éƒ}ƒbƒv‚ĖƒŠƒXƒg‚ЁA‚ą‚ĖmapƒT[ƒo[‚É - ģí‚ÉŽóM‚ģ‚ę‚―‚Æ‚Ē‚ĪˆÓ–Ą‚Å‚·B - - (char/) - char.c/char.h - parse_frommap()Cģ - mapif_sendallwos()’Į‰Á - (map/) - map.c/map.h - map_setipport()‚ðCģ - struct map_session_data‚Ėstateƒƒ“ƒo‚Éwaitingdisconnect’Į‰Á - chrif.c/chrif.h - FX’Į‰Á - clif.c - waitingdisconnect‚Š‚P‚Č‚įƒpƒPƒbƒg‚ð–ģŽ‹‚·‚邿‚΂ɂĩ‚― - pc.c - pc_setpos()Cģiƒ}ƒbƒvƒT[ƒo[•ύXˆ—‚Č‚Įj - pc_setnewpc()Cģ - --------------- -//0519 by Ž€_ - -EƒT[ƒo[snapshot‚ƐFXCģB -EŽ€‚ņ‚ūƒLƒƒƒ‰‚ɍUŒ‚‚Š“–‚―‚éƒoƒOCģB(ƒeƒXƒg‚ĩ‚Ă܂đ‚ņB–{“–‚ÉŽĄ‚Á‚―‚Đ‚Į‚Ī‚Đ•ņ‚ĻŠč‚Ē‚ĩ‚Ü‚·B) -E0517‚ĖƒAƒCƒXƒEƒH[ƒ‹‚Ėˆ—‚ð­‚ĩ•ύXB -EƒƒeƒI‚ðƒ‚ƒ“ƒXƒ^[‚āŽg‚͂邿‚Ī‚É•ÏXB(ƒeƒXƒg‚ĩ‚Ă܂đ‚ņB•ņ‚ĻŠč‚Ē‚ĩ‚Ü‚·B) ‚Å‚ā‚ŋ‚å‚Á‚ƃƒ‚ƒŠ[‚ĖŽg—p—ƂБ‚͂܂ĩ‚―B(–ņ10M’öã‚Ђ邿‚΂ł·B) -Eƒ{ƒX‚ĖŽæ‚芊‚Ŧ‚Šƒ{ƒX‚Æˆę‚ɍs“Ū‚·‚邿‚Ī‚É•ÏXB(ƒeƒXƒg‚ĩ‚Ă܂đ‚ņ‚˂łĮ‚ņ‚ȓۂŦ‚ð‚·‚é‚Ђ͊m”F‚ĩ‚Ă܂đ‚ņBUŒ‚‚āŽó‚Ŋ‚Ä‚Č‚Ē‚Ė‚Éƒ{ƒX‚Ė—Ũ‚Đ‚įŸŽč‚É—Ģ‚ę‚é‚Đ‚Į‚Ī‚Đ‚ĖŠm”F‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·B) -E‚ŧ‚Ė‘žŨ‚Đ‚Ē•ĻCģB - client-packet.txt CģB - map.h - AREA_SIZE‚ð15‚Đ‚į20‚ɕύXB - struct map_session_dataAstruct mob_dataAstruct skill_timerskill CģB - map.c - map_quit() CģB - clif.h - clif_changemapcell() CģB - clif.c - clif_getareachar_skillunit()Aclif_clearchar_skillunit()Aclif_changemapcell() CģB - skill.c - skill_unitsetting()Askill_unit_onlimit()Askill_castend_pos2() CģB - skill_castend_nodamage_id()Askill_check_condition()Askill_attack() CģB - skill_timerskill()Askill_addtimerskill()Askill_cleartimerskill() CģB - ‚ŧ‚Ė‘ž­‚ĩCģB - skill.h - skill_addtimerskill()Askill_cleartimerskill() CģB - pc.c - pc_movepos()Apc_walk()Apc_authok() CģB - mob.c - mob_spawn_dataset()Amob_spawn() CģB - mob_changestate()Amob_damage() CģB - mob_ai_sub_hard_mastersearch()Amob_ai_sub_hard() CģB - ‚ŧ‚Ė‘ž­‚ĩCģB - battle.c - battle_calc_weapon_attack()Abattle_weapon_attack() CģB - ‚ŧ‚Ė‘ž­‚ĩCģB - --------------- -//0518 by Kalen -EEvent_pumpkinŠÖ˜A‚Ėƒtƒ‰ƒO•s‹ï‡Cģ - --------------- -//0517 by Ž€_ - -EƒAƒCƒXƒEƒH[ƒ‹‚Ő ‚č”ē‚é–â‘čCģ‚Ə­‚ĩCģB(M‚ģ‚ņƒpƒPƒbƒg‚Ė’ņ‹Ÿ‚ ‚肊‚Æ‚Ī‚ē‚ī‚ǂ܂·B) - clif.h - clif_changemapcell() ’Į‰ÁB - clif.c - clif_changemapcell() ’Į‰ÁB - skill.h - SC_STEELBODY‚ð84‚Đ‚į87‚ɕύXB - skill.c - skill_unitsetting()Askill_unit_onlimit() CģB - skill_status_change_end()Askill_status_change_start() CģB - client_packet.txt CģB - --------------- -//0516 by Ž€_ - -Eƒ‚ƒ“ƒXƒ^[‚ĖƒƒeƒI‚É‚æ‚éŽIƒ_ƒEƒ“‚ð—ÕŽž‚É–h‚ǂŒu‚Ŧ‚Ü‚ĩ‚―B(ƒeƒXƒg‚Í‚ĩ‚Ă܂đ‚ņB) ƒ‚ƒ“ƒXƒ^[‚ĖƒXƒLƒ‹‚É‚Â‚Ē‚Ä‚ŋ‚å‚Á‚Æ•ŠÍ•s‘Ŧ‚Å‚·‚Ė‚Å•ŠÍ‚ĩ‚―Œã‚ɏCģ‚ĩ‚Ä’u‚Ŧ‚Ü‚·B -EƒXƒLƒ‹Žw’e‚ĖŽd—l‚ðbattle_athena.conf‚ÅŒˆ‚߂邿‚Ī‚É•ÏXB(0515‚˕ςЂŋ‚å‚Á‚Æ‚ā‚Á‚―‚Ē‚Č‚Đ‚Á‚―‚Ė‚Å...) - skill.c - skill_castend_pos2() CģB - battlc.hAbattle.c - battle_config‚Éfinger_offencive_type ’Į‰ÁB - battle_calc_weapon_attack() CģB - battle_athena.conf CģB - conf_ref.txt CģB - --------------- -//0515 by Ž€_ - -EƒXƒLƒ‹ƒƒeƒI‚ÆŽw’eCģ‚ƃpƒPƒbƒgCģA0512‚Ė—Ž‚Æ‚ĩ•ĻCģ‚Ə­‚ĩ‚ū‚Ŋ‚ĖŽd—l•ύX‚Å‚·B -EŽw’e‚Ėę‡ā–ū‚ðŒĐ‚Ä‚ą‚ņ‚ČŠī‚ķ‚Đ‚Č‚ÆŽv‚Á‚čė‚Á‚―•ςł·BˆČ‘O‚˕ςЖ{ŽI‚É‚ ‚Á‚Ăǂé‚Č‚įŒģ‚É–ß‚ĩ‚Ü‚·B -EƒƒeƒI‚Ė1”­‚Ė”ÍˆÍ‚Í5*5ƒZƒ‹(range = 2)‚Å‚·B -EƒAƒCƒeƒ€Žg—pƒpƒPƒbƒg‚ðV‚ĩ‚Ē•Ļ‚É•ÏX‚ĩ‚―‚ŠƒGƒtƒFƒNƒg‚Šo‚Č‚Ē•Ļ‚Ío‚Ȃǂæ‚΂ł·B(FXƒGƒtƒFƒNƒg‚Š“ü‚Á‚Ăǂé‚Ý‚―‚Ē‚ū‚Đ‚įŒã‚ÍŽg‚Á‚ÄŠm”F‚Å‚·‚Ŋ‚Į‚ˁB) -E0512‚Åhitrate‚Š10000ˆČã‚Å•K’†‚Å‚Í‚Č‚­100000ˆČã‚Å•K’†‚Å‚·‚Ė‚ÅƒR[ƒh‚ĖCģ‚Ė‚ģ‚Ē‚É‚Í‹C‚ð‚Á‚‚Ŋ‚Ä‚­‚ū‚ģ‚ǁB -Ebattle_athena‚ɐݒč‚ģ‚ę‚Ăǂ镐Ší‚ːŧ‘Ē—Ķ‚Æƒyƒbƒg‚Ė•ßŠlŠm—Ķ‚ĖŒvŽZ•û–@‚ð­‚ĩ•Ï‚Ķ‚Ü‚ĩ‚―B(‹C‚É‚·‚é•K—v‚ā‚ȂǕςł·‚Ŋ‚Į‚ˁB) - skill.h - skill_addtimerskill()Askill_cleartimerskill ’Į‰ÁB - skill.c - skill_attack() fixAskill_use_id()Askill_use_pos() CģB - skill_castend_damage_id()Askill_castend_nodamage_id() CģB - skill_timerskill()Askill_addtimerskill()Askill_cleartimerskill ’Į‰ÁB - skill_castcancel()Askill_castend_pos2()Askill_unitsetting() CģB - skill_produce_mix()Ado_init_skill() CģB - mob.c - mob_damage() CģB - battle.c - battle_calc_weapon_attack() CģB - map.h - struct skill_timerskill ’Į‰ÁB - struct map_session_data CģB - map.c - map_quit() CģB - pc.c - pc_authok() CģB - pc_damage() CģB - clif.c - clif_parse_WalkToXY() CģB - clif_useitemack() CģB(Ž‘—ŋ’ņ‹Ÿ: Kalen‚ģ‚ņ) - pet.c - pet_catch_process2() CģB - skill_db.txt - ‹CŒũ‚ĖSP‚ð10‚ɕύXB(ƒlƒbƒg‚ĖŒŸõ‚Å‚Í10‚ū‚Á‚―‚Ė‚Å•ÏX‚ĩ‚Ü‚ĩ‚―BŠØ‘‘ ‚Å‚Í15‚Æ•\ŽĶ‚ģ‚ę‚Ü‚·‚Š...) - client_packet.txt - 01c8‚Ė•ÏX‚Å‚·BKalen‚ģ‚ņî•ņ’ņ‹Ÿ‚ ‚肊‚Æ‚Ī‚ē‚ī‚ǂ܂·B - --------------- -//0514 by Kalen - -EscriptCģ+’Į‰Á - - conf/npc_event_pumpkin.txt (V‹K)ƒJƒ{ƒ`ƒƒƒCƒxƒ“ƒg - conf/npc_town_guide.txt (Cģ)Juno‚ˁu+vƒAƒCƒRƒ“ƒJƒ‰[Cģ - conf/npc_town_lutie.txt (ˆę•”’Į‰Á)ƒJƒ{ƒ`ƒƒƒCƒxƒ“ƒg‚ɉe‹ŋ‚·‚éNPC‚ˉï˜b’Į‰Á - --------------- -//0513 by RR - -E“]EŽž‚É‘•”õ‚Š‘S‚ÄŠO‚ę‚邿‚΂ɂĩ‚Ü‚ĩ‚―BŠÖ”ˆĘ’u‚Ė•ÏX‚ĩ‚ĂȂǂ˂ŁA‚Ђå‚Á‚Æ‚ĩ‚―‚į‚Ļ‚Đ‚ĩ‚­‚Č‚Á‚Ä‚é‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņB‚Ī‚ŋ‚ĖŠÂ‹Ŧ(win2k cygwin)‚ł͕―‹C‚Å‚ĩ‚―‚˂łŧ‚˂܂܂ɂĩ‚Ä‚ ‚č‚Ü‚·BB -Eƒm[ƒrƒXŽž‚ĖŽ€–S‚ł́AÅ‘åHP‚Ė‚Q•Ђ˂P‚Å•œŠˆ‚Å‚Ŧ‚邿‚ĪCģB(ƒXƒLƒ‹‚É‚æ‚é•œŠˆ‚Í–ĒŠm”F) -EƒfƒXƒyƒiƒ‹ƒeƒB‚É‚æ‚éŒoŒą’lŒļ­‚ð’Į‰ÁBbattle_athena.conf‚ɂāAŒļ­—Ķ‚ð•ύX‚Å‚Ŧ‚邿‚Ī‚ÉÝ’čBŒļ‚éŒoŒą’l‚ÍŽ”“_ˆČ‰šØ‚čŽĖ‚ĂȂ˂ŁA•K—vŒoŒą’l‚Š’á‚ǂ΂ŋ‚ɂ͂ŋ‚å‚Ī‚Į‚ŧ‚ˁ“•Šˆø‚Đ‚ę‚邯‚ǂΕ—‚ɂ͂Ȃč‚Ü‚đ‚ņB - battle.h - Battle_Config‚Édeath_penalty_base‚Ædeath_penalty_job‚ð’Į‰ÁB - battle.c - battle_config_read‚Ådeath_penalty_base‚Ædeath_penalty_job‚ð“Į‚Þ‚æ‚Ī‚ÉCģB - pc.c - pc_makesavestatus() CģB - pc_damege() CģB - pc_jobchange() CģB - battle_athena.conf - death_penalty_base,death_penalty_job’Į‰ÁB - --------------- -//0512 by Ž€_ - -E–â‘č‚ɂȂč‚ŧ‚΂ȕ”•Š‚ĖCģ‚ƐV‚ĩ‚ĒƒpƒPƒbƒg‚Ė‘Î‰ž‚ŠƒƒCƒ“‚Å‚·BŒãƒoƒO‚ā­‚ĩŽĄ‚ĩ‚Ü‚ĩ‚―B(“Ū‚Ŋ‚Č‚Ēó‘ÔˆŲí‚ɂȂÁ‚Ä‚ā“Ū‚­–â‘č‚ĖCģ“™‚Å‚·B) - athena.sh CģB(‚Ē‚Â‚āŽI‚ðŒÂ•Ę‚ÉŽĀs‚ĩ‚Ăǂ―‚˂ŋC‚Š‚Â‚Ŧ‚Ü‚đ‚ņ‚Å‚ĩ‚―B) - makefile - DPACKETVER‚ð2‚Đ‚į3 ‚ɏCģBƒWƒ…[ƒmˆČŒã‚Ė‘ ‚ðŽg‚΂˂Ȃį3‚É‚ĩ‚ÄŽg‚Á‚Ä‚­‚ū‚ģ‚ǁB(‚ŧ‚ĖˆČ‘O‚Č‚į2‚Đ1) - clif.c - DPACKETVER=3‚ɑΉž(Ą‚ĖŠ0x114‚ð0x1de‚ɕϊ·‚Æ0x11f‚ð01c9‚ɕϊ·‚·‚é‚Ė‚Ý‘Î‰ž) - clif_skill_damage3() íœB - clif_skillcastcancel() ’Į‰ÁB - clif_skill_damage()Aclif_getareachar_skillunit()Aclif_skill_setunit() CģB - clif_fixmobpos()Aclif_fixpetpos()Aclif_fixpcpos() CģB - ‘ž‚ɏ­‚ĩCģB - clif.h - clif_skill_damage3() íœB - clif_skillcastcancel() ’Į‰ÁB - battle.c - battle_calc_weapon_attack() CģB - hitrate‚ð10000ˆČã‚É‚·‚ę‚ΕK’†‚ɂȂ邿‚Ī‚É•ÏXB(Ą‚ĖŽd—l‚ł̓‚ƒ“ƒXƒ^[‚Ė•K’†UŒ‚ˆČŠO‚Í•K’†‚ɂȂč‚Ü‚đ‚ņB) - ‘ž‚ɏ­‚ĩCģB - client_packet.txt - V‚ĩ‚ĒƒpƒPƒbƒgî•ņ’Į‰ÁB - pc.c - pc_spiritball_timer()Apc_delspiritball() CģB - pc_damage()Apc_skill() CģB - skill.h - SC_EXPLOSIONSPIRITS‚ð89‚Đ‚į86‚ɕύXB(86 = 0x56) - SC_DELUGE‚ð86‚Đ‚į89‚ɕύXB - skill.c - skill_castcancel()Askill_use_id()Askill_use_pos() CģB - skill_check_condition() CģB - skill_castend_damage_id()Askill_castend_nodamage_id CģB - skill_status_change_end()Askill_status_change_start() CģB - skill_db.txt - ‹CŒũ‚ĖÁ”ïSP‚ðCģB(‘O‚Ė15‚Š–{ŽI‚É‚ ‚Á‚Ăǂé‚Ý‚―‚ǂł·‚Ė‚Å...) - mob.c - mobskill_use_id()Amobskill_use_pos() CģB - map.c - map_quit() CģB - atcommand.h - atcommand.c - @ƒRƒ}ƒ“ƒh@spiritball’Į‰ÁB(‹@”\‚ÍŽg‚Ķ‚Î‚í‚Đ‚č‚Ü‚·B‚―‚ū1000ˆČã‚Í“ü‚ę‚ȂǕû‚Ђǂǂł·B‘ ‚Šƒpƒ“ƒN‚ĩ‚Ü‚·‚Ė‚Å...) - atcommand_athena.conf - CģB - conf_ref.txt - CģB -E0x196ƒpƒPƒbƒg‚ɐV‚ĩ‚ǕςВĮ‰Á‚ģ‚ę‚Ăǂé‚Ė‚Åó‘ԕωŧ‚É’žÚ‚ÉŠÖŒW‚Č‚ĒSC_xxxx‚Ė”Ô†‚ð’ēŪ‚·‚é•K—v‚Š‚ ‚č‚Ü‚·B(Ą‚ÍSC_EXPLOSIONSPIRITS‚É‚ū‚Ŋ‘Ήž‚ĩ‚Ü‚ĩ‚―B) ‚ŧ‚悯skill_status_change_end()Askill_status_change_start()‚Åclif_status_change()‚ðŒÄ‚Ôtype‚Ė”ÍˆÍ‚Š64(0x40)–Ē–ž‚ɂȂÁ‚Ä‚Ē‚é‚Š‚ŧ‚ę‚ā’Į‰Á‚ģ‚ę‚Ăǂé•Ļ‚É‡‚í‚đ‚ďCģ‚·‚é•K—v‚Š‚ ‚č‚Ü‚·‚Š’Į‰Á‚ģ‚ę‚Ăǂé•ςБS‚Ä‚í‚Đ‚Á‚―‚í‚Ŋ‚Å‚ā‚Ȃǂ˂ÅSC_EXPLOSIONSPIRITS‚É‚ū‚Ŋ‘Ήž‚ĩ‚Ü‚ĩ‚―BĄ“x‚Đ‚į‚Í”š—ô”g“Ū‚Ė‰ðœ‚ŠģŠm‚ÉŒĐ‚Ķ‚Ü‚·B‹ā„‚̓f[ƒ^‚ðŒĐ‚‚Ŋ‚į‚ę‚Ü‚đ‚ņ‚Å‚ĩ‚―B -ĶV‚ĩ‚ĒƒpƒPƒbƒg‚ɑΉž‚·‚éė‹Æ‚ð‚ĩ‚Ăǂ܂·‚Šî•ņ‚Š•s‘Ŧ‚Å‚·B -ƒCƒOƒhƒ‰ƒVƒ‹‚ĖŽĀ‚âƒCƒOƒhƒ‰ƒVƒ‹‚ĖŽí‚ĖƒGƒtƒFƒNƒg‚Šo‚邿‚΂ɂ·‚éˆŨ‚É01c8‚ðŽg‚Á‚Ă݂܂ĩ‚―‚Š‘Ę–Ú‚Å‚ĩ‚―Bclient_packet.txt‚Ėƒf[ƒ^‚ł͉―‚ā‹N‚ą‚į‚Ȃǂ˂ʼn―•û‚Š–{ŽI‚ŃCƒOƒhƒ‰ƒVƒ‹‚ĖŽĀ‚âƒCƒOƒhƒ‰ƒVƒ‹‚ĖŽí‚ðŽg‚Á‚―Žž‚ĖƒpƒPƒbƒg‚ð’ņ‹Ÿ‚ĩ‚Ä‚­‚ę‚Ü‚đ‚ņ‚ЁHS 00a7‚ĖŒã00a8‚Š—ˆ‚é‚Ė‚Đ‚ŧ‚悯‚ā01c8‚Š—ˆ‚é‚Ė‚Đ‚ĖŠm”F‚Æ00a8‚ĖŒã‚É01c8‚Š—ˆ‚é‚Ė‚Đ‚ĖŠm”F‚ЂłŦ‚ę‚Ή―‚Æ‚Đ‚Č‚é‚ÆŽv‚ǂ܂·‚Š... -‚ŧ‚悯01c9‚ĖŒã‚É—ˆ‚é?.81b‚Š‚í‚Đ‚ę‚΃AƒCƒXƒEƒH[ƒ‹‚𐠂č”ē‚é–â‘č‚ā‰ðŒˆ‚Å‚Ŧ‚邯Žv‚ǂ܂·‚Š... -î•ņ’ņ‹Ÿ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·B - --------------- -//0511 by Diex - -EŽw’e‚ĖUŒ‚‰ņ”CģB -EˆĒC—…”e–PŒA”­™Ī‚ŠC—û‚ð–ģŽ‹‚ĩA–ģ‘ېŦ‚ɂȂ邿‚Ī‚ÉCģB -E‹ā„Žg—pŽžAMDEF‚Аģ‚ĩ‚­•\ŽĶ‚ģ‚ę‚ĂȂЂÁ‚―ƒoƒO‚ðCģB -E‹CŒũ‚ĖÁ”ïSP‚ðCģB - pc.c - pc_calcstatus() CģB - battle.c - battle_calc_weapon_attack() CģB - skill.c - skill_check_condition() CģB - - skill_db.txt CģB - --------------- -//0510 by Diex - -EŽO’iķ‚Ė•\ŽĶƒoƒOCģ -EŽw’e‚Š‹C’e‚Š–ģ‚­‚Ä‚āŒ‚‚Ä‚éƒoƒO‚ðCģ - map.h - struct map_session_data‚Éspiritball_old•ϐ”’Į‰ÁB - skill.c - skill_check_condition() CģB - clif.c - clif_skill_damage3() CģB - battle.c - battle_weapon_attack()Abattle_calc_weapon_attack CģB - --------------- -//0509 by - -Enpc_warp.txt - ƒvƒéĻƒvƒƒtƒB[ƒ‹ƒh‚ɂȂÁ‚Ăǂ―‚Ė‚ðA - ƒvƒéĻƒ”ƒ@ƒ‹ƒLƒŠ[ƒŒƒ‹ƒ€‚ɏCģB - ƒvƒƒtƒB[ƒ‹ƒhĻƒvƒé‚ɂȂÁ‚Ăǂ―‚Ė‚ðƒvƒƒtƒB[ƒ‹ƒhĻƒ”ƒ@ƒ‹ƒLƒŠ[ƒŒƒ‹ƒ€‚ɏCģ - --------------- -//0508 by Ž€_ - -EƒoƒOCģ‚Æ‘§A‹CŒũA‹C’D‚ĖCģ‚ŠƒƒCƒ“‚Å‚·B(Ą“x‚Đ‚į‚Í‘ž‚ːl‚É‚ā‹C‚Š‚ŋ‚á‚ņ‚ÆŒĐ‚Ķ‚Ü‚·B) -EŽ€‚ņ‚ūƒLƒƒƒ‰‚ÉŒoŒą’l‚Š“ü‚é–â‘čCģB(ƒeƒXƒg‚Í‚ĩ‚Ă܂đ‚ņB‚Į‚Ī‚Č‚Ė‚Đ•ņ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·B) - pc.h - pc_addspiritball()Apc_delspiritball() ’Į‰ÁB - pc_is50overweight() CģB - pc.c - pc_gainexp() CģB - pc_insert_card()Apc_item_identify() CģB(‘å‚ĩ‚―Cģ‚ķ‚á‚ ‚č‚Ü‚đ‚ņ‚Š...) - pc_authok() CģB - pc_addspiritball()Apc_delspiritball() ’Į‰ÁB - pc_spiritball_timer() ’Į‰ÁB - do_init_pc()Apc_calcstatus()CģB - pc_spirit_heal() ’Į‰ÁB - pc_natural_heal()‚ÉŠÖ‚í‚é•Ļ‚ĖCģB - map.h - struct map_session_data CģB - map.c - map_quit() CģB - map_addflooritem() CģB - clif.h - clif_spiritball_int()‚ðclif_spiritball()‚ɕύXB - clif_spiritball_ext() íœB - clif.c - clif_spiritball_int() ‚ðclif_spiritball()‚É•Ï‚Ķ‚ÄCģB - clif_spiritball_ext() íœB - clif_set01e1() ’Į‰ÁB - clif_getareachar_pc() CģB - skill.h - SC_CALLSPIRITS íœB - skill.c - SC_CALLSPIRITS íœB - skill_castend_nodamage_id()Askill_check_condition() CģB - skill_status_change_start() CģB -E°‚É—Ž‚ŋ‚―ƒAƒCƒeƒ€‚ŠÁ‚Ķ‚é‚Ü‚Å‚ĖŽžŠÔ‚ðÝ’č‚Å‚Ŧ‚邿‚Ī‚É•ÏXB - battle.hAbattle.c - battle_config_read() CģB - conf_ref.txt CģB - battle_athena.conf CģB - --------------- -//0507 by Diex -0505‚ĖCģ -EŽO’iķ‚ĖƒGƒtƒFƒNƒgŽĀ‘• - --------------- -//0506 by hoenny -‘S‘Ė“I‚ɏ­‚ĩŽŪCģ -ƒZƒCƒW‚ĖƒXƒLƒ‹‚ŠƒAƒCƒeƒ€‚ðÁ–Õ‚·‚邿‚Ī‚ÉCģ -(ƒXƒLƒ‹‚ĖDB‚É zeny, spiritball, item, equip‚ð“ü‚ę‚―‚Ē‚ŠŽžŠÔ‚ЂȂ­‚Ä—ÕŽž“I‚É ...) - --------------- -//0505 by Diex - -EˆĒC—…”e–PŒ‚Ėƒ_ƒ[ƒWCģ -E–Ō—īŒ‚Ėƒ_ƒ[ƒWCģ -EŽw’eŽĀ‘• -E”­™ĪŽĀ‘• -E‹ā„‚ŠŒļŽZDEF‚ÆŒļŽZMDEF‚Š90‚ɌŒč‚ģ‚ę‚Ăǂ―‚Ė‚ðæŽZDEF‚ƏæŽZMDEF‚Š90‚ɂȂ邿‚Ī‚ÉCģ -EŽO’iķŽĀ‘•i‚―‚ū‚ĩƒRƒ“ƒ{‚Í–ĒŽĀ‘•j - map/clif.c - map/clif.h - clif_skill_damage3()’Į‰Á - map/pc.c - map/skill.c - map/battle.c - CģE‹y‚Ņ’Į‰Á -iŒvŽZŽŪ‚Í+ Acolyte Maniax +‚ðŽQl‚É‚ĩ‚Ü‚ĩ‚―Bj - --------------- -//0504 by Ž€_ - -Eatcommand.c CģB(‚―‚Á‚―2•ķŽš‚ð’Į‰Á‚ĩ‚―‚ū‚Ŋ‚Å‚·B) -atcommnad_gm_only‚Šno‚ķ‚á‚Č‚­‚Ä‚āŽg—pƒŒƒxƒ‹Ý’č‚ð0‚É‚ĩ‚―ƒRƒ}ƒ“ƒh‚ÍGM‚ķ‚á‚Č‚ĒƒLƒƒƒ‰‚Å‚āŽg‚͂܂·BƒeƒXƒg‚Í‚ĩ‚Ă܂đ‚ņB - --------------- -//0503 by nabe - -Eļ˜BCģ‚ÆLinux—p‚É‚ŋ‚å‚Á‚ƕύX‚Č‚Į - conf/map_athena.conf - npc_event_doll.txt, - npc_turtle.txt, - //npc_pota.txt€–Ú’Į‰Á - conf/npc_pota.txt’Į‰Áisocie‚ģ‚ņė‚Ėƒ_ƒ“ƒWƒ‡ƒ“ƒ|ƒ^Žq‚ģ‚ņj - conf/npc_shop.txt - ƒCƒYƒ‹[ƒh•ŠíĪl‚ˉŋŠiCģ - conf/script_athena.conf - 0499‚Å‚Ė•ķŽš‰ŧ‚ŊHCģ - login/login.c - #include ’Į‰Á - map/script.c - buildin_getequipname() - ļ˜Bƒƒjƒ…[‚Ėmalloc‚ðCģ - buildin_getequipisenableref() - ļ˜B‰Â”\ðŒCģiAthefans‚ģ‚ņ‚ĖðŒ•ķ‚É‚ĩ‚Ă݂܂ĩ‚―j - map/skill.c - skill_check_condition()•ϐ”éŒūˆĘ’u‚Ė•ÏX‚Ė‚Ý - --------------- -//0502 by Ž€_ - -EƒJƒvƒ‰‚Ė‘qŒÉ‚ābattle_athena.conf‚Ėbasic_skill_check‚É‚æ‚Á‚ÄŠî–{ƒXƒLƒ‹‚Š‘Ŧ‚č‚Č‚­‚Ä‚āŽg—p‚·‚邹‚Æ‚Š‚Å‚Ŧ‚邿‚Ī‚ÉCģ‚ĩ‚Ü‚ĩ‚―B(ƒvƒƒ“ƒeƒ‰’†‰›‚ĖƒJƒvƒ‰‚Ė‚ÝŠm”FB) -EƒNƒFƒXƒgƒXƒLƒ‹‚ĖŽæ“ū‚Í0492‚Ė‚đ‚ǂł·B0481‚Éskill‚ĖÅŒã‚Š,2‚ķ‚á‚Č‚­,0‚ū‚Ə‘‚Ē‚―‚˂ł·‚Љ―ŒĖ‚Đ0492‚Å,2‚ɂȂÁ‚Ăǂ―‚Ė‚Å,0‚ɏCģ‚ĩ‚Ü‚ĩ‚―B -EƒXƒNƒŠƒvƒggetbaseskillcheck‚ðbaseskillcheck‚ɕύX‚ÆŽĐ•Š‚ÅCģ‚ĩ‚Ü‚ĩ‚―‚Š–―—ß‚ĖŒã‚ɂȂņ‚ː”’l‚ā“ü‚į‚Č‚Ēę‡‚̓XƒNƒŠƒvƒg‚Аģ‚ĩ‚­ė“Ū‚ĩ‚ȂЂÁ‚―‚Ė‚ÅŽg—p‚·‚éę‡‚Íbaseskillcheck(0)‚É‚ĩ‚ÄŽg‚í‚Č‚Ē‚Æģ‚ĩ‚ĒŒ‹‰Ę‚ð“ū‚邹‚Æ‚Š‚Å‚Ŧ‚Ü‚đ‚ņB -(Ú‚ĩ‚­‚Ínpc_town_kafra.txtŽQÆB) - npc_event_skillget.txt CģB - npc_town_kafra.txt CģB - script.c CģB -EGM_account.txt‚ÉŽĐ•Š‚ŠƒeƒXƒg‚ĖˆŨ‚ÉŽg‚Á‚Ăǂ―500000‚Š“ü‚Á‚Ăǂ―‚Ė‚Åíœ‚ĩ‚Ü‚ĩ‚―B(GM_account.txtė‚Á‚―——R‚ÍŽĐ•ŠŸŽč‚ɃAƒJƒEƒ“ƒg‚ðGM‚É‚·‚邹‚Æ‚Š‚Å‚Ŧ‚邿‚΂ɂ·‚éˆŨ‚Å‚·B‚‚܂čGM‚Æ‚ĩ‚Ä•\ŽĶ‚ģ‚ę‚Č‚­‚Ä‚āGM‚Æ‚ĩ‚ĐF‚ņ‚ČŒ ŒĀ‚ðŽg‚Ī‚ą‚Æ‚ЂłŦ‚Ü‚·B‚ģ‚·‚Š‚ÉGMę—p‚ˉEƒNƒŠƒbƒNƒRƒ}ƒ“ƒ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 - -EC“đ‘m‚Ė‘§ŽĀ‘• --Šî–{“I‚ÉĀ‚Á‚―Žž 10•b‚炯‚ɉņ•œ‚ĩ‚Ü‚·. --ŠŽ—ƂР50%‚ðƒI[ƒo[‚ĩ‚―ę‡ 20•b‚炯‚ɉņ•œ‚ĩ‚Ü‚·. -EC“đ‘m‚Ė‹C’DŽĀ‘• --‘ž‚ĖC“đ‘m‚ĖŸ†‹…‚ā‹zŽû‚Š‰Â”\‚Å‚·. -EC“đ‘m‚Ė‹ā„ŽĀ‘• --‹ā„ó‘Ԃł͂·‚Ũ‚Ä‚ĖƒAƒNƒeƒBƒuƒXƒLƒ‹‚ðŽg‚Ī‚ą‚Æ‚ЂłŦ‚Ȃǂł·. - db/skill_db.txt - ‹C’DCģ - ‹ā„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 Ž€_ - -EƒT[ƒo[snapshot‚ƃoƒOCģB -EƒXƒeƒB[ƒ‹ƒRƒCƒ“‚Ėƒ[ƒj—Ę‚ðƒ‚ƒ“ƒXƒ^[ƒŒƒxƒ‹*10 + rand(100)‚ɕύXB -EƒLƒƒƒXƒeƒBƒ“ƒOƒ^ƒCƒ€‚Š‚Č‚ĒƒXƒLƒ‹‚̓^ƒCƒ}[‚ðŽg‚í‚Ȃǂæ‚Ī‚É•ÏXB -EƒJ[ƒh‚ĖŽg—p‚É‚æ‚éƒ}ƒbƒvŽIƒ_ƒEƒ“‚ð–h‚ŪˆŨ‚ɏCģB(Ą“x‚ą‚ŧŽĄ‚Á‚―‚Í‚ļ...) ‚ŧ‚ĩ‚ÄŠg‘å‹ū‚ā“Ŋ‚킿‚Ī‚Č‚ą‚Æ‚ЂłŦ‚é‚Ė‚ÅCģB(‚ą‚ę‚ÍŽIƒ_ƒEƒ“‚܂ł͋N‚ą‚ģ‚Ȃǂæ‚΂ł·‚Š...) -EƒLƒƒƒ‰‚Ƀ}ƒbƒv‚Ėƒ[ƒh‚ŠI‚í‚é‚܂Ńyƒbƒg‚Ėƒf[ƒ^‚Š—ˆ‚Č‚Ē‚Æƒ}ƒbƒvŽI‚Š—Ž‚ŋ‚é–â‘čCģB(–Å‘―‚Č‚ą‚Æ‚Š‚Č‚ĒŒĀ‚č‹N‚ą‚į‚Ȃǂł·‚Ŋ‚Į‚ˁB) -EƒI[ƒgƒo[ƒT[ƒNAd‚ģ‚ĖƒAƒCƒRƒ“‚ƃ`ƒFƒbƒN‚Аģ‚ĩ‚­“K—p‚ģ‚ę‚邿‚Ī‚ÉCģB -E‘‘Žƒ|[ƒVƒ‡ƒ“‚Ė“K—p‡”ԕύXBĄ‚܂ł̓Xƒs[ƒhƒAƒbƒvƒ|[ƒVƒ‡ƒ“‚ŠÅ—Dæ‚ÅŽŸ‚ŠƒnƒCƒXƒs[ƒhƒ|[ƒVƒ‡ƒ“AÅŒã‚Šƒo[ƒT[ƒNƒ|[ƒVƒ‡ƒ“‚ū‚Á‚―‚˂ł·‚Š‡”Ô‚ð‹t‚ɕύX‚ĩ‚Ü‚ĩ‚―B -EƒAƒCƒeƒ€‚ÅŽg‚ĪƒXƒLƒ‹‚̓LƒƒƒXƒeƒBƒ“ƒOƒ^ƒCƒ€‚ƃfƒBƒŒƒC‚Š0‚ɂȂ邿‚Ī‚É•ÏXB -EƒAƒCƒeƒ€‚ÅŽg‚ĪƒXƒLƒ‹‚ĖƒŒƒxƒ‹‚Šitem_db‚ɐݒč‚ĩ‚Ä‚Ē‚éƒŒƒxƒ‹‚æ‚č‚‚­‚Č‚éƒoƒOCģB - pc.h - pc_move()‚ðpc_movepos()‚ɕύXB - pc.c - pc_steal_coin()Apc_insert_card()Apc_item_identify()Apc_authok()A - pc_calcstatus()Apc_checkweighticon()Apc_damage() CģB - skill.c - skill_castend_pos2()Askill_check_condition()Askill_use_id()A - skill_use_pos() CģB - pet.c - pet_recv_petdata()Apet_change_name() CģB - map.h - struct map_session_data‚Éskillitemlv ’Į‰ÁB - script.c - buildin_itemskill() CģB - clif.c - clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos()A - clif_parse_LoadEndAck() CģB - mob.c - mobskill_use_id()Amobskill_use_pos() CģB - --------------- -//0498 by hoenny - -DŸ†‹…‚Š‚·‚Á‚Đ‚čŒĐ‚͂邿‚Ī‚ÉCģ(Á–ÕƒXƒLƒ‹Žg—p‚ĖŽžÁ–Õ‚·‚邿‚Ī‚ÉCģ) -DƒXƒLƒ‹Žc‰e‚ðŽg—p‚ĖŽžŸ†‹…‚ðÁ–Õ‚·‚邿‚Ī‚ÉCģ - doc/client_packet.txt - 0x1d0’Į‰Á - map/map.h - sd‚Ėstructure‚É 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‚ĖƒXƒLƒ‹Žc‰e‚ĖƒoƒOCģ‚ƃXƒeƒB[ƒ‹‚ƃXƒeƒB[ƒ‹ƒRƒCƒ“AƒXƒiƒbƒ`ƒƒ[‚ĖCģAmob_target‚ĖƒoƒOCģB -EŒðŠ·AĀ‚čAƒp[ƒeƒBŒ‹Ž“™‚ĖŽž‚ÉŠî–{ƒXƒLƒ‹‚ðƒ`ƒFƒbƒN‚·‚邿‚Ī‚ÉCģB(battle_athena.conf‚Ń`ƒFƒbƒN‚·‚é‚Đ‚Į‚Ī‚Đ‚ðŒˆ‚ß‚é‚ą‚Æ‚Š‚Å‚Ŧ‚Ü‚·B) -‚―‚ūƒJƒvƒ‰‚Ė‘qŒÉ‚̓XƒNƒŠƒvƒg‚Ő§ŒĀ‚ð‚Đ‚Ŋ‚é‚ĩ‚Đ‚ ‚č‚Ü‚đ‚ņB -EƒXƒNƒŠƒvƒggetbasicskillcheck’Į‰ÁB - Žg—p•û–@„ getbasicskillcheck - –ß‚č’l‚Íbattle_athena.conf‚Ėbasic_skill_check‚Å‚·B0‚Ėę‡‚ÍŠî–{ƒXƒLƒ‹‚Ėƒ`ƒFƒbƒN‚Č‚ĩ‚Å1‚Ėę‡‚ÍŠî–{ƒXƒLƒ‹‚ðƒ`ƒFƒbƒN‚·‚é‚Ė‚ðˆÓ–Ą‚ĩ‚Ü‚·B - skill.c - skill_castend_pos2() CģB - skill_additional_effect() CģB - pc.c - pc_move() ’Į‰ÁB - pc_item_steal()Apc_coin_steal() CģB - pc.h - pc_move() ’Į‰ÁB - map.h - struct mob_data CģB - mob.c - mob_spawn() CģB - mob_target() CģB - clif.c - clif_pcinsight()Aclif_pcoutsight() CģB - clif_parse_ActionRequest()Aclif_parse_Emotion()A - clif_parse_TradeRequest()Aclif_parse_CreateParty()A - clif_parse_ReplyPartyInvite() CģB - battle_athena.conf CģB - conf_ref.txt CģB - skill_db.txt - ƒXƒeƒB[ƒ‹‚ĖŽË’ö‚ð3‚Đ‚į1‚ɏCģB - battle.hAbattle.c - battle_config‚Ébasic_skill_check ’Į‰ÁB - battle_config_read() CģB - trade.c - trade_traderequest() CģB - script.c - buildin_getbasicskillcheck() ’Į‰ÁB - map/makefile CģB -ĶƒXƒeƒB[ƒ‹‚ƃXƒeƒB[ƒ‹ƒRƒCƒ“‚ĖŒvŽZŽŪ‚Í“K“–‚ɍė‚Á‚―•ςł·B–{ŽI‚Ė•û‚Š‚Į‚Ī‚Č‚Ė‚Đ‘S‘R‚í‚Đ‚į‚Ȃǂ˂Å... - - ƒXƒeƒB[ƒ‹—Ķ = (ƒ‚ƒ“ƒXƒ^[‚ĖƒAƒCƒeƒ€drop—Ķ * (ƒLƒƒƒ‰ƒŒƒxƒ‹*0.5 + dex*0.4 +ƒXƒLƒ‹ƒŒƒxƒ‹*5))% - ƒXƒeƒB[ƒ‹ƒRƒCƒ“—Ķ = (ƒXƒLƒ‹ƒŒƒxƒ‹ + (ƒLƒƒƒ‰ƒŒƒxƒ‹ - ƒ‚ƒ“ƒXƒ^[‚ĖƒŒƒxƒ‹)*0.3 + dex*0.2 + luk*0.2)% - ƒXƒiƒbƒ`ƒƒ[”­“Ū—Ķ = (5.5 + ƒXƒLƒ‹ƒŒƒxƒ‹*1.5 +ƒXƒeƒB[ƒ‹‚ĖƒXƒLƒ‹ƒŒƒxƒ‹)% - -–{ŽI‚ĖŒvŽZŽŪ‚Š‚í‚Đ‚é•û‚͏î•ņ’ņ‹Ÿ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·B -ƒXƒeƒB[ƒ‹ƒRƒCƒ“‚Ėƒ[ƒj‚Ė—Ę‚Íƒ‚ƒ“ƒXƒ^[‚ĖƒŒƒxƒ‹*100‚ɂȂÁ‚Ăǂ܂·B‚ą‚ę‚É‚Â‚Ē‚Ä‚āî•ņ’ņ‹Ÿ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·B -ĶŽc‰e‚Ėę‡Žg‚Á‚―Œã•’Ƃɕ₭‘O‚ɂ̓yƒbƒg‚Ė‘•”õ‚ŠŒĐ‚Ķ‚Č‚ĒƒoƒO‚Š‚ ‚č‚Ü‚·‚ŠŒīˆö‚Š‚í‚Đ‚į‚Ȃǂ˂ŕú’u‚·‚邹‚Ƃɂĩ‚Ü‚ĩ‚―B -ĶŠî–{ƒXƒLƒ‹‚Š‘Ŧ‚č‚Č‚ĒŽžo‚郁ƒbƒZ[ƒW‚Í–w‚Į‡‚í‚đ‚Ăǂ܂·‚Šƒp[ƒeƒB‚É“ü‚鎞‚ÉŠî–{ƒŒƒxƒ‹‚Š‘Ŧ‚č‚Č‚ĒŽž‚ɍ‡‚Ī•Ļ‚Š‚Č‚Đ‚Á‚―‚Ė‚Åƒp[ƒeƒB‚ðė‚ę‚Č‚Ē(Šî–{ƒXƒLƒ‹ƒŒƒxƒ‹7‚Ė•Ļ)‚Æ•\ŽĶ‚ĩ‚ÄŠĐ—U‚ĩ‚―•û‚ɂ͋‘â‚ģ‚ę‚―‚Æ•\ŽĶ‚ģ‚ę‚Ü‚·B - --------------- -//0496 by hoenny - -DWZ‚ĖƒƒeƒIƒXƒg[ƒ€ŽĀ‘• -DƒXƒeƒB[ƒ‹ƒRƒCƒ“Cģ - db/skill_db.txt - ƒƒeƒIƒXƒg[ƒ€Cģ - map/pc.c - pc_coin_steal()Cģ - map/skill.c - skill_castend_pos2()Cģ - --------------- -//495 by nini - -EAR‚Š•ÐŽč•€A—žŽč•€‚Å‚ĩ‚Đ”­“Ū‚ĩ‚ȂЂÁ‚―‚Æ‚ą‚ëCģĻ•ÐŽč•€A—žŽč•€A“ÝŠí - map/skill.c - skill_check_condition()@Cģ - -‘O‰ņCģ‚Ė‚Æ‚Ŧ“ÝŠí“ü‚ę–Y‚ę‚Ä‚―‚æ‚΂ł·B - --------------- -//0494 by Ž‚Žqo^.^o - -conf/mpc_warp.txt -Dƒnƒ“ƒ^ˆę“]E’no‚Ä‚Ē‚Č‚ĒCģ - --------------- -//0493 by ”g˜Q - -EscriptCģ - npc_town_comodo.txt ƒRƒ‚ƒhˆÄ“ā—vˆõ•”•Š‚ðíœ(npc_town_guide.txt‚Əd•Ą‚ĩ‚Ăǂ―‚Ė‚Å) - npc_town_guide.txt ƒWƒ…ƒm[ˆÄ“ā—vˆõ‚ð’Į‰Á(viewpoint‚ːF‚Ёc) - npc_town_kafra.txt ƒWƒ…ƒm[ƒJƒvƒ‰•”•Š‚ðnpc_town_yuno.txt‚Đ‚įˆÚ“Ū - npc_town_refine.txt ƒWƒ…ƒm[ļ˜BŠ•”•Š‚ðnpc_town_yuno.txt‚Đ‚įˆÚ“Ū - npc_town_yuno.txt ˆÄ“ā—vˆõ‚ƃJƒvƒ‰‚Ɛļ˜BŠ•”•Š‚ðíœ - npc_turtle.txt ‰ï˜b‚ð”ũCģ - --------------- -//0492 by Kalen - -EscriptCģ+’Į‰Á - - conf/npc_event_doll.txt (V‹K) - conf/npc_turtle.txt (V‹K)‹T“‡ŠÖ˜ANPC+‹T“‡ƒNƒGƒXƒg(qŠC“úŽ)’Į‰Á - - conf/npc_event_skillget.txt (Cģ)‰ž‹}ˆ’u‚Ė•s‹ï‡+‚Ö‚ņ‚Čtabíœetc.. - conf/npc_town_alberta.txt (Cģ)Turtle•З́A‚ŋ‚Ņ‚ÁŽqíœ(Event_doll‚ÖˆÚ“Ū) - conf/npc_town_guide.txt (Cģ)‘䎌‚Š‚Đ‚Č‚č•ύX‚ģ‚ę‚Ăǂ―‚˂ŁACģ - - --------------- -//0491 by Ž€_ - -EƒXƒLƒ‹Žc‰e(ŠØ‘ƒNƒ‰ƒCƒAƒ“ƒg‚ł͋|gœ[‰e)ŽĀ‘•B(‚―‚ū‹C’e‚Ėƒ`ƒFƒbƒN‚Í‚ĩ‚Ă܂đ‚ņB) - pc.h - pc.c - pc_can_reach() ’Į‰ÁB - skill.c - skill_check_condition()Askill_castend_pos2() CģB - skill_db.txt - Žc‰eCģB -Escript.c - set_posword() CģB -Ķˆęl‚ŃeƒXƒg‚͍ςņ‚łǂ܂·‚Š‘ž‚ːl‚ɐģ‚ĩ‚­ŒĐ‚Ķ‚é‚Đ‚Į‚Ī‚Đ‚Í–ĒŠm”F‚Å‚·B -•Ï‚Č‚Ė‚Đ‚Į‚Ī‚Đ•ņ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·B - --------------- -//0490 by nabe - -EęŠƒXƒLƒ‹ƒGƒtƒFƒNƒg‚Ń}ƒbƒvŽI‚Š—Ž‚ŋ‚邹‚Æ‚Š‚ ‚Á‚―‚Ė‚ðCģB - clif.c - clif_skill_poseffect()‚Ė - unsigned char buf[16];‚ðAunsigned char buf[32];‚ɏCģB - --------------- -//0489 by Ž€_ - -E0483‚ĖƒoƒOCģBbattle_athena.conf‚Ėquest_skill_learn‚Аģ‚ĩ‚­“K—p‚ģ‚ę‚邿‚Ī‚É•ÏX‚Æ–â‘肊‚ ‚Á‚―•”•Š‚ĖCģB(ƒeƒXƒgÏ‚Ý) - pc.c - pc_calc_skilltree()Apc_skill() CģB - atcommand.c - @lostskill ­‚ĩCģB -EƒJ[ƒh‚ĖŽg—p‚É‚æ‚éƒ}ƒbƒvŽIƒ_ƒEƒ“‚ð–h‚Ū‚―‚߂ɏ­‚ĩCģB(‚―‚ūƒJ[ƒh‚ĖŽg—p‚É‚æ‚éƒ}ƒbƒvŽIƒ_ƒEƒ“‚ðÄŒŧ‚Å‚Ŧ‚ȂЂÁ‚―‚˂Ŗ{“–‚ÉŽĄ‚Á‚―‚Đ‚Į‚Ī‚Đ‚Í•s–ū...Šū) - pc.c - pc_insert_card() CģB -Epc.h - pc_ishiding() CģB - --------------- -//0488 by hoenny - -ERG‚ĖƒXƒeƒB[ƒ‹ƒRƒCƒ“ŽĀ‘• -EƒXƒeƒB[ƒ‹Cģ -(“ņƒXƒLƒ‹ŠFˆę“xƒXƒ`[ƒ‹‚ĩ‚―ę‡‚Ü‚―ƒXƒ`[ƒ‹‚·‚邹‚Æ‚Š‚Å‚Ŧ‚Č‚Ē.‚ŧ‚ĩ‚ăXƒLƒ‹ŽŒũ‚ĖŽžƒ‚ƒ“ƒXƒ^[‚͍UŒ‚‚·‚邿‚Ī‚ÉCģ‚ĩ‚―.ƒGƒtƒFƒNƒg‚ÍŽŒũ‚ĖŽž‚ū‚Ŋo‚邿‚Ī‚ÉCģ‚ĩ‚―.) - db/skill_db.txt - ƒXƒeƒB[ƒ‹ƒRƒCƒ“Cģ - 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.txtCģ -—ô‚Ŋ‚―‘å’n‚Ė‘A”R‚Ķ‚é‘ū—z‚Ė‘AŠĢ‚ǂĂ镗‚Ė‘AāŌŽĶ˜^AƒvƒŠ[ƒXƒg‚Í‘•”õ‚·‚邹‚Æ‚Š‚Å‚Ŧ‚Ȃǖâ‘čCģ - --------------- -//0485 by hoenny - -E RG‚ĖƒXƒiƒbƒ`ƒƒ[ŽĀ‘• -E ƒXƒeƒB[ƒ‹Cģ -E ˜I“XŠJÝ‚ĖŽž skill_check_condition‚ŏó‘Ô‚ðƒ`ƒFƒN‚·‚邿‚Ī‚É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 ŒÓ’ą—– - -EŠo‚Ķ‚Ä‚Č‚ĒƒNƒGƒXƒgƒXƒLƒ‹‚ɃXƒLƒ‹ƒ|ƒCƒ“ƒg‚ðU‚ę‚é–â‘čCģ - pc.c - pc_calc_skilltree()‚ŃNƒGƒXƒgƒXƒLƒ‹‚Ėƒ`ƒFƒbƒN’Į‰Á - skill.c - skill_readdb()‚Åinf2‚ð“Į‚Þ‚æ‚Ī‚ÉCģ - -EƒyƒRƒyƒR‹RæAƒtƒ@ƒ‹ƒRƒ“‚ĖƒAƒCƒRƒ“‚ŠƒƒOƒCƒ“’žŒã‚ɂ͕\ŽĶ‚ģ‚ę‚Ȃǖâ‘čCģ - clif.c - clif_parse_LoadEndAck()Cģ - --------------- -//0483 by Ž€_ - -E0482‚Ė“K—pB - npc_event_skillget.txt CģB - script.c CģB - skill.c CģB - pc.c CģB - --------------- -//0482 by ŒÓ’ą—– - -EƒNƒGƒXƒgƒXƒLƒ‹‚ĖƒXƒNƒŠƒvƒg­‚ĩCģ -EƒXƒNƒŠƒvƒggetskilllv‚ðŒÄ‚Ԃƃ}ƒbƒvƒT[ƒo[‚Š—Ž‚ŋ‚éƒoƒOCģ - (conf/) - npc_event_skillget.txt - o—ˆ‚é‚ū‚Ŋ•ϐ”‚ðŽg‚í‚Ȃǂæ‚Ī‚ÉCģi–ĒƒeƒXƒgj - (map/) - script.c - buildin_getskilllv()Cģ - -EƒXƒeƒB[ƒ‹‚ÅŽļ”sŽž‚ĖƒGƒtƒFƒNƒg•ύX -E“Ŋ‚ķMOB‚ɂ͂P‰ņ‚ĩ‚ĐƒXƒeƒB[ƒ‹‚Å‚Ŧ‚Ȃǂæ‚Ī‚ÉCģ - (map/) - skill.c - skill_castend_nodamage_id()Cģ - map.h - struct mob_data‚Ésteal_countƒƒ“ƒo’Į‰Á - mob.c - mob_spawn()CģAsteal_count‚ð0‚ɏ‰Šú‰ŧ‚·‚邿‚Ī‚É - -EƒCƒhƒDƒ“‚Ė—ŅŒį‚ÅHP‚Š32767‚ð’ī‚͂邯ƒT[ƒo[‚Š—Ž‚ŋ‚éƒoƒOCģi–ĒƒeƒXƒgj - (map/) - pc.c - pc_calcstatus()Cģ - --------------- -//0481 by Ž€_ - -E‚ą‚ę‚Ė“K—p‚ɂ͋C‚ð‚‚Ŋ‚Ä‚­‚ū‚ģ‚ǁB0478‚ĖŒÓ’ą—–‚ģ‚ņ‚˕ςð Athena.txt‚Ėƒf[ƒ^Œ`ŽŪ•ύX‚đ‚ļ‚ɃNƒFƒXƒgƒXƒLƒ‹‚ðŠo‚͂邿‚Ī‚Éė‚Á‚―•ςł·BŽĐ•Š‚Šė‚Á‚Ä‚éÅ’†‚ÉŒÓ’ą—–‚ģ‚ņ‚Š“Ŋ‚ķ•Ļ‚ðƒAƒbƒv‚ĩ‚Ä‚­‚ę‚―‚˂ł·‚Šƒf[ƒ^‚Í•Ï‚Ķ‚Č‚Ē•û‚Š‚Ē‚Ē‚ÆŽv‚Á‚ÄŽĐ•Š‚Ė•Ļ‚āƒAƒbƒv‚ĩ‚Ü‚ĩ‚―B’ˆÓ‚·‚邹‚Æ‚Í0478‚Ėathena.txt‚ÍŽg‚Ķ‚Č‚Ē‚ÆŒū‚Ī‚ą‚Æ‚Å‚·B0478‘O‚˕ςðŽg‚Á‚Ä‚­‚ū‚ģ‚ǁB -Eskill_db.txt‚Éinf2‚ð’Į‰Á‚ĩ‚Ä‚ą‚ę‚ðŽg‚Á‚ăNƒFƒXƒgƒXƒLƒ‹‚Đ‚Į‚Ī‚Đ‚ð”ŧ’f‚·‚éŽd‘g‚݂ł·B - skill.h CģB - skill.c - skill_readdb()Cģ‚Ə­‚ĩCģB - skill_get_inf2() ’Į‰ÁB - skill_db.txt CģB - skill_tree.txt CģB(0478‘O‚Ė•Ļ) - clif.c - clif_skillinfoblock() CģB - char.c CģB(0478‘O‚Ė•Ļ) -Ebattle_athena.conf‚Équest_skill_learn’Į‰ÁB - battle.h CģB - battle.c - battle_config_read() CģB - battle_athena.conf CģB -E/resetskill‚ðbattle_athena.conf‚Équest_skill_learn‚ĖÝ’č‚ɍ‡‚í‚đ‚Äquest_skill_learn‚Šyes‚Ėę‡‚̓XƒLƒ‹ƒ|ƒCƒ“ƒg‚ɉÁŽZ‚ĩ‚Äquest_skill_learn‚Šno‚Č‚įƒŠƒZƒbƒg‚Í‚ģ‚ę‚邊ƒXƒLƒ‹ƒ|ƒCƒ“ƒg‚ɉÁŽZ‚ģ‚ę‚Ü‚đ‚ņB - pc.c - pc_skill()Apc_resetskill() Cģ‚Ə­‚ĩCģB - pc.h CģB - atcommand.c CģB - atcommnad_athena.conf CģB -EƒXƒNƒŠƒvƒg‚ĖskillƒRƒ}ƒ“ƒh‚ŃNƒGƒXƒgƒXƒLƒ‹‚ðŠo‚Ķ‚į‚ę‚é‚Ė‚Í“Ŋ‚ķ‚Å‚·‚ŠÅŒã‚Ėƒtƒ‰ƒO‚Š2‚Đ‚į0‚ɕςí‚Á‚Ă܂·‚˂ŒˆÓ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB - npc_test_skill.txt CģB - npc_event_skillget.txt CģB - conf_ref.txt CģB - client_packet.txt CģB - --------------- -//0480 by Kalen - -EEventskill’Į‰Á - conf/npc_event_skillget.txt - -Emap_athena.conf•ύX - warp.txt‚Ė“Į‚ݍž‚Ý—Dæ“x‚ð•ύX - prt_castle“™A‹ŒEP‚Ėƒ[ƒv‚ÆˆŲ‚Č‚éęŠ‚ɕύX‚ģ‚ę‚―ę‡ - æ‚É“Į‚ݍž‚ņ‚ū•û‚Š—Dæ‚ģ‚ę‚é‚˂ŁAEP‚Ė‚‚Ē‡‚˂Ђæ‚ë‚ĩ‚Ē‚Đ‚Æ - conf/map_athena.conf - --------------- -//0478 by ŒÓ’ą—– - -*** - Athena.txt‚Ėƒf[ƒ^Œ`ŽŪ•ύX!! (ŽĐ“Ū“I‚ɕϊ·‚ģ‚ę‚Ü‚·) - ƒoƒbƒNƒAƒbƒv‚ð–Y‚ę‚ļ‚É! - Data format of athena.txt is changed!! (convert automatically) - DONT FORGET BACKUP!! -*** - -EƒNƒGƒXƒgƒXƒLƒ‹ŽĀ‘• -EƒXƒNƒŠƒvƒg‚ŃXƒLƒ‹ƒŒƒxƒ‹‚ðƒ`ƒFƒbƒN‚Å‚Ŧ‚邿‚Ī‚É - EƒXƒNƒŠƒvƒg‚ĖskillƒRƒ}ƒ“ƒh‚ŃNƒGƒXƒgƒXƒLƒ‹‚ðŠo‚Ķ‚į‚ę‚Ü‚·B - Žg—p•û–@„ skill ƒXƒLƒ‹ID,ƒXƒLƒ‹LV[,ƒtƒ‰ƒO] - ƒtƒ‰ƒO‚ÍČ—Š‰Â”\‚ŁAČ—Š‚·‚邯‚P‚ðŽw’č‚ĩ‚―‚ą‚Æ‚ɂȂč‚Ü‚·B - ‚P‚Å‘•”õ•i‚É‚æ‚éˆęŽž“I‚ȏK“ūA‚Q‚ŃNƒGƒXƒg‚É‚æ‚éP‹v“I‚ȏK“ū‚Å‚·B - P‹v“I‚ȏK“ū‚Ėę‡Askill_tree.txt‚Ɉˑķ‚ĩ‚Ü‚· - EgetskilllvƒRƒ}ƒ“ƒh’Į‰Á - Žg—p•û–@„ getskilllv(ƒXƒLƒ‹ID) –ß‚č’l‚̓Œƒxƒ‹‚Å‚·B0‚Å–ĒK“ūB - - (conf/) - npc_test_skill.txt - ƒTƒ“ƒvƒ‹ - (db/) - skill_tree.txt - ƒNƒGƒXƒgƒXƒLƒ‹‚Æ‚ĩ‚Ä•K—vƒXƒLƒ‹ID‚É-1‚ðÝ’čB - (char/) - char.c - ƒtƒ‰ƒO‚āathena.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 ƒXƒLƒ‹ID ‚ŃNƒGƒXƒgƒXƒLƒ‹‚ðŠo‚͂܂·B(ƒNƒGƒXƒgƒXƒLƒ‹‚Ė‚Ý) - E@lostskill ƒXƒLƒ‹ID ‚ŃXƒLƒ‹‚ð–Y‚ę‚Ü‚·B(ƒNƒGƒXƒgƒXƒLƒ‹ˆČŠO‚āOK) - - atcommand.c/atcommand.h - struct Atcommand_Config‚Élostskill,questskillƒƒ“ƒo’Į‰Á - @questskill,@lostskillˆ—’Į‰Á - --------------- -//0477 by nabe - -Eˆę•”•ϐ”‚ːéŒūˆĘ’u‚Ė•ÏX‚Ė‚ÝiLinux“™‚ŃRƒ“ƒpƒCƒ‹‚ĩ‚â‚·‚Ē‚æ‚΂ɁjB - atcommand.c,battle.c,clif.c,mob.c,npc.c,skill.c - --------------- -//0476 by nabe - -Econf/ ‚ŋ‚å‚Á‚ÆŪ— - conf/map_athena.confCģB - tortoise.txt‚ðnpc_town_alberta.txt’†‚ÉˆÚ“ŪB - npc_script2.txt‚ĖƒRƒ‚ƒhƒKƒCƒh‚ðnpc_town_comodo.txt’†‚ÉˆÚ“ŪB - -Enpc‚ŠƒLƒƒƒ‰–ž‚ð’‚é‚Æ‚Ŧ‚ĖƒoƒOCģ - map/script.c - buildin_strcharinfo()‚ŃLƒƒƒ‰–ž—p‚Ėƒƒ‚ƒŠ‚ð - static‚ÉŠm•Û‚ĩ‚Ä‚ĩ‚Ü‚Á‚Ăǂ―‚Ė‚ðAmalloc‚ɏCģB - --------------- -//0475 by hoenny - -“D–_‚ĖƒXƒeƒB[ƒ‹ŽĀ‘•B -ƒMƒ‹ƒhķŽ‚ĖŽžƒGƒ“ƒyƒŠƒEƒ€Á–Õ‚·‚邿‚Ī‚ÉCģB - map/guild.c - guild_create()CģB - guild_created()CģB - map/skill.c - skill_castend_nodamage_id()CģB - --------------- -//0474 by Ž€_ - -E0471‚ːļ—û‚ĖŽž•\ŽĶ‚ģ‚ę‚é•ķŽš‚ĖÝ’č‚ðmap_athena.conf‚Đ‚įscript_athena.conf‚ɕύXB - script.c - do_init_script() Cģ‚Ə­‚ĩCģB - script.h CģB - script_athena.conf ’Į‰ÁB - map_athena.conf CģB - map.c - map_config_read() CģB -EŒÃ‚ĒŠŠ•ĻAƒvƒŒƒ[ƒ“ƒgƒ{ƒbƒNƒXŽĀ‘•‚Ə­‚ĩŽd—l•ύXB -ƒ‰ƒ“ƒ_ƒ€‚ŃAƒCƒeƒ€‚ð“ū‚é•Ļ‚ÉƒfƒtƒHƒ‹ƒg‚ŏo‚éƒAƒCƒeƒ€‚ðÝ’č‚Å‚Ŧ‚邿‚Ī‚É•ÏXBĄ‚ĖŽd—l‚Å‚Í1000‰ņ‚܂ŃAƒCƒeƒ€‚Š‘I‘ð‚ģ‚ę‚ȂЂÁ‚―‚įƒfƒtƒHƒ‹ƒgƒAƒCƒeƒ€‚Šo‚邿‚΂ɂȂÁ‚Ăǂ܂·BƒfƒtƒHƒ‹ƒgƒAƒCƒeƒ€‚Š0‚Ėę‡‚̓AƒCƒeƒ€‚ð“ū‚į‚ę‚Ü‚đ‚ņB -Ý’č‚·‚éŠm—Ķ‚ð*1000‚Đ‚į*10000‚ɕύXB‚―‚ūitem_~.txt‚ĖCģ‚Í‚â‚Á‚Ăǂ܂đ‚ņB’N‚Đ‚â‚Á‚Ä‚­‚ū‚ģ‚ǁB(‘ž—Í–{Šč) - itemdb.c - temdb_read_randomitem() CģB - itemdb_searchrandomid() CģB - item_purplebox.txt ‚Đ‚į item_violetbox.txt ‚ɏCģB - item_giftbox.txtAitem_scroll.txt ’Į‰ÁB(move‚ģ‚ņ‚ ‚肊‚Æ‚ĪB) - item_db.txt - ŒÃ‚ĒŠŠ•ĻAƒvƒŒƒ[ƒ“ƒgƒ{ƒbƒNƒX CģB -Etrade.c - trade_tradecommit() CģBpc_delitem()‚ðŽg‚Ī‚æ‚Ī‚É•ÏXB -ĶƒeƒXƒg‚Í‚â‚Á‚Ăǂ܂đ‚ņ‚˂Ŗâ‘肊‚ ‚Á‚―‚į•ņ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB - --------------- -//0473 by Kuro - -Eclass_equip_db‚ðˆę•”Cģ - db/class_equip_db.txt - --------------- -//0471 by hoenny - -ŧ˜B‚ĖŽžo‚é•ķ‚ð•Ï‚Ķ‚é‚ą‚Æ‚Š‚Å‚Ŧ‚邿‚΂ɂĩ‚Ü‚ĩ‚―.(map_athena.conf‚Å’ēß‰Â”\) -‹CŒũ‚ː”Žš‚ŠŽsœD‚ĖŽžŽĀÛ…˜H•\ŽĶ}—ΏCģ - conf/map_athena.conf - refine_posword:’Į‰ÁB - map/map.c - map_config_read()CģB - map/script.h - do_set_posword()’Į‰ÁB - map/script.c - do_set_posword()’Į‰ÁB - buildin_getequipname()CģB - map/skill.c - skill_status_change_start()CģB - --------------- -//0470 by Ž€_ - -Eŧ‘Ē‚ĖŽž‘ېŦÎ‚Š“ņ“xŒļ‚é–â‘čCģB(ŽĀ‚Í“ņ“xŒļ‚邿‚Ī‚ÉŒĐ‚Ķ‚é‚ū‚Ŋ‚Ń}ƒbƒv‚ðˆÚ“Ū‚·‚邯ģ‚ĩ‚­•\ŽĶ‚ģ‚ę‚Ü‚·‚Š...) - pc.hApc.c - pc_delitem() CģB - npc.cAscript.cAstorage.cApet.c - pc_delitem()‚ð‘S‚ďCģB - skill.c - skill_produce_mix() CģB - --------------- -//469 by ”g˜Q - -Enpc_mob_job.txtAnpc_monster.txtAnpc_monster30.txtAmob_db.txt‚Ėƒ‚ƒ“ƒX–ž‚ðCģ -Eitem_db.txt‚ˉņ•œƒAƒCƒeƒ€‚ˉņ•œ—Ę‚ðƒWƒ…ƒm[Œã‚Ė‚ā‚Ė‚ÉCģ - --------------- -//468 by Kuro - -E–‚Œ•ŧėƒNƒGƒXƒg’Į‰Á - conf/npc_event_ma_sword.txt - --------------- -//467 by nini - -EBB‚Š—žŽčŒ•‚Å‚ĩ‚Đ”­“Ū‚ĩ‚ȂЂÁ‚―‚Æ‚ą‚ëCģĻ‚·‚Ũ‚Ă˕Ší‚Å -EAR‚Š—žŽč•€‚Å‚ĩ‚Đ”­“Ū‚ĩ‚ȂЂÁ‚―‚Æ‚ą‚ëCģĻ•ÐŽč•€A—žŽč•€A“ÝŠí -EƒXƒsƒAƒNƒCƒbƒPƒ“”­“Ū‚ð‘„‚ū‚Ŋ‚É -EƒLƒƒƒXƒgƒLƒƒƒ“ƒZƒ‹‚ģ‚ę‚Ȃǂā‚Ė‚ÉƒOƒ‰ƒ“ƒhƒNƒƒXAƒ[ƒO‚ĖƒXƒgƒŠƒbƒvƒVƒŠ[ƒY’Į‰Á -EƒuƒŠƒbƒcƒr[ƒg‚ŠƒLƒƒƒXƒgƒLƒƒƒ“ƒZƒ‹‚ģ‚ę‚Č‚­‚Č‚Á‚Ä‚―“_Cģ - map/skill.c - skill_use_id()@Cģ - skill_check_condition()@Cģ -E2-2EƒXƒLƒ‹‚ĖƒLƒƒƒXƒgEƒfƒBƒŒƒC’Į‰Á - db/cast_db.txt - - --------------- -//466 by hoenny - -EˆĒC—…”e–PŒCģ(ŒöŽŪCģ‹y‚Ņ spÁ–Õ‚Š‚·‚ŪŒĐ‚Ķ‚é‚æ‚Ī‚É) -E’~‹C‚ĖŽž‹C’e‚ŠŒĐ‚Ķ‚é‚æ‚Ī‚ÉCģ(Mr.NO NAME—l‚ĖƒpƒPî•ņ‚ ‚肊‚Æ‚Ī‚ē‚ī‚ǂ܂·.‹C’e‚ŠÁ‚Ķ‚éƒpƒPî•ņ‚Š•s‘Ŧ‚Å‚·.) -EƒpƒŠ‚ˉH‚âƒeƒŒƒ|[ƒg1‚ð˜A‘ąŽg—p‚ĖŽž,ŽIƒI[ƒo[‚Š”­ķ‚ĩ‚Ȃǂæ‚΂ɉž‰‚߂ŏCģ - doc/client_packet.txt - 0x1e1ƒpƒPî•ņ’Į‰Á - 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 Ž€_ - -EƒŠƒUƒŒƒNƒVƒ‡ƒ“‚ƃnƒCƒfƒBƒ“ƒOAƒuƒŠƒbƒcƒr[ƒg‚ĖƒoƒOCģB(ƒuƒŠƒbƒcƒr[ƒg‚Í•ņ‚͂ȂЂÁ‚―‚˂ł·‚Š•ŠÍ‚ĩ‚―‚į–â‘肊‚ ‚Á‚―‚Ė‚ÅCģB) - skill.c - skill_use_id() CģB - skill_castend_nodamage_id() CģB -E0455‚ĖNPC‚ðŒģ‚É–ß‚ĩ‚Ü‚ĩ‚―B - npc_event_ice.txt CģB - npc_event_potion.txt CģB - npc_town_geffen.txt CģBi454‚˕ςɖ߂ĩ‚Ü‚ĩ‚―Bj -E0451‚Ėƒŋƒ}ƒbƒv‚ðƒRƒ}ƒ“ƒgƒAƒEƒg‚ĩ‚Ü‚ĩ‚―B•K—v‚Č•û‚̓Rƒ}ƒ“ƒgƒAƒEƒg‚ð‚Č‚­‚ĩ‚ÄŽg‚Á‚Ä‚­‚ū‚ģ‚ǁB - map_athena.conf CģB -EƒŠƒUƒŒƒNƒVƒ‡ƒ“‚Í0442‚Ė–â‘č‚ŃnƒCƒfƒBƒ“ƒOAƒuƒŠƒbƒcƒr[ƒg‚Í0445‚Ė–â‘č‚Å‚ĩ‚―B‚ŧ‚悯0445‚ĖCģ‚ŃXƒLƒ‹”ԍ†‚ðenum‚ŐéŒū‚ĩ‚―•ķŽš‚É•Ï‚Ķ‚Ä‚Ē‚Ü‚·‚Š‚ŧ‚ę‚É—Ž‚Æ‚ĩ‚Š‚ ‚邿‚΂ł·B(ƒnƒCƒfƒBƒ“ƒOAƒuƒŠƒbƒcƒr[ƒg‚Í‚ŧ‚Ė‚đ‚ǂłĩ‚―B)‘O‚Ė”Ô†ƒ\[ƒX‚Æ”ä‚Ũ‚Ä–â‘肊‚ ‚é•”•Š‚ÍCģ‚·‚é•K—v‚Š‚ ‚č‚Ü‚·B‚ŋ‚å‚Á‚Æ–Ę“|‚Å‚·‚Š... - --------------- -//464 by ”g˜Q - -Eƒ‚ƒ“ƒNƒXƒLƒ‹‚Ė•”•Š‚É‚Â‚Ē‚ÄCģ(–ĒŽĀ‘•ƒXƒŒ‚ɏ‘‚Đ‚ę‚Ăǂ―‚ā‚Ė‚ð’Į‰Á‚ĩ‚―‚ū‚Ŋ‚Å‚·B - skill.c - skill_use_id()Cģ - cast_db.txt - ƒ‚ƒ“ƒNƒXƒLƒ‹’Į‰Á - --------------- -//463 by ŒÓ’ą—– - -E462‚ĖƒoƒOCģ - ENPC‚ĖSHOP‚Ė•s“s‡Cģ - EREADME‚ĖŠÔˆá‚ĒCģiwarpwaitingpc‚Šwarpwaitingroom‚ɂȂÁ‚Ăǂ―j - - map.h - struct npc_data‚Ėchat_id‚ĖˆĘ’u‚ðCģ - --------------- -//462 by ŒÓ’ą—– - -ENPCƒ`ƒƒƒbƒgėŽ - Ewaitingroom–―—ß‚ÅNPCƒ`ƒƒƒbƒg‚ðėŽ‚ĩ‚Ü‚·B - ˆø”‚Í waitingroom "ƒ`ƒƒƒbƒg–ž",§ŒĀl”,ƒCƒxƒ“ƒg–ž ‚Å‚·B - ƒCƒxƒ“ƒg–ž‚͐l”‚ŠÅ‘å‚ɂȂÁ‚―‚Æ‚Ŧ‚É‹N‚ą‚·ƒCƒxƒ“ƒg–ž‚ŁAČ—Š‰Â”\B - Ewarpwaitingpc–―—߂ŁAƒ`ƒƒƒbƒg“ā‚ɂǂéPC‘Sˆõ‚ðƒ[ƒv‚Å‚Ŧ‚Ü‚·B - ˆø”‚Íwarp‚Æ“Ŋ‚ķ‚ŁAwarpwaitingpc "ƒ}ƒbƒv–ž",x,y ‚Å‚·B - - map.h - struct npc_data‚Æchat_data‚ðCģ - script.c - buildin_waitingroom(),buildin_warpwaitingpc()’Į‰Á - chat.c/chat.h - FXCģ - clif.c - clif_getareachar_npc()Aclif_joinchatok()‚Č‚ĮCģ - -ENPC‚ĖOnInitƒCƒxƒ“ƒg‚ðƒT[ƒo[‹N“ŪŽž‚ɌĂԂæ‚΂ɁB -EƒGƒNƒXƒ|[ƒg‚·‚邯‚Ŧ‚ĖNPC–ž‚Æ•\ŽĶã‚ĖNPC–ž‚ð•ʁX‚ɐݒč‰Â”\‚ɁB - E“Ŋ‚ķNPC–ž‚ĖƒCƒxƒ“ƒg‚͏d•Ą‚Å‚Ŧ‚Ȃǂ―‚߁AƒGƒNƒXƒ|[ƒg—pNPC–ž‚ðŽg‚ǁA - “Ŋ‚ķNPC–ž‚Å‚ā•Ę‚ĖNPC‚Æ‚ĩ‚ÄŽŊ•ƂłŦ‚邿‚΂ɂĩ‚Č‚Ŋ‚ę‚΂Ȃč‚Ü‚đ‚ņB - (‚ā‚ŋ‚ë‚ņAƒCƒxƒ“ƒgˆ—‚ðs‚í‚Č‚Ēę‡‚Í‚ŧ‚Ė•K—v‚Í‚ ‚č‚Ü‚đ‚ņB) - Enpc_*.txt‚Ėscript–―—ß‚ÅNPC‚Ė–ž‘O‚ðÝ’č‚·‚邯‚ŦA - u•\ŽĶ–ž::ƒGƒNƒXƒ|[ƒg–žv‚Æ‚·‚邯A•\ŽĶ‚·‚é–ž‘O‚ƁAƒCƒxƒ“ƒg—p‚É - ƒGƒNƒXƒ|[ƒg‚·‚é–ž‘O‚ð•ʁX‚ÉŽw’č‚Å‚Ŧ‚Ü‚·B - •\ŽĶ–ž‚Š‘S‚­“Ŋ‚ķ•ʁX‚ĖNPC‚ŃCƒxƒ“ƒg‚ð“Ūė‚ģ‚đ‚邯‚Ŧ‚ÉŽg—p‚ĩ‚Ü‚·B - E‚â‚₹‚ĩ‚ǂ˂ÅPVP‚ĖnpcƒXƒNƒŠƒvƒg‚ðŒĐ‚ă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_dataCģ - -EƒXƒNƒŠƒvƒggetmapusersAgetareausers‚Ė’v–―“I‚ČƒoƒOCģ - EŠY“–ƒ}ƒbƒv‚Š‘ķÝ‚ĩ‚Č‚Ēę‡Aƒ}ƒbƒvƒT[ƒo[‚Š—Ž‚ŋ‚é‚Ė‚ðCģB - Eƒ}ƒbƒv‚Š‘ķÝ‚ĩ‚Č‚Ē‚ÆA-1‚ð•Ô‚·‚æ‚΂ɂĩ‚―B - - script.c - buildin_getmapusers(),buildin_getareausers()Cģ - -Epvp‚ĖƒXƒNƒŠƒvƒgCģ - Eƒ`ƒƒƒbƒgƒ‹[ƒ€‚ðė‚邿‚΂ɂĩ‚― - - (conf/) - npc_pvproom.txt - ‘S‚Ä‚ĖNPC‚ĖƒGƒNƒXƒ|[ƒg–ž(pvp??r)Ý’č - OnInit:‚Åwaitingroom‚ðŽĀs‚·‚邿‚Ī‚É - --------------- -//461 by Kuro -EƒAƒRƒ‰ƒCƒg“]EƒNƒGƒXƒgˆę•”Cģ - conf/npc_job_aco.txt - --------------- -//460 by sagitarius -Eitem_db‚ĖŠÔˆá‚ĒCģ - 4032,Ambernite_Card,ƒAƒ“ƒo[ƒiƒCƒgƒJ[ƒh,6,20,,10,,2,,,,,32,,,,{},{},,Cģ - --------------- -//459 by hoenny -EƒAƒhƒŒƒiƒŠƒ“ƒ‰ƒbƒVƒ…Žg—p‚ĖŽž•€ƒ`ƒFƒbƒN(ŽĐ•Š‚ū‚Ŋ) -EOld_Blue_Box‚ĖŠm—Ķ‚Š‚‚Ē‚Æ‚Ē‚Ī•ņ‚É‚æ‚Á‚ďCģ -EScript.c‚Í0455ˆČ‘O‚ą‚Æ‚ňøŠ·(NPC‚ð‚ą‚ą‚ɍ‡‚í‚đ‚ďCģ‚ĩ‚Ä‚­‚ū‚ģ‚Ē) -EˆĒC—…”e–PŒCģ(ŒöŽŪ‚ðCģ‚ĩ‚―‚ņ‚Å‚·‚Š, ģŠm‚Đ‚Í‚æ‚­•Š‚Đ‚į‚Ȃǂł·‚Ë.) -EC“đ‘m‚Ė’~‹C,”šŠú‚ˉžŽĀ‘•.(ˆĒC—…”e–PŒŽg—p‚ĖŽž’~‹C,”šŠúó‘Ô‚ðƒ`ƒFƒbƒN‚ĩ‚Ü‚·. ) -EƒyƒRƒyƒR‚ɏæ‚Á‚―Œã‚ɁAADPD‚ŠŠÔˆá‚Á‚―‚ą‚ÆCģ(ƒoƒO‚ð’ž‚ĩ‚Ä‚ ‚°‚―‚Š, ’ž‚·‘O‚ą‚Æ‚ɕςí‚é‚đ‚ǂł܂―Cģ) -‚ŧ‚ĖŠO‚É‚āCģ‚ð‚ĩ‚―‚æ‚Ī‚Č‚Ė‚ÉŠo‚͂Ȃǂł·‚Ë.‚ŧ‚ĩ‚ÄŒë‚Á‚―•”•ЂЂ ‚ę‚ÎŽw“E‚ĩ‚Ä‚­‚ū‚ģ‚Ē. - conf/npc_event_ice.txt - checkweightCģ - conf/npc_town_geffen.txt - checkweightCģ - db/item_purplebox.txt - Old_Blue_BoxCģ - 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 -EƒAƒRƒ‰ƒCƒg“]EƒNƒGƒXƒg’Į‰Á - conf/npc_job_aco.txt - ‰ï˜b•ķ‚Š•Š‚Đ‚į‚ȂЂÁ‚―‚˂œK“–‚É‚ĩ‚Ä‚ ‚č‚Ü‚·B‚Ü‚―ANPC‚ĖŠOŒĐ‚Ė•Ï‚Ķ•û‚Š•Š‚Đ‚į‚ȂЂÁ‚―‚˂œK“–‚É‚ĩ‚Ä‚ ‚č‚Ü‚·B - •Š‚Đ‚é•û‚͏Cģ‚ĩ‚Ăςǂĉš‚ģ‚ǁB - --------------- -//0457 by Kalen - -EPVPŠÖ˜A‚ĖNPC’Į‰Á - conf/npc_pvp.txt - conf/npc_pvproom.txt - --------------- -//0456 by Ž€_ - -Eƒ‚ƒ“ƒXƒ^[‚ĖÅ‰UŒ‚ŽžŠÔ‚Š’·‚·‚Ž‚é–â‘čCģB -ƒ‚ƒ“ƒXƒ^[‚ĖÅ‰UŒ‚ŽžŠÔ‚ðĄ‚Ü‚Å‚Ímob_db‚ĖaDelay‚ðŽg‚Á‚Ăǂ܂ĩ‚―‚Š‚ą‚ę‚ðaMotion‚ɕύX‚ĩ‚Ü‚ĩ‚―BĄ‚܂łÍmob_db‚ĖaMotion‚̓Sƒ~‚Å‚ĩ‚―‚ŠĄ“x‚Đ‚į‚̓Sƒ~‚ł͂ ‚č‚Ü‚đ‚ņBaMotion‚ģ‚͐ģ‚ĩ‚Ŋ‚ę‚΃‚ƒ“ƒXƒ^[‚ĖUŒ‚‚Ėƒ‚[ƒVƒ‡ƒ“‚Ė‘O‚Ƀ_ƒ[ƒW‚Šo‚Ä‚­‚é–â‘č‚ā‚Č‚­‚Č‚é‚Í‚ļ‚Å‚·B - mob.c - mob_changestate() CģB -EƒAƒCƒeƒ€‚ð“üŽč‚Å‚Ŧ‚Č‚ĒŽž‚ŧ‚Ė——R‚É“–‚―‚郁ƒbƒZ[ƒW‚Šo‚邿‚Ī‚É•ÏXB - pc.c - pc_additem() CģB -Ejob_db1.txt‚˂Ŗâ‘č‚ɂȂÁ‚―.‚ð,‚ɏCģB - --------------- -//455 by Mr.NO NAME -ENPC‚Æ‚ĖƒAƒCƒeƒ€ŒðŠ·‚┃‚Ē•ĻŠÖŒW‚ĖScript‚Šo—ˆã‚Š‚Á‚―“–‰‚Ė -@NPCƒf[ƒ^(npc_event_making.txtAnpc_town_geffen.txt“™)‚ɏæ‚ÁŽæ‚čAˆČ‰š‚ðCģB - conf/npc_event_ice.txt - npc_event_potion.txt - npc_town_geffen.txti454ˆČ‘O‚˕ςɖ߂ĩ‚Ü‚ĩ‚―Bj - map/script.c - buildin_checkweight()‚ðCģB - --------------- -//454 by Kuro -EƒQƒbƒtƒFƒ“’b–č‰Ū‚Å”ƒ‚Ē•Ļ‚Šo—ˆ‚邿‚Ī‚ÉCģ - conf/npc_town_geffen.txt - --------------- -//0451 by code -E ĄX‚Å‚·‚ŠƒŋƒNƒ‰ƒCƒAƒ“ƒg‚ɑΉž(ƒŋƒNƒ‰ƒCƒAƒ“ƒg‚Ėdata.grf‚ðadata.grf‚Æ‚ĩ‚Ägrf-files.txt‚Ėadata‚Ė‚Æ‚ą‚ë‚ɏ‘‚ǂĂ­‚ū‚ģ‚Ē) - common/grfio.c - grfio_setadatafile()’Į‰Á - /grfio.h - grfio_setadatafile()’Į‰Á - conf/map_athena.conf - ƒŋƒNƒ‰ƒCƒAƒ“ƒg‚Ėƒ}ƒbƒv‚ð“Į‚ݍž‚Þ‚æ‚Ī‚É•ÏX - /npc_warp_a.txt - ƒŋƒ}ƒbƒv‚Ėƒ[ƒvƒ|ƒCƒ“ƒg‚ĖÝ’č(‚ŋ‚å‚Á‚Æ‚ļ‚ę‚Ä‚é‚Đ‚ā) - /grf-files.txt - ƒŋƒNƒ‰ƒCƒAƒ“ƒg‚Ėdata.grf‚ðadata.grf‚Æ‚ĩ‚Ä“Į‚ݍž‚Þ‚æ‚Ī‚ÉÝ’č - adata: ‚É‹Lq -ĶƒŋƒNƒ‰ƒCƒAƒ“ƒg‚Í -@ttp://www.castledragmire.com/ragnarok/ -@‚ ‚―‚č‚Đ‚į“üŽč‚ĩ‚Ä‚­‚ū‚ģ‚ǁB - --------------- -//0450 by hoenny -E ‹R•šC—ûŽĀ‘• -E ƒRƒ€ƒpƒ‹ƒVƒ‡ƒ“ƒfƒBƒXƒJƒEƒ“ƒgŽĀ‘• -E ƒfƒBƒXƒJƒEƒ“ƒgEƒI[ƒo[ƒ`ƒƒ[ƒWCģ(”‚Š‚‚Ēę‡ŒvŽZ–@‚ŠŠÔˆá‚Á‚―‚ą‚Æ‚ð’ž‚ĩ‚Ü‚ĩ‚―.) -E “SŒCģ(‘fŽč‚ČŽž‚ā“K—p‚ģ‚ę‚邿‚Ī‚É) -E •€C—ûCģ(•ÐŽč•€‚ČŽž‚ā“K—p‚ģ‚ę‚邿‚Ī‚É) -E ƒ{ƒ“ƒSƒ“‚ŠUŒ‚‚·‚邿‚Ī‚ÉCģ - map/pc.c - pc_calcstatus()Cģ - pc_modifybuyvalue()Cģ - pc_modifysellvalue()Cģ - map/battle.c - battle_addmastery()Cģ - db/mob_db.txt - ƒ{ƒ“ƒSƒ“Cģ - --------------- -//0449 by Ž€_ - -E•Ï‚É‚Č‚Á‚―ŠCģB - const.txt - bAtk‚ÆbDef ’Į‰ÁB - battle.c - battle_calc_weapon_attack()‚ðŒģ‚É–ß‚ĩ‚Ü‚ĩ‚―B(0445‚Ė•Ļ) - map.h - map_session_data‚ðŒģ‚É–ß‚ĩ‚Ü‚ĩ‚―B(0445‚Ė•Ļ) - pc.c - pc_calcstatus() CģB - pc_bonus() CģB - item_db.txt‚ðŒģ‚É–ß‚ĩ‚Ü‚ĩ‚―B(0446‚Ė•Ļ) - --------------- -//0448 by hoenny -E‘‘ŽCģ(pc_walk()‚Đ‚į pc_calcstatus()‚ɈړŪ) -EÅ‘åŠŽ—ʏCģ - map/pc.c - pc_calcstatus()CģB - --------------- -//0447 by ‚ä‚Ī -E“ņ“—ށE–î‚ˑېŦ‚ðģ‚ĩ‚­“K‰ž -EATK‚Ėã‚Š‚éƒJ[ƒh‚ĖŒø‰Ę‚𕐊íƒTƒCƒYCģ‚Č‚ĩ‚Ė’ęã‚°‚ɕύX -EATKEDEF‚Ėã‚Š‚éƒJ[ƒh‚ĖŒø‰Ę‚Ė“K‰ž‚ĖŽd•û‚ð•ύX - -map.h - map_session_data‚Écatk(ƒJ[ƒhATK)‚ð’Į‰Á - -pc.c - pc_calcstatus() - ƒAƒTƒVƒ“‚Ė“ņ“—Ž‚ĖUŒ‚‘Ž“x‚ðCģ‚ĩ‚― - ƒXƒNƒŠƒvƒg‚É‚æ‚é‘ېŦ‚ðķ‰Eģ‚ĩ‚­“K‰ž‚·‚邿‚΂ɂĩ‚― - –î‚ˑېŦ‚ðģ‚ĩ‚­“K‰ž‚·‚邿‚΂ɂĩ‚―i‹|‚ˑېŦ—Dæj - ‚―‚ū‚ĩA–‚·‚Ũ‚Ä‚ĖUŒ‚‚É“K‰ž‚ģ‚ę‚Ü‚· - ƒJ[ƒhATK‚Ėˆ—‚ð’Į‰Á‚ĩ‚― - -battle.c - battle_calc_weapon_attack() - ƒJ[ƒgATK‚ð’ęã‚°ƒ_ƒ[ƒW‚Æ‚ĩ‚ÄŒvŽZ‚·‚邿‚΂ɂĩ‚― - -item_db.txt - ƒJ[ƒh‚Ė bonus bAtkAbDef ‚ðíœ - ‚Đ‚í‚č‚ɁA‘•”õ‚Æ“Ŋ—l‚ÉATK‚ÆDEF‚ðÝ’č - i•ύX‘O‚ðitem_db2.txt‚Æ‚ĩ‚Ăǂé‚˂ŁA•s‹ï‡‚Š‚ ‚ę‚Ζ߂ĩ‚Ä‚­‚ū‚ģ‚ǁj - - --------------- -//0446 by hoenny -Eƒ~ƒXƒgƒŒƒXƒJ[ƒhŽĀ‘•B -EƒXƒLƒ‹Žg—p‚ĖŽžƒWƒFƒ€ƒXƒg[ƒ“Á”ïB -EƒXƒLƒ‹Žg—p‚ĖŽž‘•”õƒ`ƒFƒbƒNB(ƒnƒ“ƒ}[ƒtƒH[ƒ‹‚ū‚ŊCģ‚ĩ‚æ‚Ī‚Æ‚ĩ‚―‚Š...) -Eƒnƒ“ƒ}[ƒtƒH[ƒ‹‚Ė”ÍˆÍ‚ð ”žŒa5ƒZƒ‹(‘S25ƒZƒ‹)ƒCģ - map/skill.c - skill_check_condition()CģB - skill_castend_pos2()CģB - -Eƒ~ƒXƒgƒŒƒXƒJ[ƒhCģB - db/item_db.txt - --------------- -//0445 by Aya - -EŠî–{ASPD‚ÆŒvŽZˆ—‚ðCģB - db/job_db1.txt - map/pc.c -ESPŒW”‚ÆŒvŽZˆ—‚ðCģB - db/job_db1.txt - map/pc.c -EƒXƒLƒ‹–ž‚ðenum‚ŐéŒū‚ĩA‚ŧ‚ę‚ðŽg‚Ī‚æ‚Ī‚É•ÏXB - map/skill.h - map/battle.c - map/pc.c - map/skill.c -EƒŠƒJƒoƒŠ[‚ĖƒXƒLƒ‹ID‚ŠƒXƒ[ƒ|ƒCƒYƒ“‚ɂȂÁ‚Ăǂ―‚Ė‚ðCģB - map/skill.c -EW’†—ÍŒüã‚ɃJ[ƒhŒø‰Ę‚Š“K—p‚ģ‚ę‚Ăǂ―–â‘č‚ĖCģB - map/pc.c -EƒŠƒ€[ƒuƒgƒ‰ƒbƒvAƒXƒvƒŠƒ“ƒOƒgƒ‰ƒbƒvAƒ|ƒCƒYƒ“ƒŠƒAƒNƒg‚Ėƒ^[ƒQƒbƒg‚ðCģB - db/skill_db.txt -EGMƒAƒJƒEƒ“ƒg‚ðjRO‚Ėclientinfo.xml‚Đ‚į’Į‰ÁB - conf/GM_account.txt -EwarningCģB - map/party.c -EƒLƒƒƒ‰ƒZƒŒ”FØŽž‚Élogin_id2‚̓`ƒFƒbƒN‚ĩ‚Ȃǂæ‚Ī‚É•ÏXB - login/login.c -Eobject_def.batˆČŠO‘Sƒtƒ@ƒCƒ‹‚ˉüsƒR[ƒh‚ðLF‚ɕύXB -E*.cnfƒtƒ@ƒCƒ‹‚ð*.confƒtƒ@ƒCƒ‹‚É–ž‘O•ύXB - --------------- -//0444 by Ž€_ - -EGMƒRƒ}ƒ“ƒh‚â@ƒRƒ}ƒ“ƒh‚ɃRƒ}ƒ“ƒh•ʂɎg—pƒŒƒxƒ‹‚ðÝ’č‚Å‚Ŧ‚邿‚Ī‚É•ÏX‚Æ@ƒRƒ}ƒ“ƒh­‚ĩCģB(@where‚Æ@dayA@night‚ĖCģ‚Æ‘ž‚ĖƒLƒƒƒ‰‚ÉŽg‚ĪƒRƒ}ƒ“ƒh‚Ėę‡GMƒŒƒxƒ‹‚ŠŽĐ•ŠˆČã‚Ėę‡Žg‚͂Ȃǂæ‚Ī‚ÉCģB) - atcommand.h CģB - atcommand.c CģB - clif.c CģB - map/makefile CģB - map.c - do_init() CģB - conf/atcommand_athena.cnf ’Į‰ÁB -EŨ‚Đ‚ĒCģB - pc.c - pc_setghosttimer()Apc_skill() CģB - script.c - buildin_skill() CģB -Econf_ref.txt CģB -Eitem_db.txt - ”ޏ—‚Ė‘z‚ĒCģB - --------------- -//0442 by ŒÓ’ą—– - -E‘‘Žƒ|[ƒVƒ‡ƒ“ŽĀ‘• - ELv‚âE‹Æ”ŧ’č‚͍s‚ǂ܂đ‚ņ - - (db/) - const.txt - SC_SpeedPot0,SC_SpeedPot1,SC_SpeedPot2’Į‰Á - item_db.txt - ‘‘Žƒ|[ƒVƒ‡ƒ“‚ĖƒXƒNƒŠƒvƒg’Į‰Á - (map/) - skill.c - skill_status_change_start()Cģ - pc.c - pc_calcstatus()Cģ - -EPvPƒVƒXƒeƒ€‚ˉžŽĀ‘• - Epvpƒ}ƒbƒv‚Å‚ÍŽĐ“Ū“I‚ɁAPC‚Ėpvpƒtƒ‰ƒOonA‡ˆĘ’Ę’m‚Č‚Į‚ðs‚ǂ܂·B - Eƒ}ƒbƒv‚Épvpƒtƒ‰ƒO‚ð‚‚Ŋ‚éƒTƒ“ƒvƒ‹‚ðnpc_pvp.txt‚Æ‚ĩ‚Ä“Y•t‚ĩ‚Ăǂ܂·B - Epvp‚ĖÚ‚ĩ‚Ēƒ‹[ƒ‹‚Š‚æ‚­‚í‚Đ‚į‚ȂЂÁ‚―‚˂ŁAŽŸ‚Ė‚æ‚΂ɂĩ‚Ăǂ܂·B - EÅ‰‚ĖŽ‚ŋ“_‚Í5“_A“|‚·‚Æ1“_A“|‚ģ‚ę‚邯-5“_B - E0“_ˆČ‰š‚ĖPC‚ÍƒŠƒUƒŒƒNƒVƒ‡ƒ“‚ŠŠ|‚Đ‚į‚Č‚Ē - EGM‚Ípvpƒ}ƒbƒv‚ɂǂĂā‘ŦŒģ‚ɃT[ƒNƒ‹‚ŠoŒŧ‚ĩ‚Ȃǂæ‚΂ł·B - iƒNƒ‰ƒCƒAƒ“ƒg‚ĖŽd—lHj - Epvpƒ}ƒbƒv‚Å@pvpoff/@pvp‚·‚邯‹xŒe‚ĩ‚―‚čA‹xŒe‚ð‚â‚ß‚―‚č‚Å‚Ŧ‚Ü‚·‚ЁA - Žg—p‚·‚é‚Ũ‚Ŧ‚ł͂ ‚č‚Ü‚đ‚ņB - - (conf/) - npc_pvp.txt - pvpƒtƒ‰ƒO‚ð“ü‚ę‚éƒTƒ“ƒvƒ‹B - nosaveƒtƒ‰ƒO‚âŽó‚Ŋ•t‚Ŋnpc‚Č‚Į‚ð’Į‰Á‚·‚邯‚æ‚Ē‚ÆŽv‚í‚ę‚éB - (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‚ŃXƒy[ƒX‚Ė“ü‚Á‚―ƒLƒƒƒ‰ƒNƒ^[‚āŽw’č‚Å‚Ŧ‚邿‚Ī‚É - E@kamibƒRƒ}ƒ“ƒh•œŠˆiÂ•ķŽš“V‚ːšj - E”ņPVP‚Ė‚Æ‚Ŧ‚ɁA‘ÎÛ‚Š“G‚ĖƒXƒLƒ‹Žg—pŽžA“G–Ą•û”ŧ’č‚ðs‚Ī‚æ‚Ī‚É - - skill.c - skill_castend_id()‚Å“G–Ą•û”ŧ’č - atcommand.c - ŠeƒRƒ}ƒ“ƒhCģ - --------------- -//0440 by ’†‚ːl - -E–{‰Æ‚ðÄŒŧ‚·‚é•ûŒü‚Č‚įˆÓ–Ą‚Í‚Č‚Ē‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņ‚Š -@pc.cuƒXƒNƒŠƒvƒg‚É‚æ‚éƒXƒLƒ‹Š“ūv‚ðŽáŠą•ύX‚ĩ‚Ä - ƒJ[ƒh‚É‚æ‚éƒXƒLƒ‹ˆęŽžK“ū‚ĖÛ‚Å‚ā1ƒŒƒxƒ‹ˆČã‚ðÝ’č‚Å‚Ŧ‚邿‚΂ɒv‚ĩ‚Ü‚ĩ‚―B - -@’Pƒ‚É•„†‚ð•Ï‚Ķ‚Ä‚ē‚܂Ђĩ‚―‚ū‚Ŋ‚Å‚·‚˂Š-@•K—v‚É‚ ‚í‚đ‚ďCģ‚ð‚ĩ‚ĉš‚ģ‚ǁB - --------------- -//0439 by hoenny -EˆĒC—…”e–PŒ‚ĖCģB - db/skill_db.txt -Eƒ‚ƒ“ƒXƒ^[î•ņ‚ĖCģB - map/clif.c -EŒĐØ‚č‚ĖŽĀ‘•B - map/pc.c - --------------- -//0438 by ‚`‚ːl -EŒÃ–Ø‚ĖŽ}‚ŠŽg‚Ķ‚éęŠ‚ð‚m‚o‚bƒXƒNƒŠƒvƒg‚Đ‚į§Œä‰Â”\ -@mapflag‚Énobranch‚Æ‚·‚ę‚΂ŧ‚Ėƒ}ƒbƒv‚ÍŒÃ–Ø‚ĖŽ}Žg—p•s‰Â‚ɂȂč‚Ü‚·B - map.h - enum‚ÉMF_NOBRANCH ’Į‰ÁB - npc.c - npc_parse_mapflag() CģB - pc.c - pc_useitem() CģB -ƒ\[ƒX‰˜‚­‚ĩ‚Ä‚ĩ‚Ü‚Á‚―‚Đ‚āEEE. -•Ũ‹­•s‘Ŧ‚Å‚· - --------------- -//0437 by ”g˜Q -Eitem_db.txt‚ˉp–ž‚ð‘啝CģB(s•t‚Ŧ‚Æ‚ŧ‚΂łȂǕŠí‚ˉp–ž‚Š‚Ē‚Â‚ĖŠÔ‚É‚â‚į -@“Ŋ‚ķ‚ɂȂÁ‚Ăǂ―‚˂łŧ‚ę‚ð’ž‚·‚Â‚Ē‚Å‚É‘ž‚Ė•”•Š‚āCģ‚ĩ‚Ü‚ĩ‚―B - ‚Ü‚Á‚―‚­ˆá‚Ī–ž‘O‚ɂȂÁ‚Ä‚é‚ā‚˂₠‚č‚Ü‚·‚ЁA‚ą‚Á‚ŋ‚Ė•û‚Аģ‚ĩ‚Ē‚ÆŽv‚ǂ܂·B -Eitem_purplebox.txt‚ð–{‰ÆŽd—l‚Á‚Û‚­ėŽ(‘å‘Ė‚ą‚ņ‚ČŠī‚ķ‚Đ‚Æ -EƒAƒ‹ƒxƒ‹ƒ^‚ƃCƒYƒ‹[ƒhNPC‚ðCģ - --------------- -//0436 by hoenny -Emorocc •óÎĪl‚ĖCģ - conf/npc_shop.txt -Eƒnƒ“ƒ}[ƒtƒH[ƒ‹‚ĖŽĀ‘•(Alchemistށƒ\[ƒX‚ðŽQÆ‚ ‚肊‚Æ‚ĪI) - map/skill.c -ˆČ‘O‚É•ķŽš‰ŧ‚Ŋ‚Í’á‚Ė‚đ‚Ē! -ŽŸ‚Đ‚į‹C‚ð•t‚Ŋ‚Ü‚·. - --------------- -//0434 by Avethes - -Eƒ^[ƒgƒ‹ƒAƒCƒ‰ƒ“ƒh‚֍s‚­NPCCģ -Eƒ†ƒm[NPCCģ -i‘O‰ņ‚ĖƒoƒO‚Í‚·‚݂܂đ‚ņ‚Å‚ĩ‚―j - --------------- -//0433 by Ž€_ - -Eŧ‘ĒƒoƒOCģB - ‰―ŒĖ‚Ђ͂í‚Đ‚į‚ȂǂŠskill.c‚Ėskill_readdb()‚Š•Ï‚É‚Č‚Á‚Ăǂ―‚Ė‚ÅCģB(ŽĐ•ЂЂâ‚Á‚―Cģ‚ł͂ ‚č‚Ü‚đ‚ņ‚Š...) - skill.c - skill_readdb() CģB - --------------- -//0432 by Ž€_ - -E0429‚Åˆę•”‚ĖƒAƒCƒeƒ€‚ĖƒXƒLƒ‹‚Šo‚Ȃǖâ‘čCģB - clif.c - clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() CģB -Eskill.c - skill_use_id() CģB(‘å‚ĩ‚―Cģ‚Å‚Í‚Č‚Ē‚Å‚·B) -Eitem_db.txt‚Ė•ķŽš‰ŧ‚ŊCģBŒūŒęÝ’肊“ú–{Œę‚Å‚Í‚Č‚Ēę‡•Û‘ķ‚·‚鎞‚ɂ͋C‚ð‚‚Ŋ‚Ü‚ĩ‚å‚΁B -EUŒ‚‚ģ‚ę‚―ƒ‚ƒ“ƒXƒ^[‚Ė”―Œ‚‚Š‘‚·‚Ž‚é–â‘čCģBŽn‚ß‚Ä‚ĖUŒ‚‚Šƒ‚ƒ“ƒXƒ^[‚ĖUŒ‚ƒfƒBƒŒƒC‚ÉŠÖŒW‚Č‚­100msŒã‚ɂȂÁ‚Ăǂ―‚Ė‚ÅUŒ‚ƒfƒBƒŒƒC‚ɍ‡‚í‚đ‚邿‚Ī‚É•ÏXB(‚―‚ū­‚ĩ”―Œ‚‚Š’x‚Ē‚ÆŽv‚í‚ę‚―‚č‚ā‚ĩ‚Ü‚·‚Š...) - mob.c - mob_changestate() CģB -EŽI‚ÉÚ‘ą‚·‚éÅ‘ål”‚ðŒˆ‚ß‚é‚æ‚Ī‚É•ÏXB - char.c CģB - conf_ref.txt CģB - char_athena.cnf CģB - --------------- -//0430 by Avethes - -E‚m‚o‚bŠÖŒWB‚Ų‚Æ‚ņ‚ĮƒeƒXƒgB -–{‰Æ‰ï˜bî•ņ‚Š‘ĩ‚Ķ‚ÎCģB - --------------- -//0429 by Ž€_ - -EƒMƒ‹ƒh‚ĖƒŒƒxƒ‹ƒAƒbƒv‚ðƒLƒƒƒ‰‚ĖƒŒƒxƒ‹ƒAƒbƒv‚Ė‚æ‚Ī‚É•ÏXB - int_guild.c - guild_calcinfo() CģB - guild_next_exp() ’Į‰ÁB - exp_guild.txt CģB(ƒŒƒxƒ‹‚Šã‚Š‚į‚Ȃǂæ‚΂ɂĩ‚―‚ĒƒŒƒxƒ‹‚Ėexp‚É0‚ð“ü‚ę‚ę‚΂ŧ‚ęˆČã‚ɃŒƒxƒ‹‚Šã‚Š‚į‚Č‚­‚Č‚č‚Ü‚·B) -EƒXƒNƒŠƒvƒgresetstatusAresetskill ’Į‰ÁB - pc.c - pc_resetskill() CģB - script.c - buildin_resetstatus()Abuildin_resetskill() ’Į‰ÁB -E0425‚Ė‘ą‚Ŧ‚ŏ­‚ĩCģB - clif.c - clif_parse_ ‚ð­‚ĩCģB -EƒVƒ‡[ƒgƒJƒbƒg‚ÉŠo‚͂ĂǂéƒXƒLƒ‹ƒŒƒxƒ‹ˆČã‚ĖƒXƒLƒ‹‚Š“o˜^‚ģ‚ę‚ĂǂĂāŠo‚͂ĂǂéƒXƒLƒ‹ƒŒƒxƒ‹‚Ü‚Å‚ĖƒXƒLƒ‹‚ðŽg‚Ī‚æ‚Ī‚É•ÏXB - clif.c - clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() CģB -Eƒƒ‚‚ĖÅ‘å”‚ð10ŒÂ‚ɕύXB(‚ ‚­‚܂łāŠg’Ģ‚ĖˆŨ‚˕ςł·B‚Ü‚ū‹@”\‚Í‚ĩ‚Ü‚đ‚ņB) - mmo.h - struct mmo_charstatus‚Ėmemo_point‚ð3‚Đ‚į10‚ɕύXB - char.c - mmo_char_tostr() CģB -Emob,c - mob_once_spawn()Amob_summonslave() CģB(•Ę‚ÉˆÓ–Ą‚Š‚ ‚éCģ‚ķ‚á‚ ‚č‚Ü‚đ‚ņ‚Š...) -E@monster ƒRƒ}ƒ“ƒh‚ÅĀ•W‚ðŽw’č‚ĩ‚Č‚ĒŽžƒ‚ƒ“ƒXƒ^[‚Šˆę‚ĐŠ‚ÉW’†‚ĩ‚ďo‚é‚Ė‚ðƒLƒƒƒ‰‚Ė10*10ƒ}ƒXˆČ“ā‚Ƀ‰ƒ“ƒ_ƒ€‚ÅŒŧ‚ę‚邿‚Ī‚É•ÏXB - atcomand.c CģB - --------------- -//0428 by Avethes - -Econf/npc_smilegirl.txt - ƒXƒ}ƒCƒ‹ƒ}ƒXƒNƒK[ƒ‹ƒXƒNƒŠƒvƒgB - 0427‚Ė‚Ļ‚Đ‚ĩ‚Ē•”•Š‚Æ‚ĐCģB - ’ņ‹Ÿ‚ģ‚ę‚―Še“sŽs‚ĖĀ•W‚É”z’uBiNONAME‚ģ‚ņ’ņ‹Ÿ‚ ‚肊‚Æ‚ĪIj - --------------- -//0426 by ŒÓ’ą—– - -EƒAƒCƒeƒ€‚Ė–ž‘O‚ðdata.grf‚Đ‚į“Į‚ݍž‚Þ‚æ‚΂ɂĩ‚― - itemdb.c‚ĖITEMDB_OVERRIDE_NAME‚ð’č‹`‚ĩ‚Č‚Ŋ‚ę‚ΓĮ‚ݍž‚݂܂đ‚ņB - ITEMDB_OVERRIDE_NAME_VERBOSE‚Íitemdb.txt‚ĖƒfƒoƒO—p‚É‚Į‚Ī‚žB - •’Ę‚Í•Ï‚Ķ‚é•K—v‚Í‚Č‚Ē‚ÆŽv‚΂˂Åbattle_config‚ɂ͓ü‚ę‚Ăǂ܂đ‚ņB - - itemdb.c - itemdb_read_itemnametable()’Į‰Á - do_init_itemdb()Cģ - -Eƒf[ƒ^ƒx[ƒX“Į‚ݍž‚Ý•”‚Ė•sˆĀ’čŦ‚ĖCģ(Œ‹\’v–―“I‚ū‚Á‚―‚Ý‚―‚ǂł·) - ‚Č‚­‚Ä‚ā–â‘č‚Č‚ĒDBiitem_value_db.txt‚Č‚Įj‚Ėƒtƒ@ƒCƒ‹‚Š‚Č‚Ēę‡‚É - ŽI‚Š—Ž‚ŋ‚―‚č‚·‚éŒŧÛ‚Š”­ķ‚ĩ‚Ăǂ―ę‡‚Í‚ą‚ę‚Å’ž‚Á‚Ăǂé‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņ. - - skill.c - skill_readdb()‚ÅNULLƒ|ƒCƒ“ƒ^ƒ`ƒFƒbƒN‚ð’Į‰Á - itemdb.c - item_readdb()‚ð•Ą”‚ɕЂŊ‚―B - ƒ‰ƒ“ƒ_ƒ€ƒAƒCƒeƒ€ƒf[ƒ^ƒx[ƒX‚Ė“Į‚ݍž‚Ý•”‚ð‚P‚‚ɓZ‚ß‚―B - do_init_itemdb()Cģ - -EŨ‚Đ‚ĒƒoƒOCģ - Eƒ[ƒvƒ|[ƒ^ƒ‹‚ĖŠJ‚­‚܂ł˕b”’ēŪ - - skill.c - skill_unitsetting()Cģ - -E‚ŧ‚Ė‘žCģiby –^Mށj - db/job_db1.txt - ‚ŋ‚å‚ą‚Á‚ƏCģ - db/job_db2.txt - 2-2ŽŸE‚Ė‘Ŧ‚č‚Č‚ĒJobƒ{[ƒiƒX‚ð’Į‰Á(ŽQl:R.O.M 776) - conf/npc_town_kafra.txt - ƒI[ƒND‘O‚Æ’Yz‘O‚ɃJƒvƒ‰”z’u(“Ūė–ĒŠm”F) - conf/npc_shop3.txt - ƒWƒ…[ƒm”Ė”„NPC(E‚Ē•Ļ) - conf/npc_town_yuno.txt - ƒWƒ…[ƒmNPC(E‚Ǖςð‰ü—ĮB“Ūė–ĒŠm”F) - --------------- -//0425 by Ž€_ - -E0419‚ŏ‘‚Ŧ–Y‚ę‚―•ςł·‚ŠƒXƒLƒ‹ƒ‰[ƒjƒ“ƒOƒ|[ƒVƒ‡ƒ“‚ŠSP‰ņ•œƒAƒCƒeƒ€‚É‚āŒø‰Ę‚Š‚ ‚邿‚Ī‚É•ÏXB -EĄ“x‚̓oƒOCģ‚ŠƒƒCƒ“‚Å‚·BŽI—Ž‚ŋ‚ЂȂč‚ŧ‚Ī‚ČŠ‚ĖCģ‚ƃeƒŒƒ|[ƒg‚ĖŽžŽ€‚ņ‚ū‚Ü‚ÜˆÚ“Ū‚Å‚Ŧ‚é–â‘肯0419‚ŃAƒNƒeƒBƒuƒ‚ƒ“ƒXƒ^[‚ːæU–â‘čCģAŽ€‚ņ‚łǂé‚˂ɑž‚ːl‚ɂ͎€‚ņ‚ū‚æ‚Ī‚ÉŒĐ‚Ķ‚Č‚Ē–â‘č‚ĖCģ‚Å‚·B­‚ĩƒeƒXƒg‚Í‚ĩ‚Ü‚ĩ‚―‚Š–{“–‚ÉŽĄ‚Á‚―‚Đ‚Į‚Ī‚Đ‚Í•s–ū‚Å‚·B•ņ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·B - pc.c - pc_attack_timer()Apc_damage()Apc_walk() CģB - map.c - map_quit() CģB - mob_db.txt - ƒrƒbƒOƒtƒbƒg‚Ėmode‚ðCģ(ƒAƒNƒeƒBƒu‚ɂȂÁ‚Ăǂ―ˆŨ) - clif.c - clif_parse_WalkToXY()Aclif_pcoutsight()Aclif_pcinsight()A - clif_getareachar_pc()Aclif_getareachar_mob()Aclif_getareachar_pet() CģB - mob.c - mob_ai_sub_hard_activesearch()Amob_ai_sub_hard_mastersearch()A - mob_walk() CģB - pet.c - pet_walk() CģB - --------------- -//0424 by hoenny - -EƒNƒŠƒbƒvƒ{[ƒiƒX SP 10’Į‰Á - db/item_db.txt -Ewarp_test_yuno.txt‚ð npc_warp30.txt‚ÉŠÜ‚ņ‚Å, ‚ŋ‚å‚Á‚ƏCģ - conf/npc_warp30.txt -E‘ž‚ĖƒT[ƒo[‚Š—Ž‚ŋ‚Ä‚ā•œ‹Œ‚ģ‚ę‚邿‚Ī‚ÉCģ - /startƒNƒŠƒbƒv - --------------- -//0420 by g—t - -EEP 3.0‚Å‚ĖƒJ[ƒhŒø‰Ę•ύX‚ɉð‚é”͈͂őΉžB -@‚Ų‚Ú‘S‚Ä‚Ė•ÏX“_‚É‚Â‚Ē‚ÄAo—ˆ‚éŒĀ‚čCģ‚ĩ‚Ä‚ ‚č‚Ü‚·B -@ATKCģ‚Аģ‚ĩ‚­“K—p‚ģ‚ę‚Ăǂ邿‚΂Ȃ˂ŒĮ‰Á‚ĩ‚Ä‚ ‚č‚Ü‚·B(ƒAƒ“ƒhƒŒC‚Č‚Į) - --------------- -//0419 by Ž€_ - -E0414‚ŏ‘‚Ŧ–Y‚ę‚―•ςł·‚Š MOB‚Ėmode‚Å0x20(32)‚𕜊ˆ‚ģ‚đ‚Ü‚ĩ‚―Bƒ{ƒX‚ķ‚á‚Č‚­‚Ä‚āmode‚É0x20‚Š“ü‚Á‚Ăǂéę‡•’Ę‚ĖMOB‚Å‚āŽ€‚ņ‚ū‚Ó‚č‚ð”j‚ę‚Ü‚·B -(Ą‚ĖŠ‹@”\‚Í‚ŧ‚ę‚ū‚Ŋ‚Å‚·B–{ŽI‚ÍAI‹­‰ŧ‚Ý‚―‚ǂł·‚Š...) ‚―‚ūƒS[ƒXƒg‚̓{ƒX‚Å‚ā”j‚邹‚Ƃ͂łŦ‚Ü‚đ‚ņB -‚ŧ‚悯޿‚芊‚Ŧ‚ĖAI‚ÅŽæ‚芊‚Ŧ‚Šƒ^[ƒQƒbƒg‚ĩ‚―ŽžŽå‚Šƒ^[ƒQƒbƒg‚ĩ‚Ä‚Č‚Ē‚ÆŽå‚ŠŽæ‚芊‚Ŧ‚Ėƒ^[ƒQƒbƒg‚ðƒ^[ƒQƒbƒg‚·‚é•”•Š‚ðƒRƒ}ƒ“ƒgƒAƒEƒg‚ĩ‚Ü‚ĩ‚―B(‚ą‚ꂊ–{ŽI‚É‚ ‚Á‚Ăǂ邯Žv‚ǂ܂ĩ‚―‚Ė‚Å...) -EŒÃ‚ĒÂ‚Ē” AŒÃ‚ĒŽ‡F‚Ė” AŒÃ‚ĒƒJ[ƒh’Ÿ‚ŏo‚éƒAƒCƒeƒ€‚ðƒtƒ@ƒCƒ‹‚Őݒč‚Å‚Ŧ‚邿‚Ī‚É•ÏXB - script.c - buildin_getitem() CģB - item_db.txt - ŒÃ‚ĒÂ‚Ē” AŒÃ‚ĒŽ‡F‚Ė” AŒÃ‚ĒƒJ[ƒh’ŸCģB - item_bluebox.txtAitem_purplebox.txtAitem_cardalbum.txt ’Į‰ÁB(Žg—p—á’ö“x‚˕ςł·B‚Į‚ĖƒAƒCƒeƒ€‚Šo‚邿‚΂ɂ·‚é‚Đ‚ÍŽĐ•Š‚ÅÝ’č‚ĩ‚ÄŽg‚Á‚Ä‚­‚ū‚ģ‚ǁB‚―‚ūƒNƒ‰ƒCƒAƒ“ƒg‚𗎂Ƃ·ƒAƒCƒeƒ€‚͏o‚Ȃǂæ‚Ī‚ÉÝ’č‚ĩ‚Ä‚­‚ū‚ģ‚ǁB) - itemdb.h - struct random_item_data ’Į‰ÁB - itemdb.c - itemdb_searchrandomid()Aitemdb_readdb() CģB -Emob.c - mob_target()Amob_ai_sub_hard() CģB(–â‘肊‚ ‚č‚ŧ‚΂ȕ”•Š‚ū‚ŊCģB) -Epc.c - pc_itemheal()Apc_walktoxy_sub() CģB -Eƒyƒbƒg‚ĖoŒŧ‚ðMOB‚Æ“Ŋ‚킿‚Ī‚É•ÏXB - clif.c - clif_spawnpet() CģB - pet.c - pet_change_name() CģB -E0418‚ð­‚ĩCģB(if•ķ‚ĖðŒ‚ð­‚ĩCģ‚ĩ‚―‚ū‚Ŋ‚Å‚·B) - --------------- - -//0418 by hoenny -E /mm(/mapmove) /nb /b /bb /resetskill /resetstate GM –―—ߌęŽg—p‚ː§ŒĀ -clif_parse_MapMove ,clif_parse_ResetChar ,clif_parse_GMmessage Cģ - map/clif.c - --------------- -//0417 by ‚ę‚  - -E0412‚Åitem_db.txt‚Š‚Ļ‚Đ‚ĩ‚­‚Č‚Á‚Ăǂ―‚Ė‚ðCģ - --------------- -//0416 by g—t - -EƒWƒ…ƒm[Žü•Ó‚Ėƒ[ƒv’č‹`‚Æ“G‚Ė”z’uB -@ƒ[ƒv’č‹`‚Ínpc_warp30.txt‚Æ‚ĩA’Į‰Á‚·‚éŒ`‚É‚ĩ‚Ä‚ ‚č‚Ü‚·B -@“G‚Ė”z’u‚É‚Â‚Ē‚Ä‚ānpc_monster.txt‚Ƃ͓‡‚đ‚ļAnpc_monster30.txt‚Æ‚ĩ‚Ä‚ ‚č‚Ü‚·B -@–â‘肊–ģ‚Ē‚æ‚΂ł ‚ę‚ݍ‡‚ĩ‚ĉš‚ģ‚ǁB -Eã‹L’č‹`ƒtƒ@ƒCƒ‹’Į‰Á‚ɏ]‚Ēmap_athena.cnf‚ð•ύXB -E@goƒRƒ}ƒ“ƒh‚ÖƒWƒ…ƒm[’Į‰ÁB -@—v–]‚Š‚ ‚Á‚―‚æ‚΂Ȃ˂ŒĮ‰Á‚ĩ‚Ü‚ĩ‚―B - --------------- -//0415 by ’†‚ːl - -EĄ‚Í–S‚Ŧ‹ŒROƒGƒ~ƒ…ŽIŠJ”­ƒXƒŒƒbƒh Lv02‚Å‚ĖŽ€_ށ‚ːā–ū‚ɏ]‚Á‚Ä -@ƒ‚ƒ“ƒXƒ^[’č‹`ƒf[ƒ^‚ðŽáŠą•ύX‚ģ‚đ‚Ä’ļ‚Ŧ‚Ü‚ĩ‚―B - E‰ß‹Ž‚Ėnpc_monster.txt‚Đ‚į’ʏíƒ}ƒbƒvãiƒ‹ƒeƒBƒG“™œ‚­j‚ɂǂéƒTƒ“ƒ^ƒ|ƒŠƒ“AƒAƒ“ƒ\ƒj‚𒊏o‚ĩ - @V‚―‚ɍė‚Á‚―unpc_x-masmonster.txtv‚Ɉړ] - Eã‹L‚ĖCģ‚É‚ ‚í‚đ‚Ämap_athena.cnf‚ðCģB - @map_athena‚ɃRƒƒ“ƒgƒAƒEƒgó‘ԂŁunpc: conf/npc_x-masmonster.txtv‚ð’Į‰Á‚ĩ‚Ü‚ĩ‚―B - @•K—v‚É‚ ‚í‚đ‚ăRƒƒ“ƒgƒAƒEƒg‚ð‚ĩ‚ĉš‚ģ‚ǁB - --------------- -//0414 by Ž€_ - -Estrcasecmp‚ðstrcmpi‚ɕύXB -Edb‚âÝ’čƒtƒ@ƒCƒ‹‚ð“Į‚ÞŽž// ‚ðƒRƒ}ƒ“ƒgƒAƒEƒg‚Æ‚ĩ‚Ä”FŽŊ‚·‚邿‚Ī‚ÉCģB -Eƒyƒbƒg‚Æ—Ģ‚ę‚·‚ނ邯ƒyƒbƒg‚Š‘‚­“Ū‚­‚æ‚Ī‚É•ÏXB(ƒLƒƒƒ‰‚Ė2”{‚ˑޓx‚œۂŦ‚Ü‚·B) -Eƒ‹[ƒgƒ‚ƒ“ƒXƒ^[‚ŠƒAƒCƒeƒ€‚ðƒ^[ƒQƒbƒg‚ĩ‚―ŽžUŒ‚‚ðŽó‚Ŋ‚Ä‚āUŒ‚‚ĩ‚Ä‚ą‚Ȃǖâ‘čCģB -E“Ŋ‘°ƒ‚ƒ“ƒXƒ^[‚ĖAI‚ð•ύXBĄ‚܂łÍtraget_id‚ðŽg‚Ī‚đ‚Ē‚Åƒ‚ƒ“ƒXƒ^[‚ŠUŒ‚‚ĩ‚―‘ŠŽč‚ðUŒ‚‚·‚éŽd‘g‚Ý‚ū‚Á‚―‚ŠĄ“x‚Íattacked_id‚ðŽg‚ĪˆŨUŒ‚‚ĩ‚Ä‚Ŧ‚―‘ŠŽč‚ðUŒ‚‚·‚邿‚Ī‚É•ÏXB -‚―‚ūĄ‚ĖŽd—l‚ū‚Æ“Ŋ‘°ƒ‚ƒ“ƒXƒ^[‚ðUŒ‚‚ĩ‚ē͂°‚éę‡UŒ‚‚ðŽó‚Ŋ‚―Žž‚ŧ‚Ėę‚ɂȂЂÁ‚―ƒ‚ƒ“ƒXƒ^[‚Í‚Â‚Ē‚Ä—ˆ‚Č‚­‚Č‚Á‚Ăǂ܂·B–{ŽI‚ĖŽd—l‚É‚ ‚Á‚Ä‚é‚Đ‚Į‚Ī‚Đ‚Í•s–ū‚Å‚·‚Ė‚Åî•ņ’ņ‹Ÿ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·B(attacked_id‚Í‚Ē‚Â‚āƒŠƒZƒbƒg‚ģ‚ę‚éˆŨ‚Å‚·B‘΍ô‚ЂǂȂǂí‚Ŋ‚Å‚ā‚Ȃǂł·‚Š–{ŽI‚ĖŽd—l‚ð’m‚į‚Ȃǂ˂Å...) -Eƒƒ‚ƒŠ[‚ĖŽg—p—Ę‚ðŒļ‚į‚·ˆŨstruct mob_data‚Æstruct npc_data‚ð•ύXB(0412‚Å -map-server‚Ėƒƒ‚ƒŠ[‚ĖŽg—p—Ę‚Š164???KBytes‚ū‚Á‚―‚Š0414‚Å‚Í152???KBytes‚ɂȂč‚Ü‚ĩ‚―B‚Ų‚ņ‚Ė­‚ĩŒļ‚Á‚―‚ū‚Ŋ‚Å‚·‚Š‘‚͂邿‚č‚͂܂ĩ‚ū‚ÆŽv‚ǂ܂·‚Ė‚Å...) -EƒS[ƒXƒgƒ^ƒCƒ€ŽĀ‘•B - ƒ}ƒbƒvˆÚ“Ū‚âƒeƒŒƒ|[ƒgA•œŠˆ‚ĩ‚―Žž‚É“G‚É‘_‚í‚ę‚Č‚ĒŽžŠÔ‚ðd—͂ł̓S[ƒXƒgƒ^ƒCƒ€ŒÄ‚ņ‚łǂ܂·B‚ŧ‚ĖƒS[ƒXƒgƒ^ƒCƒ€‚ĖŽĀ‘•‚Å‚·B -battle_athena.cnf‚ÅŽžŠÔ‚ðÝ’č‚Å‚Ŧ‚Ü‚·BŽžŠÔ‚ð0‚É‚·‚邯ƒS[ƒXƒgƒ^ƒCƒ€‚͍ė“Ū‚ĩ‚Ü‚đ‚ņB‚―‚ū‚ą‚ĖƒS[ƒXƒgƒ^ƒCƒ€‚͍UŒ‚s“ہAƒXƒLƒ‹Žg—pAƒAƒCƒeƒ€Žg—p‚ð‚·‚é‚Æ‚Č‚­‚Č‚č‚Ü‚·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 ‚ðCģB(db/mob_db.txt‚Í//‚ð“ü‚ę‚―‚ū‚Ŋ‚Å‚·‚Š...) - Cģ‚ĩ‚―Š‚ð‘S‚ÄŠo‚͂Ă܂đ‚ņ‚Ė‚Åƒtƒ@ƒCƒ‹‚ū‚Ŋ’m‚į‚đ‚Ü‚·B - --------------- -//0412 by ‚Ē‚Į - -Eƒ‚ƒ“ƒXƒ^[’č‹`ƒf[ƒ^(“ú–{Œę)‚ĖÄŪ— -@ ‹ŒŒfŽĶ”‚Ŏw“E‚Ė‚ ‚Á‚―Ž–€‚É‚Â‚Ē‚Ä‘å‘Ė‚Ė”ÍˆÍ‚ÅCģ - snapshot387‚Ėƒo[ƒWƒ‡ƒ“‚ðƒx[ƒX‚ɏCģ‚ĩ‚Ü‚ĩ‚―B - conf/npc_monster.txt - -EƒAƒCƒeƒ€–ž‚Ė’č‹`‚ð‘啝Cģ - (root) - item.list - (db/) - item_db.txt - item_value_db.txt - -Eƒ}ƒbƒvƒf[ƒ^‚Ė’č‹`‚ŃRƒƒ“ƒgƒAƒEƒg‚ĩ‚Ăǂ―ƒWƒ…ƒm[ŠÖ˜Aƒ}ƒbƒv‚ĖƒRƒƒ“ƒgƒAƒEƒg‚ð‰ðœ - conf/map_athena.cnf - --------------- -//0411 by Ž€_ - -EŽIsnapshot‚Å‚·B‚ŧ‚悯login_portAchar_portAmap_port‚ĖÝ’č‚Š‚Č‚­‚Ä‚ā -ƒfƒtƒHƒ‹ƒg‚Å6900A6121A5121‚ðŽg‚Ī‚æ‚Ī‚É•ÏXB -Elogin.cAchar.cAchrif.cAclif.c ­‚ĩCģB -Econf_ref.txt CģB -Elogin_port‚ð6900‚Đ‚į‘ž‚Ė•Ļ‚É•Ï‚Ķ‚―ę‡‚Íclientinfo.xml‚ð•Ï‚Ķ‚é•K—v‚Š‚ ‚č‚Ü‚·B - --------------- -//0410 by Ž€_ - -GM—p‰EƒNƒŠƒbƒNƒƒjƒ…[uinamejŽg—pŽŌ‹­§I—đvŽĀ‘•B(ƒeƒXƒg‚Í‚ĩ‚Ă܂đ‚ņB@ƒRƒ}ƒ“ƒh‚̓eƒXƒgÏ‚݂ł·‚Š...) -0407‚ĖEXP‚ÉŠÖ‚·‚éCģ‚É–â‘肊‚ ‚é‚į‚ĩ‚Ē‚Ė‚ÅCģ‚ĩ‚Ü‚ĩ‚―BĄ“x‚̓eƒXƒgÏ‚݂ł·B -GM‚ĖƒAƒJƒEƒ“ƒgID‚ðÝ’č‚Å‚Ŧ‚邿‚Ī‚É•ÏX‚ÆGM‚ðƒŒƒxƒ‹•ƂɕЂŊ‚邿‚Ī‚É•ÏXB -(GM‚ĖƒŒƒxƒ‹‚É‚æ‚é@ƒRƒ}ƒ“ƒh“™‚ɐ§ŒĀ‚ð‚Đ‚Ŋ‚é‚‚ā‚č‚Å‚·‚ŠĄ§ŒĀ‚Š‚Đ‚Ŋ‚Ăǂé•Ļ‚Í@kickA@kickall‚Ė‚Ý‚É‚Č‚Á‚Ăǂ܂·B) -Epc.c - pc_readdb()Apc_gainexp()Apc_nextbaseexp()Apc_nextjobexp()A - pc_checkbaselevelup()Apc_checkjoblevelup() CģB - pc_isGM()Apc_read_gm_account() ’Į‰ÁB -Epc.h - pc_isGM() CģB - pc_read_gm_account() ’Į‰ÁB -Eexp.txt - ƒŒƒxƒ‹‚Šã‚Š‚į‚Ȃǐ”’l‚ð999999999‚Đ‚į0ˆČ‰š‚ɕύXB - ƒŒƒxƒ‹‚ðã‚°‚éˆŨ‚É•K—v‚ČEXP‚ð999999999ˆČã‚É‚·‚邹‚Æ‚ā‰Â”\B -Eclif.c - clif_GM_kickack()Aclif_GM_kick()Aclif_parse_GMKick() ’Į‰ÁB -Eclif.h - clif_GM_kickack()Aclif_GM_kick() ’Į‰ÁB -Eatcomand.c - strncmpi‚ðstrcmpi‚ɕύXB - @kickA@kickall ƒRƒ}ƒ“ƒh’Į‰ÁB - @kick <ƒLƒƒƒ‰–ž> - ŽĐ•ŠˆČŠO‚ĖƒLƒƒƒ‰‚ĖÚ‘ą‚ð‹­§I—đ‚ģ‚đ‚éB(ŽĐ•Š‚æ‚čGMƒŒƒxƒ‹‚Š - ’á‚ĒƒLƒƒƒ‰‚É‚ĩ‚ĐŽg‚͂ȂǁBGM‚Å‚Í‚Č‚ĒƒLƒƒƒ‰‚ĖGMƒŒƒxƒ‹‚Í0) - @kickall - ŽI‚ɐڑą‚ĩ‚Ăǂé‘S‚Ä‚ĖƒLƒƒƒ‰‚ĖÚ‘ą‚ð‹­§I—đ‚ģ‚đ‚éB(ŽĐ•Š‚Æ - GM‚ðŠÜ‚ß‚Ä) ŽIƒ_ƒEƒ“—p‚ĖƒRƒ}ƒ“ƒh‚Å‚·BGMƒŒƒxƒ‹‚Š99‚ķ‚á‚Č‚Ē‚Æ - Žg‚͂ȂǁB -Econf/GM_account.txt ’Į‰ÁB - GM‚Æ‚ĩ‚Ä”FŽŊ‚·‚éƒAƒJƒEƒ“ƒgID‚ðÝ’č‚·‚éƒtƒ@ƒCƒ‹‚Å‚·B -Emmo.h - DEFAULT_WALK_SPEED‚ð140‚Đ‚į150‚ɕύXB(‚ą‚ꂊ–{ŽI‚É‚ ‚Á‚Ă鐔’l - ‚Ý‚―‚ǂł·‚Ė‚Å...) - struct gm_account ’Į‰ÁB -Eclient_packet.txt - ƒpƒPƒbƒg0x00cd ’Į‰ÁB -Elogin_port‚ðcnf‚Å“Į‚Þ‚æ‚Ī‚É•ÏXB(‚―‚ū6900‚Đ‚įƒ|[ƒg‚ð•Ï‚Ķ‚é‚ÆƒNƒ‰ƒCƒAƒ“ƒg‚Š”FŽŊ‚Å‚Ŧ‚Č‚Ē–Í—l‚Ȃ˂Ŗģ‘Ę‚Č‚ą‚Æ‚ū‚Á‚―‚č‚ā‚ĩ‚Ü‚·‚Š...) - char.cAlogin.cAchar_athena.cnfAlogin_athena.cnf CģB -E•’Ę‚ĖƒAƒJƒEƒ“ƒgėŽ‚Å‚ÍGM‚ɂȂę‚Ȃǂæ‚Ī‚Élogin.c‚ð•ύXB -Elogin/makefileAmap/makefile CģB - --------------- -//0408 by ŒÓ’ą—– - -E405‚ːV‚ĩ‚ǁ—ƒRƒ}ƒ“ƒh‚ðˆČ‘O‚Ėatcommand.c‚ÉŽæ‚荾‚݂܂ĩ‚―B - E@kami‚ðCģ - E@kill,@recall,@charjob,@revive,@charstats,@charoption,@charsave, - @night,@day,@doom,@doommap,@raise,@raisemap,@charbaselvl,@charjlvl - ‚ð’Į‰Á•ƒƒbƒZ[ƒW‚ð“ú–{Œę‚ɕύX•­‚ĩCģ - - atcommand.c - ’Į‰Á‚ƏCģ - -Eˆę•”‚ĖƒXƒLƒ‹‚ĖŒø‰ĘŽĀ‘• - E•sŽ€g‚ĖƒW[ƒNƒtƒŠ[ƒhAƒCƒhƒDƒ“‚Ė—ŅŒįAK‰^‚ĖƒLƒXA - ƒtƒŒƒCƒ€ƒ‰ƒ“ƒ`ƒƒ[AƒtƒƒXƒgƒEƒFƒ|ƒ“Aƒ‰ƒCƒgƒjƒ“ƒOƒ[ƒ_[A - ƒTƒCƒYƒ~ƒbƒNƒEƒFƒ|ƒ“ - - map.h - struct skill_unit‚Érange‚ð’Į‰ÁB - skill.c - FXCģ - skill.h - enum‚ĖCģ‚Č‚Į --------------- -//0407 by Ž€_ - -Eƒyƒbƒg‚ĖƒoƒOCģB(‚―‚ūŽĐ•Š‚ÅÄŒŧ‚Å‚Ŧ‚ȂЂÁ‚―‚˂Ŗâ‘č‚ɂȂč‚ŧ‚Ī‚ČŠ‚ū‚ŊCģ‚ĩ‚Ü‚ĩ‚―B) -Eƒyƒbƒg‚ĖˆÚ“Ū‘Ž“x‚ðpet_db‚É’Į‰ÁB - pet.h - struct pet_db‚Éspeed’Į‰ÁB - pet.c - pet_catch_process2()Aread_petdb() CģB - pet_db.txt - ˆÚ“Ū‘Ž“x’Į‰ÁB - (ƒRƒ}ƒ“ƒgƒAƒEƒg‚ĩ‚Ăǂé‚Ė‚ÍƒWƒ‹ƒ^ƒX‚ƃAƒŠƒX‚Å‚·B•ߊl—p‚Ė - ƒAƒCƒeƒ€‚Š‘ķÝ‚·‚邹‚ƂƃpƒtƒH[ƒ}ƒ“ƒX‚ð‚·‚é‚ą‚Æ‚Đ‚įl‚Ķ‚Ä - ’Į‰Á‚ģ‚ę‚é—\’č‚Ė•Ļ‚Æl‚Ķ‚į‚ę‚Ü‚·B‚―‚ū‚ŧ‚Ė•ßŠl—p‚ĖƒAƒCƒeƒ€‚Š - ‚ ‚邯ƒNƒ‰ƒCƒAƒ“ƒg‚ð—Ž‚ŋ‚Ü‚·‚˂ŒˆÓ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB’Į‰Á‚ĩ‚Ä‚ā - ‘䎌‚̓|ƒŠƒ“‚˕ςł·‚Ė‚Å... •ߊl—p‚ĖƒAƒCƒeƒ€ˆČŠO‚Í“K“–‚É“ü‚ę‚― - •ςł·B) -Epc.cAclif.c - pc_equipitem() CģB - clif_parse_EquipItem() CģB - pc_equipitem()‚Ė–ĒŠÓ’čƒAƒCƒeƒ€‚Ėƒ`ƒFƒbƒN‚ðclif_parse_EquipItem()‚É - ˆÚ“Ū‚ĩ‚Ü‚ĩ‚―B(ƒyƒbƒg‚Ė‘•”õ‚ā‚ ‚č‚Ü‚·‚Ė‚Å...) -EƒŒƒxƒ‹‚ð99ˆČã‚É‚ ‚°‚邿‚Ī‚É•ÏX‚ƐE‹Æ•Ę‚Éƒx[ƒXƒŒƒxƒ‹‚ĖŒĀŠEƒŒƒxƒ‹‚ðÝ’č‚Å‚Ŧ‚邿‚Ī‚ÉCģB - map.h - MAX_LEVEL’Į‰ÁB - pc.c - pc_nextbaseexp(), pc_nextjobexp() CģB - pc_readdb() CģB -Eexp.txt CģBE‹ÆƒŒƒxƒ‹‚Æ“Ŋ‚킿‚Ī‚Éƒx[ƒXƒŒƒxƒ‹‚āEXPƒe[ƒuƒ‹‚ð3‚ė‚č‚Ü‚ĩ‚―BƒŒƒxƒ‹ƒAƒbƒv‚ðŽ~‚ß‚―‚ĒƒŒƒxƒ‹‚Ėexp‚ð999999999‚É‚·‚ę‚΂ŧ‚ęˆČãƒŒƒxƒ‹‚Šã‚Š‚č‚Ü‚đ‚ņB‚‚܂čnoviceA1ŽŸE‹Æ‚Æ2ŽŸE‹Æ‚Ėƒx[ƒXƒŒƒxƒ‹‚ĖŒĀŠE‚ðˆá‚Ī‚æ‚Ī‚ÉÝ’č‚Å‚Ŧ‚Ü‚·B‚ŧ‚ĩ‚ăx[ƒXƒŒƒxƒ‹99ˆČã‚ɏり‚邿‚΂ɂ·‚邹‚Æ‚ā‚Å‚Ŧ‚Ü‚·B(exp.txt‚ĖCģ‚Š•K—v‚Å‚·‚Š–{ŽI‚ƈá‚Ī‚æ‚Ī‚ÉÝ’č‚ĩ‚―‚Ēę‡‚ɏCģ‚ĩ‚ÄŽg‚Á‚Ä‚­‚ū‚ģ‚ǁB) -E‘ېŦ‚É‚æ‚é‰ņ•œ‚ðbattle_athena.cnf‚Őݒč‚Å‚Ŧ‚邿‚Ī‚É•ÏXB - attr_fix.txt CģB - battle.h - struct Battle_Config‚Éattr_recover ’Į‰ÁB - battle.c - battle_config_read() CģB - battle_athena.cnf CģB -Econf_ref.txt CģB -Eclient_packet.txt CģBƒyƒbƒgƒpƒPƒbƒg’Į‰Á‚Ə­‚ĩCģB - --------------- -//0402 by ŒÓ’ą—– - -E400‚ĖƒoƒO‚ðˆę•”Cģ - EŠ|‚Đ‚Á‚Ä‚Č‚ĒƒXƒLƒ‹Œø‰Ę‚É‚æ‚éƒXƒe[ƒ^ƒXŒvŽZ‚Šs‚í‚ę‚Ä‚ĩ‚Ü‚ĪƒoƒOCģ - EŒø‰ĘCģF‚ ‚­‚܂Ōø‰Ę‚ĖŒvŽZ‚ĖCģ‚ŁAŽg‚Ķ‚Č‚ĒƒXƒLƒ‹‚ÍŽg‚͂܂đ‚ņB - ƒXƒsƒAƒNƒBƒbƒPƒ“Aƒvƒƒ”ƒBƒfƒ“ƒXAí‘ūŒÛ‚Ė‹ŋ‚ŦA - —[—z‚ĖƒAƒTƒVƒ“ƒNƒƒXAŒû“JA•sŽ€g‚ĖƒW[ƒNƒtƒŠ[ƒhA - ƒCƒhƒDƒ“‚Ė—ŅŒįAƒT[ƒrƒXƒtƒH[ƒ†[AK‰^‚ĖƒLƒX - EŒø‰Ę’Į‰ÁF‚ ‚­‚܂Ōø‰Ę‚ĖŒvŽZ‚Ė’Į‰Á‚ŁAŽg‚Ķ‚Č‚ĒƒXƒLƒ‹‚ÍŽg‚͂܂đ‚ņB - ƒnƒ~ƒ“ƒOAŽ„‚ð–Y‚ę‚ȂǂŁcAƒj[ƒxƒ‹ƒ“ƒO‚ĖŽw—Ö(•ŠíƒŒƒxƒ‹–ģŽ‹)A - ƒGƒ^[ƒiƒ‹ƒJƒIƒXAƒhƒ‰ƒSƒmƒƒW[ - EŒø‰Ę•t‰ÁŒn‚Í‚ŋ‚å‚Á‚Ƃłā‰ö‚ĩ‚ĒƒXƒLƒ‹‚Í‘S‚ÄŽg—p‚Å‚Ŧ‚Ȃǂæ‚Ī‚ÉCģ - EUŒ‚ŒnƒXƒLƒ‹‚Í‚Ų‚Æ‚ņ‚ĮŒĐ‚ĂȂǂ˂ł―‚Ô‚ņƒoƒO‘―‚ǂł·B - E‘S‚Ä–ĒƒeƒXƒg‚Å‚·B‰ö‚ĩ‚·‚ނ镔•Š‚ðCģ‚ĩ‚―‚ū‚Ŋ‚Å‚·B - - map.h - MAX_STATUSCHANGE‚ð128‚ɏCģ - pc.c - pc_calcstatus()Cģ - skill.c/skill.h - enum‚ðCģ - 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-2ŽŸEƒXƒLƒ‹‚ð’Į‰Á‚ĩ‚Ü‚ĩ‚― -‘S‚Ä‚ĖC—ûƒXƒLƒ‹AƒXƒsƒAƒNƒCƒbƒPƒ“Aƒvƒƒ”ƒBƒfƒ“ƒXA -—[—z‚ĖƒAƒTƒVƒ“ƒNƒƒXi–ĒƒeƒXƒgjAŠĶ‚ĒƒWƒ‡[ƒNAƒCƒhƒDƒ“‚Ė—ŅŒįA -ƒT[ƒrƒXƒtƒH[ƒ†[AƒƒeƒIƒXƒgƒ‰ƒCƒNi­‚ĩˆá‚΁jA -ƒ~ƒ…[ƒWƒJƒ‹ƒXƒgƒ‰ƒCƒNA–‚ŋAƒtƒƒXƒgƒEƒFƒ|ƒ“(‘ېŦ‚Š–â‘č‚ ‚čH) -ƒtƒŒ[ƒ€ƒ‰ƒ“ƒ`ƒƒ[(V)AƒTƒCƒYƒ~ƒbƒNƒEƒFƒ|ƒ“(V)Aƒ‰ƒCƒgƒjƒ“ƒOƒ[ƒ_[(V) -‘§Aƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[ -ŠŪ‘S‚ɂ͓­‚Đ‚Č‚ĒƒXƒLƒ‹F -–Ō—īŒA—øŠÂ‘SgķAŽO’iķ -(skills in skill.c) (ŠŪ—đ‚ģ‚ę‚é•K—v‚Š‚ ‚é) -ƒPƒ~ƒJƒ‹ƒA[ƒ}[ƒ`ƒƒ[ƒWAƒPƒ~ƒJƒ‹ƒwƒ‹ƒ€ƒ`ƒƒ[ƒWA -ƒPƒ~ƒJƒ‹ƒV[ƒ‹ƒhƒ`ƒƒ[ƒWAƒPƒ~ƒJƒ‹ƒEƒFƒ|ƒ“ƒ`ƒƒ[ƒWA -ƒXƒgƒŠƒbƒvƒwƒ‹ƒ€AƒXƒgƒŠƒbƒvƒEƒFƒ|ƒ“ -ƒXƒgƒŠƒbƒvƒV[ƒ‹ƒhAƒXƒgƒŠƒbƒvƒA[ƒ}[ - -*’ˆÓ !! CAUTION !! by ŒÓ’ą—–* -‚ą‚Ė400‚ɂ̓oƒO‚Š‘å—ʂɊ܂܂ę‚Ăǂ܂·B’ˆÓ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB -there are many many BUGS in this update(400) !! Be careful !! - --------------- -//0399 by ŒÓ’ą—– - -EMOBƒXƒLƒ‹Žg—pðŒ‚âs“Ū‚ðCģ - E–ģs“ŪMOB‚Бԋ@Žž‚ĖƒXƒLƒ‹‚ðŽg—p‚Å‚Ŧ‚Ȃǖâ‘č‚ðCģ - EðŒƒXƒLƒ‹”―‰ž(skillused)‚Š‚Į‚ĖƒXƒLƒ‹‚É‚ā”―‰ž‚ĩ‚Ăǂ―ƒoƒOCģ - E”ņˆÚ“ŪMOB‚Š’ĮŒ‚‚ĩ‚Ä‚­‚é–â‘č‚ðCģ - - mob.c - mob_ai_sub_hard()Cģ - mobskill_event()Cģ - mobskill_use()Cģ - skill.c - skill_attack()Cģ - -EMOBƒXƒLƒ‹ˆę•”ŽĀ‘• - EŽĐŒˆ(ƒGƒtƒFƒNƒg–ģ‚ĩ?)AŽĐ”šAƒ^ƒoƒR‚ð‹z‚΁A”͈͍UŒ‚ - HP‹zŽû‚Q‚Â(’ʏí/–‚–@ji‰ņ•œƒGƒtƒFƒNƒg–ģ‚ĩ?jŽĀ‘• - - (db) - skill_db.txt - ƒXƒ‚[ƒLƒ“ƒO‚Č‚Į‚ðCģ - (map/) - skill.c - skill_castend_damage_id(),skill_castend_nodamage_id()Cģ - battle.c - battle_calc_misc_damage()Cģ - -E–ĒŠÓ’čƒAƒCƒeƒ€‚Š‘•”õ‚Å‚Ŧ‚Č‚­‚Č‚č‚Ü‚ĩ‚― -E–ĒŠÓ’čƒAƒCƒeƒ€‚ɃJ[ƒh‚Š‚ģ‚đ‚Č‚­‚Č‚č‚Ü‚ĩ‚― - - pc.c - pc_equipitem(),pc_insert_card()Cģ - clif.c - clif_use_card()Cģ - -Ebattle_athena.cnf‚ÉMOB‚Ė”z’uŠ„‡‚ð’č‹`‚Å‚Ŧ‚邿‚΂ɂȂč‚Ü‚ĩ‚― - E”z’u”‚Š‚P‚ĖMOB‚É‚Â‚Ē‚Ä‚Í“K—p‚ģ‚ę‚Ü‚đ‚ņ - EŒvŽZŒã‚Ė”z’u”‚Š‚P–Ē–ž‚Ėę‡‚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ƒ{[ƒŠƒ“ƒOƒoƒbƒVƒ…‚Š‘ŠŽč‚Š‚P•C‚ł₯‚č‚ ‚͂‚―‚邿‚΂ɂȂÁ‚―B - - skill.c - skill_castend_damage_id()Cģ - -EŠwķ–XėŽƒCƒxƒ“ƒg‚ĖCģ - - (conf/) - npc_event_making.txt - ƒAƒƒGƒxƒ‰(606)‚ðƒAƒƒG(704)‚ɁB - -EƒpƒPƒbƒgî•ņCģ - - (doc/) - client_packet.txt - 0199ƒpƒPƒbƒgCģ - --------------- -//0397 by ‚Ē‚Į - -Eƒ‚ƒ“ƒXƒ^[’č‹`ƒf[ƒ^(“ú–{Œę)‚ːۗ - Enpc_monster25.txt‚ðnpc_monster.txt‚ÉƒŠƒl[ƒ€‚ĩA“ā—e‚ðŪ—(ŒŧÝmob”:13450) - E‚ŧ‚ĖŒy—Ę”Å‚Æ‚ĩ‚Änpc_monster_lite.txt‚ðėŽ(ŒŧÝmob”:11959) - Eã‹L‚ĖCģ‚É‚ ‚í‚đ‚Ämap_athena.cnf‚ðCģ - --------------- -//0395 by ŒÓ’ą—– - -EŽæ‚芊‚ŦMOB‚Ės“ŪCģ - EƒAƒ“ƒNƒ‹‚Č‚Į‚ÅˆÚ“Ū‚Å‚Ŧ‚Č‚Ēę‡Žå‚É‹ß‚Ã‚Đ‚Č‚Ē‚æ‚Ī‚ÉCģ - EƒƒbƒN‚ĩ‚Ăǂ邯Žå‚ɋߊņ‚鏈—‚ð‚ĩ‚Ȃǂæ‚Ī‚ÉCģ - EŽå‚ŠƒeƒŒƒ|[ƒg‚·‚邯’Į‚Ē‚Đ‚Ŋ‚邿‚Ī‚ÉCģ(•t‹ß10x10ƒ}ƒX’ö“x) - EŽå‚Ė‚ŧ‚Î‚É‚Ē‚é‚Æ‚Ŧ‚̓‰ƒ“ƒ_ƒ€•ās‚ð‚ĩ‚Ȃǂæ‚Ī‚ÉCģ - - mob.c - mob_ai_sub_hard_mastersearch()Cģ - mob_can_move()’Į‰Á - mob_ai_sub_hard()Cģ - -EMOB‚Ės“ŪCģ - EƒXƒLƒ‹Žg—pƒfƒBƒŒƒCˆ—‚Š‚Ļ‚Đ‚ĩ‚Đ‚Á‚―‚Ė‚ðCģ - E‰rĨ‚Ė‚Č‚ĒƒXƒLƒ‹‚Ítimer‚ðŽg‚í‚Ȃǂæ‚Ī‚ÉCģ(Ž€–SŽžˆ—‘΍ô) - - mob.c - mobskill_use(),mobskill_use_id()Cģ - -EMOBƒGƒ‚[ƒVƒ‡ƒ“‚ĖŽĀ‘• - EƒGƒ‚[ƒ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()’Į‰Á - -EƒpƒPƒbƒg‰ðÍ.txt‚ðclient_packet.txt‚ɉü–ž•Cģ - - (doc/) - client_packet.txt - ƒGƒ‚[ƒVƒ‡ƒ“‚ːā–ū’Į‰Á - -E‚Į‚Ī‚â‚įŽæ‚芊‚ŦMOB‚ĖŽí—Þ‚ÍŒÃ‚Ēƒf[ƒ^‚ū‚Á‚―‚Á‚Û‚Ē‚Å‚·B - ‚ĩ‚Đ‚āMOBĒŠŦ‚Å‚ÍŽč‰šĒŠŦ‚ƈá‚ĪMOB‚ðĒŠŦ‚·‚é‚Ý‚―‚ǂł·‚ˁB - Ú‚ĩ‚ǐl‚Ímob_skill_db.txt‚ð’ž‚ĩ‚Ä‚­‚ę‚邯B - --------------- -//0393 by ‚Ē‚Į - -EcharŽI‚Å‚ĖloginŽI‚Ėƒ|[ƒgÝ’č‚ð6900‚ɌŒč‚ĩA•ύX‚Å‚Ŧ‚Ȃǂæ‚΂ɂĩ‚― -@(login‘Ī‚Åƒ|[ƒg6900ŒÅ’č‚ɂȂÁ‚Ăǂ―‚Ė‚Åchar‘Ī‚ā‚ŧ‚ę‚ɍ‡‚í‚đ‚Ü‚ĩ‚―B) - char/char.c - conf/char_athena.cnf - doc/conf_ref.txt - --------------- -//0392 by ŒÓ’ą—– - -EMOB‚Ės“ŪCģ - E‰―ŒĖ‚Đlast_thinktick‚Š‰Šú‰ŧ‚ģ‚ę‚ĂǂȂǖâ‘čCģ - Eã‚ÉŠÖ˜A‚ĩ‚ÄPC‚Ћ߂­‚ɂǂĂāŽč”ē‚Ŧˆ—‚Šs‚í‚ę‚é–â‘čCģ - i‚Į‚Ī‚â‚į‰Šú‚Đ‚į‚ĖƒoƒO‚ū‚Á‚―–Í—lH ‚ą‚ĖƒoƒO‚ƁA - V‚ĩ‚ĒŽč”ē‚Ŧˆ—‚ĖŽd—l‚Šƒ^ƒbƒO‚ð‘g‚ņ‚ÅŽc‘œ‚ðė‚Á‚Ăǂ―–Í—lj - EŽæ‚芊‚ŦMOB—p‚ĖAIˆ—’Į‰Ái‚Ü‚ū‰ö‚ĩ‚ǂł·j - EMOB‚ĖƒXƒLƒ‹ƒfƒBƒŒƒC‚ðƒXƒLƒ‹€–Ú‚ē‚Æ‚ÉŽ‚‚æ‚Ī‚É•ÏX - EƒXƒLƒ‹ƒfƒBƒŒƒC‚Š‘å‚Ŧ‚ȍ€–ڂł̓I[ƒo[ƒtƒ[‚ĩ‚Ăǂ―–â‘č‚ðCģ - - map.h - struct mob_data‚Ė skilldelay‚ð”z—ņ‚É‚ĩ‚Äunsigned int‚ɕύX - mob.h - struct mob_skill‚Ėcasttime,delay‚ðint‚ɕύ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ģ - -EMOBƒXƒLƒ‹‚ĖŽč‰šĒŠŦ‚ƃ‚ƒ“ƒXƒ^[ĒŠŦŽĀ‘• - Emob_skill_db.txt‚Ė‘ŽŪ•ύXiÅŒã‚É’l‚ð‚P‚Â’Į‰ÁAŽæ‚芊‚ŦMOB‚ĖIDj - EŽæ‚芊‚ŦMOB‚Š‚í‚Đ‚į‚ȂЂÁ‚―‚ā‚Ė‚ÍƒRƒƒ“ƒg‰ŧ‚ĩ‚Ăǂ܂· - ‚í‚Đ‚él‚Í“ü—Í‚æ‚ë‚ĩ‚­‚ĻŠč‚Ē‚ĩ‚Ü‚·B - EŒŧÝ‚ÍŽæ‚芊‚Ŧ‚͈ę“x“|‚ĩ‚―‚į•Ķ‚Ŧ‚Ȃςĩ‚Ü‚đ‚ņB - Eƒ{ƒX‚ŠƒeƒŒƒ|[ƒg‚ĩ‚Ä‚āŽæ‚芊‚Ŧ‚Í’Į‚Ē‚Đ‚Ŋ‚Ü‚đ‚ņB - E–{ŽI‚Å‚Į‚΂ȂÁ‚Ä‚é‚Ė‚Đ’m‚į‚Ȃǂ˂ŁAŠÔˆá‚Á‚Ä‚éę‡‚Í‹ģ‚͂Ă­‚ū‚ģ‚ǁB - - (db/) - mob_skill_db.txt - Žč‰šĒŠŦ‚Č‚Į‚Ėƒf[ƒ^Cģ - - (map/) - skill.c - skill_castend_nodamage_id()Cģ - --------------- -//0391 by Ž€_ - -Eƒyƒbƒg‚ĖˆÚ“Ū’†‚ɃpƒtƒH[ƒ}ƒ“ƒX‚ð‚·‚é‚Æƒyƒbƒg‚Š’âŽ~‚·‚邿‚Ī‚É•ÏXB - (ƒyƒbƒg‚ĖˆĘ’u‚Š‚ļ‚ę‚é‚―‚ߏCģ‚ĩ‚Ü‚ĩ‚―B) - pet.c - pet_performance() CģB -EŽ€‚ņ‚ūƒ‚ƒ“ƒXƒ^[‚Í‚Į‚ņ‚ȍs“ۂ₯‚ę‚Ȃǂæ‚Ī‚É•ÏXB(‚ą‚ę‚Å–ģ“G - ƒ‚ƒ“ƒXƒ^[‚ЂǂȂ­‚Ȃ邯‚ǂǂł·‚Š...) - mob.c - mob_changestate(),mob_delete(),mob_catch_delete(),mob_damage(), - mob_ai_sub_hard(),mob_ai_sub_lazy() CģB -EPCANPCA°ƒAƒCƒeƒ€‚ŠŽg‚ĪID‚Ė”ÍˆÍ‚ð’ēŪB - °ƒAƒCƒeƒ€‚Í0‚Đ‚į500000‚܂łÅPC‚Í500000‚Đ‚į100000000ANPC - (ƒ‚ƒ“ƒXƒ^[‚ðŠÜ‚ß‚Ä)‚Í110000000‚Đ‚į–ņ21‰­‚܂łɂȂč‚Ü‚·B - (-‚ðŠÜ‚߂邯‚ā‚Á‚Æ”ÍˆÍ‚ŠL‚­‚Č‚č‚Ü‚·‚Ђ삷‚Ђɂŧ‚ą‚܂ł͕K—v‚Č‚Ē‚Æ - Žv‚ǂ܂·‚Ė‚Å...) - map.h - MAX_FLOORITEM ’Į‰Á(‚ą‚ę‚ð•Ï‚Ķ‚é‚Æ°ƒAƒCƒeƒ€‚ĖÅ‘å”‚ð•Ï‚Ķ‚é - ‚ą‚Æ‚ЂłŦ‚Ü‚·BĄ‚Í100000‚ɂȂÁ‚Ăǂ܂·B‚―‚ū‚ą‚ę‚Í•K‚ļ - 500000ˆČ‰š‚É‚ĩ‚Ä‚­‚ū‚ģ‚ǁB‚ŧ‚Ī‚ĩ‚Č‚Ē‚Æģ‚ĩ‚­“Ū‚­‚Đ‚Į‚Ī‚Đ - •ۏ؂łŦ‚Ü‚đ‚ņB) - map.c - map.h‚ɍ‡‚í‚đ‚ď­‚ĩCģB - npc.h - START_NPC_NUM ’Į‰ÁB - npc.c - npc.h‚ɍ‡‚í‚đ‚ď­‚ĩCģB - login.h - START_ACCOUNT_NUM‚ÆEND_ACCOUNT_NUM ’Į‰ÁB - login.c - login.h‚ɍ‡‚í‚đ‚ďCģBEND_ACCOUNT_NUMˆČã‚Éaccount‚ð - ė‚ę‚Ȃǂæ‚Ī‚É•ÏXB -EƒJ[ƒgƒŒƒ{ƒŠƒ…[ƒVƒ‡ƒ“‚É•ŠíŒĪ‹†‚ð‚Q‰ņ“K—p‚·‚邿‚Ī‚É•ÏXB - (Œ‹‹Į‚ÍŒģ‚É–ß‚·‚ą‚Æ‚ɂȂč‚Ü‚ĩ‚―...^^;) - battle.c - Damage battle_calc_weapon_attack() CģB -Emob‚ĖƒXƒLƒ‹Žg—p‚ðbattle_athena.cnf‚ÅŒˆ‚߂邿‚Ī‚É•ÏXB - mob.c - mobskill_use() CģB - battle.h - battle.c - struct Battle_Config‚Émob_skill_use’Į‰ÁB - battle_athena.cnf - mob_skill_use’Į‰ÁB(Ý’č‚ĩ‚ȂǂÆno‚Å‚·B) -Ebattle_athena.cnf - mob‚ð“ņd‚Å“Į‚߂Ȃǂæ‚Ī‚Énpc: conf/npc_monster.txt‚ðíœB - (ÅV‚Ínpc_monster25.txt‚Ȃ˂Å...) - --------------- -//390 by ŒÓ’ą—– - -Eƒo[ƒWƒ‡ƒ“î•ņŠ“ū•”•Š‚ð­‚ĩ•ύX - EMODƒo[ƒWƒ‡ƒ“‚ð’č‹`‚Å‚Ŧ‚邿‚΂ɂȂč‚Ü‚ĩ‚―BÚŨ‚Íversion.h‚ðB - ‹C‚ŠŒü‚Ē‚―‚Æ‚Ŧ‚ЁA‘å‚Ŧ‚ȍXV‚Š‚ ‚邯‚Ŧ‚Č‚Į‚ɕύX‚ĩ‚Ä‚­‚ū‚ģ‚ǁB - Eƒo[ƒWƒ‡ƒ“checkŽž‚Ėset eofƒƒO‚Šo‚Ȃǂæ‚Ī‚ÉƒpƒPƒbƒg7532’Į‰ÁB - - (common/) - version.h - MODƒo[ƒWƒ‡ƒ“‚ð’č‹`‚Å‚Ŧ‚邿‚΂ɁB - (tool/) - checkversion - MODƒo[ƒWƒ‡ƒ“‚ð•\ŽĶ‚·‚邿‚΂ɁB - (login/char/map) - login.c/char.c/clif.c - MODƒo[ƒWƒ‡ƒ“‚Ėˆ—’Į‰ÁA - ƒpƒPƒbƒg7532iØ’fjˆ—’Į‰ÁB - -E‚ŧ‚Ė‘žFXCģ - E‚ą‚Ü‚ē‚Ü‚ĩ‚―Cģ‚΂Ђč‚Å‚·‚ЁA‚ ‚Ü‚čŠo‚͂Ăǂ܂đ‚ņB - EMOBƒXƒLƒ‹ðŒ‚Åslavelt,attackpcgtˆ—ŽĀ‘•i–ĒƒeƒXƒgjB - EMOB‚ĖŽč‰šĒŠŦ‚Ė‚―‚߂ˋ@\’Į‰Ái‚Ü‚ūĒŠŦ‚Å‚Ŧ‚Ü‚đ‚ņjB - E”͈̓XƒLƒ‹Œø‰Ę”͈͂Ɏ€–SPC‚Ђǂ邯ŽI‚Š—Ž‚ŋ‚éƒoƒOCģB - EMOBŽc‘œ‚Šo‚Č‚­c‚Č‚Á‚Ä‚―‚į‚ǂǂȁB - - (map/) - mob.c/mob.h/map.h/battle.c - FX’Į‰Á - - (db/) - mob_skill_db.txt - ƒ‹[ƒgŽžˆ—‚ƁA‘ېŦ•ύXƒXƒLƒ‹‚ĖƒRƒƒ“ƒg‚ðŠO‚ĩ‚―B - i‘ېŦ•ύX‚Í–{ŽI‚œۂǂĂȂǂį‚ĩ‚Ē‚ā‚Ė‚āƒRƒƒ“ƒg‚ðŠO‚ĩ‚Ă܂·B - –â‘肊‚ ‚éę‡‚ÍÄ‚ŅƒRƒƒ“ƒg‰ŧ‚ĩ‚Ä‚­‚ū‚ģ‚ǁj - --------------- -//389 by ‚Ē‚Į - -E388‚Ė•ÏX - ƒo[ƒWƒ‡ƒ“î•ņ‚ðcommon/version.h“ā‚˒萔‚ðŽg—p‚·‚邿‚Ī‚É•ÏX - --------------- -//388 by ŒÓ’ą—– - -Eƒo[ƒWƒ‡ƒ“î•ņŠ“ūƒc[ƒ‹“Y•t - Perlŧ‚Č‚Ė‚ÅŽĀs‚É‚ÍPerl‚Š•K—v‚Å‚·B - Žg—p•û–@‚Č‚Į‚̓GƒfƒBƒ^‚ÅŠJ‚Ē‚ÄŒĐ‚Ä‚­‚ū‚ģ‚ǁB - Žg‚Ē•û‚Š—Į‚­‚í‚Đ‚į‚Ȃǐl‚ÍŽč‚ðo‚ģ‚Ȃǂ؂΂Ђǂǂł·B - - ƒo[ƒWƒ‡ƒ“‚ðŠm”F‚·‚é—p“r‚æ‚č‚́AƒT[ƒo[‚ːķ‘ķŠm”F—p‚Æ‚Ē‚Á‚―‚Đ‚ņ‚ķ‚Å‚· - ƒpƒPƒbƒg7530/7531‚ĖÚŨ‚̓\[ƒX‚ðŒĐ‚Ä‚­‚ū‚ģ‚ǁB - - (tool/) - checkversion - ƒo[ƒWƒ‡ƒ“Šm”Fƒc[ƒ‹PerlƒXƒNƒŠƒvƒg - - (login/) - login.c - ƒpƒPƒbƒg7530/7531‚Ėˆ—’Į‰Á - (char/) - char.c - ƒpƒPƒbƒg7530/7531‚Ėˆ—’Į‰Á - (map/) - clif.c - ƒpƒPƒbƒg7530/7531‚Ėˆ—’Į‰Á - -E384ˆČ‘O‚Ėathena.txt‚ā“Į‚ݍž‚߂邿‚΂ɂĩ‚Ü‚ĩ‚― - Econvert‚Š–Ę“|‚ȐlŒü‚ŊB - Eģ‚ĩ‚­“Į‚ݍž‚ß‚é•ۏؖģ‚ĩBƒoƒbƒNƒAƒbƒv‚ð–Y‚ę‚ļ‚ɁB - - (char/) - char.c - 384‚Ė•ûŽŪ‚Å“Į‚ݍž‚ß‚Č‚Ēƒf[ƒ^‚Í384ˆČ‘O‚Ė•ûŽŪ‚āŽŽ‚·‚æ‚΂ɁB - -Econf_ref.txt/help.txt/getaccountCģ - help.txt - petƒRƒ}ƒ“ƒh‚ːā–ū’Į‰Á - (doc/) - conf_ref.txt - petŠÖ˜A‚ĖÝ’č‚ːā–ū’Į‰Á - (tool/) - getlogincount - •\ŽĶ‚ĖCģ - --------------- -//387 by ‚Ē‚Į -EconfƒtƒHƒ‹ƒ_“ā‚Ė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ƒ}ƒbƒv’č‹`‚Ė’Į‰Á - ƒWƒ…ƒm[ƒAƒbƒvƒf[ƒg‚Å’Į‰Á‚ģ‚ę‚éƒ}ƒbƒv‚ƁAŠØŽI“ÆŽĐ(?)‚ĖƒNƒCƒYƒ][ƒ“ - (ƒRƒ‚ƒhƒAƒbƒvƒf[ƒg)‚Æ“V’ÃAƒbƒvƒf[ƒg‚Ėƒ}ƒbƒv’č‹`‚ð’Į‰Á - ŒŧÝA“úˆÆ‚É–ģ‚Ē‚ā‚Ė‚ÉŠÖ‚ĩ‚Ă̓Rƒƒ“ƒgƒAƒEƒg‚ĩ‚Ăǂ܁B - conf/map_athena.cnf - --------------- -//385 by ŒÓ’ą—– - -EMOB‚Ės“ŪCģ - EŽč”ē‚Ŧˆ—‚ÅˆÚ“Ū‚ĩ‚Č‚Ēƒ‚[ƒh‚ĖMOB‚ā•ā‚­–â‘čCģ - EMOB‚ð“|‚ĩ‚―‚Æ‚ŦAÄspawnŽž‚Š‚Ļ‚Đ‚ĩ‚Č’l‚ɂȂéę‡‚Š‚ ‚é–â‘čCģ - iMOB‚Š•Ķ‚Đ‚Č‚­‚Č‚é–â‘肊Cģ‚ģ‚ę‚―‚Í‚ļj - EMOB‚Ėƒ[ƒv‚ÅęŠŒŸõ‚É1000‰ņŽļ”s‚ĩ‚―‚įŒģ‚ĖęŠ‚ɏo‚邿‚Ī‚ÉCģ - EMOB‚ð‰rĨ’†‚É“|‚·‚ƁAƒ^ƒCƒ}[‚ðíœ‚·‚邿‚Ī‚ÉCģ - - mob.c - mob_delete(),mob_catch(),mob_damage(), - mob_ai_sub_lazy(),mob_ai_sub_hard()‚Č‚ĮCģ - mobskill_deltimer()’Į‰Á - --------------- -//0384 by Ž€_ - -EƒyƒbƒgŽĀ‘•B -Žv‚Á‚―‚æ‚č’·‚­‚ЂЂč‚Ü‚ĩ‚―BˆęŽü‚ā‚ЂЂÁ‚―‚đ‚ǂʼn―ˆ‚ðCģ‚ĩ‚―‚Đ -Šo‚͂ĂȂǖâ‘肊‚ ‚č‚Ü‚·‚Š... ‚ŧ‚ę‚Å”O‚ĖˆŨ‚Émap‚Æchar‚Ėƒtƒ@ƒCƒ‹‚Í‘S‚Ä -ŠÜ‚߂ăAƒbƒv‚ĩ‚Ü‚·B -‚ŧ‚悯makefile‚Æathena.sh‚ÍŽĐ•Š‚ŠŽg‚Ăǂé•ςł·B -Yare-launcher‚ÍŽg‚Ă܂đ‚ņ‚Š‚Ē‚Â‚āŽI‚ĖŽĀsƒtƒ@ƒCƒ‹‚ÅŽĀs‚ĩ‚Ăǂ܂·‚Ė‚Å... - char/char.cAchar/char.hAchar/inter.cAchar/makefile CģB - char/int_pet.cAchar/int_pet.h ’Į‰ÁB - map/makefile CģB - map/intif.cAmap/intif.hAmap/map.cAmap/map.hAmap/mob.cAmap/mob.hA - map/npc.cAmap/npc.hAmap/battle.cAmap/battle.hAatcomand.cAmap/pc.cA - map/clif.cAmap/clif.hAmap/script.c FXCģB - map/pet.cAmap/pet.h ‚Í–w‚Į‚ðŽĐ•Š‚Ė•Ļ‚É‘‚ŦŠ·‚͂܂ĩ‚―B - common/mmo.h CģB - db/pet_db.txt CģB - db/item_db.txt CģB(Œg‘Ņ—‘›z‰ŧ‹@‚Ėbpet ƒXƒNƒŠƒvƒg‚Š”ē‚Ŋ‚Ăǂ―‚˂Š- “ü‚ę‚―‚ū‚Ŋ‚Å‚·‚Š...) - doc/INTERŽIƒpƒPƒbƒg.txt‚Ė–ž‘O‚ðinter_server_packet.txt‚ɕύX‚ƃyƒbƒg‚Ė - •Û‘ķ“™‚ÉŽg‚ĪƒpƒPƒbƒg‚ð’Į‰ÁB -* Ą“x‚ĖƒyƒbƒgŽĀ‘•‚É‚æ‚čƒLƒƒƒ‰ƒtƒ@ƒCƒ‹‚Ė\‘Ē‚Š•Ï‚í‚čˆČ‘O‚Ė•Ļ‚ÆŒÝŠ·‚Å‚Ŧ‚Č‚Ē - ‚˂Štool/convert.c ‚ð’Į‰Á‚ĩ‚Ü‚ĩ‚―B - ’P“ƂŃRƒ“ƒpƒCƒ‹‚Å‚Ŧ‚Ü‚·‚Ė‚ÅƒRƒ“ƒpƒCƒ‹‚ĩ‚―‚ ‚ÆŽĀs‚ĩ‚ăLƒƒƒ‰ - ƒtƒ@ƒCƒ‹‚ð•ÏŠ·‚ĩ‚Ä‚­‚ū‚ģ‚ǁB‚ŧ‚Ī‚ĩ‚Č‚Ē‚ÆƒLƒƒƒ‰‚Š‘S•””ō‚҂܂·‚Ė‚Å... -* ƒyƒbƒg‚ːe–§“x‚Š0‚ɂȂ邯ƒyƒbƒg‚Í‚ŧ‚Ėę‚œۂŊ‚Č‚­‚Č‚č‚ŧ‚Ėó‘Ô‚Å‘ž‚Ė - ƒ}ƒbƒv‚ÉˆÚ“Ū‚·‚é‚ЏI—đ‚·‚é‚Æƒyƒbƒg‚͏Á–Å‚ĩ‚Ü‚·Bˆę‰žƒyƒbƒg‚˓͑–‚ð - ŽĀ‘•‚·‚é‚‚ā‚č‚ōė‚Á‚―‚˂ł·‚Š–{ŽI‚É‚ ‚Á‚Ä‚é‚Đ‚Į‚Ī‚Đ‚Í‚í‚Đ‚č‚Ü‚đ‚ņB -* ˆÚ“Ū‘Ž“x‚Š’x‚Ēƒyƒbƒg‚Ėę‡—Ģ‚ę‰ß‚ނ邯‚Â‚Ē‚Ä—ˆ‚ę‚Č‚­‚Č‚č‚Ü‚·B‚Å‚ā - ‚ą‚Ėę‡ƒ}ƒbƒv‚ðˆÚ“Ū‚ĩ‚Ä‚ā‚ŋ‚á‚ņ‚Æ‚Â‚Ē‚Ä—ˆ‚Ü‚·B - Á–Å‚ĩ‚―‚č‚Í‚ĩ‚Ü‚đ‚ņB -* ˆÚ“Ū‘Ž“x‚Š‘Ž‚Ēƒyƒbƒg‚̓Lƒƒƒ‰‚æ‚萿‚ÉˆÚ“Ū‚ĩ‚Ü‚·B–{ŽI‚Ė•û‚Š‚Į‚Ī‚Č‚Ė‚Đ - ‚í‚Đ‚į‚Č‚Ē‚Ė‚Åƒyƒbƒg‚ĖˆÚ“Ū‚Íƒ‚ƒ“ƒXƒ^[‚ĖˆÚ“Ū‘Ž“x‚ÅˆÚ“Ū‚·‚é - ‚æ‚΂ɂĩ‚Ü‚ĩ‚―B -Ebattle_athena.cnf -pet_catch_rate ’Į‰ÁB - ƒyƒbƒg‚Ė•ßŠl”{—Ķ‚ðÝ’č‚ĩ‚Ü‚·B(Ý’č‚ĩ‚ȂǂÆ100) - Šî–{“I‚Ƀyƒbƒg‚Ė•ßŠl‚ÉŽg‚Á‚Ä‚éŒöŽŪ‚Í - (pet_db.txt‚Ė•ßŠl—Ķ + (ƒLƒƒƒ‰ƒŒƒxƒ‹ - ƒ‚ƒ“ƒXƒ^[ƒŒƒxƒ‹)*0.3 + luk *0.2) - * (2 - ƒ‚ƒ“ƒXƒ^[‚ĖŒŧÝHP/ƒ‚ƒ“ƒXƒ^[‚ĖÅ‘åHP) - ‚ɂȂč‚Ü‚·BŽĐ•ЂȂč‚ɍė‚Á‚―•ςł·‚˂Ŗ{ŽI‚Æ‚Í‚Đ‚Č‚č‚Ė - ˆá‚ǂЂ ‚é‚Đ‚ā’m‚ę‚Ü‚đ‚ņB(ƒ‚ƒ“ƒXƒ^[‚ĖHP‚ðŒļ‚į‚đ‚ÎŒļ‚į‚·’ö•ߊl—͂Р- ã‚Š‚éŽd‘g‚݂ł·‚Š...) -pet_rename ’Į‰ÁB - ƒyƒbƒg‚Ė–ž‘O‚ð•ύX‚·‚é‚Đ‚Į‚Ī‚Đ‚ðŒˆ‚ß‚Ü‚·B(Ý’č‚ĩ‚ȂǂÆno) - yes‚͉―“x‚Å‚ā–ž‘O‚Ė•ÏX‚Š‰Â”\B - no‚͈ę“x•ύX‚·‚邯‚ā‚Ī•ÏX•s‰Â”\‚ɂȂé -pet_hungry_delay_rate ’Į‰ÁB - ƒyƒbƒg‚Ė• ‚ŠŒļ‚鎞ŠÔ‚Ė”{—͂ł·B(Ý’č‚ĩ‚ȂǂÆ100) - ”{—Ķ‚Š‚‚Ē‚Æ• ‚ŠŒļ‚č“ï‚­‚Č‚č‚Ü‚· -mvp_exp_rate •ύXB - ‚·‚Å‚Éstruct mob_db‚Ėmexpper‚̓Sƒ~‚ɂȂÁ‚Ăǂé‚Ė‚Å(MVP EXP‚Í - MVPƒAƒCƒeƒ€‚ŠŽæ‚ę‚ȂЂÁ‚―ę‡“ü‚é‚Ė‚ÅˆÓ–Ą‚Š‚ ‚č‚Ü‚đ‚ņB) - MVP EXP‚˗Ƃ˔{—͂ɂȂ邿‚Ī‚É•ÏXB(mob.c‚ðCģ) -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(ƒLƒƒƒ‰ŽI‚Ƀf[ƒ^‚𑗂鎞ŠÔ‚ĖŠÔŠu‚Å‚·B‚ą‚ę‚Í - ƒtƒ@ƒCƒ‹‚É•Û‘ķ‚·‚鎞ŠÔ‚ĖŠÔŠu‚ķ‚á‚ ‚č‚Ü‚đ‚ņB) -Einter_athena.cnf -pet_txt ’Į‰ÁB - ƒyƒbƒg‚Ėƒf[ƒ^‚ð•Û‘ķ‚·‚éƒtƒ@ƒCƒ‹‚ðŒˆ‚ß‚Ü‚·B(Ý’č‚ĩ‚ȂǂÆpet.txt) -E@makepet ƒRƒ}ƒ“ƒh’Į‰ÁB - ƒyƒbƒg‚ĖŽĀ‘•‚É‚æ‚Á‚Ä@item‚ōė‚Á‚―—‘‚ÍŽg‚Á‚Ä‚ā–ģ‘ʂɂȂč‚Ü‚·‚˂Š- ‚ą‚ę‚ðŽg‚Á‚Ä—‘‚ðė‚Á‚Ä‚­‚ū‚ģ‚ǁB - @makepet <ƒ‚ƒ“ƒXƒ^[‚ĖID or —‘‚ĖID> -E@petfriendly ƒRƒ}ƒ“ƒh’Į‰ÁB - @petfriendly <”Žš> - ƒyƒbƒg‚ð˜A‚ę‚Ä‚Ē‚éŽž‚Ƀyƒbƒg‚ːe–§“x‚ð•ύXB(0~1000) -E@pethungry ƒRƒ}ƒ“ƒh’Į‰ÁB - @pethungry <”Žš> - ƒyƒbƒg‚ð˜A‚ę‚Ä‚Ē‚éŽž‚Ƀyƒbƒg‚Ė–ž• “x‚ð•ύXB(0~100) -E@petrename ƒRƒ}ƒ“ƒh’Į‰ÁB - @petrename - ƒyƒbƒg‚ð˜A‚ę‚Ä‚Ē‚éŽž‚Ƀyƒbƒg‚Ė–ž‘O‚ð•ύX‚Å‚Ŧ‚邿‚Ī‚É•ÏXB -Eint_guild.cAint_party.c “Į‚ݍž‚Þƒtƒ@ƒCƒ‹‚ɃGƒ‰[‚Š‚ ‚Á‚Ä‚āƒvƒƒOƒ‰ƒ€‚ð - I—đ‚đ‚ļ‚ɐi‚Þ‚æ‚Ī‚É•ÏXB -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 - tick‚Š“Ŋ‚퐔’l‚ɂȂé‚Ė‚ð–h‚Ē‚―‚˂ł·‚Š‚ą‚ę‚Å‚Į‚ņ‚ȉe‹ŋ‚Šo‚é‚Đ‚Í - ‚ģ‚Á‚Ï‚č‚í‚Đ‚č‚Ü‚đ‚ņB - pc.cAmob.c‚ðCģB - ‚Å‚ā‚ą‚ĖCģ‚ð‚ĩ‚Ä‚ā˜A‘ą‚ŃNƒŠƒbƒN‚ĩ‚―‚č‚·‚邯ƒLƒƒƒ‰‚Š‚ĩ‚Î‚į‚­ - Ž~‚܂邿‚΂ł·B(ƒyƒbƒg‚Ė‚đ‚Ē‚ÆŽv‚ǂ܂ĩ‚―‚Šƒyƒbƒg‚ЂȂ­‚Ä‚ā - “Ŋ‚ķ‚ū‚Á‚―‚˂őž‚ĖŒīˆö‚Đ‚Æ...) -* doc/code_ref.txt‚Æhelp.txt‚Í–Ę“|‚­‚ģ‚Ē‚Ė‚ÅCģ‚ĩ‚Ă܂đ‚ņB -Egm_all_skill: yes‚Å2-2‚ĖƒXƒLƒ‹‚ā•\ŽĶ‚ģ‚ę‚邿‚Ī‚É•ÏXB(ŽŽ‚Ē‚đ‚Í‚Ē‚Ü‚đ‚ņ‚Š...) - pc.c - pc_calc_skilltre() CģB -EƒJ[ƒgƒŒƒ{ƒŠƒ…[ƒVƒ‡ƒ“‚Ėƒ_ƒ[ƒWŒvŽZ‚ðCģB - •ŠíŒĪ‹†‚ð“ņdŒvŽZ‚ĩ‚Ăǂ―‚Ė‚ÅCģB - battle.c - Damage battle_calc_weapon_attack() CģB - --------------- -//381 by ŒÓ’ą—– - -EMOB‚Ės“ŪCģ - EPC‚Ė‚Ē‚Č‚Ēƒ}ƒbƒv‚ĖMOB‚ÍŽžXƒ[ƒv‚·‚邿‚΂ɂȂč‚Ü‚ĩ‚― - EPC‚˂ǂéƒ}ƒbƒv‚ĖMOB‚Í•ā‚­ˆČŠO‚ɁAŽžX•Ķ‚Ŧ’ž‚·‚æ‚΂ɂȂč‚Ü‚ĩ‚― - i‚ą‚ę‚Ü‚―ƒpƒtƒH[ƒ}ƒ“ƒX‚ɉe‹ŋ‚Š‚ ‚é‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņF­‚ĩd‚­‚Č‚é‚Đ‚āj - EŽč”ē‚Ŧˆ—‚ŃuƒƒbƒN‚Ė—LŒø”ŧ’č‚ðs‚Ī‚æ‚΂ɂĩ‚Ü‚ĩ‚― - iHP–ģŒĀMOB–â‘čCģHj - Eƒ‹[ƒgŽžƒXƒLƒ‹Žg—p‹@\ŽĀ‘• - - mob.c/mob.h - mob_ai_sub_lazy(),mob_ai_sub_hard()Cģ - MSS_LOOT’Į‰Á,mob_readskilldb()Cģ - -EMOBƒXƒLƒ‹‚ˑېŦ•ύX‚ðŽĀ‘•‚ĩ‚Ü‚ĩ‚―B - - map.h - struct mob_data‚É def_eleƒƒ“ƒo’Į‰Á - mob.c - mob_spawn()‚Ådef_ele‚ðƒZƒbƒg‚·‚邿‚Ī‚É•ÏX - battle.c - battle_get_element()‚Ådef_ele‚ð“Į‚Þ‚æ‚Ī‚É•ÏX - skill.c - skill_castend_nodamage_id()Cģ - -EƒNƒ@ƒOƒ}ƒCƒA‚ĖŒø‰Ę”ÍˆÍ‚Đ‚įo‚邯Œø‰Ę‚ŠØ‚ę‚邿‚΂ɂȂč‚Ü‚ĩ‚― - - skill.c - ƒ†ƒjƒbƒgŒnˆ—Cģ - --------------- -//380 by ‚`‚ːl - -EƒJ[ƒgƒŒƒ”ƒHƒŠƒ…[ƒVƒ‡ƒ“‚Ėƒ_ƒ[ƒWŒvŽZŽĀ‘• - battle.c‚ð•ύXB - -CHRIS‚ģ‚ņA‚ ‚肊‚Æ‚ĪŒäĀ‚ǂ܂·B -ƒmƒbƒNƒoƒbƒNŽĀ‘•‚Å‚Ŧ‚Č‚­‚āAĒ‚Á‚Ă܂ĩ‚―i„ƒG - --------------- -//379 by CHRIS - -EƒJ[ƒgƒŒƒ”ƒHƒŠƒ…[ƒVƒ‡ƒ“‚ĖŽĀ‘• - skill.c‚Æbattle.c‚ð•ύXB - -Eƒ}ƒOƒiƒ€ƒuƒŒƒCƒN‚ɃmƒbƒNƒoƒbƒN‚ð’Į‰ÁB - battle.c‚ð•ύXB - -iƒ\[ƒX‚ð˜M‚Á‚―‚Ė‚Í‰‚߂ĂȂ˂ŁA—L‚Á‚Ä‚é‚Đ‚Į‚Ī‚Đ•Š‚Đ‚č‚Ü‚đ‚ņ‚ЁAŽĐ•Š‚Å‚Ío—ˆ‚Ü‚ĩ‚―Bj -iƒvƒƒOƒ‰ƒ€ŠÖŒW‚Ė‘Ð‚𔃂Á‚Ä•Ũ‹­‚ĩ‚߂ĘM‚Á‚―‚˂ł·EEEBƒKƒ“ƒoƒŠƒ}ƒXIBj - --------------- -//377 by ŒÓ’ą—– - -EMOB‚Ės“ŪCģ - E‹ß‚­‚ÉPC‚˂ǂȂĒMOB‚ŠŽžXƒ[ƒv‚·‚éŽd—l‚ðŽ~‚߂܂ĩ‚―B - EPC‚Ė‚Ē‚Č‚Ēƒ}ƒbƒv‚ĖMOB‚Í‘S‚­“Ū‚Đ‚Č‚­‚Č‚č‚Ü‚ĩ‚―B - EPC‚˂ǂéƒ}ƒbƒv‚ŁA‹ß‚­‚ÉPC‚˂ǂȂĒMOB‚ÍŽžX•ā‚­‚æ‚΂ɂȂč‚Ü‚ĩ‚―B - E‚ŧ‚Ė‘žŨ‚Đ‚Ē‚Æ‚ą‚ëCģ - iƒpƒtƒH[ƒ}ƒ“ƒX‚ɉe‹ŋ‚Š‚ ‚é‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņF­‚ĩd‚­‚Č‚é‚Đ‚āj - - mob.c - mob_randomwalk()’Į‰Á - mob_ai_sub_lazy(),mob_ai_sub_hard()Cģ‚Č‚Į - -EƒXƒLƒ‹Cģ - EMOB‚ŠƒeƒŒƒ|[ƒg‚Å‚Ŧ‚邿‚΂ɂȂč‚Ü‚ĩ‚― - - mob.c - mob_warp()’Į‰Á - skill.c - skill_castend_nodamage_id()Cģ - -EƒXƒe[ƒ^ƒXˆŲí‚Ėˆę•”‚ðŽĀ‘•/Cģ - EPC/MOB‚Æ‚ā‚ɑޓxŒļ­‚ĖŒø‰Ę‚ŠŒŧ‚ę‚邿‚΂ɁiAGI‚Ė•\ŽĶ‚͕ςí‚į‚ļj - EPC‚ĖƒGƒ“ƒWƒFƒ‰ƒXAƒCƒ“ƒ|ƒVƒeƒBƒIƒ}ƒkƒXA‘Ž“xãļ‚ĖŒø‰Ę‚ðCģ - EMOB‚Ė2HQAƒAƒhƒŒƒiƒŠƒ“ƒ‰ƒbƒVƒ…AƒGƒ“ƒWƒFƒ‰ƒXAƒCƒ“ƒ|ƒVƒeƒBƒIƒ}ƒkƒXA - ‘Ž“xãļ/Œļ­AƒOƒƒŠƒAAƒuƒŒƒbƒVƒ“ƒO‚Č‚Į‚ĖŒø‰ĘŽĀ‘• - E‡–°A“€Œ‹AƒXƒ^ƒ“‚Ė•K’†Œø‰ĘŽĀ‘• - E‡–°‚ĖƒNƒŠƒeƒBƒJƒ‹”{Œø‰ĘŽĀ‘• - 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‚ŃAƒCƒeƒ€‚ˉŋŠi‚ðÝ’č‚Å‚Ŧ‚邿‚΂ɂȂč‚Ü‚ĩ‚― - E‰ŋŠiƒf[ƒ^‚ðƒI[ƒo[ƒ‰ƒCƒh‚Å‚Ŧ‚邿‚΂ɂĩ‚Ü‚ĩ‚―B - E‚ą‚ę‚Åitem_db2.txt‚ð—pˆÓ‚·‚é•K—v‚Š‚ ‚č‚Ü‚đ‚ņB - - (db/) - item_value_db2.txt - item_db2.txt‚ˉŋŠiƒf[ƒ^B - item_value_db.txt‚ÉƒŠƒl[ƒ€‚·‚邯“Į‚ݍž‚݂܂·B - (map/) - itemdb.c - itemdb_readdb()Cģ - -EŒÃ–Ø‚ĖŽ}‚ðŽg‚Ī‚ÆMOB‚Ė–ž‘O‚Š 0 ‚ɂȂé–â‘č‚ĖCģ - - (db/) - item_db.txt - ŒÃ–Ø‚ĖŽ}‚Ėƒf[ƒ^Cģ - --------------- -//375 by ŒÓ’ą—– - -EMOBę—pƒXƒLƒ‹‚ĖŒø‰Ę‚ð‚Ē‚­‚Â‚ĐŽĀ‘• - ‘―’iUŒ‚A“łȂĮ‚Ė’Į‰ÁŒø‰Ę•t—^UŒ‚A‘ېŦ•t‚ŦUŒ‚A–‚–@‘ÅŒ‚UŒ‚ - •K’†UŒ‚A–hŒä–ģŽ‹UŒ‚Aƒ‰ƒ“ƒ_ƒ€ATKUŒ‚‚Č‚ĮB - ‚―‚ū‚ĩA**‘S‚­ƒeƒXƒg‚ĩ‚Ă܂đ‚ņ**B - - (db/) - skill_db.txt - MOB—pƒXƒLƒ‹‚Ėƒ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ģ - -EƒXƒLƒ‹‚ð­‚ĩCģ - EƒEƒH[ƒ^[ƒ{[ƒ‹‚Å“G‚ŠŽ€‚ņ‚Å‚Ē‚Ä‚āŒ‚‚ƒ‚[ƒVƒ‡ƒ“‚ð‚·‚é–â‘čCģ - - skill.c - skill_status_change_timer()Cģ - -EMOBƒf[ƒ^‚Š•Ï‚Č‚Ė‚Å–^‚v‚Ėƒf[ƒ^ƒx[ƒX‚ð—Ž—p‚ĩ‚Ă݂é - Eƒf[ƒ^‚Ė•Ā‚Ņ‡‚Æ‚Đ‘S‚­“Ŋ‚ķ‚Č‚ņ‚Å‚·‚Ë - - (db/) - mob_db.txt - –^‚v‚Ėmob_db.txt - -EŠeŽíconf‚ĖƒŠƒtƒ@ƒŒƒ“ƒX‚ð“Y•t - ‚ ‚­‚Ü‚ÅƒŠƒtƒ@ƒŒƒ“ƒX‚Ȃ˂ŁAHowTo‚Č‚ņ‚Đ‚Í‘‚ǂĂ܂đ‚ņB - - (doc/) - conf_ref.txt - conf‚ĖƒŠƒtƒ@ƒŒƒ“ƒX{ƒŋ - - --------------- -//373 by ŒÓ’ą—– - -EMOBƒXƒLƒ‹Žg—p‹@\‰žŽĀ‘• - EƒXƒLƒ‹Žg—pŽž‚Ėˆ—‚̓vƒŒƒCƒ„[‚Æ‹Ī—p(skill.c)‚Å‚·B - E•s“s‡‚Š‘―‚Ē‚ÆŽv‚΂˂ŕņ‚ĻŠč‚Ē‚ĩ‚Ü‚·B - Emob_skill_db.txt‚𖄂߂Ă­‚ę‚él‚ā•åWB - ‚ą‚Ėƒf[ƒ^‚́uƒ‰ƒOƒiƒƒN‚Ė‚―‚Ü‚ēv‚ðŽQl‚É‚ĩ‚Ăǂ܂·B - - (db/) - mob_skill_db.txt - MOBƒXƒLƒ‹ƒf[ƒ^ƒx[ƒX(–ĒŠŪŽ) - ƒeƒXƒg—p‚Ėƒf[ƒ^‚ĩ‚Đ“ü‚Á‚Ă܂đ‚ņB - (map/) - mob.c/mob.h - mobskill_*’Į‰ÁA‚ŧ‚Ė‘ž‘―”Cģ - map.h - struct mob_data ‚É skill* ’Į‰Á - skill.c/skill.h - skill_castcancel()‚âƒXƒLƒ‹ƒ†ƒjƒbƒgˆ—‚ðMOB‚ɑΉž‚ģ‚đ‚― - battle.c - battle_calc_damage()‚Č‚ĮCģ - -EƒMƒ‹ƒh‚ĖƒXƒLƒ‹‚АG‚ę‚Ȃǖâ‘čCģ - E‚Ē‚Â‚Ė‚Ü‚É‚Đpc_skillup‚ŠŒÃ‚Ē‚ā‚Ė‚É•Ï‚í‚Á‚Ăǂ―‚Ė‚ÅCģ - - pc.c - pc_skillup(),pc_checkskill()Cģ - --------------- -//368 by ŒÓ’ą—– - -EMOBŒn‚ĖCģ‚Č‚Į - EMOB‚Šô“G”͈͓ā‚ĖPC/ƒAƒCƒeƒ€‚𓙊m—Ķ‚ÅƒƒbƒN‚·‚邿‚΂ɂȂč‚Ü‚ĩ‚― - iƒAƒNƒeƒBƒuAƒ‹[ƒgF‚Ē‚Ü‚Ü‚Å‚ÍŠY“–ƒuƒƒbƒN‚ĖƒŠƒ“ƒNƒŠƒXƒg‚Ė‡‚Č‚Į‚É - ˆË‘ķ‚ĩ‚Ăǂ―j - EŽË’ö”͈͓ā‚ЂA“ž’B•s‰Â”\’n‘Ņ‚ĖPC‚ðMOB‚ŠƒƒbƒN‚·‚邯A - MOB‚Š’âŽ~‚ĩ‚―‚čA‚ŧ‚Ėę‚Å–\‚ę‚ū‚ĩ‚―‚č‚·‚é–â‘č‚ĖCģ - EMOBƒƒbƒN’†‚ÉIW‚Č‚Į‚Å“ž’B•s‰Â”\‚ɂȂÁ‚―ę‡AƒƒbƒN‚ð‰ðœ‚·‚邿‚΂ɁB - EAEGIS•ûŽŪ‚Å“G‚ĖˆÚ“Ū‚ðŒvŽZ‚ĩ‚ÄˆÚ“Ū•s‰Â”\‚Č‚įAAthenaŽŪ‚ÅŒvŽZ‚·‚邿‚Ī‚É - EƒƒbƒN‚Š‰ðœ‚ģ‚ę‚邯‚Ŧ‚ɐ”•b‚ŧ‚Ėę‚Å’âŽ~‚·‚邿‚΂ɂĩ‚― - E•ās‚Š’x‚ĒMOB‚Š‚Æ‚Ü‚į‚Č‚Ē/ŽŸ‚Ė•āsŠJŽn‚Š‘‚·‚Ž‚é–â‘č‚ðCģ‚ĩ‚Ü‚ĩ‚― - Eƒ‹[ƒgŠÖ˜Aˆ—‚ð­‚ĩCģ - - mob.c - mob_ai_sub_hard*()Cģ - mob_can_reach()’Į‰Á - -EƒXƒLƒ‹Žg—pŽž‚Ƀ^[ƒQƒbƒgƒuƒƒbƒN‚Ė—LŒøŦ”ŧ’č‚ðs‚Ī‚æ‚Ī‚ÉCģ -Eƒ‹ƒAƒt‚Ėƒ_ƒ[ƒW‚Š•ŠíŒvŽZ‚ɂȂÁ‚Ăǂé‚ĖƒoƒO‚ð–‚–@ŒvŽZ‚ɏCģ - - skill.c - skill_castend_id()Cģ - skill_status_change_timer_sub()Cģ - - ----------- -//364 by ‚Ē‚Į -EˆČ‰š‚ĖƒpƒPƒbƒg‚ːā–ū‚ð•ύX - doc/ƒpƒPƒbƒg‰ðÍ.txt - R 006a .B - R 0081 .B - -E363‚Ńrƒ‹ƒhŽž‚Éwarning‚Šo‚é•s‹ï‡‚ðCģ - map/guild.h - --------------- -//363 by ŒÓ’ą—– - -EƒMƒ‹ƒh‚ĖCģ - EƒƒOƒCƒ“‚ĩ‚ĂǂȂĒPC‚ð’Į•ú‚·‚邯ƒ}ƒbƒvŽI‚Š—Ž‚ŋ‚éƒoƒOCģ - Eƒƒ“ƒo[’Į‰Á’žŒã‚É’Į‰Á‚ģ‚ę‚―PC‚ŠƒMƒ‹ƒh•\ŽĶ‚É’Į‰Á‚ģ‚ę‚Ȃǖâ‘čCģ - E“Ŋ‚ķƒMƒ‹ƒh‚É“ŊC•ĘƒLƒƒƒ‰‚Š—v‚éPC‚Š’E‘Þ‚·‚é/’Į•ú‚ģ‚ę‚邯•ĘƒLƒƒƒ‰‚Š - ’E‘Þ‚ĩ‚Ä‚ĩ‚Ü‚Īę‡‚Š‚ ‚éƒoƒOCģ - Eƒƒ“ƒo[‚Ђǂé‚˂ɉðŽU‚ĩ‚æ‚Ī‚Æ‚·‚邯ƒ}ƒbƒvŽI‚Š—Ž‚ŋ‚éƒoƒOCģ - - (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 ŒÓ’ą—– - -EƒMƒ‹ƒh‰ðŽUŽĀ‘• - - (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‚Šƒ}ƒCƒiƒX‚ɂȂį‚Ȃǂæ‚Ī‚ÉCģ - --------------- -//359 by ‚Ē‚Į - -Eclass_equip_db.txt‚Ė•ķŽš‰ŧ‚ŊCģ - --------------- -//358 by ŒÓ’ą—– - -EƒƒOƒCƒ“Žž‚Ėdelete_timer‚ĖƒGƒ‰[‚ðo‚Ȃǂæ‚΂ɂĩ‚― - pc.c - pc_authok()‚ĖCģ - -EƒMƒ‹ƒhŠÖŒW‚ĖCģ - Eƒƒ“ƒoŠĐ—UŽž‚ɍőål”‚ĖŠm”F‚ðs‚Ī‚æ‚Ī‚É - Eƒf[ƒ^’Ę’mˆ—‚ð‚Ē‚­‚Â‚ĐCģ - - (char/) - int_guild.c - FXCģ - (map/) - clif.c/clif.h - clif_guild_inviting_refused()‚ðclif_guild_inviteack()‚ɉü–ž - guild.c/intif.c - FXCģ - -E@guildlvupƒRƒ}ƒ“ƒhėŽBƒMƒ‹ƒhƒŒƒxƒ‹‚Š’ēŪ‚Å‚Ŧ‚Ü‚·B - - (char/) - int_guild.c - FXCģ - (map/) - atcommand.c - @guildlvupˆ—’Į‰Á - -EMakefike‚Ėclean•”•Š‚ðCģ - - (char/ map/ login/) - Makefile - Eíœ‚·‚éŽĀsƒtƒ@ƒCƒ‹‚ĖƒpƒX‚ð ../athena/ ‚Đ‚į ../ ‚ɏCģ - --------------- -//357 by ŒÓ’ą—– - -Epc.c‚Ė•ķŽš‰ŧ‚ŊCģ - •ķŽš‰ŧ‚Ŋ‚ĩ‚―ƒtƒ@ƒCƒ‹‚ðƒAƒbƒv‚·‚é‚Ė‚āA‚ŧ‚ę‚ð‰ü‘Ē‚·‚é‚Ė‚ā‹ÖŽ~‚ĩ‚Ü‚đ‚ņ‚ЁH - ’ž‚·‚Ė–Ę“|‚­‚ģ‚·‚ނ܂·B - - pc.c - •ķŽš‰ŧ‚Ŋ‚ĖCģ - -Eƒp[ƒeƒB‚âƒMƒ‹ƒh‚ÉŠĐ—U‚ģ‚ę‚―ó‘ԂŃ}ƒbƒvˆÚ“Ū‚âƒƒOƒAƒEƒg‚·‚邯A - ŠĐ—U‚ð‹‘”Û‚·‚邿‚Ī‚ÉCģ - - pc.c - pc_setpos()Cģ - map.c - map_quit()Cģ - -EI-AthenaŽĐ“Ū•œ‹ŒƒVƒXƒeƒ€(B-NSJށė)‚ðAthena—p‚ɉü‘Ē‚ĩ‚Ä“Y•t‚ĩ‚Ü‚ĩ‚― - ƒvƒƒOƒ‰ƒ€‚ːŦŽŋã./toolƒtƒHƒ‹ƒ_‚Å‚Í‚Č‚­./‚É‚ ‚č‚Ü‚·B - athena.sh‚Ė•Ï‚í‚č‚Éstart‚Å‹N“Ū‚·‚邯mapŽI‚Š—Ž‚ŋ‚Ä‚ā10•b’ö“x‚Å•œ‹Œ‚ĩ‚Ü‚· - ƒvƒƒZƒX‚́umapv‚Å’ē‚Ũ‚Ă܂·‚Š‘ž‚ĖƒvƒƒZƒX‚É”―‰ž‚·‚邯‚Ŧ‚Í - umap-serverv‚Č‚Į‚É•Ï‚Ķ‚Ä‚Ý‚Ä‚­‚ū‚ģ‚ǁB - - start - mapŽIŽĐ“Ū•œ‹ŒƒVƒXƒeƒ€‚ĖƒVƒFƒ‹ƒXƒNƒŠƒvƒg - - --------------- -//0356 by Ž€_ - -Eathena.sh‚ðŽg‚í‚Č‚­‚Ä‚āYare-launcher‚ðŽg‚͂邿‚Ī‚É•ÏXB(ŽĐ•ŠŽŽ‚ĩ‚Ă܂ĩ‚―‚Š -ˆę‰ž“Ū‚Ŧ‚Ü‚ĩ‚―B‚ł⑋‚Ėę‡login-server.exe‚Šlogin-server.ex‚É“o˜^‚ģ‚ę‚Ä‚ĩ‚Ü‚Ē -Yare-launcher‚Šlogin-server.exe‘ą‚Ŋ‚ÄŽĀs‚·‚é–â‘肊‚ ‚č‚Ü‚·B‚ą‚ę‚Íathena‚Ė -–â‘肳͂ ‚č‚Ü‚đ‚ņ‚Š...) - comm/makefileˆČŠO‚Ėmakefile‘S‚Ä‚ðCģB - athena.shCģB - ŽĀsƒtƒ@ƒCƒ‹‚Í.,/athena ƒtƒHƒ‹ƒ_[‚ķ‚á‚Č‚­./ ƒtƒHƒ‹ƒ_[‚ɍė‚į‚ę‚Ü‚·B -E V‹Kaccount‚Ė‹–—e‚·‚é‚Đ‚Į‚Ī‚Đ‚ðlogin_athena.cnf‚ÅŒˆ‚߂邿‚Ī‚É•ÏXB(‚ą‚ę‚Í - YareCVS‚ðŽQl‚ĩ‚―•ςł·B) - login.c - int mmo_auth() CģB - login_athena.cnf - new_account ’Į‰ÁB -Echar.cAlogin.cAinter.cAmap.cAbattle.c‚Åˆę•”‚Ėstrcmp‚ðstrcmpi‚ɕύXB - --------------- -//355 by ‚ä‚Ī - -EķŽč‘•”õ‚āl—ķ‚ĩ‚―“ņ“—Ž‚ÉCģ -@iƒ_ƒ[ƒWŒvŽZ‚Ė‚Ý‚ÅŒĐ‚―–Ú“™‚͕ύ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ģ - @ƒNƒŠƒeƒBƒJƒ‹‚æ‚čƒ_ƒuƒ‹ƒAƒ^ƒbƒN‚ðæ‚É”ŧ’č‚·‚邿‚Ī‚ÉCģ - @‰ßčļ˜B‚Ė’Į‰Áƒ_ƒ[ƒW‚ðļ˜Bƒ_ƒ[ƒW‚ĖŽŸ‚ɏˆ—‚·‚邿‚Ī‚ÉCģ - @i‚ą‚ę‚į‚Í“ÆŽĐ‚É’ē‚Ũ‚―‚ā‚Ė‚ÅŠÔˆá‚Á‚Ăǂé‰Â”\Ŧ‚ ‚čj - -pc.c - pc_calcstatus()‚ɍķŽč—p‚Ė•Ï”‚É’l‚ð“ü‚ę‚鏈—‚ð’Į‰Á - pc_equipitem()‚Ė“ņ“—Ž‘•”õ‚ĖęŠ‚Š‚Ļ‚Đ‚ĩ‚Đ‚Á‚―‚Ė‚ðCģ - --------------- -//353 by ‚Ē‚Į - -EYare-launcher‚ðŽg‚Ī‚ą‚Æ‚Šo—ˆ‚邿‚Ī‚ÉMakefile‚Æathena.sh‚ð•ύX - --------------- -//352 by ŒÓ’ą—– - -E‰rĨ’†‚ɃNƒ‰ƒCƒAƒ“ƒg‚ðI—đ‚·‚é‚ÆmapŽI‚Š—Ž‚ŋ‚é–â‘č‚ĖCģ - skill.c - skill_castend_id(),skill_castend_pos(),skill_castend_map()Cģ - map.c - map_quit()Cģ - - -Eƒf[ƒ^ƒoƒbƒNƒAƒbƒv—p‚Ėƒc[ƒ‹“Y•t - Perlŧ‚Č‚Ė‚ÅŽĀs‚É‚ÍPerl‚Š•K—v‚Å‚·B - Žg—p•û–@‚Č‚Į‚̓GƒfƒBƒ^‚ÅŠJ‚Ē‚ÄŒĐ‚Ä‚­‚ū‚ģ‚ǁB - Žg‚Ē•û‚Š—Į‚­‚í‚Đ‚į‚Ȃǐl‚ÍŽč‚ðo‚ģ‚Ȃǂ؂΂Ђǂǂł·B - ƒf[ƒ^‚ŠÁ‚͂ĂāÓ”C‚ÍŽ‚ŋ‚Ü‚đ‚ņ - - (tool/) - backup - ƒf[ƒ^ƒoƒbƒNƒAƒbƒv—pPerlƒXƒNƒŠƒvƒg - --------------- -//0351 by Ž€_ -skill.c - skill_use_id()‚ɉrĨ”―‰žƒ‚ƒ“ƒXƒ^[‚Ėˆ—‚ð•ύXB(UŒ‚ó‘ÔˆČŠO‚Ėę‡ - ‰rĨ”―‰ž‚ðÅ—Dæ‚É‚ĩ‚Ü‚·B) -mob.c - mob_ai_sub_hard_castsearch() ‰rĨ”―‰žƒ‚ƒ“ƒXƒ^[‚ð“ņdˆ—‚ĩ‚Ä - ‚Ē‚―‚Ė‚ÅíœB - mob_ai_sub_hard() ‰rĨ”―‰žƒ‚ƒ“ƒXƒ^[‚ð“ņdˆ—‚ĩ‚Ȃǂæ‚Ī‚É•ÏXB -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‚Ī‚æ‚Ī‚É•ÏXB -map.h - MAP_CONF_NAME ’Į‰ÁB -map.c - do_init() ŽĀs‚·‚鎞ƒtƒ@ƒCƒ‹–ž‚Š“ü—Í‚ģ‚ę‚ĂǂȂǂÆMAP_CONF_NAME‚ð - Žg‚Ī‚æ‚Ī‚É•ÏXB -‚ą‚ę‚Ålogin.exeAchar.exeAmap.exe‚ðathenaƒtƒHƒ‹ƒ_[‚ɃRƒs[‚ĩ‚―Œã–ž‘O‚ð -login-server.exeAchar-server.exeAmap-server.exe‚ɕύX‚·‚邯Yare-launcher‚ðŽg‚Ī -‚ą‚Æ‚ЂłŦ‚Ü‚·B‚ą‚ę‚ðŽg‚Ī‚ÆŽI‚Š—Ž‚ŋ‚é“x‚ÉŽĐ“Ū“I‚ÉÄŽĀs‚ĩ‚Ä‚­‚ę‚Ü‚·B - --------------- -//0345 by Ž€_ -EƒLƒƒƒXƒeƒBƒ“ƒO’T’mŽĀ‘•B - mob.c - mob_ai_sub_hard_lootsearch() CģB - mob_ai_sub_hard() CģB - mob_ai_sub_hard_castsearch() ’Į‰ÁB - mob_target(), mob_ai_sub_hard_activesearch() ƒ{ƒXƒ‚ƒ“ƒXƒ^[‚ð - mvpŒoŒą’l‚É‚æ‚Á‚Ä”FŽŊ‚·‚邿‚Ī‚É•ÏXB - mob_ai_sub_hard_linksearch() CģB - mob_attack() Ž€‚ņ‚ū‚Ó‚čAƒnƒCƒfƒBƒ“ƒO‚ðƒ`ƒFƒbƒN‚·‚邿‚Ī‚É•ÏXB - mob_readdb() CģB -Epet.h - MAX_PET_DB‚ð100‚ɕύXB -Epet.c - read_petdb() CģB - --------------- -//0344 by@‰ß‹Ž‚ːli1 -E@ƒyƒbƒg• Œļ‚čŽĀ‘•‚Ļ‚æ‚Ņ‚ŧ‚Ė‚Ų‚ĐFXCģ -E@ƒyƒbƒg‰a‚â‚čŽĀ‘• - - pet.c - pet_calcrate(struct map_session_data *sd); - ƒyƒbƒg‚ĖŠl“ūŠm—ĶŒvŽZ - pet_food(struct map_session_data *sd); - ƒyƒbƒg‰a‚â‚čƒVƒXƒeƒ€ - pet_hungry_change( int tid, unsigned int tick, int id,int data ); - ƒyƒbƒg‚Š• ‚ðŒļ‚郍ƒWƒbƒN - pet_status_int(struct map_session_data *sd); - e–§“xŒvŽZ - pet_status_hungry(struct map_session_data *sd); - –ž• “xŒvŽZ - pet_status_1a3(struct map_session_data *sd); - ƒpƒPƒbƒg1a3Ý’čŠÖ” - pet_initstate(struct map_session_data *sd); - ƒyƒbƒg‚Š‰‚߂Đķ‚Ü‚ę‚―‚Æ‚Ŧ‚Ė‰ŠúƒXƒe[ƒ^ƒ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ƒ‚[ƒVƒ‡ƒ“‚ðs‚Ī - clif.h - clif_pet_emotion(int fd,struct map_session_data *sd); - --------------- -//0341 by Ž€_ -Eƒ‹[ƒgƒ‚ƒ“ƒXƒ^[ŽĀ‘•B - map.h - LOOTITEM_SIZE‚ð20‚ɏCģB - struct mob_data‚Éint lootitem_count ’Į‰ÁB - mob.c - mob_spawn() ­‚ĩCģB - mob_ai_sub_hard_lootsearch() ’Į‰ÁB - mob_ai_sub_hard() CģB - struct delay_item_drop2 ’Į‰ÁB - mob_delay_item_drop2() ’Į‰ÁB - mob_damage() CģB - battle.h - struct Battle_Config‚Éint monster_loot_type ’Į‰ÁB - battle.c - battle_config_read() CģB - battle_athena.cnf - monster_loot_type: 0 ’Į‰ÁB(Šî–{“I‚É0‚ɂȂÁ‚Ăǂ܂·B - 0‚Ėę‡‚ÍLOOTITEM_SIZE‚܂ŃAƒCƒeƒ€‚ðH‚Ũ‚Ä‚ā - ‚Ü‚―ƒAƒCƒeƒ€‚ðH‚Ũ‚Ä‘O‚ĖƒAƒCƒeƒ€‚ŠÁ‚Ķ‚éŽd—l‚Å‚·B - 1‚Ėę‡‚ÍLOOTITEM_SIZE‚܂ŃAƒCƒeƒ€‚ðH‚Ũ‚邯 - ‚ā‚ĪƒAƒCƒeƒ€‚ðH‚Ũ‚Č‚­‚Č‚č‚Ü‚·B - --------------- -//0340 by Ž€_ -EmvpƒoƒOCģB - mob.c - mob_damage()‚Åj‚É•Ï‚Ķ‚―‚Í‚ļ‚Ė•Ļ‚ÉŒĐ—Ž‚Æ‚ĩ‚ ‚č‚Ü‚ĩ‚―‚˂Š- Cģ‚ĩ‚Ü‚ĩ‚―B‚ą‚ę‚ÅmvpƒAƒCƒeƒ€‚Å•Ï‚Č•Ļ‚Šo‚Č‚­‚Č‚é‚Í‚ļ‚Å‚·B -Eclass_equip_db.txt - EUC-JIS‚ðS-JIS‚ɕύXB(ˆÓ–Ą‚Í‚ ‚č‚Ü‚đ‚ņ‚Š‘ž‚Ėƒtƒ@ƒCƒ‹‚Í - ‘S•”S-JIS‚ū‚Á‚―‚Ė‚Å...’P‚Č‚éƒ~ƒX‚Å‚·‚Š...) - ----------- -//339 by ‚Ē‚Į - -E338‚ð“K—p‚ĩ‚―ó‘ԂŃrƒ‹ƒhƒGƒ‰[‚Š”­ķ‚·‚é•s‹ï‡‚ðCģ - ----------- -//338 by ‰ß‹Ž‚ːli1 - -E@pet_db.txt‚ɑΉž‚ĩ‚Ü‚ĩ‚―B -E@pet_db‚ð‚‚ЂÁ‚―ƒvƒƒOƒ‰ƒ€‚Ė‘‚Ŧ•û‚ɏCģ‚ĩ‚Ü‚ĩ‚―B -E@ƒyƒbƒg‚Ė–ž‘O‚ð•ύX‚·‚鎖‚Šo—ˆ‚Ü‚· -E@ƒyƒbƒg‚ɃAƒNƒZƒTƒŠ[‚ð‚‚Ŋ‚鎖‚Šo—ˆ‚Ü‚·B -E@ŒŧÝƒyƒbƒg‰a‚â‚čis’† - - (map/) - clif.c/clif.h - E petŠÖ˜A‚ĖŠÖ”‚ð‚Ų‚ÚCģ‹y‚Ņ’Į‰Á‚Ē‚―‚ĩ‚Ü‚ĩ‚―B - E clif_parse_EquipItem()“ā•”‚Ńyƒbƒg—p‘•”õ‚Å‚ ‚é‚Đ‚Į‚Ī‚Đ‚Ė”ŧ’č‚ð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); - @‰Šú‚ĖƒyƒbƒgƒXƒe[ƒ^ƒX‚ðÝ’č‚·‚éŠÖ”‚Å‚· - E pet_npcid(struct map_session_data *sd,int egg_name_id); - @ƒyƒbƒg‚ÉŠ„‚č“–‚Ä‚į‚ę‚―npc_id‚ð•Ô‚ĩ‚Ü‚· - E pet_itemid(struct map_session_data *sd,int mob_id); - @ƒ‚ƒ“ƒXƒ^[ID‚Đ‚į—‘‚ĖID‚ðŠ„‚čo‚ĩ‚Ü‚· - E pet_equip(struct map_session_data *sd,int equip_id); - @ƒyƒbƒg‚ĖƒAƒNƒZƒTƒŠ[‘•”õ‚Å‚· - E pet_unequip(struct map_session_data *sd); - @ƒyƒbƒg‚ĖƒAƒNƒZƒTƒŠ[‰ðœ‚Å‚· - E pet_calcrate(struct map_session_data *sd); - @—‘Šl“ūŠm—ĶŒvŽZ‚ðs‚Ē1or0‚ð•Ô‚ĩ‚Ü‚·B - E pet_food(struct map_session_data *sd); - @ƒyƒbƒg‰a‚â‚člˆÄ‚Å‚·B‚Ü‚ūģí‚É“Ūė‚ĩ‚Ü‚đ‚ņB - E read_petdb() - @pet_db.txt‚ð“Į‚ݍž‚Ýpet_db[]‚É’l‚ð“ü‚ę‚éŠÖ”‚Å‚· - - E do_init_pet() - @mapŽI‰Šú‰ŧ‚Å‚æ‚Ņ‚ū‚ĩpet_db[]‚ðŽg‚͂邿‚΂ɂ·‚éˆŨ‚Ė - ƒyƒbƒgî•ņ‰Šú‰ŧŠÖ”‚Å‚·B - - map.c/map.h - E@BL_PET•ϐ”‚ð‰Á‚͂܂ĩ‚― - E@mapŽI‰Šú‰ŧ‚ĖŽž‚Édo_init_pet()‚ðŒÄ‚Ņo‚ĩ‚Ü‚·B - - mmo.h - E@s_pet\‘Ē‘Ė‚É•Ï”’Į‰ÁBƒLƒƒƒ‰ƒNƒ^[‚Šƒyƒbƒg‚Ėƒf[ƒ^‚ð•ÛŽ‚·‚éˆŨ‚ĖƒVƒXƒeƒ€ - @‚ĖˆŨĄŒã‚ā•ϐ”‚Í‚ŧ‚Ė‚Â‚Į‘‰Á‚·‚é—\’č - - npc.c - ‰ü‘P‚ĩ‚Ü‚ĩ‚―B - - (conf/) - battle_athena.cnf‚É—‘‚ĖŠl“ūŠm—Ķpet_rate‚ð‰Á‚͂܂ĩ‚―B - ----------- -//337 by ŒÓ’ą—– - -EƒMƒ‹ƒh‚Ė’Į‰Á‚ƏCģ - EƒMƒ‹ƒh‚ÉŒoŒą’l‚ðã”[‚·‚邯Aã”[‚ģ‚ę‚éEXP‚ŠˆŲí‚Č’l‚ɂȂéƒoƒOCģ - EƒMƒ‹ƒh‚Ė“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’Į‰Á - -EƒfƒBƒŒƒCŽžŠÔ‚Š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_Config‚Édelay_dependon_dex’Į‰Á - battle_config_read()‚ĖCģ(“Į‚ݍž‚ݏˆ—‚ā•Ï‚Ķ‚Ä‚Ü‚·) - --------------- -//0336 by Ž€_ -EƒXƒLƒ‹ƒCƒ“ƒfƒ…ƒA‚ð­‚ĩCģB -Eclif.c - clif_skill_damage()Aclif_skill_damage2() ƒCƒ“ƒfƒ…ƒA‡‚í‚đ‚ďCģB - (‚―‚ūƒXƒLƒ‹‚â–‚–@‚ɂȂ邯ƒ‚[ƒVƒ‡ƒ“‚Šo‚Č‚ĒƒpƒPƒbƒg‚ð - ŒĐ‚‚Ŋ‚ȂЂÁ‚―‚Ė‚ÅŠŪ‘S‚ķ‚á‚ ‚č‚Ü‚đ‚ņB) - clif_parse_ActionRequest()Aclif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() - ƒXƒLƒ‹ƒfƒBƒŒƒC‚ĖŽž‚ɃƒbƒZ[ƒW‚Šo‚邿‚Ī‚ÉCģB -EƒoƒbƒNƒXƒeƒbƒvŽĀ‘•AƒIƒŠƒfƒIƒRƒ“ŒĪ‹†ŽĀ‘•B -Eskill.c - skill_castend_damage_id()‚É‚ ‚Á‚―ƒXƒLƒ‹ƒoƒbƒNƒXƒeƒbƒv‚Ėˆ—‚ð - skill_castend_nodamage_id()‚ÉˆÚ“Ū‚ĩ‚Ü‚ĩ‚―B - ƒXƒLƒ‹ƒoƒbƒNƒXƒeƒbƒv‚Ėˆ—‚Åclif_skill_damage2()‚ðŒÄ‚Ô‚Ė‚ðclif_fixpos()‚ð - ŒÄ‚Ô‚æ‚Ī‚É•ÏXB(‚ą‚ę‚Ń_ƒ[ƒW‚Ėƒ‚[ƒVƒ‡ƒ“‚Šo‚ļ‚É - ˆÚ“Ū‚Å‚Ŧ‚Ü‚·B) - ƒoƒbƒNƒXƒeƒbƒv‚Æ‹Đ‚Ô‚æ‚Ī‚É•ÏXB - skill_produce_mix() ƒIƒŠƒfƒIƒRƒ“ŒĪ‹†“K—pB•ŠíƒŒƒxƒ‹‚Š3ˆČã‚ĖŽž‚É - ƒXƒLƒ‹ƒŒƒxƒ‹*1%‚Šƒ{[ƒiƒX‚Æ‚ĩ‚Đŧ‘ĒŠm—͂ɕt‚Ŧ‚Ü‚·B - ƒGƒ‹ƒjƒEƒ€‚ĖŠm—Ķ”ŧ’č’Į‰ÁB -Eskill_db.txt - ƒoƒbƒNƒXƒeƒbƒv‚Ėnk‚ð0‚Đ‚į1‚ɕύXB(ƒXƒLƒ‹”ԍ†150‚˕ςł·B) -Eproduce_db.txt ƒIƒŠƒfƒIƒRƒ“,ƒGƒ‹ƒjƒEƒ€‚ð’Į‰ÁB(‚ą‚ę‚Í–{ŽI‚É‚Í‚Č‚Ē•Ļ‚Å‚·B - ‚æ‚Á‚ăNƒ‰ƒCƒAƒ“ƒg‚ɂ͕K—v‚ČƒAƒCƒeƒ€‚Š•\ŽĶ‚ģ‚ę‚Ü‚đ‚ņB) - ƒIƒŠƒfƒIƒRƒ“ŒĪ‹†‚ð­‚ĩŽg‚Ķ‚é•ςɂ·‚é‚―‚߂ɒĮ‰Á‚ĩ‚Ü‚ĩ‚―B - ƒIƒŠƒfƒIƒRƒ“‚Ėę‡‚̓IƒŠƒfƒIƒRƒ“ŒīÎ3‚‚ƐΒY1‚Â‚Š•K—v‚Å - ƒGƒ‹ƒjƒEƒ€‚̓Gƒ‹ƒjƒEƒ€ŒīÎ3‚‚ƐΒY1‚Â‚Š•K—v‚Å‚·B -Epc.c ­‚ĩCģB - pc_heal()pc_percentheal() ­‚ĩ‚ū‚ŊCģB - pc_gainexp() ƒMƒ‹ƒh‚Éexp‚ðã”[‚·‚鎞‚Éexp‚Šƒ}ƒCƒiƒX‚ɂȂį‚Ȃǂæ‚Ī‚É - CģB“ŊŽž‚É2‚ÂˆČã‚ĖƒŒƒxƒ‹‚Šã‚Š‚邿‚Ī‚É•ÏXB - Å‘僌ƒxƒ‹ˆČã‚ɃŒƒxƒ‹‚Šã‚Š‚į‚Ȃǂæ‚Ī‚ÉCģB - pc_checkbaselevelup()Apc_checkjoblevelup() ’Į‰ÁBƒŒƒxƒ‹ƒAƒbƒv‚ð - ƒ`ƒFƒbƒN‚ĩ‚Ü‚·B - pc_itemheal() ’Į‰ÁBƒAƒCƒeƒ€‚ðŽg‚ĪŽž‚ÉVIT‚ƃXƒLƒ‹‚É‚æ‚Á‚ă{[ƒiƒX‚Š - •t‚­•ςł·BƒXƒLƒ‹ƒ‰[ƒjƒ“ƒOƒ|[ƒVƒ‡ƒ“ŽĀ‘•B -Epc.h - pc_checkbaselevelup(),pc_checkjoblevelup() ’Į‰ÁB - pc_itemheal() ’Į‰ÁB -Escript.c - ƒXƒNƒŠƒvƒgfixheal‚ðœ‹ŽBitemheal‚ð’Į‰ÁBheal‚Šfixheal‚Ė‹@”\‚ð‚·‚é - ‚æ‚Ī‚É•ÏXB - buildin_fixheal() ‚ðÁ‚ĩbuildin_heal()‚ðŒģ‚˕ςɖ߂ĩ‚Ü‚ĩ‚―B(‚‚܂č - buildin_heal()‚Šbuildin_fixheal()‚ɂȂč‚Ü‚ĩ‚―B) - buildin_itemheal() ’Į‰ÁBƒAƒCƒeƒ€‚É‚æ‚é‰ņ•œ‚Í‚ą‚ę‚ðŒÄ‚Ô‚æ‚΂ɂĩ‚Ä - ‚­‚ū‚ģ‚ǁB - buildin_heal()‚Đ‚įƒ{[ƒiƒX‚ĖŒvŽZ‚ðœ‹ŽB -Eitem_db.txtA item_db2.txt - heal‚ðitemheal‚ɕύXB -Emob.c - mob_damage() 0335‚Åmvp‚ɏ­‚ĩŠÔˆá‚ǂЂ ‚č‚Ü‚ĩ‚―‚Ė‚ÅCģ‚ĩ‚Ü‚ĩ‚―B -Eskill.h - MAX_SKILL_PRODUCE_DB‚ð64‚Đ‚į100‚ɕύXB - - -//0335 by Ž€_ -Echar/char2.c‚Ėˆę•”‚ÉRETCODE‚Š“K—p‚ģ‚ę‚ĂȂЂÁ‚―‚˂łŧ‚ę‚ðCģB -Echar/char2.c‚Ėparse_char()‚ŃLƒƒƒ‰‚ðÁ‚·Žž‚É–â‘肊‚ ‚č‚ŧ‚Ī‚ČŠ‚ðCģB -Echar/cha2.c,login/ login2.c‚ðchar/cha.c, login/login.c‚ɕύXB -Echar/makefile,login/makefile‚ð•ύXB -Emakefile‚Æcommon/mmo.h‚ð•ύX‚ĩ‚ÄOS‚ðŽĐ“Ū”FŽŊ‚ĩ‚ÄRETCODE‚ðŽĐ“Ū‚É - “K—p‚·‚邿‚Ī‚É•ÏXB -Ecommon/grfio.c‚Ėgrfio_init()‚ðCģB(ƒR[ƒh‚ð‚ŋ‚å‚Á‚Æ‚Ŧ‚ę‚Ē(H)‚É - ‚ĩ‚―‚ū‚Ŋ‚Å‚·‚Š,,,) -EƒCƒ“ƒfƒ…ƒAŽĀ‘•B‚æ‚Á‚ăAƒ“ƒeƒBƒyƒCƒ“ƒƒ“ƒg‚āŽĀ‘•B -Emap/clif.c - clif_parse_LoadEndAck() ŠØ‘ƒNƒ‰ƒCƒAƒ“ƒg‚Ėƒpƒbƒ`‚ɍ‡‚í‚đ‚ď­‚ĩ•ύXB - (ƒ}ƒbƒv‚Š•Ï‚í‚é“x‚É•Ší‚ƃV[ƒ‹ƒh‚ŠŒĐ‚Ķ‚Č‚­‚Č‚é‚―‚߂ł·B‚Ü‚ū - “ú–{ƒNƒ‰‚Ƃ͊֌W‚ ‚č‚Ü‚đ‚ņ‚Š...) - clif_skillinfoblock() up‚Í‚Ē‚į‚Č‚Ē‚ÆŽv‚Ī‚Ė‚ÅÁ‚ĩ‚Ü‚ĩ‚―BƒXƒLƒ‹ƒ|ƒCƒ“ƒg‚Š - 256A512“™‚ĖŽžƒXƒLƒ‹ƒcƒŠ[‚Аģ‚ĩ‚­•\ŽĶ‚ģ‚ę‚Č‚Ē‚ą‚Æ‚Í - ‚ā‚Ī‚ ‚č‚Ü‚đ‚ņB - clif_guild_skillinfo() “Ŋ‚킿‚Ī‚Éup‚ðÁ‚ĩ‚Ü‚ĩ‚―B - clif_birthpet() pc_delitem() ŒÄ‚Ô‚æ‚Ī‚É•ÏXB - clif_damage() ƒCƒ“ƒfƒ…ƒA‚ɑΉž‚·‚邿‚Ī‚É•ÏXB -Emap/pc.c - pc_percentheal() ƒ}ƒCƒiƒX‚ð“ü‚ę‚Ä‚ā“Ū‚­‚æ‚Ī‚É•ÏXB­‚ĩCģB - pc_heal() ­‚ĩCģB - natual_heal() ­‚ĩCģB - do_init_pc() natual_heal‚ĖCģ‚ɍ‡‚í‚đ‚ĕύXB - pc_calcstatus() ‹|‚ð‘•”õ‚ĩ‚Ä‚Č‚Ē‚ÆƒƒV‚Ė–Ú‚Š“K—p‚ģ‚ę‚Ȃǂæ‚Ī‚É•ÏXB - ƒgƒ‰ƒXƒgŽĀ‘•B - pc_damage() ƒCƒ“ƒfƒ…ƒA‚ɑΉž‚·‚邿‚Ī‚É•ÏXB -Emap/pc.h - pc_checkoverhp(), pc_checkoversp()‚ð’Į‰ÁB -Emap/map.h - MAX_PC_CLASS‚ð+1‚ɁB -Emap/atcomand.c - comand‚ðcommand‚ɕύXB - strncmp‚ðstrcmpi‚ɕύXB‚æ‚Á‚ăRƒ}ƒ“ƒh‚Š‘å•ķŽšAŽ•ķŽš‚ð‹æ•Ę‚·‚é - •K—v‚ЂȂ­‚Č‚č‚Ü‚ĩ‚―B -Emap/npc.h - npc_parse_mob()‚ð’Į‰ÁB(ˆÓ–Ą‚Í‚ ‚č‚Ü‚đ‚ņ‚Š...) -Emap/temdb.c - itemdb_readdb()‚Åclass_equip_db.txt‚ð“Į‚Þ‚æ‚Ī‚É•ÏXB -Edb/class_equip_db.txt ‚ð’Į‰ÁB‚ą‚ą‚Å‘•”õ‚·‚éƒNƒ‰ƒX‚ðŽw’č‚ĩ‚Ü‚·B‚Č‚Ēę‡‚Í - item_db.txt‚É‚ ‚éjob‚ðŽg‚ǂ܂·BŠÜ‚Ü‚ę‚Ä‚é•Ļ‚ÍŠŪ‘S‚Č•Ļ‚Å‚Í‚Č‚­ - Žg—p—á’ö‚˕ςł·B -Emap/skill.c - skill_status_change_start() ƒCƒ“ƒfƒ…ƒA‚ĖŽžŠÔ‚ðģ‚ĩ‚­•ύXB -Emap/battle.h - battle_config‚Ėexp_rate‚ðbase_exp_rate‚ɕύXB,job_exp_rate‚ð’Į‰ÁB - battle_get_mexp()‚ð’Į‰ÁB -Emap/battle.c - battle_config‚Ėexp_rate‚ðbase_exp_rate‚ɕύXB,job_exp_rate‚ð’Į‰ÁB - battle_get_mexp()‚ð’Į‰ÁB - battle_calc_magic_attack()‚ð•ύXBƒ_[ƒ“ƒAƒ“ƒfƒbƒh‚Ń{ƒX‚Ė”FŽŊ‚ðmvp - exp‚Å‚·‚邿‚Ī‚É•ÏXB -Emap/mob.c - mob_readdb() base_exp_rate,job_exp_rate‚ɑΉžB - mob_readdb() ƒ{ƒX‚Ė”FŽŊ‚ðmvpŒoŒą’l‚Å‚·‚邿‚Ī‚É•ÏXB - mob_damage() mvp‚ðŽæ‚éŽž‚Ėˆ—‚ð•ύXBd‚ģ‚Š50%‚ð‰z‚͂邯°‚É - —Ž‚ŋ‚邿‚Ī‚É•ÏX‚ƐFXB -Econf/battle_athena.cnf - base_exp_rateA,job_exp_rate‚ð’Į‰ÁB -E0308‚Å–Y‚ę‚―•Ļ - ŒÃ‚­Â‚Ē” AŒÃ‚ĒƒJ[ƒh’ŸAŒÃ‚ĒŽ‡F‚Ė” ‚ĖŽg—p‚Å“ū‚į‚ę‚―ƒAƒCƒeƒ€‚ð - Ž‚Á‚ĂȂ­‚Č‚Á‚―‚įƒAƒCƒeƒ€‚ð°‚É—Ž‚Æ‚·‚æ‚Ī‚É•ÏXB - ŧ‘Ē‚Í‚·‚Å‚É0302‚Å“K—pB - ----------- -//334 by C}{RIS - -E‚ ‚Õ‚ë‚ū‚Ė332.txt‚ðpet_db.txt‚Æ‚ĩ‚Ä“ŊŦB - -EŠeŽíƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ėƒ~ƒX‚ðCģ - Eattr_fix.txt@‘ېŦCģ‚Šƒ}ƒCƒiƒX‚É“­‚ǂēG‚Љņ•œ‚·‚é–â‘č‚ðCģB - „Œģ‚ˉņ•œŽd—l‚É–ß‚ĩ‚―‚Ēę‡attr_fix.txt‚ðƒŠƒl[ƒ€‚ĩAattr_fix_old.txt‚ðattr_fix.txt‚ÉƒŠƒl[ƒ€‚ĩ‚ĉš‚ģ‚ǁB - Emob_db.txt@ƒ‚ƒ“ƒXƒ^[‚Ė“ú–{Œę–ž‚ð–{ŽI‚Æ“ˆęB - Ecast_db.txt@‰rĨŽžŠÔAƒfƒBƒŒƒC‚ð–{ŽI‚Æ“ˆęB - ----------- -//333 by ŒÓ’ą—– - -EƒMƒ‹ƒh‹@”\’Į‰Á - EƒMƒ‹ƒh‚Ė“Ŋ–ŋ‚Æ“Ŋ–ŋ‰ðÁ - - (char/) - inter.c/int_guild.c - ƒpƒPƒbƒg’·/ƒMƒ‹ƒhˆ—’Į‰Á - (map/) - clif.c/clif.h - clif_guild_reqalliance,clif_guild_allianceack, - clif_guild_delalliance,clif_parse_GuildRequestAlliance, - lif_parse_GuildReplyAlliance,clif_parse_GuildDelAlliance’Į‰Á - iƒMƒ‹ƒh“Ŋ–ŋŠÖŒW‚ĖƒpƒPƒbƒgˆ—j - intif.c/intif.h - ƒMƒ‹ƒh“Ŋ–ŋŠÖŒW‚ĖƒpƒPƒbƒgˆ—’Į‰Á - guild.c/guild.h - ƒMƒ‹ƒh“Ŋ–ŋŠÖŒW‚Ėˆ—’Į‰Á - map.h - struct map_session_data‚Éguild_alliance,guild_alliance_account’Į‰Á - -EƒMƒ‹ƒhƒGƒ“ƒuƒŒƒ€‚Ė•ÏX‚Šƒ}ƒbƒvŽI‚ðÄ‹N“Ū‚ĩ‚Č‚Ē‚Æ—LŒø‚ɂȂį‚Č‚ĒƒoƒOCģ - - guild.c/guild.h - guild_emblem_changed‚ĖCģ - ----------- -//331 by ‰ß‹Ž‚ːli1 - -EƒyƒbƒgƒVƒXƒeƒ€Cģ(ŠŪŽ“x25%) - - EŠeŽí•ߊl—pƒAƒCƒeƒ€‚ð‚ŧ‚ꂞ‚ę‘Ήž‚·‚é“G‚ɑ΂ĩ‚ÄŽg—p‚·‚邹‚ƂŠ- @ģ‚ĩ‚­—‘‚ŠŽč‚É“ü‚邿‚΂ɂȂč‚Ü‚ĩ‚―B - EŠeŽí•ߊl—pƒAƒCƒeƒ€‚ð‘Ήž‚ĩ‚ȂǓG‚ÉŽg—p‚ĩ‚―ę‡‚̓‹[ƒŒƒbƒg‚Š•K‚ļŽļ”s‚ĩ‚Ü‚·B - Eƒyƒbƒg‚ŠuŽž‚É•\ŽĶ‚ģ‚ę‚邿‚΂ɂȂč‚Ü‚ĩ‚―B - Eƒyƒbƒg‚ð‰EƒNƒŠƒbƒN‚·‚邯ƒƒjƒ…[‚Šo‚邿‚΂ɂȂč‚Ü‚ĩ‚― - E‘žFXŠëŒŊ‚Č—v‘f‚ðCģ‚ĩ‚Ü‚ĩ‚―B(ƒAƒCƒeƒ€‚ː”‚ĖŒļ­“™‚ĖƒoƒO‚ð’ž‚ĩ‚Ü‚ĩ‚―) - - (db/) - item_db.txt - ŠeŽí•ߊl—pƒAƒCƒeƒ€‚ɑΉž‚·‚邿‚ĪpetƒRƒ}ƒ“ƒh‚ðģ‚ĩ‚­‘‚Ŧ‚Ü‚ĩ‚―B - - (common/) - mmo.h - s_pet ƒyƒbƒg\‘Ǒ˂Épet_item_id‚ð’Į‰Á - - (map/) - clif.c - clif_birthpet()‚ðCģBģ‚ĩ‚­—‘‚ŠŒļ‚éAģ‚ĩ‚Ē—‘‚ĖID‚ðŽæ“ū‚·‚邿‚ĪCģ - ‚ą‚ę‚É‚æ‚Á‚āAģ‚ĩ‚­npc_petŠÖ”‚ГۂŦ‚Ü‚·B - - clif_spawnnpc()‚ðCģiWBUFPOS(buf,36,nd->bl.x,nd->bl.y)‚ƁA”’l‚ð26‚Đ‚į36‚֕ύX‚ĩ‚Ü‚ĩ‚―) - ‚ą‚ę‚É‚æ‚Á‚ăyƒbƒg‚ŠuŽž‚É•\ŽĶ‚ģ‚ę‚邿‚΂ɂȂč‚Ü‚ĩ‚―B - - npc.c - npc_pet()‚ðCģB - - pet.c/pet.h - ƒyƒbƒgŠÖ˜A‚ĖŨ‚ЂȊ֐”‚ð‚ą‚ŋ‚į‚ɂ܂Ƃ߂éˆŨA’Į‰Á‚ĩ‚Ü‚ĩ‚―B - ŒŧÝ‚̓yƒbƒg‚Ė”ŧ’čŠÖŒW‚ð‚܂Ƃ߂Ă ‚č‚Ü‚·B - - script.c - “Á‚É‘å‚Ŧ‚ȏCģ‚Í‚ ‚č‚Ü‚đ‚ņB ----------- -//330 by ‰ß‹Ž‚ːli1 - -EƒyƒbƒgƒVƒXƒeƒ€“ą“ü(ŠŪŽ“x‚Q‚O“) - E“G‚ɑ΂ĩ‚ĕߊl—pƒAƒCƒeƒ€‚ðŽg—p‚·‚鎖‚Š‰Â”\‚Æ‚Č‚č‚Ü‚ĩ‚―B - @(‚Ü‚ūn‚ĩ‚Ä‚Ē‚Č‚ĒƒŠƒ“ƒS‚Ė‚ÝŽg—p‰Â”\A“G‚ɂ‚ЂÁ‚Ä‚āƒ|ƒŠƒ“‚Ė—‘‚ŠŽč‚É“ü‚č‚Ü‚·B) - EŠeŽí—‘‚ɑ΂ĩ‚ăyƒbƒg‚ð•\ŽĶ‚·‚鎖‚ЂłŦ‚Ü‚·A‚―‚ū‚ĩ‚Č‚š‚Đˆę“x‰æ–ĘŠO‚É - @‚Å‚Č‚Ē‚Æƒyƒbƒg‚Š•\ŽĶ‚ģ‚ę‚Ü‚đ‚ņB - @(‹°‚į‚­ƒyƒbƒg•\ŽĶ‚ĖÛ‚És‚Á‚ĂǂéNPCƒXƒe[ƒ^ƒX‚Аģ‚ĩ‚­“ü‚Á‚ĂǂȂĒ) - E•\ŽĶ‚ģ‚ę‚―ƒyƒbƒg‚ŠƒpƒtƒH[ƒ}ƒ“ƒX‚ðs‚ǂ܂·B - - (db/) - item_db.txt - Œg‘Ņ—‘›z‰ŧ‹@‚ðŽg—p‰Â”\‚É bpetƒRƒ}ƒ“ƒh(Œg‘Ņ—‘›z‰ŧ‹@Žg—p) - u‚Ü‚ūn‚ĩ‚Ä‚Č‚ĒƒŠƒ“ƒSv‚ðŽg—p‰Â”\‚É petƒRƒ}ƒ“ƒh(‚ ‚émob‚ɑ΂ĩ‚ÄŽg—p‰Â”\‚É‚·‚é) - (common/) - mmo.h - s_pet@ƒyƒbƒg\‘Ǒ˒Į‰Á - mmo_charstatus@ƒyƒbƒg\‘ǑːéŒū•ϐ”’Į‰Á(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); - - ˆČã‚ĖŠÖ”‚ð’Į‰Á‚ĩƒyƒbƒg‚ÉŠÖ‚·‚鏈—‚ðs‚Á‚Ăςč‚Ü‚·B - (ƒ‹[ƒŒƒbƒgA—‘‘I‘𑋁AƒpƒtƒH[ƒ}ƒ“ƒXA‚ŧ‚Ė‚Ų‚ĐFX) - - npc.c/npc.h - int npc_pet(struct map_session_data *sd,int name_id); - ƒyƒbƒg•\ŽĶ‚ĖˆŨ‚ĖŠÖ”‚ð’Į‰Á - (‚ą‚ĖŠÖ”“ā•”‚Ńyƒbƒg‚Ė•\ŽĶˆ—‚ðs‚Á‚Ăǂ܂·B“KØ‚ɏCģ‚ĩ‚Ä‚­‚ū‚ģ‚Ē) - - script.c - int buildin_catchpet(struct script_state *st); - int buildin_birthpet(struct script_state *st); - ‚ð’Į‰Á‚ĩ‚Ü‚ĩ‚―BƒXƒNƒŠƒvƒg‚Épet,bpet‚ð’Į‰Á‚ĩ‚Ü‚ĩ‚―B ----------- -//329 by ŒÓ’ą—– - -EƒMƒ‹ƒh‹@”\’Į‰Á - EƒMƒ‹ƒh‚Ö‚ĖEXP‚Ėã”[ - EƒMƒ‹ƒhƒŒƒxƒ‹ƒAƒbƒv - EƒMƒ‹ƒhƒXƒLƒ‹‚ĖŠ„‚čU‚č - - (db/) - exp_guild.txt - ƒMƒ‹ƒhƒŒƒxƒ‹‚ĖŒoŒą’lƒf[ƒ^ƒx[ƒX - (common/) - mmo.h - GBI_*,GMI_*‚Ė’č‹`‚Ė’Į‰Á‚Č‚Į - (char/) - int_guild.c - EXP‚⃌ƒxƒ‹ƒAƒbƒvAƒXƒLƒ‹ƒAƒbƒvˆ—’Į‰Á‚Č‚Į - inter.c - ƒpƒPƒbƒg’·’Į‰Á - (map/) - guild.c/guild.h - ƒMƒ‹ƒhˆ—’Į‰Á - intif.c/intif.h - ƒMƒ‹ƒhƒpƒPƒbƒgˆ—’Į‰Á - clif.c - clif_guild_skillinfo()Cģ - clif_guild_skillup()’Į‰Á - pc.c - pc_skillup()‚ŃMƒ‹ƒhƒXƒLƒ‹‚Ėę‡‚Íguild_skillup()‚ðŒÄ‚Ô‚æ‚Ī‚É - pc_gainexp()‚ŏã”[EXP‚Ė‚―‚ß‚Éguild_payexp()‚ðŒÄ‚Ô‚æ‚Ī‚É - -EƒMƒ‹ƒh‹@”\Cģ - EƒMƒ‹ƒhƒƒ“ƒo[‚ŠƒƒOƒCƒ“‚⃍ƒOƒAƒEƒg‚·‚邯A - ƒƒOƒCƒ“’†‚ĖƒMƒ‹ƒhƒƒ“ƒo[‚ɃMƒ‹ƒhŒnƒpƒPƒbƒg‚Š‘—‚į‚ę‚Č‚­‚Č‚é–â‘čCģ - - guild.c - guild_recv_memberinfoshort()‚ĖCģ - ----------- -//328 by ŒÓ’ą—– - -EƒMƒ‹ƒh‹@”\‚Ė’Į‰Á‚Č‚Į - E’Į•ú‹@”\‰žŽĀ‘•i’Į•ú‚ĩ‚―ƒLƒƒƒ‰‚āÄ‰Á“ü‰Â”\•ˆę•”î•ņ‚Šƒ_ƒ~[j - EƒXƒLƒ‹‚Ė•\ŽĶi•\ŽĶ‚ū‚Ŋ‚Å‚·Bã‚°‚―‚č‚͏o—ˆ‚Ü‚đ‚ņj - - (common/) - mmo.h - struct guild_explusion‚Ė•ÏX - (char/) - int_guild.c - ’Į•úˆ—’Į‰Á - ‹óƒMƒ‹ƒhƒ`ƒFƒbƒN‚Č‚Į’Į‰Á - (map/) - guild.c/guild.h - ƒMƒ‹ƒhƒXƒLƒ‹ŠÖŒW‚ĖƒAƒNƒZƒT‚Č‚Į’Į‰Á - clif.c - clif_guild_skillinfo()‚ĖCģ - clif_guild_explusionlist()’Į‰Á - -Eƒ^[ƒ“ƒAƒ“ƒfƒbƒh‚Šƒ{ƒXŒnƒAƒ“ƒfƒbƒh‚ÅMISS‚ɂȂéƒoƒOCģ - Eƒ^[ƒ“ƒAƒ“ƒfƒbƒhŽļ”sŽž‚Ėƒ_ƒ[ƒW‚ŠŽg‚í‚ę‚Ü‚· - - battle.c - battle_calc_magic_damage()‚ĖCģ - ----------- -//327 by ‚Ē‚Į -EŒoŒą’lƒe[ƒuƒ‹‚É‚P‰ÓŠŠÔˆá‚ǂЂ ‚Á‚―‚Ė‚ÅCģ - db/exp.txt - ----------- -//326 by ‚Ē‚Į -EcharŽI‚ːVŽI,ƒƒ“ƒeƒiƒ“ƒX’†‚Ėƒtƒ‰ƒOî•ņ‚ðÝ’č‚Å‚Ŧ‚邿‚΂ɂĩ‚― -EcharŽI‚ĖŽI–ž‚Ė’·‚ģ‚Š16ƒoƒCƒg‚ɂȂÁ‚Ăǂ―•”•Š‚ð20ƒoƒCƒg‚ɏ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_maintenance‚ð1‚É‚·‚邯ƒƒOƒCƒ“l”‚ĖŒã‚ë‚É(“_ŒŸ’†)‚Š‚Â‚­ -@ Echar_new‚ð1‚É‚·‚邯ŽI–ž‚Ė‘O‚É[V]‚Š‚Â‚­ - (doc/) - ƒpƒPƒbƒg‰ðÍ.txt - EĄ‰ņ‚Ė•ÏX‚É”š‚Īˆę•”Cģ - ----------- -//325 by Mind Twist(224&0293) -E“G(NPC)ƒXƒLƒ‹‚Ė’Į‰ÁiƒcƒŠ[‚É’Į‰Á‚Ė‚Ýj - db/skill_db.txt - EƒMƒ‹ƒhƒXƒLƒ‹‘Š•Ï‚í‚į‚ļ•s–ūc‚ą‚ĖŒ`ŽŪ‚ķ‚á‚Č‚Ē‚Ė‚Đ‚ČH - ----------- -//324 by non - -Emob‚Ėƒ^[ƒQƒbƒgŒãˆÚ“Ū‚ðCģ -Emob‚ĖˆÚ“Ū‘Ž“x‚ðDB‚Đ‚į”―‰f‚ģ‚đ‚邿‚Ī‚É - - (map/) - mob.c - mob_ai_sub_hard()‚ĖCģ - -EŽÎ‚ß”ŧ’č‚ðCģ - EFW“™‚Å‚ĖŽÎ‚ß”ÍˆÍ‚ð–{ŽIŽd—l‚É - - (map/) - map.c - map_calc_dir()‚ĖCģ - ----------- -//322 by ŒÓ’ą—– - -EƒƒOƒCƒ“Žž‚É•K‚ļƒp[ƒeƒB[‚Đ‚įœ–ž‚ģ‚ę‚éƒoƒOCģ - E0318‚ˁuƒp[ƒeƒB‚ðœ–ž‚ģ‚ę‚―‚˂Ɂ`v‚Å‚ĖCģƒ~ƒX - - (char/) - int_party.c - ƒp[ƒeƒB[‹Ģ‡Žž‚ĖƒƒbƒZ[ƒW‚ɉüs’Į‰Á - (map/) - party.c - party_check_member()‚ĖCģ - -EƒMƒ‹ƒh‰ï˜bŽĀ‘••Cģ‚Č‚Į - (char/) - int_guild.c - ƒMƒ‹ƒh‹Ģ‡Žž‚ĖƒƒbƒZ[ƒ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()‚ĖƒpƒPƒbƒg‚ð0150‚Đ‚į01b6‚ɕύX - -EƒoƒbƒNƒXƒeƒbƒv‚Š‚ā‚Ė‚·‚ē‚­‰ö‚ĩ‚Ē‚Ŋ‚Į‰žŽĀ‘• - EŽg‚Ī‚Æƒ_ƒ[ƒW‚ð‚P‹ō‚į‚Á‚―‚æ‚Ī‚ÉŒĐ‚Ķ‚Ü‚·B(ŽĀÛ‚̓_ƒ[ƒW‚O‚Å‚·) - - skill.c - skill_castend_damage_id()Cģ - ------------------- -//321 by@‰ß‹Ž‚ːli -E‹|–î‘•”õŒø‰Ę‚Ė‚ÝŽĀ‘•(‘―X‚Ļ‚Đ‚ĩ‚Ē“_‚Í‘ķÝ‚·‚邊‘•”õ‚Šo—ˆA–î‚ĖŒø‰Ę‚Šo‚é) - map/clif.c map/clif.h - clif_itemlist()’Į‰Á - Ž‚ŋ•ς˒†‚Å‹|–î‚ÉŠ„‚č“–‚Ä‚éƒpƒPƒbƒg”ԍ†‚ð0x8000‚Æ‚·‚鏈—’Į‰Á - - clif_arrowequip(struct map_session_data *sd,int val); //self - ‚ð’Į‰ÁB‚ą‚Ė’†‚Å‹|–î‘•”õƒpƒPƒbƒgˆ—‚ðs‚Á‚Ă܂· - map/pc.c - pc_equipitem()@‹|–î‘•”õ’Į‰Á - - Žc‚ģ‚ę‚―–â‘č“_F - E@–Œļ‚į‚Č‚Ē - E@ƒŠƒƒO‚·‚邯–‚P‚ɂȂé - E@‘•”õ‚ĩ‚Ăǂé–•\ŽĶ‚ģ‚ę‚Č‚Ē(Đ‘―•Š‘•”õpos‚ĖÝ’č‚ð‚ĩ‚Ä‚Ē‚Č‚ĒˆŨ‚Đ‚Æ) - E@–î‚ð‘•”õ‰ðœ‚Å‚Ŧ‚Č‚Ē(‘ž‚Ė–î‚ð‘•”õ‚ĩ‚Ȃςđ‚Α•”õ‚ĩ‚―–î‚ĖŒø‰Ę‚ɂȂč‚Ü‚· - ----------- -//320 by ‚Ē‚Į -EˆČ‰š‚ĖƒpƒPƒbƒg‚ĖƒGƒ‰[ƒR[ƒh‚ːā–ū‚ð’Į‰Á - doc/ƒpƒPƒbƒg‰ðÍ.txt - R 006a .B - R 0070 .B - R 0081 .B - ----------- -//319 by mk -ENPC‚Æ‚Ė‰ï˜b’†‚É‘•”õ•ύXAƒAƒCƒeƒ€AƒXƒLƒ‹‚ðŽg—p‚Å‚Ŧ‚Ȃǂæ‚΂ɂĩ‚Ü‚ĩ‚― - map/clif.c - ŠeŠ‚Åsd->npc_id‚ðƒ`ƒFƒbƒN‚ĩ‚Ă܂· - -Eˆę•”‚Ė”í‚č•ςłāļ˜BŒã‚É‘•”õ‰ÓŠ‚Š‚Ļ‚Đ‚ĩ‚­‚Č‚éƒoƒO‚ðCģ - map/script.c - buildin_successrefitem ‚ĖƒR[ƒh‚ðCģ - -EƒJ[ƒh‚É‚æ‚é’Į‰ÁŒø‰Ę‚Ļ‚æ‚ŅˆŲí‘ϐŦ”­“Ūˆ—‚ĖCģ - map/skill.c - ƒCƒ“ƒfƒbƒNƒX‰Šú’l‚ŠŠÔˆá‚Á‚Ăǂ邯Žv‚í‚ę‚é‚Ė‚ÅCģiSC_POISON -> SC_STONEj - -Eƒ{ƒEƒŠƒ“ƒOƒoƒbƒVƒ…‚ˉžŽĀ‘•AƒOƒŠƒ€ƒgƒD[ƒX‚ĖŽg—pðŒ’Į‰Á - Eƒ{ƒEƒŠƒ“ƒOƒoƒbƒVƒ…‚ð‰žŽĀ‘•B‚Ŧ”ō‚΂ĩˆ—‚â‚Á‚Ä‚é‚˂Š- @battle.c ‚Ėblewcount‚ðƒRƒƒ“ƒgƒAƒEƒg‚ĩ‚Ü‚ĩ‚― - EƒOƒŠƒ€ƒgƒD[ƒX‚ĖŽg—pðŒiƒnƒCƒfƒBƒ“ƒO•ƒJƒ^[ƒ‹‘•”õjƒ`ƒFƒbƒN’Į‰Á - @‚ą‚ņ‚ČŠī‚ķ‚Å‘ž‚ĖƒXƒLƒ‹Žg—pðŒ‚ā’Į‰Á‚ĩ‚Ă₿‚Ē‚Ė‚Đ‚ČH - Eskill_blown ‚ː‚Ŧ”ō‚΂ĩ•ûŒü‚ðƒ^[ƒQƒbƒg‚Æ‚ĖˆĘ’u‚Šd‚Č‚Á‚Ăǂ邯‚Ŧ‚Í - @ƒ‰ƒ“ƒ_ƒ€‚Å‚Í‚Č‚­ƒLƒƒƒ‰ƒNƒ^[‚ðŒã‚ë‚֐‚Ŧ”ō‚΂·‚æ‚Ī‚É•ÏX‚ĩ‚Ü‚ĩ‚― - map/skill.c - skill_castend_damage_id()•ύX - skill_check_condition()•ύX - skill_blown()•ύX - -EƒAƒTƒVƒ““ņ“—Žˆ—‚ÉŠÖ‚·‚éCģ? - E‘•”õˆę——‚Ödrag&dropŽž‚É—žŽč‚ŠÔ‚­ƒ}[ƒLƒ“ƒO‚ģ‚ę‚邿‚Ī‚ÉCģ - @ƒAƒTƒVƒ“‚ł͕Ší‘•”õ‰ÓŠ‚Š—žŽč‚ɂȂ邿‚Īitem_equippoint‚ð•ύX - @‚ŧ‚ę‚É”š‚Ēpc.c‚Ėpc_equipitem‚ðCģ - E‹tŽčƒ_ƒ[ƒW‚ð•\ŽĶ‚ĩ‚Ă݂܂ĩ‚― - @‚܂Ƃā‚Ƀ_ƒ[ƒWŒvŽZ‚â‚Á‚Ä‚Č‚Ē‚Ė‚ÅUŒ‚‰ņ”‚ĖŠm”F‚ū‚Ŋ‚Å‚· - EƒJƒ^[ƒ‹’ĮŒ‚‚ƍķŽčUŒ‚‚ĖMISS‚ð–ģ—‚â‚č•\ŽĶ - (map/) - itemdb.c (itemdb.hAclif.cApc.c) - itemdb_equippoint() ‚ð•ύX i“ņ“—Ž‚ðl—ķj - ˆø”‚ð(int nameid) -> (struct map_session_data *sd,int nameid)‚É - ˆø”•ύX‚É”š‚ǐéŒū(itemdb.h)‚ÆŒÄ‚Ņo‚ĩ‘Ī(clif.c ,pc.c)‚ā•ύX - pc.c - pc_equipitem(), pc_checkitem()‘•”õƒ`ƒFƒbƒN‚ðCģ - battle.c - battle_calc_weapon_attack(),battle_weapon_attack() - ã‚É‚ā‘‚Ŧ‚Ü‚ĩ‚―‚ŠķŽč‚Ėƒ_ƒ[ƒWŒvŽZ‚͍s‚Á‚Ă܂đ‚ņ - (ƒJ[ƒhA‘ېŦ“™‚ā–Ē“K—p)‰EŽč‚Æ“Ŋ‚ķƒ_ƒ[ƒW“ü‚ę‚čķ‰EC—û“K—p‚ĩ‚Ă܂· - ƒJƒ^[ƒ‹’ĮŒ‚‚ƍķŽčƒ_ƒ[ƒW‚ðƒ~ƒX‚ģ‚đ‚é•û–@(ƒpƒPƒbƒg?)‚Š‚í‚Đ‚į‚Ȃǂ˂Š- ŒvŽZŒã‚Ėƒ_ƒ[ƒW‚Š-1‚Ėę‡Adamage=0‚ð‘—‚é‚æ‚΂ɂĩ‚Ăǂ܂· - ‚ā‚Á‚Æ‚æ‚Ē•û–@‚Š‚ ‚é‚˂łĩ‚―‚įCģ‚ĻŠč‚Ē‚ĩ‚Ü‚· - -EŠŪ‘S‰ņ”ð‚ĖŒvŽZ‚ðLuk‚Å‚Í‚Č‚­Flee2‚Å”ŧ’f‚·‚邿‚Ī‚ÉCģ - map/battle.c - battle_calc_weapon_attack() - - (db) - item_db.txtAitem_db2.txt - ‘•”õ•i‚Ėˆę•”ƒ{[ƒiƒXŒø‰Ę‚ð’Į‰Á - mob_db.txt - –^Š‚ł΂‚ģ‚ę‚Ăǂ―‚ā‚Ė‚ð­‚ĩCģ - ‚Ü‚ūMode‚âDrop‚É–â‘č“_‚Š‚ ‚é‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņ - ----------- -//0318 by ŒÓ’ą—– - -E‚ ‚éŒö•―•Š”zPT‚Æ‚ŧ‚ĖPT‚ɑۂģ‚Č‚ĒPC‚ЋΓނ·‚邯ŽI‚Š–\‘–‚·‚éƒoƒOCģ - - mob.c - mob_damage()‚ĖEXP•Š”zˆ—Cģ - -Eƒp[ƒeƒB‚ðœ–ž‚ģ‚ę‚―‚Ė‚ÉŠ‘Ū‚ĩ‚Ăǂ邿‚Ī‚ÉŒĐ‚Ķ‚éƒoƒOCģ - EŠY“–ƒLƒƒƒ‰‚ŠƒƒOƒAƒEƒgó‘Ô‚ĖŽž‚ɏœ–ž‚ģ‚ęA‚ŧ‚ĖŒãA“ŊC•ĘƒLƒƒƒ‰‚Š - “Ŋƒp[ƒeƒB‚ÉŠ‘Ū‚ĩ‚ȂςĩA‚ģ‚į‚ÉŒģ‚ĖƒLƒƒƒ‰‚эƒOƒCƒ“‚·‚邯A - œ–ž”ŧ’č‚ÉŽļ”s‚ĩ‚ăp[ƒeƒB‚ÉŠ‘Ū‚ĩ‚―‚܂܂ł ‚邯‚ģ‚ę‚Ä‚ĩ‚܂Ζâ‘čCģ - - party.c - party_check_member()‚ĖCģ - - ----------- -//0317 by nabe - -Eu`‚ģ‚ņ‚Đ‚įŽæˆø‚ð—vŋ‚ģ‚ę‚Ü‚ĩ‚―Bv‚ŠŽĐ•Š‚Ė–ž‘O‚ɂȂÁ‚Ăǂ―‚Ė‚ðCģ - trade.c/clif.c/clif.h - clif_traderequest()‚ÅŽæˆø‘ŠŽč‚ĖƒLƒƒƒ‰–ž‚ð“n‚·‚æ‚Ī‚É•ÏX - ----------- -//0316 by nabe - -E—žŽč•Ší‚ðļ˜B‚·‚邯•ÐŽč‘•”õ‚ɂȂéƒoƒO‚ðCģ - script.c - buildin_successrefitem()‚ŁA—žŽč•Ší‚Ėę‡“™‚É‘•”õ‰ÓŠƒ`ƒFƒbƒN - ----------- -//0315 by ŒÓ’ą—– - -EPC‚ĖSPAWNƒ^ƒCƒ~ƒ“ƒO‚ð•ύX - Eƒ}ƒbƒvˆÚ“Ū(ƒƒOƒCƒ“)ŽžAƒ[ƒfƒBƒ“ƒOI—đŒã‚ÉSPAWN‚·‚邿‚΂ɁB - Eƒ[ƒh’†‚ɍUŒ‚‚ģ‚ę‚―‚č‚ĩ‚Č‚­‚Č‚č‚Ü‚·B - EƒMƒ‹ƒh/ƒp[ƒeƒBî•ņ“Į‚ݍž‚Ý‘O‚É–ž‘O‰ðŒˆƒpƒPƒbƒg‚Š—ˆ‚é–â‘č‚ā - Cģ‚ģ‚ę‚é‚Í‚ļ‚Å‚·B - - pc.c - pc_setpos()‚Åmap_addblock,clif_spawnpc‚ĖŒÄ‚Ņo‚ĩ‚ðŽ~‚ß‚―B - clif.c - clif_parse_LoadEndAck‚Åmap_addblock,clif_spawnpc‚ðŒÄ‚Ô‚æ‚΂ɁB - -EinterŽIƒpƒPƒbƒgˆ—‚Ėd‘å‚Č–â‘č‚ðCģ - Eˆę“x‚ɃpƒPƒbƒg‚𑗐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ģ - -EƒMƒ‹ƒh‚Ė‹@”\’Į‰Á - E‘žl‚ĖƒGƒ“ƒuƒŒƒ€‚ŠŒĐ‚Ķ‚é‚æ‚΂ɁB - EƒƒOƒCƒ“’žŒã‚ĖŽĐ•Š‚ĖƒGƒ“ƒuƒŒƒ€‚ŠŒĐ‚Ķ‚é‚æ‚΂ɁB - E’E‘Þ‚Å‚Ŧ‚邿‚΂ɁBi’Į•ú‚͂܂ū‚Å‚·j - - <ƒpƒPƒbƒgî•ņˆø‚Ŧ‘ą‚Ŧ–͏W> - E016c,016d,0163,015c‚Č‚Į‚ĖÚŨ‚ȏî•ņ - EƒMƒ‹ƒhƒXƒLƒ‹‚ĖID‚Š‚í‚Đ‚élA‹ģ‚͂Ă؂ĩ‚ǂł·B - 158,205,331‚ ‚―‚č’ē‚Ũ‚Ü‚ĩ‚―‚Šƒ_ƒ‚Č–Í—lB - - (common/) - mmo.h - MAX_GUILD‚ð36‚ɁB - (char/) - int_guild.c - ’E‘Þ‚ĖƒpƒPƒbƒg•ύX - inter.c - ƒpƒPƒbƒg’·Cģ - (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 ‚Ē‚Į - -EcharŽI‚ÆmapŽI‚ĖŽI”ãŒĀ‚ð30‚Ɉø‚Ŧã‚° - login/login.h - char/char.h - -Emap_athena1.cnf‚ðmap_athena.cnf‚ÉƒŠƒl[ƒ€ -@‚ŧ‚ę‚É”š‚ǁAathena.sh‚ð•ύX - -EƒpƒPƒbƒg‰ðÍŽ‘—ŋ‚ðdoc/‚ÉˆÚ“Ū - - ----------- -//0313 by ŒÓ’ą—– - -EƒMƒ‹ƒh‚Ė‹@”\’Į‰Á - EƒMƒ‹ƒhŠĐ—U/–ðE“ā—e•ύX/ƒƒ“ƒo[‚Ė–ðE•ύX‚Č‚Į - Eguild.txt‚Ė‘ŽŪ‚Ђ܂―•Ï‚í‚č‚Ü‚ĩ‚―‚ЁA‘O‚Ėƒf[ƒ^‚ā“Į‚ݍž‚ß‚é‚Í‚ļ‚Å‚·B - - <ƒpƒPƒbƒgî•ņˆø‚Ŧ‘ą‚Ŧ–͏W> - E016c,016d,0163,015c‚Č‚Į‚ĖÚŨ‚ȏî•ņ - EŽĐ•ŠˆČŠO‚ĖPC‚ĖŠ‘ŪƒMƒ‹ƒhID‚ð’Ę’m‚·‚éƒpƒPƒbƒg - - (common/) - mmo.h - struct guild ‚ð•ύX - (char/) - int_guild.c/inter.c - ˆ—’Į‰Á/ƒpƒPƒbƒg’·’Į‰Á - (map/) - guild.c/guild.h/intif.c/intif.h - ˆ—’Į‰Á - clif.c/clif.h - ƒMƒ‹ƒhŠÖŒW‚ĖƒpƒPƒbƒgˆ—’Į‰Á - -Ehelp.txt‚ðCģ - help.txt - -E0311‚É‚æ‚é•ķŽš‰ŧ‚Ŋ‚ðCģ - README - map/pc.c - ----------- -//0312 by ‚Ē‚Į - -E@hƒRƒ}ƒ“ƒh‚ð@help‚ɕύX -E“Į‚ݍž‚Þƒ}ƒbƒvƒf[ƒ^‚Ė’č‹`•”•Š‚ð•ύX - ----------- -//0311 by tk44 -EAssassin “ņ“—Ž‘•”õAASPD–â‘čCģ - - map\pc.c - pc_equipitem(), pc_calcstatus(), pc_checkitem() - -E“ņ“—ŽŠQŒvŽZCģ‚Ü‚ūˆ—’† - ----------- -//0310 by ŒÓ’ą—– - -EƒƒO‚âƒf[ƒ^‚ÉŽg‚ΉüsƒR[ƒh‚ðmmo.h‚Őݒč‰Â”\‚É - (common/) - mmo.h - RETCODE‚ʼnüsƒR[ƒh‚ð•ķŽš—ņ‚Å’č‹`‚ĩ‚Ü‚·B - WindowsŒn‚ū‚ÆCR/LF‚Ȃ˂Å"\r\n",UNIXŒn‚ū‚Æ"\n"‚Å‚·B - •ʂɐģ‚ĩ‚­Žw’č‚ĩ‚Č‚­‚Ä‚āAthenaŽĐ‘Ė‚Í–â‘č‚Č‚­“Ūė‚·‚é‚Í‚ļ‚Å‚·B - (login/) - login2.c - (char/) - char2.c/int_storage.c/int_party.c/int_guild.c - •Û‘ķ‚·‚é‰üsƒR[ƒh‚ðRETCODEˆË‘ķ‚ɕύXB - ‰üsƒR[ƒh‚Ɉˑķ‚đ‚ļ‚É“Į‚߂邿‚Ī‚ÉCģB - -EƒNƒ‰ƒCƒAƒ“ƒg‚Đ‚į•s–ū‚ČƒpƒPƒbƒg‚Š—ˆ‚―‚įƒ_ƒ“ƒv‚·‚邿‚Ī‚É - E#define DUMP_UNKNOWN_PACKET 1 ‚ðƒRƒƒ“ƒg‰ŧ‚·‚ę‚΃_ƒ“ƒv‚ĩ‚Ü‚đ‚ņB - - clif.c - •s–ūƒpƒPƒbƒg‚Ėˆ—‚Ń_ƒ“ƒvˆ—‚ð’Į‰ÁB - -EƒMƒ‹ƒh‹@”\‚Ė’Į‰Á - EƒGƒ“ƒuƒŒƒ€•ύX/’m•ύXŽĀ‘• - Eguild.txt‚Ė‘ŽŪ‚Š•Ï‚í‚č‚Ü‚ĩ‚―‚ЁA‘O‚Ėƒf[ƒ^‚ā“Į‚ݍž‚ß‚é‚Í‚ļ‚Å‚· - - (char/) - int_guild.c/inter.c - ƒMƒ‹ƒhƒpƒPƒbƒgˆ—AƒpƒPƒbƒg’· - (map/) - guild.c/guild.h - ‹@”\’Į‰Á - intif.c/intif.h - ƒMƒ‹ƒhŠÖŒWƒpƒPƒbƒg’Į‰Á - clif.c/clif.h - ƒMƒ‹ƒhŠÖŒWƒpƒPƒbƒg’Į‰Á - ----------- -//0309 by C}{RIS - -Eƒ{ƒEƒŠƒ“ƒOƒoƒbƒVƒ…‚ð”͈͍UŒ‚‰ŧ‚ĩ‚Ü‚ĩ‚―B -Eƒvƒƒ“ƒeƒ‰‚É‘•”õ•i”Ė”„NPC‚ð’Į‰Á‚ĩ‚Ü‚ĩ‚―B - map_athena1.cnf‚Ė - npc_shop1J.txt‚ðƒRƒƒ“ƒgƒAƒEƒg‚·‚ę‚Î–ģŒø‚ɏo—ˆ‚Ü‚·B -EƒAƒCƒeƒ€‚Ė–ž‘O‚ÆID‚ð‘‚Ē‚―ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚ð“Y•tBiitem.listj - ----------- -//0308 by Ž€_ -EŽĐ‘R‰ņ•œ‚ĖƒvƒƒOƒ‰ƒ€‚ðCģ‚ĩ‚Ü‚ĩ‚―B - ‚ą‚ę‚Å‘åä•v‚ū‚Æ‚Ē‚Ē‚Å‚·‚Š... - pc.c - pc_natural_heal()“™‚ðCģB - pc_percentheal()‚ð­‚ĩCģB - pc_checkskill()‚ð­‚ĩCģBƒXƒLƒ‹‚Š‚Č‚Ēę‡0‚ð•Ô‚·‚æ‚Ī‚É - •ύX‚ĩ‚Ü‚ĩ‚―B‘ž‚Ė.cƒtƒ@ƒCƒ‹‚āCģ‚·‚é•K—v‚Š‚ ‚č‚Ü‚ĩ‚―‚˂Š- Cģ‚ĩ‚Ü‚ĩ‚―B -E4l–Ú‚Æ5l–Ú‚ĖƒLƒƒƒ‰‚ðÁ‚đ‚Ȃǖâ‘č‚ðCģB -EŽn‚߂ЂįƒiƒCƒt‚ƃRƒbƒgƒ“ƒVƒƒƒc‚ðŽ‚Â‚æ‚Ī‚É•ÏXB -ELOOK_SHEILD‚ðLOOK_SHIELD‚ɏCģB -Emmo_charstatus‚Ėsheild‚ðshield‚ɏCģB -E.logƒtƒ@ƒCƒ‹‚âaccount.txtƒtƒ@ƒCƒ‹‚ðnotepad‚ÅŠJ‚­‚Æ—ņ‚Š‘S•”Œq‚ǂłǂé - –â‘č‚ðCģB -E—”‚ðŽžŠÔ‚É‚æ‚Á‚ú‰ŧ‚·‚邿‚Ī‚É•ÏXB - map.c - do_init()‚ð­‚ĩCģB - -‘ž‚ɕύX‚ĩ‚―ƒtƒ@ƒCƒ‹‚ā‚ ‚č‚Ü‚·‚Š‘S•”Šo‚͂Ă܂đ‚ņ‚Ė‚Å... - ----------- -//0307 by ŒÓ’ą—– - -EV‹KPC‚Ė‰ŠúˆĘ’u‚ðchar_athena.cnf‚ɏ‘‚Ŋ‚邿‚΂ɂĩ‚― - start_point: ƒ}ƒbƒv–ž,x,y ‚Ė‚æ‚Ī‚ÉŽw’č‚ĩ‚Ü‚·B - <—á> start_point: new_1-1.gat,53,111 - - (char/) - char2.c - -EƒMƒ‹ƒh‚Ėˆę•”‹@”\ - EƒMƒ‹ƒhėŽ‚­‚į‚Ē‚ĩ‚Đ“Ū‚Ŧ‚Ü‚đ‚ņ - EŠĐ—U/’E‘Þ/‰ðŽU/î•ņ‚Ė•ÏX/ƒGƒ“ƒuƒŒƒ€/’m‚Č‚Į‚Í‚·‚Ũ‚Ä–ĒŽĀ‘•‚Å‚· - - <ØŽĀ‚Č—v–]> - ƒMƒ‹ƒhŠÖŒW‚ĖƒpƒPƒbƒgî•ņ‚Š‘S‘R‘Ŧ‚č‚Ü‚đ‚ņB‚í‚Đ‚él‚Í‹ģ‚͂Ă­‚ū‚ģ‚ǁB - ŒŧÝ‚Ė‚Ü‚Ü‚Å‚ÍƒGƒ“ƒuƒŒƒ€‚ƍ’m‚­‚į‚Ē‚ĩ‚ĐŽĀ‘•‚Å‚Ŧ‚Č‚Ē‰Â”\Ŧ‚ЁcB - - (common/) - mmo.h - ƒMƒ‹ƒhŠÖŒW‚Ė\‘Ē‘Ė‚Æ’č”’Į‰Á - (char/) - inter.c - ƒpƒPƒbƒg’·î•ņ’Į‰Á - int_guild.c/int_guild.h - ŽĀÛ‚Ėˆ—’Į‰Á - (map/) - map.h - struct map_session_data‚ɃMƒ‹ƒhŠÖŒW‚Ėƒƒ“ƒo’Į‰Á - guild.c/guild.h - V‹K’Į‰ÁBƒMƒ‹ƒh‹@”\—p - pc.c - pc_authok()‚ŃMƒ‹ƒhŠ‘ŪŽžAguild_request_info()‚ðŒÄ‚Ô‚æ‚΂ɁB - clif.c/clif.h - ƒMƒ‹ƒhƒpƒPƒbƒg’Į‰Á - intif.c/intif.h - ƒMƒ‹ƒhƒpƒPƒbƒg’Į‰Á - -E0303‚Å‚ĖCģuMAXHP‚Č‚Į‚ŠƒT[ƒo[‚ƃNƒ‰ƒCƒAƒ“ƒg‚Ł`v‚ðŒģ‚É–ß‚ĩ‚― - EVPC‚ðė‚邯‚Ŧ‚ɐģ‚ĩ‚­HP‚Č‚Į‚ðŒvŽZ‚ĩ‚Ä‚­‚ę‚邿‚΂ɂȂÁ‚―‚˂Š- –ß‚ĩ‚Ä‚ā•―‹C‚ū‚ë‚Ī‚Æ—\‘ЁB - EƒƒOƒCƒ“’žŒã‚ɏd—ĘŒx‚Šo‚Ä‚ĩ‚܂΂―‚߁B - - pc.c - pc_authok()‚ĖCģ - -E”͈͎w’č•Ķ‚Ŧ‚Ėˆ—Cģ - E‚Å‚Ŧ‚é‚ū‚ŊŽw’č‚ĩ‚―”‚Æ“Ŋ‚ķ‚ū‚Ŋ•Ķ‚­‚æ‚Ī‚É - (áŠQ•ςȂĮ‚É‚æ‚é•Ķ‚Ŧ–WŠQ‚ˉņ”ðŽļ”sŽžA‘O‚ˉņ”ðŒ‹‰Ę‚ðŽg‚Ī) - - mob.c - mob_once_spawn_area()‚ĖCģ - ----------- -//0305 by ‚Ē‚Į -EV‹KPC‚ĖˆĘ’u‚ð‰SŽŌC—ûę‚ɕύXB -EmapŽI‚ŠcharŽI‚ɐڑą‚Å‚Ŧ‚ȂǕs‹ï‡‚ĖCģB - ----------- -//0304 by Ž€_ -EŽĐ‘R‰ņ•œ‚Ė—Ę‚ÆŽžŠÔ‚ð•ύXBŠØ‘ŽI‚É“K—p‚ģ‚ę‚Ä‚é•ςł·‚Š“ú–{‚É‚ā - “K—p‚ģ‚ę‚Ä‚é‚Í‚ļ‚Å‚·B(‘―•Š... ‚â‚Á‚Ă܂đ‚ņ‚˂łí‚Đ‚č‚Ü‚đ‚ņBŠū) - HP‚Í–ˆ4•b‚É 1 + vit/6 + max_hp/200 ‚ð‰ņ•œA - SP‚Í–ˆ8•b‚É 1 + int/6 + max_sp/100 ‚ð‰ņ•œ‚ĩ‚Ü‚·B -EƒXƒLƒ‹HP‰ņ•œ—ÍŒüã‚É‚æ‚é‰ņ•œ‚ð - ƒXƒLƒ‹ƒŒƒxƒ‹*5 + max_hp/50‚ɕύXB -EƒXƒLƒ‹SP‰ņ•œ—ÍŒüã‚É‚æ‚é‰ņ•œ‚ð - ƒXƒLƒ‹ƒŒƒxƒ‹*3 + max_sp/50‚ɕύXB -EƒXƒLƒ‹ˆÚ“ŪŽžHP‰ņ•œŽĀ‘•B - Ą‚ĖŠŽ~‚Ü‚Á‚Ä‚é‚Ė‚Æ”ä‚Ũ‚Ä1/4‚Ė—Ę‚ð‰ņ•œ‚ĩ‚Ü‚·B(ŽžŠÔ‚Í“Ŋ‚ķ‚Å‚·B) -Evit‚Æint‚É‚æ‚Á‚ĉņ•œŽžŠÔ‚Š’Z‚­‚Č‚é‚Ė‚Å‚Í‚Č‚­‰ņ•œ—ƂБ‚͂܂·B -EÅ‘åHP‚ƍőåSP‚ĖŒvŽZŒöŽŪ‚ð•ύXB - map.h - int inchealtick‚Ė•Ï‚í‚č‚Éint inchealhptick;‚Æ int inchealsptick;‚ð’Į‰ÁB - int parame[6] ‚ð’Į‰ÁBÅ‘åSP‚ĖŒvŽZ‚ĖˆŨ‚˕ςő•”õ‚É‚æ‚Á‚ďり‚Á‚― - ƒpƒ‰ƒ[ƒ^‚ðŽ‚Á‚B - pc.c - pc_hpheal(),pc_spheal(),pc_natural_heal_sub(),pc_natural_heal()‚ð - ŽĐ•Š‚ĖƒR[ƒh‚ɏ‘‚ŦŠ·‚͂܂ĩ‚―‚Šˆę‰žģí‚ɓۂŦ‚Ü‚·‚Š - ‘ž‚ĖƒR[ƒh‚ɉe‹ŋ‚Š‚Č‚Ē‚Đ‚Į‚Ī‚Đ‚Í‚í‚Đ‚č‚Ü‚đ‚ņB - pc_additem()‚ð­‚ĩ‚ū‚ŊCģB - hp_coefficient‚ðint‚Đ‚įdouble‚ɕύXB - pc_calcstatus()‚Æpc_readdb()‚ðCģB - job_db1.txt - E‹Æ‚ĖŒv”‚ð•ύX‚ĩ‚Ü‚ĩ‚―B(ƒNƒ‹ƒZƒCƒ_[“™‚Ėƒf[ƒ^‚Í - ŠŪ‘S‚ȕςķ‚á‚ ‚č‚Ü‚đ‚ņB) - -Echar2.c‚ð­‚ĩ‚ū‚Ŋ•ύXB - char2.c - make_new_char()‚ð­‚ĩ‚ū‚Ŋ•ύXB(ė‚Á‚―’žŒã‚ÉHP‚ÆSP‚ŠŠŪ‘S‚É - ‰ņ•œ‚ĩ‚Ă邿‚Ī‚É•Ï‚Ķ‚Ü‚ĩ‚―B) - parse_char()‚ð­‚ĩ‚ū‚ŊCģBŠØ‘‚ĖƒNƒ‰ƒCƒAƒ“ƒg‚ÅŒq‚ǂĂā - ˆŲí‚ЂȂǂæ‚΂ɂĩ‚Ü‚ĩ‚―B(0x187ƒpƒPƒbƒg‚Ėˆ—‚ð“ü‚ę‚―‚ū‚Ŋ - ‚Å‚·‚Š... ‚ą‚ę‚ÍYare‚Đ‚įŽ‚Á‚Ä‚Ŧ‚―•ςł·B) -Estrcmpi“™‚Ėdefine‚ðatcomand.h‚Đ‚įmmo.h‚ÉˆÚ“Ū‚ĩ‚Ü‚ĩ‚―B - atcomand.h, mmo.h CģB -E‰ņ•œƒAƒCƒeƒ€‚ðŽg—p‚·‚鎞vit‚ƃXƒLƒ‹HP‰ņ•œ—ÍŒüã‚É‚æ‚éƒ{[ƒiƒX‚Š•t‚­ - ‚æ‚Ī‚É•ÏXBƒ{[ƒiƒX‚Í - ‰ņ•œ—Ę *(1 + HP‰ņ•œ—ÍŒüãƒXƒLƒ‹ƒŒƒxƒ‹*0.1 + vit/100) - ‚ɂȂč‚Ü‚·B -EƒCƒOƒhƒ‰ƒVƒ‹‚ĖŽĀ‚ÆƒCƒOƒhƒ‰ƒVƒ‹‚ĖŽí‚ð‰žŽĀ‘•B(‰ņ•œ‚Í‚ĩ‚Ü‚·‚ŠƒGƒtƒFƒNƒg‚Š - o‚Ü‚đ‚ņBitem_db‚Ń^ƒCƒv‚ð•Ï‚Ķ‚Ä‚ā‘Ę–Ú‚Å‚ĩ‚―B) - script.c - buildin_fixheal()‚Æbuildin_percentheal()‚ð’Į‰ÁB - buildin_fixheal()‚Íbuildin_heal()‚ŠƒXƒLƒ‹‚Ævit‚É‚æ‚Á‚ĉņ•œ—Ę‚Š•Ï‚í‚é - Žd—l‚ɂȂÁ‚―‚Ė‚ÅŒģ‚Ėbuildin_heal()‚Ė–ž‘O‚ū‚Ŋ‚ð•Ï‚Ķ‚―•ςł·B - buildin_percentheal()‚Í“ü—Í‚ģ‚ę‚―”Žš‚ð%‚Æ‚ĩ‚ÄHP‚ÆSP‚ðÅ‘åHP‚Æ - Å‘åSP‚ð %”ä—͂ɉņ•œ‚ĩ‚Ü‚·B - ƒXƒNƒŠƒvƒgfixheal A percentheal ’Į‰ÁBŽg—p•û–@‚Íheal‚Æ“Ŋ‚ķ‚Å‚·B - fixheal‚Ívit‚ƃXƒLƒ‹HP‰ņ•œ—ÍŒüã‚É‚æ‚éƒ{[ƒiƒX‚ЂȂǕςŠ- percentheal ‚ÍŒã‚ː”Žš‚ð %‚É”FŽŊ‚ĩ‚Ü‚·B - pc.h - pc.c - pc_percentheal()‚ð’Į‰ÁB - item_db.txtAitem_db2.txt - ƒCƒOƒhƒ‰ƒVƒ‹‚ĖŽĀ‚ÆƒCƒOƒhƒ‰ƒVƒ‹‚ĖŽí‚ð•ύXB - ----------- -//0303 by ŒÓ’ą—– - -E*.grf‚ĖƒpƒX‚ðmap_athena.cnf‚É‚ā‘‚Ŋ‚邿‚΂ɂĩ‚―B - Emap_athena.cnf‚Ɂudata_grf: ../data/data.grfv‚â - usdata_grf: ../sakurai/sdata.grfv‚Ė‚æ‚Ī‚ÉƒpƒXŽw’č‚Å‚Ŧ‚Ü‚·B - Egrf-files.txt‚Š‚ ‚éę‡‚ŧ‚ŋ‚į‚ĖÝ’č‚Š—Dæ‚ģ‚ę‚Ü‚· - - (common/) - grfio.c/grfio.h - grfio_setdatafile(),grfio_setsdatafile()’Į‰ÁB - data_file,sdata_file‚ðƒtƒ@ƒCƒ‹ƒ[ƒJƒ‹‚ČƒOƒ[ƒoƒ‹•ϐ”‚ɕύXB - -E@stpoint,@skpoint‚É•‰’lŽw’č‚Ė”ÍˆÍƒ`ƒFƒbƒN‚ð’Į‰Á -E@zenyƒRƒ}ƒ“ƒh’Į‰Áiƒ[ƒj[‚Ė’ēŪj -E@str,@agi,@vit,@int,@dex,@lukƒRƒ}ƒ“ƒh’Į‰ÁiŠî–{ƒpƒ‰ƒ[ƒ^’ēŪj - - atcommand.c - @stpoint,@skpointCģ - @zeny,@str,@agi,@vit,@int,@dex,@luk’Į‰Á - -Eƒƒ}[ƒiƒCƒg‚ðŽg‚Ī‚Æ‚Ú‚Á‚―‚­‚į‚ę‚Ăǂ―–â‘č‚ðCģ -E•Šíŧ‘Ē•”•Š‚ĖƒR[ƒh‚ð‘―­•ύX - EÞ—ŋÁ”—‚ðƒAƒCƒeƒ€‚Š•Ą”ƒCƒ“ƒfƒbƒNƒX‚É•Š‚Đ‚ę‚Ăǂéę‡‚ɑΉž‚ģ‚đ‚― - i‚R–œŒÂŒĀŠE‚ð’ī‚͂邯•ĘƒCƒ“ƒfƒbƒNƒX‚ðŽg‚ĪŽd—l‚ū‚Á‚―‹C‚Š‚·‚é‚˂Łj - EŽļ”sŽž‚É‚āŽü‚č‚É’Ę’m‚·‚邿‚΂ɂĩ‚― - - skill.c - skill_check_condition()‚ĖCģ - skill_produce_mix()‚ĖCģ - -E•Šíŧ‘ĒŠm—Ķ‚ðconfƒtƒ@ƒCƒ‹‚Å”{—ĶŽw’č‚Å‚Ŧ‚邿‚Ī‚ÉCģ - - (conf/) - battle_athena.cnf - weapon_produce_rate’Į‰Á - (map/) - skill.c - skill_produce_mix()‚ĖCģ - -E•ŠíATKƒTƒCƒY•âģƒe[ƒuƒ‹‚ðŠO•”‚Đ‚į“Į‚ݍž‚Þ‚æ‚΂ɂĩ‚― -Eļ˜BŽŒũŠm—Ķ/ļ˜Bƒ{[ƒiƒX‚Č‚Į‚ðŠO•”‚Đ‚į“Į‚ݍž‚Þ‚æ‚΂ɂĩ‚― -E‰ßčļ˜Bƒ{[ƒiƒX‚É‚æ‚é’Į‰Áƒ_ƒ[ƒWŽĀ‘• - - (db/) - size_fix.txt - ƒTƒCƒY•âģƒe[ƒuƒ‹ - refine_db.txt - ļ˜BŠÖŒWƒf[ƒ^ - (map/) - pc.c - pc_readdb()‚Å“Į‚ݍž‚Ý - battle.c - battle_calc_weapon_attack()‚ɉߏčļ˜Bƒ{[ƒiƒXˆ—’Į‰Á - -EMAXHP‚Č‚Į‚ŠƒT[ƒo[‚ƃNƒ‰ƒCƒAƒ“ƒg‚ňá‚Ī’l‚ÉŒĐ‚Ķ‚éƒoƒOCģ - ƒƒOƒCƒ“’žŒã‚ĖƒXƒe[ƒ^ƒXŒvŽZ‚ĖŒ‹‰Ę‚ð’ž‚ŋ‚É‘—M‚·‚邿‚΂ɂĩ‚― - - (map/) - pc.c - pc_authok()‚Å‚Ėpc_calcstatus()‚Ėƒtƒ‰ƒO‚ð0‚É‚ĩ‚― - ‚ą‚ę‚Åpc_calcstatus()‚Ėƒtƒ‰ƒOƒpƒ‰ƒ[ƒ^‚Í–ĒŽg—pH - -Eitem_db‚ˁu”EŽŌƒX|ƒcv‚ðu”EŽŌƒX[ƒcv‚ɏCģ - (db/) - item_db.txt/item_db2.txt - ”EŽŌƒX[ƒc‚Ė–žĖ•ύX - -EƒƒOƒCƒ“l”‚ð’ē‚Ũ‚éƒc[ƒ‹‚ð“Y•t - Perlŧ‚Č‚Ė‚ÅŽĀs‚É‚ÍPerl‚Š•K—v‚Å‚·B - Žg—p•û–@‚Č‚Į‚̓GƒfƒBƒ^‚ÅŠJ‚Ē‚ÄŒĐ‚Ä‚­‚ū‚ģ‚ǁB - Žg‚Ē•û‚Š—Į‚­‚í‚Đ‚į‚Ȃǐl‚ÍŽč‚ðo‚ģ‚Ȃǂ؂΂Ђǂǂł·B - - (tool/) - getlogincount - ƒƒOƒCƒ“l”Š“ūPerlƒXƒNƒŠƒvƒg - ----------- -//0302 by Ž€_ -EƒAƒCƒeƒ€ŧ‘Ē Šm—Ķ”ŧ’čŽĀ‘•B - “S‚Ėę‡ŽŒũ—Ķ‚Í - (20 + base_level*0.3 + DEX*0.2 + LUK*0.1 + —v‹ƒXƒLƒ‹ƒŒƒxƒ‹*6)% - |“S‚Æ‘ŪŦÎAŊ‚Ė‚Đ‚Ŋ‚į‚Ėę‡ - (10 + base_level*0.3 + DEX*0.2 + LUK*0.1 + —v‹ƒXƒLƒ‹ƒŒƒxƒ‹*5)% - •Ší‚Í - ((2.5 + base_level*0.15 + DEX*0.1 + LUK*0.05 + —v‹ƒXƒLƒ‹ƒŒƒxƒ‹*5 + - ‹ā•~ - ‘ېŦÎ‚ƐŊ‚Ė‚Đ‚Ŋ‚į) * (1 - (•ŠíƒŒƒxƒ‹ - 1)*0.2) + - ƒXƒLƒ‹•ŠíŒĪ‹†ƒŒƒxƒ‹*1)% - ‹ā•~: ‚Č‚Ēę‡ -5%‚Å‹ā•~‚Í 0%AƒIƒŠƒfƒIƒRƒ“‚Ė‹ā•~‚Í - 2.5%A‰Đ‹ā‚Ė‹ā•~‚Í 5%AƒGƒ“ƒyƒŠƒEƒ€‚Ė‹ā•~‚Í 7.5% - ‘ېŦÎ‚ƐŊ‚Ė‚Đ‚Ŋ‚į: ‘ېŦÎ‚Š‚ ‚éę‡ 5%‚ōX‚É - Ŋ‚Ė‚Đ‚Ŋ‚į‚ː” * 5%‚ð‘Ŧ‚ĩ‚Ü‚·B - ‚ɂȂč‚Ü‚·‚Š‚ŋ‚å‚Á‚ÆŠm—Ķ‚Š’á‚·‚Ž‚é‹C‚ā‚ĩ‚Ü‚·‚˂Š- base_level*0.3 + DEX*0.2 + LUK*0.1‚ðbase_level*0.5 + DEX*0.4 + LUK*0.3‚É - base_level*0.15 + DEX*0.1 + LUK*0.05‚ðbase_level*0.4 + DEX*0.3 + LUK*0.2 - ’ö“x‚É•Ï‚Ķ‚―•û‚Š‚Ē‚Ē‚Đ‚ā’m‚č‚Ü‚đ‚ņB - skill.c - skill_can_produce_mix() ‚Æ skill_produce_mix() ‚ðCģB - produce_db.txt - Ŋ‚Ė‚Đ‚Ŋ‚į‚ðƒXƒLƒ‹‘ېŦÎŧ‘ǂЕK—v‚ɕύXB -E*.grf“™‚ðÝ’u‚đ‚ļƒfƒBƒŒƒNƒgƒŠ‚Đ‚į‚Ė“Į‚ݍž‚Þ‚æ‚Ī‚ÉCģB(‚ą‚ę‚ÍYare‚Đ‚į - Ž‚ŋž‚ņ‚ū•ςł·‚Š...) - grfio.c - grfio_init()‚ðCģB - grf-file.txt - V‹K’Į‰ÁBgrfƒtƒ@ƒCƒ‹‚Š‚ ‚éƒfƒBƒŒƒNƒgƒŠÝ’č—pB -E“Į‚ݍž‚Þƒ}ƒbƒv‚ĖÅ‘å”‚ð512‚ɏCģB - mmo.h - MAX_MAP_PER_SERVER‚ð384‚Đ‚į512‚ɏCģB -Epc.c‚Épc_search_inventory()‚ð’Į‰ÁB - ‹@”\‚Íitem_id‚ĖƒAƒCƒeƒ€‚ðŽ‚Á‚Ä‚é‚Đ‚Į‚Ī‚Đ‚ðŠm”F‚ĩ‚Ä - Ž‚Á‚Ä‚éę‡‚ŧ‚Ėindex‚ð•Ô‚·B - item_id‚Š0‚Ėę‡‚Í‹ó‚Ŋ‚Ă鏊‚Ėindex‚ð•Ô‚·B - pc_additem()‚Æpc_takeitem()‚ū‚Ŋ‚ð­‚ĩCģB -EGMƒRƒ}ƒ“ƒh‚É@stpoint‚Æ@skpoint‚ð’Į‰ÁB - @stpoint ”Žš - ƒXƒe[ƒ^ƒXƒ|ƒCƒ“ƒg‚ðã‚°‚éB - @skpoint ”Žš - ƒXƒLƒ‹ƒ|ƒCƒ“ƒg‚ðã‚°‚éB - atcomand.c - CģB - atcomand.h - strcmpi“™‚ðLinux‚Å‚āŽg‚͂邿‚Ī‚ÉCģB - ----------- -//0301 by ŒÓ’ą—– - -EÅ‘åHP‚Š32767‚ð’ī‚͂邯ˆŲí‚Č’l‚ɂȂé–â‘č‚ĖCģ -ELv‚Š99‚ð’ī‚͂邯‚Ŧ‚āƒGƒtƒFƒNƒg‚ðo‚·‚æ‚΂ɂĩ‚―(ŽĐ•Š‚É‚ÍŒĐ‚Ķ‚Č‚Ē–Í—l) -E”z’uMOB‚É‚æ‚éƒCƒxƒ“ƒg‚ŃCƒxƒ“ƒg–ž‚Š‚SƒoƒCƒgˆČã‚Æ‚Ē‚Ī§ŒĀ‚ð‚‚Ŋ‚― -EteleportŽž‚ÉŽæˆø’†’fAƒ`ƒƒƒbƒg‘ÞŽšA‘qŒÉ•Û‘ķˆ—‚ð‚·‚é‚æ‚΂ɂĩ‚― - - pc.c - pc_calcstatus()‚ĖCģ(HPŒvŽZ) - pc_setpos()‚ĖCģ(Žæˆø’†’f‚Č‚Į) - clif.c - clif_set0078(),clif_set007b(),clif_spawnpc()‚ĖCģ(Lv99ƒGƒtƒFƒNƒg) - npc.c - npc_parse_mob()‚ĖCģ - -E@h‚Åhelp.txt‚Š“Į‚ß‚Č‚Ē‚Æ‚Ŧ‚É—Ž‚ŋ‚éƒoƒOCģ -E@lvup/@joblvup‚Å•‰’l‚ð“ü‚ę‚邯Lvƒ_ƒEƒ“‚Š‰Â”\‚ɂȂÁ‚― - - atcommand.c - @h,@lvup,@joblvupˆ—‚ĖCģ - -EƒeƒŒƒ|[ƒg‚Č‚Į‚ĖÁ–ŃGƒtƒFƒNƒg‚ĖCģ - - skill.c - ƒeƒŒƒ|‚ĖÁ–ŃGƒtƒFƒNƒg‚ð•ύX - -Eó‘ÔˆŲí‚ÉŠÖ‚·‚éƒXƒNƒŠƒvƒgŽĀ‘• [sc_start]‚Æ[sc_end]B -E—ÎPOTA—΃n[ƒu‚Č‚ĮŽĀ‘• -E‘•”õƒ{[ƒiƒXƒf[ƒ^’Į‰Á - - (db/) - item_db.txt/item_db2.txt - ‘•”õƒ{[ƒiƒXƒf[ƒ^‚ð’Į‰Á - —ÎPOTA—΃n[ƒu‚Č‚Į‚ĖƒXƒNƒŠƒvƒg’Į‰Á - (map/) - script.c - buildin_warp()‚ŏÁ–ŃGƒtƒFƒNƒg‚ð•ύX - buildin_sc_start(),buildin_sc_end()’Į‰Á - ----------- -//0299 by ŒÓ’ą—– - -ENPCƒCƒxƒ“ƒg‚ŃGƒNƒXƒ|[ƒg‚ģ‚ę‚―ƒ‰ƒxƒ‹‚ðŽw’č‚Å‚Ŧ‚邿‚΂ɂĩ‚― - NPCƒXƒNƒŠƒvƒg‚ÅOn`‚ÅŽn‚܂郉ƒxƒ‹‚ð’č‹`‚·‚邯AƒGƒNƒXƒ|[ƒg‚ĩ‚Ü‚·B - NPCƒCƒxƒ“ƒg‚Å"NPC–ž(orƒCƒxƒ“ƒg–ž)::ƒ‰ƒxƒ‹–ž"‚Æ‚·‚邯A - Žw’č‚ĩ‚―ƒ‰ƒxƒ‹‚Đ‚įŽĀs‚Å‚Ŧ‚Ü‚·B - ƒ‰ƒxƒ‹–ž‚Í24ƒoƒCƒgˆČ“ā‚É‚ĩ‚ĉš‚ģ‚ǁB - ‚ ‚ƃvƒƒOƒ‰ƒ€“I‚Ƀƒ‚ƒŠŒø—ĶˆŦ‚ǂł·BŒã“úCģ—\’č - <—á> - NPCutestv‚ĖƒXƒNƒŠƒvƒg“ā‚Å OnEvent: ‚ƃ‰ƒxƒ‹’č‹`‚ĩ‚―ę‡A - NPCƒCƒxƒ“ƒgutest::OnEventv‚ÅŽw’čˆĘ’u‚Đ‚įŽĀs‚Å‚Ŧ‚Ü‚·B - - (conf/) - npc_test_ev.txt - ƒ‰ƒxƒ‹Žw’č‚ĖƒTƒ“ƒvƒ‹‚ā‚ŋ‚å‚ą‚Á‚Æ’Į‰Á - (map/) - script.c/script.h - script_get_label_db()‚Č‚Į‚Ė’Į‰ÁB - parse_script‚Åscriptlabel_db‚Ƀ‰ƒxƒ‹ƒf[ƒ^‚ð’Į‰Á‚·‚é - npc.c/npc.h - npc_event_export()‚Č‚Į’Į‰Á - npc_parse_script‚щƒxƒ‹ƒf[ƒ^‚ðƒGƒNƒXƒ|[ƒg‚·‚é - map.h - struct map_session_data ‚Ėeventqueue‚ĖƒCƒxƒ“ƒg–ž‚ĖƒTƒCƒY‚ð - 50ƒoƒCƒg‚É‚ĩ‚―B - -EAGI‚ÆDEX‚É‚æ‚éASPDŒvŽZ‚ĖÅ‘å’l‚ð180‚Đ‚į190‚ɕύX - pc.c - pc_calcstatus()‚ĖASPDŒvŽZCģ - -Eskill_db.txt/cast_db.txt‚Ė“Į‚ݍž‚Ý‚ðskill.c‚ɕύX - - pc.c - pc_readdb()‚ĖCģ - skill.c - skill_readdb()‚Ė’Į‰Á - -EƒAƒCƒeƒ€ŧ‘ljžŽĀ‘• - Šm—Ķ”ŧ’肊–ĒŽĀ‘•‚Å‚·B•K‚ļŽŒũ‚ĩ‚Ü‚·B - - (db/) - item_db.txt/item_db2.txt - ƒAƒCƒeƒ€ŧ‘Ē‚É‘Î‰žiŒg‘Ņ—p—nz˜FA‹ā’Æ‚Č‚Įj - produce_db.txt - V‹K’Į‰ÁBŧ‘ĒƒŠƒXƒgB - (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 - ŧ‘Ē—pƒRƒ}ƒ“ƒh[produce]ėŽB - ˆø”‚͐ŧ‘Ē—p”’l‚ŁA1-4‚Š•Šíŧ‘Ē(Lv)A16‚ŠzÎ - - ----------- -//0298 by ŒÓ’ą—– - -ELoginŽI‚ĖƒpƒXƒ[ƒhˆÃ†‰ŧƒ^ƒCƒv‚ðŽĐ“Ū”FŽŊ‚Å‚Ŧ‚邿‚Ī‚É•ÏX - login.h‚ĖPASSWORDENC‚ð3‚É‚·‚邯ŽĐ“Ū”FŽŊ‚ĩ‚Ü‚·B - Å‰‚Épasswordencrypt‚Ń`ƒFƒbƒN‚ĩAŽļ”s‚·‚ę‚Î - passwordencrypt2‚Ń`ƒFƒbƒN‚ĩ‚Ü‚·B - - (login/) - login2.c/login.h - ˆÃ†‰ŧƒpƒXƒ[ƒh‚ĖÆ‡•”•Š‚ðCģ - -EƒAƒJƒEƒ“ƒgėŽƒc[ƒ‹‚ð“Y•t - Perlŧ‚Č‚Ė‚ÅŽĀs‚É‚ÍPerl‚Š•K—v‚Å‚·B - Žg—p•û–@‚Č‚Į‚̓GƒfƒBƒ^‚ÅŠJ‚Ē‚ÄŒĐ‚Ä‚­‚ū‚ģ‚ǁB - Žg‚Ē•û‚Š—Į‚­‚í‚Đ‚į‚Ȃǐl‚ÍŽč‚ðo‚ģ‚Ȃǂ؂΂Ђǂǂł·B - - (tool/) - addaccount - ƒAƒJƒEƒ“ƒgėŽƒc[ƒ‹PerlƒXƒNƒŠƒvƒg - -EƒXƒLƒ‹‚Ė’Į‰ÁCģ - Eƒtƒ@ƒCƒ„[ƒEƒH[ƒ‹‚ˉņ”§ŒĀ‚ðƒOƒ‹[ƒv–ˆ‚Đ‚įƒ†ƒjƒbƒg–ˆ‚ɏCģ - EƒNƒ@ƒOƒ}ƒCƒA‰žŽĀ‘• i“G‚ĖˆÚ“Ū‘Ž“xAƒLƒƒƒ‰‚Ė•\ŽĶ”’l‚͕ωŧ‚đ‚ļj - EƒEƒH[ƒ^[ƒ{[ƒ‹‰žŽĀ‘•i“Ūė‚Šģ‚ĩ‚Ē‚Ė‚Đ•s–ūj - EƒtƒƒXƒgƒmƒ”ƒ@‰žŽĀ‘•iƒGƒtƒFƒNƒg‚Š—Į‚­‚í‚Đ‚į‚Ȃǂ˂œK“–j - Eƒxƒmƒ€ƒ_ƒXƒg‰žŽĀ‘•i”ÍˆÍ‚Æ‚Đ‚Šģ‚ĩ‚Ē‚Đ‚Į‚Ī‚Đ•sˆĀj - Eƒvƒƒ{ƒbƒNAƒI[ƒgƒo[ƒT[ƒNAđ‘Ė~•ŸAŧ‚Ü‚ŦAÎ“Š‚°‚ĖŽĀ‘• - EƒGƒ“ƒ`ƒƒƒ“ƒgƒ|ƒCƒYƒ“‚˓ŕt—^ŽĀ‘• - - *’ˆÓ* “ŏó‘Ô‚ÍŒĐ‚―–Ú‚ū‚Ŋ‚ÅŒø‰Ę‚Í–ĒŽĀ‘• - - (db/) - skill_db.txt - ŧ‚Ü‚Ŧ/Î“Š‚°/ƒEƒH[ƒ^[ƒ{[ƒ‹‚Č‚ĮCģ - (map/) - skill.c/skill.h - FXCģ - mob.c/mob.h - mob_target()’Į‰ÁBMOB‚Ėƒ^ƒQ—p - battle.c - battle_get_*()ŒnCģ‚Č‚Į - pc.c - pc_calcstatus()Cģ - ----------- -//0297 by ŒÓ’ą—– - -ELoginŽI‚ŠƒpƒXƒ[ƒhˆÃ†‰ŧ‚ɑΉž - ˆÃ†‰ŧkey‚ÍŽI‹N“ŪŽž‚Ɉę“x‚ū‚ŊėŽ‚ĩ‚Ü‚·B - - **’ˆÓ** - ˆÃ†‰ŧƒpƒXƒ[ƒh‚ðŽg‚Á‚Ăǂéę‡‚́AƒAƒJƒEƒ“ƒg‚ðėŽ‚Å‚Ŧ‚Ü‚đ‚ņB - ƒAƒJƒEƒ“ƒg‚ðė‚éę‡‚Íclientinfo.xml‚ð•ŌW‚·‚é‚Č‚Į‚ĩ‚āA - ƒpƒXƒ[ƒh‚ðˆÃ†‰ŧ‚ĩ‚Č‚ĒƒNƒ‰ƒCƒAƒ“ƒg‚ðŽg‚Ī•K—v‚Š‚ ‚č‚Ü‚·B - - (login/) - login2.c/login.h - ˆÃ†‰ŧƒpƒXƒ[ƒh‚ĖƒpƒPƒbƒgˆ—’Į‰Á - ˆÃ†‰ŧkey‚ĖķŽˆ—’Į‰Á - md5calc.c/md5calc.h - V‹K’Į‰ÁBmd5ŒvŽZ—p - - -EƒXƒLƒ‹Žg—pƒfƒBƒŒƒC‚ÉDEX‚Š”―‰f‚ģ‚ę‚Ȃǂæ‚Ī‚ÉCģ - skill.c - skill_delay_fix()‚ĖCģ - -EŽ€–SŒã‚āˆę•”‚Ėó‘ÔˆŲí‚ĖŒø‰Ę‚ŠŽ‘ą‚·‚é–â‘č‚ðCģ - pc.c - pc_damage()‚ÅŽ€–SŽž‚Épc_calcstatus()‚ðŒÄ‚Ô‚æ‚Ī‚ÉCģ - atcommand.c - Ž€–SŽžˆ—‚ðˆę–{‰ŧ‚·‚é‚―‚ß@die‚Å‚Ípc_damage‚ðŒÄ‚Ô‚æ‚Ī‚ÉCģ - - ----------- -//0295 by ŒÓ’ą—– - -EƒNƒŒƒCƒ‚ƒA[ƒgƒ‰ƒbƒv‚Č‚Į‚ɃXƒLƒ‹‚ðŽg‚Ī‚Æƒ}ƒbƒvŽI‚Š—Ž‚ŋ‚é–â‘č‚ĖCģ - - battle.c - battle_get_*()‚Č‚Į‚ÅBL_PC,BL_MOB‚ķ‚á‚Č‚Ē‚Æ‚Ŧ‚Ėˆ—‚ð’Į‰Á - skill.c/skill.h - skill_unit_ondamage()’Į‰Á - -E–ņ21Mz‚ð’ī‚Ķ‚éƒAƒCƒeƒ€‚ðNPC‚ňĩ‚Ī‚Æ‚ŦOC,DCŒvŽZ‚Å’l’i‚Š‚Ļ‚Đ‚ĩ‚­‚Č‚éƒoƒOCģ - DC‚Å‚Í20MzAOC‚Å‚Í70Mz‚ð’ī‚Ķ‚éƒAƒCƒeƒ€‚ÍdoubleŒ^‚É‚ĩ‚ÄŒvŽZ‚ĩ‚Ü‚· - - pc.c - pc_modifysellvalue(),pc_modifysellvalue()‚ĖCģ - ----------- -//0294 by ŒÓ’ą—– - -EƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒh‚ŃGƒŠƒAŽw’č‚ĖMOB•Ķ‚Ŧ–―—ß‚ðėŽ - areamonster "ƒ}ƒbƒv–ž",x0,y0,x1,y1,"MOB•\ŽĶ–ž",MOB‚Ėclass,”,"ƒCƒxƒ“ƒg–ž" - Ā•WŽw’肊(x0,y0)-(x1,y1)‚Ė”CˆÓƒ|ƒCƒ“ƒg‚ɂȂé‚ū‚Ŋ‚Å‘ž‚Ímonster–―—߂ƓŊ‚ķ‚Å‚· - - script.c - buildin_areamonster()’Į‰Á - mob.c/mob.h - mob_once_spawn_area()’Į‰Á - -EƒAƒCƒXƒEƒH[ƒ‹‚ĖŽI‘Īˆ—‰žŽĀ‘• - UŒ‚‚Å‚Ŧ‚ȂǂȂĮ‚Ė–â‘č‚Í‚ ‚é‚ā‚˂ˁAŽI‘Ī‚Å‚Í‚Æ‚č‚ ‚Ķ‚ļ“Ū‚Ŧ‚Ü‚·B - ‚―‚ūAƒNƒ‰ƒCƒAƒ“ƒg‚ɐi“ü•s‰Â”\ƒGƒŠƒA‚ð‹ģ‚Ķ‚éƒpƒPƒbƒg‚Š‚í‚Đ‚į‚Ȃǂ˂ŁA - ŽI‘΂łÍIW‚ˉņ‚荾‚Ý‚ðs‚Īę‡‚Å‚āAƒNƒ‰ƒCƒAƒ“ƒg‘Ī‚Å‚Í‚·‚č”ē‚Ŋ‚Ăǂé - ‚æ‚Ī‚ÉŒĐ‚Ķ‚Ü‚·B - - skill.c - ŠY“–ˆ—’Į‰Á‚Č‚Į - ----------- -//0293 -E2-2ŽŸE‚ĖƒXƒLƒ‹ƒRƒƒ“ƒg‚ĖCģiˆę•”’Į‰Áj - (db/) - skill_db.txt - skill_tree.txt - - ----------- -//0292 by ŒÓ’ą—– - -ESHOP NPC‚ɘb‚ĩŠ|‚Ŋ‚邯NPC‚Š”―‰ž‚ĩ‚Č‚­‚Č‚é–â‘č‚Ė‚Ü‚Æ‚ā‚ȁHCģPart2 - E”„”ƒ‚Å‚Ŧ‚ȂЂÁ‚―–â‘čCģ - - map.h - struct map_session_data ‚Énpc_shopidƒƒ“ƒo’Į‰Á - npc.c - npc_click()‚Č‚ĮCģ - -EƒXƒNƒŠƒvƒg–―—ß’Į‰Á - EŽw’čƒGƒŠƒA‚Ėƒ†[ƒU[”‚ĖŠ“ū - getareausers("ƒ}ƒbƒv–ž",x0,y0,x1,y1) - Žw’čƒ}ƒbƒv‚Ė(x0,y0)-(x1,y1)‚ɂǂéPC‚ː”‚ðŒvŽZ - EŽw’čƒGƒŠƒA‚Ėƒ†[ƒU[‚Ėƒ[ƒv - areawarp "“]‘—Œģƒ}ƒbƒv–ž",x0,y0,x1,y1,"“]‘—æƒ}ƒbƒv–ž",x,y; - Žw’čƒ}ƒbƒv‚Ė(x0,y0)-(x1,y1)‚ɂǂé‘SPC‚ðŽw’čƒ}ƒbƒv‚Ė(x,y)‚É“]‘—B - - script.c - buildin_areawarp(),buildin_getareausers()’Į‰Á - -EƒXƒLƒ‹Cģ - EƒeƒŒƒ|[ƒgŽg—pŽž‚ɁuƒeƒŒƒ|[ƒg!!v‚Æ‹Đ‚Ô‚æ‚΂ɁB - EƒXƒg[ƒ“ƒJ[ƒX‚ĖŽŒũ—͂Вá‚ǂ˂ðCģ - - skill.c - skill_castend_nodamage_id()Cģ - ----------- -//0291 by ŒÓ’ą—– - -EƒXƒNƒŠƒvƒg–―—ß’Į‰Á - ENPC‚Ė—LŒø–ģŒø‚ŠØ‚č‘Ö‚Ķ‚į‚ę‚邿‚΂ɂȂč‚Ü‚ĩ‚― - disablenpc "NPC–ž"‚Å–ģŒø‰ŧAenablenpc "NPC–ž"‚Å—LŒø‰ŧB - NPC–ž‚Šd•Ą‚ĩ‚Ăǂ邯‚Ŧ‚Ė“Ūė‚Í•s’č‚Å‚·B - Žå‚Ƀ[ƒvƒ|ƒCƒ“ƒg‚ð–ģŒø‰ŧ‚·‚邯‚Ŧ‚ÉŽg‚ǂ܂·B - - Eƒ^ƒCƒ}[‚ĖƒJƒEƒ“ƒg‚ð•ύX‚·‚éƒXƒNƒŠƒvƒg–―—ß’Į‰Á - addtimercount "ƒCƒxƒ“ƒg–ž",ƒ~ƒŠ•b - ‚ŁAƒ^ƒCƒ}‚ĖŠúŒĀ‚ð‰„‚Î‚đ‚Ü‚·i•‰’l‚ðŽw’č‚ĩ‚ÄŒļ‚į‚·‚ą‚Æ‚āo—ˆ‚Ü‚·j - - EƒAƒiƒEƒ“ƒX‚ĖŠg’Ģ - mapannounce "ƒ}ƒbƒv–ž","ƒAƒiƒEƒ“ƒX•ķŽš—ņ",ƒtƒ‰ƒO - ‚ÅŽw’čƒ}ƒbƒv‚ɃAƒiƒEƒ“ƒX‚ð—Ž‚ĩ‚Ü‚·Bƒtƒ‰ƒO‚Í0‚Å‰ĐFA16‚Ղł·B - areaannounce "ƒ}ƒbƒv",x0,y0,x1,y1,"•ķŽš—ņ",ƒtƒ‰ƒO - ‚ÅŽw’čƒ}ƒbƒv‚Ė(x0,y0)-(x1,y1)‚ĖƒGƒŠƒA‚ɃAƒiƒEƒ“ƒX‚ð—Ž‚ĩ‚Ü‚·B - ƒtƒ‰ƒO‚Ímapannounce‚Æ“Ŋ‚ķ‚ŁA0‚Å‰ĐFA0x10‚Ղł·B - - (conf/) - npc_test_arena.txt - ƒTƒ“ƒvƒ‹‚ĖCģ - (map/) - script.c - buildin_disablenpc(),buildin_enablenpc(), - buildin_mapannounce(),buildin_areaannounce(), - buildin_addtimercount()‚Ė’Į‰Á - npc.c/npc.h - NPC‚Ė—LŒø–ģŒøˆ—’Į‰Á - map.h - struct npc_data‚Éflagƒƒ“ƒo’Į‰Á(1ƒrƒbƒg–Ú‚Š–ģŒøƒtƒ‰ƒO) - clif.c - clif_getareachar_npc()‚ĖCģ - pc.c/pc.h - pc_addeventtimercount()’Į‰Á - -ESHOP NPC‚ɘb‚ĩŠ|‚Ŋ‚邯NPC‚Š”―‰ž‚ĩ‚Č‚­‚Č‚é–â‘č‚Ė‚Ü‚Æ‚ā‚ȁHCģ - SHOP NPC‚ÆŽæˆø’†‚Å‚āƒCƒxƒ“ƒg‚Š‹N‚ą‚邿‚΂ɂȂč‚Ü‚·B - ‚ą‚ę‚ÍRO‚ĖŽd—lã”ð‚Ŋ‚é‚˂Гï‚ĩ‚Ē‚―‚ß‚ą‚Ė‚æ‚Ī‚ČŒ‹‰Ę‚Å—Ž‚ŋ’…‚Ŧ‚Ü‚ĩ‚―B - - npc.c - npc_click()“™‚ĖCģ - -EƒXƒLƒbƒhƒgƒ‰ƒbƒv‚ÅŽc‘œ‚ŠŽc‚é–â‘čCģ - skill.c - skill_blown()‚Åclif_walkok()‚Č‚Į‚ðŒÄ‚Ô‚æ‚΂ɁB - skill_unit_onplace()‚Ėclif_fix*pos()‚ðíœB - ----------- -//0290 by ŒÓ’ą—– - -EƒXƒNƒŠƒvƒg‚ÅMAPŽI“ā‹Ī—L•ϐ”‚ŠŽg‚͂邿‚΂ɂȂč‚Ü‚ĩ‚―B - •ϐ”–ž‚ð$‚ÅŠJŽn‚·‚邯AMAPŽI“ā‚Ė‘Sˆõ‚ŋΗL‚·‚é•ϐ”‚ɂȂč‚Ü‚·B - - Œū—t‚Ė–â‘č‚Å‚·‚ЁAPC‚Ėglobalreg‚́u‘åˆæ“Iv‚Æ‚Ē‚Ī‚æ‚ču‰i‘ąŦ‚Ė‚ ‚év - •ϐ”‚Å‚ ‚Á‚āAMAPŽI“ā‹Ī—L•ϐ”‚Ė‚Ų‚Ī‚Š‘åˆæ“I‚Á‚ăCƒ[ƒW‚Š‹­‚Ē‚ņ‚Å‚·‚Ёc - - script.c - mapval_db’č‹` - buildin_set(),buildin_input()‚ĖCģ - do_init_script()’Į‰Á - map.c - do_init()‚Ådo_init_script()‚ðŒÄ‚Ô‚æ‚΂ɁB - -EƒCƒxƒ“ƒgƒLƒ…[‚ŠŽĀ‘•‚ģ‚ę‚Ü‚ĩ‚― - EƒLƒ…[ƒTƒCƒY‚Í‚Q‚Å‚·B•K—v‚Č‚į‘‚â‚ĩ‚Ü‚·‚ЁB - - ƒTƒ“ƒvƒ‹‚Ė[ev_doƒeƒXƒg]‚Š‚ŋ‚á‚ņ‚Æ“Ū‚­‚æ‚΂ɂȂÁ‚―‚ÆŽv‚ǂ܂·B - - map.h - struct map_session_data‚Éeventqueueƒƒ“ƒo’Į‰Á - npc.c - npc_event_timer()’Į‰Á - script.c - run_script()‚ÅENDˆ—‚ŃLƒ…[‚Ėˆ—’Į‰Á - -EƒXƒNƒŠƒvƒg‚Ń^ƒCƒ}[‚ŠŽg—p‚Å‚Ŧ‚邿‚΂ɂȂč‚Ü‚ĩ‚― - Žg—p•û–@‚́Aaddtimer ƒ~ƒŠ•b,"ƒCƒxƒ“ƒg–ž" ‚Ń^ƒCƒ}[’Į‰ÁA - deltimer "ƒCƒxƒ“ƒg–ž" ‚Ń^ƒCƒ}[íœB - - (common/) - timer.c/timer.h - get_timer(),addtick_timer()’Į‰Á - (map/) - map.c/map.h - struct map_session_data‚Éeventtimerƒƒ“ƒo’Į‰Á - map_quit()‚Åpc_cleareventtimer()‚ðŒÄ‚Ô‚æ‚΂ɁB - pc.c - pc_addeventtimer(),pc_deleventtimer(),pc_eventtimer(), - pc_cleaereventtimer()’Į‰Á - pc_authok()‚Åeventimer‚Ė‰Šú‰ŧ - script.c - buildin_addtimer(),buildin_deltimer()’Į‰Á - -EƒXƒNƒŠƒvƒg‚Ė’Į‰Á - Egetusers,getmapusers,killmonster‚Ė’Į‰Á - getusers(x)‚̓†[ƒU[”Š“ūAx=0‚ÅPC‚ĖMAP,1=‘SMAP,8=NPC‚ĖMAPB - getmapusers("ƒ}ƒbƒv–ž")‚ÍŽw’čƒ}ƒbƒv‚Ėƒ†[ƒU[”‚ðŠ“ū‚·‚éB - killmonster "ƒ}ƒbƒv–ž","ƒCƒxƒ“ƒg–ž"‚ÅŠY“–‚Ėƒ}ƒbƒv‚ɂǂéA - ŠY“–‚ĖƒCƒxƒ“ƒg‹ė“ŪŽw’čƒ‚ƒ“ƒXƒ^[‚ð‘S‚č폜B - EannounceƒRƒ}ƒ“ƒhŠg’Ģ - ƒtƒ‰ƒO‚Ė0x08ƒrƒbƒg‚Š1‚Č‚įƒ}ƒbƒv‚âƒGƒŠƒAŒvŽZ‚ÉPC‚łȂ­NPC‚ðŽg‚Ī - - mob.c/mob.h - mob_delete()’Į‰Á - script.c - buildin_getusers(),buildin_getmapusers(), - buildin_killmonster()’Į‰Á - clif.c/clif.h - clif_GMmessage()‚Ėˆø”•ύX - -EƒCƒxƒ“ƒgƒTƒ“ƒvƒ‹’Į‰Á - ŠČ’P‚ČƒAƒŠ[ƒi‚ĖƒTƒ“ƒvƒ‹‚ð’Į‰ÁB - - (conf/) - npc_test_ev.txt - ]—ˆ‚ĖƒTƒ“ƒvƒ‹‚ĖCģ - npc_test_arena.txt - ŠČ’P‚ČƒAƒŠ[ƒi‚ĖƒTƒ“ƒvƒ‹ - ƒ[ƒvƒ|ƒCƒ“ƒg‚Ė–ģŒø‰ŧƒRƒ}ƒ“ƒh‚Č‚Į‚Š•K—v‚ÆŽv‚í‚ę‚éB - -ESHOP NPC‚ɘb‚ĩŠ|‚Ŋ‚邯NPC‚Š”―‰ž‚ĩ‚Č‚­‚Č‚é–â‘čCģ - - npc.c - npc_buylist(),npc_selllist()Cģ - ----------- -//0289 by ŒÓ’ą—– - -EƒCƒxƒ“ƒg‹ė“ŪŒ^ƒXƒNƒŠƒvƒg‚ĖCģ‚Č‚Į - E‘ž‚ĖNPC‚ɘb‚ĩŠ|‚Ŋ‚Ăǂ邯‚Ŧ‚̓Cƒxƒ“ƒg‚Š–ģŽ‹‚ģ‚ę‚邿‚΂ɂȂč‚Ü‚ĩ‚― - =>ƒLƒ…[‚É“ü‚ę‚é‚Č‚Į‚Ėˆ—‚Ђǂ邯Žv‚í‚ę‚éB - - ‚ą‚ĖŠÖŒW‚ŁAƒTƒ“ƒvƒ‹‚Ė[ev_doƒeƒXƒg]NPC‚ðƒNƒŠƒbƒN‚ĩ‚Ä‚ā - IDƒGƒ‰[‚Šo‚ĉ―‚ā‹N‚Ŧ‚Ü‚đ‚ņBƒCƒxƒ“ƒgƒLƒ…[‚ðė‚ę‚Î’ž‚é‚Í‚ļB - - npc.c - npc_event(),npc_click()‚Énpc_idƒ`ƒFƒbƒN‚ð’Į‰Á - script.c - I—đŽž‚Énpc_id‚ðƒNƒŠƒA‚·‚邿‚Ī‚É - -EƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒh[announce]‚Ė’Į‰Á - EGMƒƒbƒZ[ƒW‚É‚æ‚éannounceB - ‘æ1ˆø”‚Í•ķŽš—ņA‘æ2ˆø”‚̓tƒ‰ƒO‚ŁA - ƒtƒ‰ƒO‚ˉšˆĘ‚Sƒrƒbƒg‚Š0=‘S‚āA1=“Ŋ‚ķƒ}ƒbƒvA - 2=‰æ–Ę“āA3=ŽĐ•Š‚Ė‚ÝA4=“Ŋ‚ķƒ}ƒbƒvŽI‚É‘—MB - ƒtƒ‰ƒO‚Ė‚Sƒrƒbƒg–ڂ͐Fƒtƒ‰ƒO‚ŁA0x10=ÂA0x00=‰ĐF - - script.c - buildin_announce()‚Ė’Į‰Á - clif.c - clif_send()‚ÅSELF‚Ėˆ—’Į‰Á - clif_GMmessage()‚Ėˆø”•ύX - intif.c - intif_GMmessage()‚Ėˆø”•ύX - -Eƒƒ‚‹ÖŽ~AƒeƒŒƒ|‹ÖŽ~AƒZ[ƒu‹ÖŽ~ƒ}ƒbƒv‚ŠŽw’č‚Å‚Ŧ‚邿‚΂ɂȂč‚Ü‚ĩ‚―B - ENPC‚ŁAmapflag‚Æ‚Ē‚Īƒ^ƒCƒv‚ŁA–ž‘O‚ð nomemo A noteleport‚Å - ƒƒ‚‚ƃeƒŒƒ|‹ÖŽ~Bnosave ‚ŁAˆø”‚ɃZ[ƒu‚·‚éƒ}ƒbƒv–ž‚ÆĀ•W‚ðŽw’čB - - Ú‚ĩ‚­‚Í“ŊŦ‚Ėconf/npc_test_ev.txt‚ðŽQÆB - - (conf/) - npc_test_ev.txt - Cģ - (map/) - map.h - struct map_data ‚Éflag,savemap,savex,saveyƒƒ“ƒo’Į‰Á - npc.c - npc_parse_mapflag()’Į‰Á - do_init_npc()‚ĖCģ - pc.c - pc_memo()‚сƒ‚‹ÖŽ~‚Đ‚Į‚Ī‚Đ‚ðŠm”F - pc_makesavestatus()‚ŃZ[ƒu‹ÖŽ~‚Č‚įƒ}ƒbƒv‚ð•ύX - pc_randomwarp()‚ŃeƒŒƒ|‹ÖŽ~‚Đ‚Į‚Ī‚ĐŠm”F - skill.c - ƒeƒŒƒ|‚ƃ|ƒ^‚ŃeƒŒƒ|‹ÖŽ~‚ĐŠm”F - - -Eƒtƒ@ƒCƒ„[ƒEƒH[ƒ‹‚Å—Ž‚ŋ‚é–â‘čCģc‚ū‚Æ‚Ē‚Ē‚Č - - skill.c - ‚ģ‚į‚Ƀ`ƒFƒbƒN‚ð’Į‰Á - skill_blown()‚É—Ž‚ŋ‚éŒīˆö‚Á‚Û‚Ē‚ā‚Ė”­ŒĐ‚ĩ‚―‚Ė‚ÅCģ - ----------- -//0288 by ŒÓ’ą—– - -EŽĐ“Ū‘é”­“ŪŽž‚ɁuƒuƒŠƒbƒcƒr[ƒg!!v‚Æ‹Đ‚Î‚Č‚­‚Č‚č‚Ü‚ĩ‚― - skill.c - skill_attack(),skill_additional_effect(), - skill_castend_damage_id()‚ĖCģ - -EƒCƒxƒ“ƒg‹ė“ŪŒ^ƒXƒNƒŠƒvƒg‚Š‹Lq‚Å‚Ŧ‚邿‚΂ɂȂč‚Ü‚ĩ‚― -Eƒ‚ƒ“ƒXƒ^[‚ð“|‚ĩ‚―‚Æ‚Ŧ‚ɃCƒxƒ“ƒgƒXƒNƒŠƒvƒg‚ð“Ū‚Đ‚đ‚邿‚΂ɂȂč‚Ü‚ĩ‚― - - NPC’č‹`‚Ėscript‚Å•\ŽĶƒNƒ‰ƒX‚ð-1‚É‚·‚邯ƒCƒxƒ“ƒgˆĩ‚ǂɂȂč‚Ü‚·B - NPC’č‹`‚Ėmonster‚ɃCƒxƒ“ƒg–ž‚ðÝ’č‚Å‚Ŧ‚Ü‚·B - ƒXƒNƒŠƒvƒg‚ĖmonsterƒRƒ}ƒ“ƒh‚ɃCƒxƒ“ƒg‚ð‹N‚ą‚·ˆø”’Į‰ÁB - Ú‚ĩ‚­‚̓Tƒ“ƒvƒ‹‚ðŒĐ‚Ä‚­‚ū‚ģ‚ǁB - ĄŒãƒ^ƒCƒ}[‚ŃCƒxƒ“ƒg‚ð‹N‚ą‚đ‚邿‚΂ɂĩ‚æ‚Ī‚ÆŽv‚Á‚Ăǂ܂·B - - Œŧó‚ł́ANPCƒEƒBƒ“ƒhƒE‘€ė’†‚ɃCƒxƒ“ƒg‚ЂςŦ‚āA - ‚ŧ‚ĖƒCƒxƒ“ƒg‚ĖƒXƒNƒŠƒvƒg‚ÅNPCƒEƒBƒ“ƒhƒE‚ðo‚·‚Æ–â‘肊‹N‚Ŧ‚Ü‚·B - ‚ą‚Ė•Ó‚ÍĄŒã‚Ė‰Û‘č‚Æ‚Ē‚Ī‚ą‚Æ‚ŁB - - (db/) - item_db.txt/item_db2.txt - monsterƒRƒ}ƒ“ƒh‚Ė•ÏX‚É‚æ‚éCģiŒÃ–Ø‚ĖŽ}jB - (conf/) - npc_test_ev.txt - ƒTƒ“ƒvƒ‹ - (map/) - npc.c - npc_event()’Į‰Á - npc_parse_script()Cģ - npc_checknear()Cģ - clif.c - clif_getareachar_npc()Cģ - map.h - struct mob_data‚Énpc_eventƒƒ“ƒo’Į‰Á - mob.c/mob.h - mob_once_spawn()‚Ėˆø”•ύX - mob_damage()‚ÅŽ€–SŽž‚ɃCƒxƒ“ƒg‚ð‹N‚ą‚·‚æ‚Ī‚É - atcommand.h - mob_once_spawn()‚Ėˆø”•ύX - script.c - buildin_monster()‚ĖCģ - ----------- -//0287 by ŒÓ’ą—– - -Eƒ‚ƒ“ƒXƒ^[î•ņƒXƒLƒ‹‚Å‚g‚o‚Š65535‚ð‰z‚͂Ăǂ邯ģí‚Č’l‚ŠŒĐ‚ę‚Č‚ĒƒoƒOCģ - - clif.c - clif_skill_estimation()‚ĖCģ - -EŒÃ–Ø‚ĖŽ}ƒAƒCƒeƒ€‚ŃNƒ‰ƒCƒAƒ“ƒg‚ŠƒŠƒ\[ƒXƒGƒ‰[‚ðo‚·–â‘肊Cģ‚ģ‚ę‚Ü‚ĩ‚― -EŒÃ–Ø‚ĖŽ}ƒAƒCƒeƒ€‚ÅĒŠŦ‚Å‚Ŧ‚é“G‚ŠŽw’č‚Å‚Ŧ‚邿‚΂ɂȂč‚Ü‚ĩ‚― - - (db/) - mob_branch.txt - ĒŠŦ‰Â”\‚Č“G‚ĖƒŠƒXƒg - (map/) - mob.c/mob.h - struct mob_data‚Ésummonflagƒƒ“ƒo’Į‰ÁBĒŠŦ‰Â”\ŦB - mob_once_spawn()‚ĖCģ - mob_readbranch()‚Ė’Į‰Á - do_init_mob()‚Åmob_readbranch()‚ðŒÄ‚Ô‚æ‚΂ɁB - -EŒÃ‚­Â‚Ē” AŒÃ‚ĒŽ‡F‚Ė” ‚ŠŽĀ‘•‚ģ‚ę‚Ü‚ĩ‚―B - ˆę•”‚Ė–ĒŽĀ‘•ƒAƒCƒeƒ€‚āo‚Ü‚·Bitem_db.txt‚É‚ ‚éƒf[ƒ^‚ðŒŸõ‚ĩ‚Ăǂ܂·B - ƒXƒNƒŠƒvƒggetitem‚Å•‰‚Ė’l‚ðŽw’č‚·‚邯A‚ŧ‚ːâ‘Î’l‚ðƒtƒ‰ƒO‚Æ‚ĩ‚Ä - ƒ‰ƒ“ƒ_ƒ€‚ɃAƒCƒeƒ€‚ð‘I‘ð‚ĩ‚Ü‚·B - - (db/) - item_db.txt/item_db2.txt - ŠY“–•”•Š‚ĖƒXƒNƒŠƒvƒgCģ - (map/) - script.c - buildin_getitem()‚ĖCģ - itemdb.c/itemdb.h - itemdb_searchrandomid(),itemdb_searchrandomid_sub()’Į‰Á - -E‰rĨƒf[ƒ^‚Ėˆę•”Cģ - (db/) - cast_db.txt - ‘Ž“xãļ‚Č‚Į‚ĖCģ - -ENPC‚ĖŒü‚ŦCģ‚Č‚Į - (conf/) - npc_*.txt - ----------- -//0286 by ŒÓ’ą—– - -Eƒ‚ƒ“ƒXƒ^[î•ņƒXƒLƒ‹‚ŃNƒ‰ƒCƒAƒ“ƒg‚Š—Ž‚ŋ‚éƒoƒOCģ - clif.c - clif_skill_estimation()‚ĖCģ - -E‰rĨ”―‰žƒ‚ƒ“ƒXƒ^[‚Š”―‰ž‚ĩ‚Č‚Ē‚ą‚Æ‚Š‚ ‚é–â‘č‚ðCģ - skill.c - skill_use_id(),‰rĨ”―‰žŽžAÅ’á’ĮÕ‹——Ģ‚ð13‚ɐݒ肷‚邿‚΂ɁB - -EƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒh[warp]‚ŃZ[ƒuƒ|ƒCƒ“ƒgˆÚ“Ū‚âƒ‰ƒ“ƒ_ƒ€ˆÚ“Ū‚Š‰Â”\‚ɂȂč‚Ü‚ĩ‚― -EƒnƒG‚ˉHA’ą‚ˉHƒAƒCƒeƒ€‚ŠŽĀ‘•‚ģ‚ę‚Ü‚ĩ‚― - ƒXƒNƒŠƒvƒgwarp‚Ń}ƒbƒv–ž‚É"SavePoint"‚â"Random"‚ŠŽw’č‚Å‚Ŧ‚Ü‚·B - - (db/) - item_db.txt/item_db2.txt - ƒnƒG‚ˉHA’ą‚ˉH‚ĖƒXƒNƒŠƒvƒgCģ - script.c - buildin_warp()‚ĖCģ - -E@monsterƒRƒ}ƒ“ƒh‚É‚æ‚éMOB‚Š•œŠˆ‚ĩ‚Ȃǂæ‚΂ɂȂč‚Ü‚ĩ‚― -EƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒh[monster]‚ÅMOB‚𔭐ķ‚ģ‚đ‚邹‚Æ‚Š‚Å‚Ŧ‚邿‚΂ɂȂč‚Ü‚ĩ‚― -EŒÃ–Ø‚ĖŽ}ƒAƒCƒeƒ€‚ŠŽĀ‘•‚ģ‚ę‚Ü‚ĩ‚― - - ƒXƒNƒŠƒvƒgˆø”‚Í monster ƒ}ƒbƒv–ž,x,y,MOB–ž,MOB‚ĖID,” ‚Å‚·B - ƒ}ƒbƒv–ž‚Š"this"‚Ėę‡AƒXƒNƒŠƒvƒg‚ðŽĀs‚ĩ‚―ƒvƒŒƒCƒ„[‚˂ǂéƒ}ƒbƒvA - x,y‚Š-1‚Č‚įƒvƒŒƒCƒ„[‚ĖĀ•Wi‚Į‚ŋ‚į‚Đˆę•û‚Ė‚Ý‚ŧ‚ë‚Ķ‚é‚ą‚Æ‚ā‰Â”\jA - MOB–ž‚Š"--en--"‚Ėę‡A–{—ˆ‚ˉpŒę–ž‚ɂȂčA"--ja--"‚Ėę‡A - –{—ˆ‚Ė“ú–{Œę–ž‚ɂȂč‚Ü‚·BMOB‚ĖID‚Š-1‚Ėę‡A“K“–‚ČID‚ɂȂč‚Ü‚·B - - (db/) - item_db.txt/item_db2.txt - ŒÃ–Ø‚ĖŽ}‚ĖƒXƒNƒŠƒvƒgCģ - (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@itemƒRƒ}ƒ“ƒh‚ĖCģi‘•”õ•i‚Č‚Į‚Ė–â‘čj - - atcommand.c - @item‚ĖCģ - ----------- -//0284 by ŒÓ’ą—– - -EáŠQ•ςЂ ‚邯‰“‹——ĢUŒ‚‚ЂłŦ‚Č‚­‚Č‚č‚Ü‚ĩ‚― -E‘Î’nƒXƒLƒ‹‚ŠáŠQ•Ļã‚ÉŽg—p‚Å‚Ŧ‚Č‚­‚Č‚č‚Ü‚ĩ‚― - - path.c - path_search(),can_move()‚ĖCģAcan_place()‚Ė’Į‰Á - battle.c/battle.h - battle_check_range()’Į‰ÁAŽË’ö‚ƏáŠQ•Ļ”ŧ’čB - 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ģ - -E‰rĨ”―‰ž/ƒŠƒ“ƒNƒ‚ƒ“ƒXƒ^[‚ŠŽĀ‘•‚ģ‚ę‚Ü‚ĩ‚― - skill.c - skill_use_id()‚ɉrĨ”―‰žƒ‚ƒ“ƒX‚Ėˆ—’Į‰Á - mob.c - mob_ai_sub_hard_linksearch()‚Ė’Į‰Á - mob_ai_sub_hard()‚ÉƒŠƒ“ƒNˆ—‚ðCģ - ----------- -//0283 by ‚ę‚  -EƒŠƒUƒŒƒNƒVƒ‡ƒ“‚ĖCģ - 0282‚Őķ‚Ŧ‚Ä‚é‚o‚b‚ÉƒŠƒU‚Š‚Đ‚Ŋ‚ę‚é‚˂ɁA - Ž€‚ņ‚Å‚é‚o‚b‚É‚ÍƒŠƒU‚Š‚Đ‚Đ‚į‚Č‚­‚Č‚Á‚Ä - ‚Ē‚―‚Ė‚ðCģ‚ĩ‚Ü‚ĩ‚―B - ----------- -//0282 by ŒÓ’ą—– - -EƒXƒLƒ‹‚ĖCģ‚Æ’Į‰ÁŽĀ‘• - EƒLƒŠƒGƒGƒŒƒCƒ\ƒ“‚ĖƒGƒtƒFƒNƒg‚Ė–â‘čCģB - EƒŠƒUƒŒƒNƒVƒ‡ƒ“‚Аķ‚Ŧ‚ĂǂéPC‚ɂ͊|‚Ŋ‚į‚ę‚Ȃǂæ‚΂ɂȂč‚Ü‚ĩ‚― - Eƒ^[ƒ“ƒAƒ“ƒfƒbƒh/UŒ‚ƒŠƒUƒŒƒNƒVƒ‡ƒ“‚ŠBOSS‚ɂ͌ø‚Đ‚Č‚Ē‚æ‚΂ɂȂč‚Ü‚ĩ‚― - Eƒtƒ@ƒCƒ„[ƒEƒH[ƒ‹‚Ėƒqƒbƒg”§ŒĀ‚ðŽĀ‘• - EƒXƒg[ƒ€ƒKƒXƒg‚ĖŽĀ‘• - ‚―‚ū‚ĩA–{ŽI‚ƈá‚Ē“€Œ‹‚ÍŠm—Ķ‚Ė‚Ý‚ÅAÅ‘åƒqƒbƒg”‚Č‚Į‚Š•Ï‚Å‚·B - - skill.c - skill_castend_nodamage_id()‚ĖCģ - ƒXƒg[ƒ€ƒKƒXƒg‚Ėˆ—’Į‰Á - -EƒXƒLƒ‹ƒ†ƒjƒbƒgˆ—‚ɈӒn‚ɂȂÁ‚ÄˆĀ‘SŦƒ`ƒFƒbƒN‚ð’Į‰ÁB - i—Ž‚ŋ‚Č‚­‚Č‚é“ú‚͉“‚ǁHHj - - map.h - MAX_SKILLUNITGROUP‚ð32‚É‘‚â‚ĩ‚― - skill.c - skill_status_change_*()‚ÉNULLƒ`ƒFƒbƒN’Į‰Á - battle.c - battle_calc_damage()‚ɐķ‘ķƒ`ƒFƒbƒN’Į‰Á - map.c - map_freeblock_unlock()‚ɃƒbƒN”ƒ`ƒFƒbƒN‚ð’Į‰Á - -E‚ŧ‚Ė‘žCģ - EPC‚ĖÅ‘åHP‚Š30000‚ɐ§ŒĀ‚ģ‚ę‚Ü‚ĩ‚―B - EPC‚ˉņ•œˆ—‚ŠCģ‚ģ‚ę‚Ü‚ĩ‚― - E‚Ŧ”ō‚΂ĩˆ—‚ĖCģ - E0281‚Ėitem_db.txt‚Ė•ÏX‚ðitem_db2.txt‚É‚ā“K—p - - (map/) - pc.c - pc_heal(),pc_calcstatus()‚ĖCģ - path.c - path_blownpos()‚ĖCģ - (db/) - item_db2.txt - 0281‚Ė–ž‘OCģ‚Č‚Į‚ð“K—p - ----------- -//0280 by ŒÓ’ą—– - -EŠĮ—ŽŌ‚ĖƒVƒXƒeƒ€‚ðėŽ - "conf/login_athena.cnf"‚ĖėŽAŠĮ—ŽŌƒpƒXAGMƒpƒX‚ĖÝ’čB - ƒAƒJƒEƒ“ƒg‚ðė‚邯‚ŦA - ƒ—၄ ID: hoge_M Pass: foobar@admin - ‚Ė‚æ‚΂ɁAƒpƒXƒ[ƒh‚ĖŒã‚ë‚Ɂu@ŠĮ—ŽŌƒpƒXv‚Š•K—v‚ɁB - login_athena.cnf‚Ėadmin_pass‚Ė—“‚ðÁ‚đ‚΁AĄ‚܂ł˂æ‚΂ɂā‚Â‚Đ‚Ķ‚Ü‚·B - i‚ŧ‚Ėę‡Aadmin_pass‚ĖŒã‚ë‚ū‚Ŋ‚łȂ­As‚炯Á‚ĩ‚Ä‚­‚ū‚ģ‚ǁj - - (login/) - login.h - Ý’čƒtƒ@ƒCƒ‹‚ĖƒfƒtƒHƒ‹ƒg–ž’Į‰Á - login2.c - ƒAƒJƒEƒ“ƒgėŽ‚Ė‚Æ‚ą‚ë‚ðCģ - Ý’čƒtƒ@ƒCƒ‹‚Ė“Į‚ݍž‚Ý’Į‰Á - -E@GMƒRƒ}ƒ“ƒh•œŠˆ - ‚―‚ū‚ĩAu@gm GMƒpƒXv‚Æ‚ĩ‚ÄŽg‚ǂ܂·B - GMƒpƒX‚Ílogin_athena.cnf‚Ė‚ā‚˂ł·B - ŽI‚ĖÄ‹N“Ū‚Ė•K—v‚Í‚ ‚č‚Ü‚đ‚ņ‚ЁA - ƒNƒ‰ƒCƒAƒ“ƒg‚ÍƒŠƒƒO‚·‚é•K—v‚Š‚ ‚č‚Ü‚·B - - ƒ’ˆÓ„ - “Ŋ‚ķƒAƒJƒEƒ“ƒg‚Ė‘S‚Ä‚ĖƒLƒƒƒ‰‚ÍPT‚Đ‚į”ē‚Ŋ‚Ä’u‚ǂĂ­‚ū‚ģ‚ǁB - ‚Ü‚―A‘qŒÉ‚ĖƒAƒCƒeƒ€‚Í‘S•”ˆø‚Ŧo‚ĩ‚Ä’u‚ǂĂ­‚ū‚ģ‚ǁB - ‚ŧ‚Ī‚ĩ‚Č‚Ē‚ÆƒSƒ~ƒf[ƒ^‚ŠŽc‚č‚Ü‚·B - - (login/) - login2.c - ƒAƒJƒEƒ“ƒgID•ύXˆ—’Į‰Á - (char/) - char2.c - ƒAƒJƒEƒ“ƒgID•ύXˆ—’Į‰Á - (map/) - chrif.c/chrif.h - chrif_changegm(),chrif_changedgm()’Į‰Á - -E@pvpoffƒRƒ}ƒ“ƒ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@memoƒRƒ}ƒ“ƒh’Į‰ÁB - ”CˆÓ‚Ė‹L‰Ŋˆæ‚Ƀƒ‚‚ðŽæ‚ę‚邿‚΂ɂȂč‚Ü‚ĩ‚―B - - atcommand.c - @memo‚Ėˆ—’Į‰Á - - ----------- -//0279 by ŒÓ’ą—– - -EƒXƒLƒ‹ƒ†ƒjƒbƒgˆ—‚Ė–â‘č‘΍ô - ‚Æ‚č‚ ‚Ķ‚ļ‚Ђ―‚·‚įƒ`ƒFƒbƒN‚ð“ü‚ę‚Ü‚ĩ‚―B - - skill.c - skill_unit_timer_sub(),skill_unit_move_sub(), - skill_delunit()‚Ƀ†ƒjƒbƒg‚ːķ‘ķ”ŧ’č‚ð’Į‰ÁB - skill_unitgrouptickset_search(),skill_unitgrouptickset_delete() - skill_delunitgroup()‚ÉNULLƒ|ƒCƒ“ƒ^ƒ`ƒFƒbƒN‚ð’Į‰ÁB - -EƒXƒLƒ‹‚Ė’Į‰ÁŽĀ‘•‚ƏCģ - ƒeƒŒƒ|[ƒgAƒ[ƒvƒ|[ƒ^ƒ‹‚ĖŽĀ‘• - ƒLƒŠƒGƒGƒŒƒCƒ\ƒ“‚ðMOB‚ÉŠ|‚Ŋ‚邯—Ž‚ŋ‚éƒoƒOCģ - - (db/) - cast_db.txt - ƒ[ƒvƒ|[ƒ^ƒ‹‚ˉrĨŽžŠÔÝ’č - (map/) - map.h - struct skill_unit_group‚Ėvalstr‚ðƒ|ƒ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()‚ĖƒLƒŠƒG‚Ėˆ—Cģ - pc.c/pc.h - pc_randomwarp(),pc_memo()’Į‰Á - ----------- -//0278 by nabe - -EƒXƒLƒ‹ƒ|ƒCƒ“ƒg‚ðU‚Á‚―‚Æ‚Ŧ‚ɃXƒe[ƒ^ƒX‚ðXV - pc.c - pc_skillup()‚Åpc_calc_skilltree()‚Ė‘ã‚í‚č‚Épc_calcstatus() -EŠŽ—Ę‘‰Á‚ðCģ - pc.c - pc_calcstatus()‚ĖŠŽ—Ę‘‰Á‚É‚æ‚émax_weight‘•Š‚ðskill*1000‚É - ----------- -//0277 by nabe - -E•t‘Ū•iiƒJ[ƒgA‘éAƒyƒRj‚Ė•t‚ŊŠO‚ĩ‚ð‰ü—Į - (conf/) - npc_event_rental.txt - ‘éAƒyƒR‚ð•t‚Ŋ‚éƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒh‚ð•ύX - (map/) - battle.c - battle_addmastery(),battle_calc_weapon_attack()‚Å - ƒyƒRƒyƒR‹RæŽž‚Ė‘„UŒ‚—Í•âģ‚ðŽĀ‘• - clif.c - clif_parse_CartOff‚ðclif_parse_RemoveOption‚ɕύX - pc.c/pc.h - pc_calcstatus()‚ŃJ[ƒgAƒyƒRƒyƒRæ‚č‚É‚æ‚鑎“x•ωŧ‚ðŒvŽZ - pc_setoption(),pc_setcart()‰ü—Į - pc_setfalcon(),pc_setriding()’Į‰Á - pc.h‚Épc_isfalcon(),pc_isriding()ƒ}ƒNƒ’Į‰Á - script.c - buildin_setfalcon() ‘é•t‰Á - buildin_setriding() ƒyƒRƒyƒRæ‚č - ----------- -//0276 by nabe - -Eļ˜BNPCŽĀ‘• - (conf/) - npc_town_refine.txt - ļ˜BNPCƒXƒNƒŠƒvƒgƒtƒ@ƒCƒ‹V‹K’Į‰Á - (map/) - pc.c/pc.h - ļ˜BŽŒũ—͂˕\percentrefinery[5][10]‚ð’Į‰Á - script.c‚Đ‚įŒÄ‚΂ę‚éŠÖ” - pc_percentrefinery() ļ˜BŽŒũ—Ķ - pc_equipitemindex() ‘•”õ•iƒCƒ“ƒfƒbƒNƒX - ‚ð’Į‰Á - script.c - buildin_getequipname() ‘•”õ–ž•ķŽš—ņiļ˜Bƒƒjƒ…[—pj - buildin_getequipisequiped() ‘•”õƒ`ƒFƒbƒN - buildin_getequipisenableref() ‘•”õ•iļ˜B‰Â”\ƒ`ƒFƒbƒN - buildin_getequipisidentify() ‘•”õ•iŠÓ’čƒ`ƒFƒbƒN - buildin_getequiprefinerycnt() ‘•”õ•iļ˜B“x - buildin_getequipweaponlv() ‘•”õ•i•ŠíLV - buildin_getequippercentrefinery() ‘•”õ•iļ˜BŽŒũ—Ķ - buildin_successrefitem() ļ˜BŽŒũ - buildin_failedrefitem() ļ˜BŽļ”s - ‚ð’Į‰Á - -EƒXƒNƒŠƒvƒg‚ÉWeight,MaxWeightƒpƒ‰ƒ[ƒ^‚ð’Į‰Á - const.txt - Weight,MaxWeight‚ð’Į‰Á - -EƒXƒNƒŠƒvƒg‚Å‚Ėƒ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‚Ė”ŧ’č‚É‚Ídmglog‚ðŽg‚Á‚Ă܂·B‚·‚Č‚í‚ŋ—^ƒ_ƒ‚ū‚Ŋ‚ŠŒvŽZ‘Ώۂł·B - ”íƒ_ƒ‚͍l—ķ‚ģ‚ę‚Ă܂đ‚ņB - ŒoŒą’l‚Í–ģðŒ‚Å“ü‚čAŠm—͂łģ‚į‚ɃAƒCƒeƒ€‚Š“ü‚č‚Ü‚·B - ƒAƒCƒeƒ€‚Í•Ą”Žč‚É“ü‚邹‚Æ‚ā‚ ‚č‚Ü‚·B - - clif.c/clif.h - clif_mvp_effect(),clif_mvp_item(),clif_mvp_exp()’Į‰Á - mob.c - mob_damage()‚ÉMVPˆ—’Į‰Á - -EƒXƒLƒ‹‚Ė’Į‰ÁŽĀ‘•‚ƏCģ - Eƒ}ƒOƒiƒ€ƒuƒŒƒCƒNAƒAƒ[ƒVƒƒƒ[ŽĀ‘• - E‚Ŧ”ō‚΂ĩŒnƒXƒLƒ‹‚Šˆę•”Žg—p‚ģ‚ę‚Č‚ĒƒoƒOCģ - Eƒ_ƒuƒ‹ƒXƒgƒŒƒCƒtƒBƒ“ƒO‚Ėƒ_ƒ[ƒWŒvŽZŽŪCģ - E•ŠíUŒ‚Œn‘ېŦ•t‚ŦƒXƒLƒ‹‚őېŦ‚Š”―‰f‚ģ‚ę‚Ȃǖâ‘čCģ - EęŠŽw’čƒXƒLƒ‹‚ŠUŒ‚‚ĩ‚ȂЂį‰rĨ‚Å‚Ŧ‚―–â‘č‚ðCģ - - battle.c - battle_calc_weapon_attack()‚ĖŠY“–ŒÂŠCģ•’Į‰Á - skill.c - skill_castend_damage_id()‚ɏˆ—’Į‰Á - skill_use_pos()‚ɍUŒ‚’âŽ~ˆ—’Į‰Á - -EƒJ[ƒhƒXƒLƒ‹‚ŠƒJ[ƒh‚ðŠO‚ĩ‚Ä‚āŽg—p‰Â”\‚Č–â‘č‚ðCģ - pc.c - pc_calc_skilltree()‚ðCģ - -EƒAƒCƒeƒ€ƒhƒƒbƒv—́AexpŠ“ū”{—͂ȂĮ‚Ė’ēŪ‹@”\’Į‰Á - 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“Į‚ݍž‚ÝŽžAƒf[ƒ^‚ð’ēŪ‚·‚鏈—’Į‰Á - ----------- -//0274 by ŒÓ’ą—– - -EƒXƒLƒ‹‚Ė’Į‰ÁŽĀ‘• - ƒXƒLƒbƒhƒgƒ‰ƒbƒvAƒ‰ƒ“ƒhƒ}ƒCƒ“Aƒuƒ‰ƒXƒgƒ}ƒCƒ“AƒNƒŒƒCƒ‚ƒA[ƒgƒ‰ƒbƒvA - ƒtƒŠ[ƒWƒ“ƒOƒgƒ‰ƒbƒvAƒTƒ“ƒhƒ}ƒ“AƒAƒ“ƒNƒ‹ƒXƒlƒA - - ‡–°‚â“€Œ‹‚Č‚Į‚ĖŠm—Ķ‚Í“K“–‚Å‚·B - ãД­“ŪŽž‚ĖƒGƒtƒFƒNƒg‚Šo‚Ü‚đ‚ņB‚Ä‚Ē‚Ī‚Đo‚ĩ•û‚Š‚í‚Đ‚č‚Ü‚đ‚ņB - ‚í‚Đ‚él‚Í‹ģ‚͂Ă­‚ū‚ģ‚ǁB‚ā‚ĩ‚­‚Í–{ŽI‚ÅãД­“ŪŽž‚Ė•Ą‡‰ŧÏ‚Ý‚Ė - ķƒpƒPƒbƒgƒf[ƒ^‚Å‚ā‚ǂǂ˂ŋģ‚͂Ă­‚ū‚ģ‚ǁ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()‚ɃAƒ“ƒNƒ‹‚œۂŊ‚Č‚­‚·‚鏈—’Į‰Á - mob.c - mob_ai_sub_hard()‚ɃAƒ“ƒNƒ‹‚œۂŊ‚Č‚­‚·‚鏈—’Į‰Á - -E‘•”õ‚Č‚Į‚ĖƒNƒŠƒeƒBƒJƒ‹ƒ{[ƒiƒX‚Š1/10‚ɂȂÁ‚ĂǂéƒoƒO‚ŠCģ‚ģ‚ę‚Ü‚ĩ‚― - battle.c - battle_calc_weapon_attack()‚É’Į‰Á•Š‚ðŒvŽZ‚·‚鏈—Cģ - -EƒuƒŠƒbƒcƒr[ƒg‚ĖŒvŽZŽŪ‚Š‘S‘Rˆá‚ĪƒoƒO‚ŠCģ‚ģ‚ę‚Ü‚ĩ‚― - battle.c - battle_calc_attack()‚ĖBF_MISC‚Ėˆ’u‚ŠŠÔˆá‚Á‚Ăǂ―‚Ė‚ðCģ - -ESW‚ƃjƒ…[ƒ}‚Š•ŠíUŒ‚‚Č‚į‚Į‚ņ‚ČƒŒƒ“ƒW‚ĖUŒ‚‚Å‚ā–h‚ǂłǂ―–â‘č‚ðCģ - battle.c - battle_calc_damage()‚ĖƒŒƒ“ƒW”ŧ’č‚ðCģ - -EƒI[ƒo[ƒgƒ‰ƒXƒg‚ƃEƒFƒ|ƒ“ƒp[ƒtƒFƒNƒVƒ‡ƒ“‚ŠPTƒƒ“ƒo‚É‚ā‚Đ‚Đ‚é‚æ‚Ī‚ÉCģB - Œø‰Ę‚ÍŽg—pŽŌ‚ÆPTƒƒ“ƒo‚ňá‚Ē‚Í‚ ‚č‚Ü‚đ‚ņB - - skill.c - skill_castend_nodamage_id()‚ĖCģB - ----------- -//0273 by ŒÓ’ą—– - -EƒLƒƒƒ‰ƒNƒ^[‚ŠÁŽļ‚ĩ‚―‚čŒķ‰e‚Šo‚é–â‘肊Cģ‚ģ‚ę‚Ü‚ĩ‚― - E‚Ŧ”ō‚΂ĩƒXƒLƒ‹‚ðŽó‚Ŋ‚邯”­ķ‚ĩ‚Ăǂ― - EŽÎ‚ßˆČŠO‚Ė•ās‚Å”­ķ‚ĩ‚Ăǂ― - - map.c - map_foreachinmovearea()‚ĖCģB - skill.c - skill_blown()‚É•\ŽĶ”͈͍XVˆ—‚ð’Į‰ÁB - mob.c - mob_walk()‚Å•ā‚ŦI‚í‚Á‚―‚Æ‚Ŧ‚ÉˆĘ’u‚ðÄ‘—M‚·‚邿‚Ī‚ÉCģ - pc.c - pc_walk()‚Å•ā‚ŦI‚í‚Á‚―‚Æ‚Ŧ‚ÉˆĘ’u‚ðÄ‘—M‚·‚邿‚Ī‚ÉCģ - -EƒXƒLƒ‹‚Ė’Į‰ÁŽĀ‘•‚ƏCģ - ƒtƒ@ƒCƒ„[ƒEƒH[ƒ‹Aƒtƒ@ƒCƒ„[ƒsƒ‰[‚ĖŽĀ‘• - ƒTƒ“ƒNƒ`ƒ…ƒAƒŠ‚Å‚ĖƒmƒbƒNƒoƒbƒN•ûŒü‚ðCģ - - (db/) - skill_db.txt - ƒtƒ@ƒCƒ„[ƒsƒ‰[AƒuƒŠƒbƒcƒr[ƒg‚Ėƒqƒbƒg”Cģ - (map/) - skill.c - skill_blown()‚É‘ÎÛ‚ĖŒü‚Ŧ‚É‚æ‚éƒmƒbƒNƒoƒbƒNˆ—’Į‰Á - ‚ŧ‚Ė‘ž•K—v‚ȏꏩCģ - mob.c - mob_walk(),mob_attack()‚ÅŒü‚Ŧ‚ð•Û‘ķ - pc.c - pc_walk(),pc_attck()‚ÅŒü‚Ŧ‚ð•Û‘ķ - map.c - map_calc_dir()’Į‰ÁB‘Š‘Î“I‚Č•ûŒü‚ð‹‚ß‚é - - -EƒNƒŠƒeƒBƒJƒ‹‘‰Á‘•”õ‚Ší“ŽŽž‚ÉŒvŽZ‚ģ‚ę‚Ä‚Č‚ĒƒoƒO‚ŠCģ‚ģ‚ę‚Ü‚ĩ‚― - battle.c - battle_calc_weapon_attack()‚É’Į‰Á•Š‚ðŒvŽZ‚·‚鏈—’Į‰Á - - -E–hŒäƒ†ƒjƒbƒgiSW/ƒjƒ…[ƒ}j‚Š“G‚ɉe‹ŋ‚ð‹y‚Ú‚·‚Đ‚Į‚Ī‚Đ‚ð - battle_athena.cnf‚Ő§Œä‚Å‚Ŧ‚邿‚΂ɂȂč‚Ü‚ĩ‚― - ƒfƒtƒHƒ‹ƒg‚́u‹y‚Ú‚ģ‚Ȃǁv‚Å‚·B - - (conf/) - battle_athena.cnf - €–Údefunit_not_enemy‚ð’Į‰Á - (map/) - battle.c/battle.h - struct Battle_Config ‚É defnotenemyƒƒ“ƒo’Į‰ÁB - battle_read_config()‚Ėˆ—‚ðCģB - skill.c - skill_unitsetting()‚ÅSW/ƒjƒ…[ƒ}‚Ėˆ—‚ðCģ - -EƒtƒFƒ“ƒJ[ƒh‘•”õŽžAŽ€‚ņ‚Å‚ā‰rĨ‚Š‘ą‚­ƒoƒO‚ðCģ - i‰rĨI—đ‘O‚É•œŠˆ‚·‚ę‚Ζ‚–@‚Š”­“Ū‚·‚é–â‘č‚āCģ‚ɂȂč‚Ü‚·j - - pc.c - pc_damage()‚ÅŽ€–SŽžskill_castcancel()‚ðŒÄ‚Ô‚æ‚Ī‚ÉCģ - -E“G–Ą•û”ŧ’čˆ—‚ɃoƒO‚Š‚ ‚Á‚―‚Ė‚ðCģ - battle.c - battle_check_target()‚ĖCģ - ----------- -//0272 by ŒÓ’ą—– - -EƒXƒLƒ‹‚Ė’Į‰ÁŽĀ‘•‚ƏCģ - EƒZƒCƒtƒeƒBƒEƒH[ƒ‹Aƒjƒ…[ƒ}‚ŠŽĀ‘•‚ģ‚ę‚Ü‚ĩ‚―B - Eƒ[ƒhƒIƒuƒo[ƒ~ƒŠƒIƒ“”­“Ū’†‚ÉŒø‰Ę”͈͊O‚Đ‚į”͈͓ā‚É“ü‚Á‚Ä‚Ŧ‚―‚Æ‚ŦA - “G–Ą•û‚Ė‹æ•Ę–ģ‚­UŒ‚‚Š“–‚―‚é–â‘肊Cģ‚ģ‚ę‚Ü‚ĩ‚―B - EƒTƒ“ƒNƒ`ƒ…ƒAƒŠ‚ĖŽË’ö‚ŠCģ‚ģ‚ę‚Ü‚ĩ‚―B - E”͈͖‚–@‚Å“|‚ĩ‚―“G‚ŠHP0‚ÅŽc‚éę‡‚Š‚ ‚é–â‘肊Cģ‚ģ‚ę‚Ü‚ĩ‚―B - - (db/) - skill_db.txt - ƒZƒCƒtƒeƒBƒEƒH[ƒ‹‚ƃTƒ“ƒNƒ`ƒ…ƒAƒŠ‚ĖŽË’ö‚ð8‚ɕύX - (map/) - skill.c - skill_unit_onplace(),~ondelete(),~onout()‚Č‚Į‚ɁA - ƒZƒCƒtƒeƒBƒEƒH[ƒ‹‚ƃjƒ…[ƒ}‚Ėˆ—’Į‰ÁB - skill_unit_move()‚Ƀ^[ƒQƒbƒg‚Ė“G–Ą•û”ŧ’č‚ð’Į‰ÁB - skill_unit_timer_onplace(),~ondelete()‚Ƀ†ƒjƒbƒgķ‘ķ”ŧ’č‚ð’Į‰Á. - skill_clear_unitgroup()’Į‰ÁBƒ†ƒjƒbƒgƒOƒ‹[ƒv‚Ė‘Síœ‚ð‚·‚éB - battle.c - battle_calc_damage()‚ɃZƒCƒtƒeƒBƒEƒH[ƒ‹‚ƃjƒ…[ƒ}‚Ėˆ—’Į‰ÁB - map_foreachinarea()‚Č‚ĮCģ - map.c - map_quit()‚Åskill_clear_unitgroup()‚ðŒÄ‚Ô‚æ‚΂ɁB - -EƒXƒLƒ‹‚ː‚Ŧ”ō‚΂ĩˆ—‚ðŽĀ‘• - ƒ†ƒsƒeƒ‹ƒTƒ“ƒ_[AƒTƒ“ƒNƒ`ƒ…ƒAƒŠAƒXƒsƒAƒXƒ^ƒuA - ƒ{[ƒŠƒ“ƒOƒoƒbƒVƒ…Aƒ`ƒƒ[ƒWƒAƒ[‚ː‚Ŧ”ō‚΂ĩˆ—ŽĀ‘• - - path.c/map.h - path_blownpos()’Į‰Á - battle.c/battle.h - struct Damage‚Éblewcountƒƒ“ƒo’Į‰Á - battle_calc_*_damage()‚Åblewcount‚ðƒZƒbƒg‚·‚邿‚΂ɁB - skill.c/skill.h - skill_blown()’Į‰ÁB‚Ŧ”ō‚΂ĩˆ—B - skill_attack()‚Åskill_blown()‚ðŒÄ‚Ô‚æ‚΂ɁB - skill_attack()‚Ėflag‚ː‚Ŧ”ō‚΂ĩƒrƒbƒg‚Í–ĒŽg—p‚ɁB - -E•ās’†‚Ėƒ‚ƒ“ƒXƒ^[‚ɍUŒ‚‚ĩ‚―‚Æ‚ŦAƒ‚ƒ“ƒXƒ^[‚ɃfƒBƒŒƒC‚Š“ü‚邿‚΂ɂȂč‚Ü‚ĩ‚― - iUŒ‚‚Ėƒ‚[ƒVƒ‡ƒ“‚Ė’x‰„‚ðl‚͂ĂȂǂ˂ł ‚ņ‚Ü‚čˆÓ–Ą‚Š‚Č‚Ē‚Đ‚āHj - - (map/) - mob.c/mob.h - state‚ÉMS_DELAY‚ð’Į‰ÁB - mob_damage(),mob_timer()‚Č‚Į‚ĖCģ - -E•ās’†‚Ėƒ‚ƒ“ƒ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ƒƒƒ‰‚ð‰Á“ü‚ģ‚đ‚邯Œö•―‚Š‰ðœ‚ģ‚ę‚Č‚ĒƒoƒO‚ðCģ - ----------- -//0270 by ŒÓ’ą—– - -EƒXƒLƒ‹‚Ė’Į‰ÁŽĀ‘•‚ƏCģ - ƒ[ƒhƒIƒuƒo[ƒ~ƒŠƒIƒ“AƒTƒ“ƒNƒ`ƒ…ƒAƒŠAƒ}ƒOƒkƒXƒGƒNƒ\ƒVƒYƒ€ - - (db/) - skill_db.txt - ƒ}ƒOƒkƒX‚Ėƒqƒbƒg”A‘ېŦ’ēŪ - ƒTƒ“ƒNƒ`ƒ…ƒ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‚ę‚é‚Ų‚Į‘―”•ύXBŽå‚ɃXƒLƒ‹ƒ†ƒjƒbƒgŠÖ˜A•”•ЁB - 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‚ą‚Ü‚Đ‚ĒƒoƒOCģ‚Č‚Į - Emob‚Љņ•œ‚ĩ‚Ȃǖâ‘čCģ - - battle.c - battle_damage()Cģ - ----------- -//0266 by ŒÓ’ą—– - -E–‚–@ŒvŽZŽŪ‚ĖCģ - –‚–@”{—Ķ‚ðƒ_ƒ[ƒW‚ÉŠ|‚Ŋ‚Ăǂ―‚Ė‚ðMATK‚ɂЂŊ‚邿‚΂ɂĩ‚Ü‚ĩ‚―B - c‚ą‚Á‚ŋ‚Аģ‚ĩ‚Ē‚Æ‚ĩ‚Ä‚Ē‚Ē‚Ė‚Đ‚ČHˆá‚΂Ȃį‹ģ‚͂Ă­‚ū‚ģ‚ǁB - - battle.c - battle_calc_magic_attack()‚ĖCģ - -EƒXƒLƒ‹‚Ė’Į‰ÁŽĀ‘• - ƒTƒCƒgAƒ‹ƒAƒtAƒ[ƒhƒIƒuƒ”ƒ@[ƒ~ƒŠƒIƒ“ - - ƒ[ƒhƒIƒuƒo[ƒ~ƒŠƒIƒ“‚Í‚R‰ņ‚Ė”ŧ’莞‚ɉrĨ‰đ‚Š–Â‚č‚Ü‚·cB - clif_skill_damage()‚Ėtype‚ðFX•Ï‚Ķ‚Ä‚Ý‚Ü‚ĩ‚―‚Š‚Į‚Ī‚ā‚΂܂­‚Ē‚Ŧ‚Ü‚đ‚ņB - ’ž‚đ‚él‚Í’ž‚ĩ‚Ä‚­‚ę‚邯‚Ī‚ę‚ĩ‚ǂł·B - i‚΁[‚ņA‚Ђå‚Á‚Æ‚ĩ‚―‚į–{—ˆ‚̓Oƒ‰ƒtƒBƒbƒN‚Ė‚Č‚ĒƒXƒLƒ‹ƒ†ƒjƒbƒg‚ð - Ý’u‚ĩ‚āA‚ŧ‚Ėƒ†ƒjƒbƒg‚ĖID‚Ń_ƒ[ƒW‚ð—^‚Ķ‚é‚Ė‚Đ‚āHHj - - (db/) - skill_db.txt - ƒ[ƒhƒIƒuƒo[ƒ~ƒŠƒIƒ“‚Ėƒqƒbƒg”‚ð‚R‚Đ‚į10‚ɕύXB - (map/) - skill.c - skill_status_change_timer_sub()’Į‰ÁB - skill_status_change_*()‚ɏˆ—’Į‰ÁB - -Eblock‚Ėƒƒ‚ƒŠ‰ð•ú‚ĖˆĀ‘SŦ‚ĖŒüã - map_foreachinarea,party_foreachsamemap‚ʼnņ‚Á‚Ăǂ邯‚Ŧ‚É - block‚ðƒ`ƒFƒCƒ“‚Đ‚įíœ‚·‚邯A‚΂܂­‰ņ‚į‚Č‚Ē‰Â”\Ŧ‚Š‚ ‚é–â‘čCģB - ‚ģ‚į‚ɁAblock‚ðƒƒ‚ƒŠ‚Đ‚į‰ð•ú‚·‚邯ŠëŒŊ‚Č–â‘č‚āCģB - - Eforeach“ā‚Ŋ֐”‚ðŒÄ‚Ô‘O‚Éblock‚Šƒ`ƒFƒCƒ“‚Đ‚įŠO‚ę‚Ä‚Č‚Ē‚Đƒ`ƒFƒbƒNB - Eforeach‚É“ü‚Á‚―‚Æ‚Ŧ‚ɃƒbƒN‚ĩ‚ăƒ‚ƒŠ‚Đ‚į‰ð•ú‚ģ‚ę‚Ȃǂæ‚΂ɂ·‚éB - ‚ą‚ę‚̓†[ƒU[‚Šfree‚ķ‚á‚Č‚­map_freeblock‚É‚æ‚Á‚ĉð•ú‚·‚邿‚Ī‚É - ƒvƒƒOƒ‰ƒ€‚·‚é•K—v‚Š‚ ‚éBiƒ‹[ƒv‚Đ‚įŒÄ‚΂ę‚é‰Â”\Ŧ‚Ė‚ ‚éŠÖ”‚ðė‚é - ę‡‚Ė‚ą‚Æ‚ŁA•’Ę‚Ífree‚Å‚ā‚Ē‚ŋ‚ςΓۂ­Bj - Emap_foreachinmovearea‚É‚Â‚Ē‚Ä‚Í‰ü—Į‚ĩ‚ĂǂȂǂЁA - ‚ą‚Ėƒ‹[ƒv‚Åblock‚ðíœ‚·‚邹‚Ƃ͂ ‚č‚͂ȂNjC‚Š‚·‚é‚Ė‚Å‚Ē‚Ē‚Æ‚·‚éB - - ‚ą‚ę‚͍ĄŒã‚ðŒĐ‰z‚ĩ‚―‰ü—Į‚Å‚ ‚Á‚āAŒŧÝ‚Ė•sˆĀ’č‚ģ‚ð’ž‚·‚ā‚Ė‚Å‚Í‚Č‚ĒB - iŒŧÝ‚Íforeach“ā‚сƒ‚ƒŠ‚ð‰ð•ú‚ĩ‚ĂǂȂǁc‚Í‚ļ‚Ȃ˂ŁB - ‚―‚ūAƒXƒLƒ‹ƒ†ƒjƒbƒg‚Č‚ĮˆęŽžƒIƒuƒWƒFƒNƒg‚ð‘―—p‚ĩŽn‚߂邯Œø‰Ę‚Š‚ ‚éj - - map.c - map_freeblock(),map_freeblock_lock(),~_unlock()’Į‰ÁB - map_delobject()‚Ėfree()‚ðmap_freeblock()‚É’uŠ·B - map_foreachinarea‚эƒbƒN‚ÆˆĀ‘SŦƒ`ƒFƒbƒNB - party.c - party_foreachsamemap()‚эƒbƒN‚ÆˆĀ‘SŦƒ`ƒFƒbƒN - - -EƒXƒLƒ‹ƒ†ƒjƒbƒg‹@\ŽĀ‘• - Ý’uŒn‚ĖƒXƒLƒ‹‚Ė‚―‚߂ˋ@\ŽĀ‘•BŽĀÛ‚ĖƒXƒLƒ‹‚ĖŽĀ‘•‚͂܂ū‚Å‚·B - - skill.c - ‚Č‚ņ‚Đ‚ā‚ΐFX’Į‰Á‚ĩ‚Ü‚ĩ‚―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‚Ƙb‚ĩ‚―ŽžAmapŽI‚Š—Ž‚ŋ‚邹‚Æ‚Š‚ ‚éƒoƒO‚ðCģ‚ĩ‚Ü‚ĩ‚―B - script.c - replacestr()‚Š‚Ļ‚Đ‚ĩ‚Đ‚Á‚―‚Ė‚ðŽč’ž‚ĩ‚ĩ‚Ü‚ĩ‚―B - ----------- -//0263 by nabe - -E˜I“XŠJÝ’†‚ɃJ[ƒgƒAƒCƒeƒ€‚ðo‚ĩ“ü‚ę‚Å‚Ŧ‚Ȃǂæ‚ĪCģ - pc.c - pc_putitemtocart(),pc_getitemfromcart()‚ɁA˜I“X”ŧ’č‚ð’Į‰Á - -E˜I“XƒAƒCƒeƒ€w“ü‚Ėƒ`ƒFƒbƒN‚ð’Į‰Á - vending.c - vending_purchasereq()‚ŏ”X‚ĖðŒ”ŧ’č‚ð’Į‰Á - ----------- -//0261 by ŒÓ’ą—– - -EŠg‘å‹ūAƒCƒOƒhƒ‰ƒVƒ‹‚Ė—t‚ŠŽĀ‘•‚ģ‚ę‚Ü‚ĩ‚― - ƒXƒNƒŠƒvƒg‚ÉitemskillƒRƒ}ƒ“ƒhėŽBˆęŽž“I‚ɃXƒLƒ‹‚ŠŽg—p‚Å‚Ŧ‚Ü‚·B - - (map/) - script.c - buildin_itemskill()‚Ė’Į‰Á‚Č‚ĮB - skill.c - ƒAƒCƒeƒ€ƒXƒLƒ‹‚Č‚įSP‚Č‚Į‚ðŒŸļ•Á”ï‚ĩ‚Ȃǂæ‚Ī‚ÉCģ - clif.c/clif.h - clif_item_skill()‚Ė’Į‰ÁB - (db/) - item_db.txt/item_db2.txt - ƒXƒLƒ‹Žg—pƒAƒCƒeƒ€‚ĖƒXƒNƒŠƒvƒgCģ - -Eƒp[ƒeƒBƒXƒLƒ‹‚ĖŽĀ‘• - ƒAƒ“ƒ[ƒ‹ƒXAƒ}ƒOƒjƒtƒBƒJ[ƒgAƒOƒƒŠƒAAƒAƒhƒŒƒiƒŠƒ“ƒ‰ƒbƒVƒ…‚Š - ‰æ–Ę“ā‚Ėƒp[ƒeƒB‘Sˆõ‚ÉŒø‰Ę‚ð‹y‚Ú‚·‚æ‚΂ɂȂč‚Ü‚ĩ‚―B - - skill.c - skill_castend_nodamage_id()‚ĖŠY“–ŒÂŠ‚ĖCģ - party.c - party_foreachsamemap()‚ĖCģ - -EƒXƒLƒ‹ŠÖŒW‚ĖCģ - ƒLƒŠƒGƒGƒŒƒCƒ\ƒ“‚Š‘ĶŽž”­“ۂɂȂÁ‚Ăǂé‚Ė‚ðCģB - ƒXƒg[ƒ“ƒJ[ƒX‚ŃGƒtƒFƒNƒg‚Š‘ķÝ‚ĩ‚Č‚ĒƒoƒOCģB - - (db/) - skill_db.txt - ƒLƒŠƒGƒGƒŒƒCƒ\ƒCƒ“Cģ - (map/) - skill.c/skill.h - skill_check_condition()’Į‰ÁBƒXƒLƒ‹Žg—pðŒŒŸļ‚Ėˆę–{‰ŧB - skill_castend_nodamage_id()‚ŃXƒg[ƒ“ƒJ[ƒXCģ - -EƒXƒNƒŠƒvƒg‚ĖƒR[ƒh‚ðŪ— - get_val()‚Åconst.txt‚˒萔‚ðŠ“ū‚Å‚Ŧ‚邿‚Ī‚ÉCģB - - (map/) - script.c - get_val()‚ĖCģiconst.txt‚Ėtype==0‚Ė’l‚ŠŠ“ū‰Â”\‚Ɂj - bonus(),bonus2()‚Č‚Į‚ĖCģB - (db/) - const.txt - type=1‚Å‚ ‚é•K—v‚Š–ģ‚Ē‚ā‚Ė‚ð0‚ɁB - item_db.txt/item_db.txt - const.txt‚Ė•ÏX‚É”š‚ĪCģB - ----------- -//0260 by ŒÓ’ą—– - -Eí“ŽŠÖŒW‚ĖÝ’č‚Šƒtƒ@ƒCƒ‹‚ɏ‘‚Ŋ‚é‚ɂȂč‚Ü‚ĩ‚― - mapŽI‚Ė‘æ2ˆø”‚Ƀtƒ@ƒCƒ‹–ž‚ŠÝ’č‚ģ‚ę‚Ăǂ邯A‚ŧ‚ę‚ðŽg‚ǁA - Ý’č‚ģ‚ę‚Ä‚Č‚Ēę‡‚Í "conf/battle_athena.cnf"‚ðŽg‚ǂ܂·B - - ‚ ‚ƁAˆę‰ž”͈͍UŒ‚ƒXƒLƒ‹‚É‚Â‚Ē‚Äā–ūB - ŽI‚Ší‚ÉPVP‚ɐݒč‚ģ‚ę‚Ăǂéę‡Aƒp[ƒeƒBƒƒ“ƒo‚ķ‚á‚Č‚ĒPC‚É‚ā”͈͍UŒ‚‚Š - ‚ ‚―‚č‚Ü‚·BŒ™‚Čę‡‚̓p[ƒeƒB‚ð‘g‚Þ‚ĐAí‚ÉPVP‚ðoff‚É‚ĩ‚ĉš‚ģ‚ǁB - í‚ÉPVP‚Šoff‚Å‚āA@pvp‚Åpvpƒtƒ‰ƒO‚ð“ü‚ę‚―l‚ĖŠÔ‚Å‚ÍUŒ‚‚Š“–‚―‚č‚Ü‚·B - ‚―‚ū‚ĩAˆę“xpvp‚ðon‚É‚·‚邯AƒŠƒƒO‚·‚é‚Ü‚Åon‚˂܂܂Ȃ˂ŒˆÓB - - (conf/) - battle_athena.cnf - ’†‚ɐā–ū‘‚ǂĂé‚Ė‚ÅŠeŽĐD‚Ŧ‚Č‚æ‚Ī‚É‘‚ŦŠ·‚͂Ă­‚ū‚ģ‚ǁ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 - @pvpƒRƒ}ƒ“ƒh‚Åpvpƒtƒ‰ƒO‚ðƒZƒbƒg‚·‚邿‚΂ɁB - iŽIÝ’č‚Ėí‚ÉPVP‚Šoff‚ĖŽžA—žl‚Špvp‚ðon‚É‚ĩ‚Ä‚―‚įí“Ž‰Â”\j - map.c/map.h - struct map_session_data‚Épvp_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 - UŒ‚ˆ—‚ðbattle_weapon_attack()‚Ɉę–{‰ŧB - -EƒAƒCƒeƒ€ŠÓ’čƒXƒLƒ‹‚ðŽĀ‘• - Īl‚ĖƒXƒLƒ‹‚Ė•û‚Å‚·B’ŽŠá‹ū‚͂܂ū‚Å‚·B - - skill.c - ƒXƒLƒ‹ˆ—’Į‰Á - pc.c/pc.h - pc_item_identify()’Į‰Á - clif.c/clif.h - clif_item_identify_list(),clif_item_identified()’Į‰Á - clif_parse_ItemIdentify()’Į‰Á - -EƒXƒLƒ‹ƒf[ƒ^ƒx[ƒX‚ĖƒRƒƒ“ƒgCģ - (db/) - skill_db.txt - Īl‚ĖƒXƒLƒ‹‚ĖƒRƒƒ“ƒg‚Š‚ļ‚ę‚Ăǂ―‚Ė‚ðCģ - ----------- -//0259 by ‚ę‚  -Emob_db.txt‚ĖCģ - ‹T“‡ƒ‚ƒ“ƒXƒ^[‚âBOSS‚ĖƒXƒe[ƒ^ƒX’ēŪ - ‹T“‡ƒ‚ƒ“ƒX‚É“K“–‚Ƀhƒƒbƒv‚ð•t‚Ŋ‚Ü‚ĩ‚―B - –{ŽI‚ÆˆŲ‚Č‚é•Ļ‚ð—Ž‚Æ‚·ę‡‚ā‚ ‚č‚Ü‚·B - ----------- -//0258 by ŒÓ’ą—– - -Eƒp[ƒeƒB‚ňę“xŒö•―‚É‚ĩ‚―‚įŠeŽĐŠ“ū‚É–ß‚đ‚Č‚ĒƒoƒOCģ - (char/) - int_party.c - mapif_parse_PartyChangeOption()‚Ė”ŧ’čCģ - -EƒXƒLƒ‹‚Ė’Į‰ÁŽĀ‘•iŽå‚ɔ͈͍UŒ‚Œnj - ƒiƒp[ƒ€ƒr[ƒgi•ŠŽU‘ΉžjAƒtƒ@ƒCƒ„[ƒ{[ƒ‹A - ƒTƒ“ƒ_[ƒXƒg[ƒ€Aƒwƒuƒ“ƒYƒhƒ‰ƒCƒuA - ƒuƒŠƒbƒcƒr[ƒgiŽĐ“Ū‘éž‚݁jAƒXƒ`[ƒ‹ƒNƒƒE - ƒXƒLƒ“ƒeƒ“ƒpƒŠƒ“ƒO - - (db/) - skill_db.txt/skill_tree.txt - ˆę•”Cģ - (map/) - battle.c/battle.h - battle_check_target()‚ð’Į‰ÁB‘ÎÛ‚É‚Č‚é‚Đ‚ðŒŸ“Ē‚·‚éB - battle_calc_magic_damage()‚Ėˆø”•ύXBƒ_ƒ[ƒW•ŠŽUˆ—’Į‰ÁB - battle_calc_misc_damage()’Į‰ÁB - battle_calc_weapon_damage()CģB - clif.c/clif.h - clif_skill_damage(),clif_skill_damage2()‚Ėˆø”•ύXB - clif_skill_poseffect()’Į‰ÁB - skill.c/skill.h - skill_weapon_attack(),skill_magic_attack()‚É”ũ–­‚ɏˆ—‚ð“Z‚ß‚―. - skill_area_sub()’Į‰ÁB”͈̓XƒLƒ‹—pB - skill_area_sub_count()’Į‰ÁBskill_area_sub()—pA“GƒJƒEƒ“ƒgB - skill_castend_damage_id()CģBˆø”‚Əˆ—‚ð’Į‰ÁB - skill_castend_nodamage_id()CģBˆø”‚Əˆ—‚ð’Į‰ÁB - skill_misc_attack()’Į‰ÁB - skill_additional_effect()CģiŽĐ“Ū‘éj - skill_castend_pos()CģB - skill_castend_pos2()’Į‰ÁB - -E‹|‚ōUŒ‚‚ĩ‚―‚Æ‚ŦŒvŽZ‚ÉDEX‚łȂ­STR‚ŠŽg‚í‚ę‚é–â‘č‚ðCģB - battle.c - battle_calc_weapon_damage()CģB - ----------- -//0257 by ŒÓ’ą—– - -Eitem_db.txt‚ːE‹Æƒtƒ‰ƒO‚ƁAƒJ[ƒh‚Ė‘•”õŒÂŠƒtƒ‰ƒO‚ðCģ - ‘•”õ•i‚ÍI-Athena‚Ėƒf[ƒ^‚ðŽQl‚É‚ĩ‚Ä‹@ŠB“I‚ɃRƒ“ƒo[ƒg‚ģ‚đ‚Ü‚ĩ‚―B - I-Athena‘΂ɂȂǑ•”õ•i‚́A‚ ‚Ŧ‚į‚Đ‚É•Ï‚Č‚Ė‚ÍCģ‚ĩ‚Ü‚ĩ‚―‚ЁA - ’m‚į‚Ȃǂā‚˂Б―‚·‚ނāA‚Ų‚Æ‚ņ‚Į•ú’u‚Å‚·B - ƒJ[ƒh‚́A•Ší—pƒJ[ƒh‚Ė‘•”õŒÂŠ‚Š0‚ɂȂÁ‚Ä‚é‚Ė‚ð2(ķŽč)‚ɏCģB - —žŽč•Ší‚Ėę‡‚͕ʂɔŧ’č‚ĩ‚Ä‚é‚˂ŗžŽč•Ší‚ā–â‘č‚Č‚Ē‚Í‚ļB - - (db/) - item_db.txt/item_db2.txt - ŠY“–ŒÂŠCģ - -EƒJ[ƒh’Į‰ÁŽĀ‘• - ƒXƒ^ƒ“‚Č‚Į‚Ė’Į‰ÁŒø‰ĘA‚ŧ‚ę‚į‚Ö‚Ė‘ÏŦŒn“AƒI[ƒNƒq[ƒ[ƒJ[ƒhŽĀ‘• - - (db/) - item_db.txt/item_db2.txt - ƒXƒNƒŠƒvƒg‚ĖCģ - (map/) - map.h - struct map_session_data‚Éaddeff‚Č‚Į‚Ėƒƒ“ƒ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()‚őϐŦ‚ð•t‚Ŋ‚―B - battle.c - battle_calc_weapon_attack()‚ŃI[ƒNƒq[ƒ[ƒJ[ƒh - iƒNƒŠƒeƒBƒJƒ‹‘ϐŦj‚Ėˆ—‚ð’Į‰Á - -E‰ņ”ð”ŧ’č‚ĖCģ - UŒ‚ŽŌ‚ŠPC‚Ėę‡AÅ‘å–―’†—Ķ‚X‚T“§ŒĀ‚ð‚Č‚ĩ‚É‚ĩ‚Ü‚ĩ‚―B - battle.c - battle_calc_weapon_attack()‚ðCģ - - -EŠŪ‘S‰ņ”ð‚ðŽĀ‘• - ‚Ö‚ņ‚Ä‚ą‚ȏˆ—‚ĩ‚Ă܂·•ŒvŽZŽŪ“K“–‚Å‚·B - - battle.c - battle_calc_weapon_attack()‚ɏˆ—’Į‰ÁB - -E‘qŒÉ‚ðŠJ‚Ē‚―‚܂܃ƒOƒAƒEƒg‚ĩ‚―‚Æ‚ŦmapŽI“ā‚ł͊J‚Ŧ‚Á‚Ï‚Č‚ĩ‚ɂȂÁ‚Ä‚é–â‘č‚ðCģ - storage.c - storage_storage_quitsave()‚ðCģ - -E@item,@monster,@produce‚Å–ž‘OŽw’č‚Å‚Ŧ‚邿‚Ī‚É•ÏX - ‰pŒę–žA“ú–{Œę–ž‚Į‚ŋ‚į‚Å‚āOKB‰pŒę‚Ėę‡‚Í‘å•ķŽšŽ•ķŽš‹æ•Ę‚ĩ‚Ü‚đ‚ņB - - atcommand.c - ŠY“–ŒÂŠCģ - itemdb.c/itemdb.h - itemdb_searchname(),itemdb_searchname_sub()’Į‰Á - mob.c/mob.h - mobdb_searchname()’Į‰Á - -E@refine‚ŏグ‚鐔’l‚ðŽw’č‚Å‚Ŧ‚邿‚Ī‚É•ÏX - atcommand.c - ŠY“–ŒÂŠCģ - -E@produce‚É‚æ‚éŧ‘ĒŽž‚ĖƒGƒtƒFƒNƒg‚ðģ‚ĩ‚Ē‚ā‚Ė‚ÉCģ - clif.c/clif.h - clif_produceeffect()’Į‰Á - atcommand.c - ŠY“–ŒÂŠCģ - -E˜I“XƒXƒLƒ‹Žg—pŽž‚Ėˆ—‚ð­‚ĩCģ - skill.c - skill_castend_id()‚łȂ­Askill_castend_nodamage_id()‚Å - ˜I“XŠJÝ‚ðŒÄ‚Ô‚æ‚΂ɂĩ‚―B - -Estricmp‚Ė•Ï‚í‚č‚Éstrcasecmp‚ðŽg‚Ī‚æ‚΂ɂĩ‚― - i_WIN32‚Đ__EMX__‚Š’č‹`‚ģ‚ę‚Ăǂ邯stricmp‚ðŽg‚ǂ܂·j - - (char/) - int_party.c - (map/) - itemdb.c/mob.c - ƒ}ƒNƒ’č‹`‚ĖCģ‚Č‚Į - -EƒXƒLƒ‹‚ð­‚ĩCģ - ƒOƒŠƒ€ƒgƒD[ƒX‚ŠƒnƒCƒfƒBƒ“ƒO‚ÅŽg‚͂Ȃǖâ‘čCģ - •ŠíŒĪ‹†‚Ė–―’†Cģ‚ðŽĀ‘• - - skill.c - skill_use_id()‚ĖCģ - pc.c - pc_calcstatus()‚Å•ŠíŒĪ‹†‚ɏ]‚Á‚Ä–―’†Cģ - ----------- -//0256 by nabe - -E˜I“XƒAƒCƒeƒ€w“ü‚ĖƒoƒOCģ - clif.c - clif_vendinglist()‚Å”„‚萨‚ę‚―ƒAƒCƒeƒ€‚Í•\ŽĶ‚ĩ‚Ȃǂæ‚Ī‚É - ----------- -//0255 by nabe - -E˜I“XƒAƒCƒeƒ€w“ü‚ĖƒoƒOCģ - vending.c - vending_purchasereq()‚Åzeny,weight•”•ŠCģ - ----------- -//0254 by nabe - -E˜I“X‚ðŽĀ‘• - vending.c/vending.h - V‹K’Į‰ÁB˜I“XƒƒCƒ“ˆ— - skill.c - skill_castend_id()‚ɘI“XŠJÝƒXƒLƒ‹ˆ—‚ð’Į‰Á - clif.h/clif.h - ˜I“XŠÖ˜AƒpƒPƒbƒgˆ—‚ð’Į‰Á - 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ƒ’č‹`‚ĖƒRƒƒ“ƒg‰ŧ‚˂΂ŋA - ‚Į‚ŋ‚į‚Đ‚ðŠO‚ĩ‚Ä‚â‚č’ž‚ĩ‚Ä‚Ý‚é‚ÆA‚΂܂­‚Ē‚­‚Đ‚āB - ÅˆŦA‰š‚ð—LŒø‚É‚ĩ‚―‚į‚΂܂­‚Ē‚­‚Í‚ļBi‘å•ķŽšŽ•ķŽš‚ð‹æ•Ę‚·‚邿‚΂ɂȂč‚Ü‚·j - - (char/) - int_party.c - ƒRƒƒ“ƒg‰ŧÏ‚Ý‚Ėƒ}ƒNƒ’č‹`’Į‰Á - ----------- -//0252 by ŒÓ’ą—– - -EƒJ[ƒh‚Ėˆę•”ŽĀ‘• - iƒXƒe[ƒ^ƒX•ωŧ‘S”ʁA•Ší‘ېŦAƒXƒLƒ‹‚Í‚·‚Å‚ÉŽĀ‘•Ï‚݁j - –h‹ï‘ېŦA‰rĨŽžŠÔ•ωŧA‘ېŦUŒ‚‘ϐŦAŽí‘°‘ϐŦAŽí‘°’Į‰Áƒ_ƒ[ƒWA - ‘ېŦ’Į‰Áƒ_ƒ[ƒWAƒTƒCƒY’Į‰Áƒ_ƒ[ƒWAMAXHPAMAXSP‘ŒļAŽg—pSP•ωŧŒnA - ƒtƒFƒ“AƒhƒŒƒCƒNAƒzƒ‹ƒ“A[•̂ˋRŽmA‰Đ‹āåģAƒIƒVƒŠƒXƒJ[ƒh‚ðŽĀ‘• - - (db/) - const.txt - bonus—p‚˒萔’Į‰ÁAbonus2‚˒萔‚ā’Į‰Á - item_db.txt/item_db2.txt - ƒJ[ƒh‚ĖƒXƒNƒŠƒvƒg’Į‰Á - (map/) - map.h - struct map_session_data‚Éhprate‚Č‚Į‘―”ƒƒ“ƒo’Į‰Á - script.c - bonus2ƒRƒ}ƒ“ƒh’Į‰Á - buildin_bonus2()’Į‰Á - pc.c/pc.h - pc_bonus2()’Į‰Á - pc_bonus()‚Ėˆ—’Į‰Á - pc_calcstatus()‚ÅŠeŽí’Į‰Áƒƒ“ƒo‚Ė‰Šú‰ŧ‚ðs‚Ī‚æ‚΂ɂĩA - hprate‚âsprate‚ɏ]‚Ēmax_hp,max_sp‚Ė’ēŪ‚ā‚·‚邿‚Ī‚É•ÏXB - pc_makesavestatus()‚ŃIƒVƒŠƒXƒJ[ƒhCģ - skill.c - skill_castfix()‚Åcastrate‚ɏ]‚ǁA‰rĨŽžŠÔ‚ð’ēŪB - skill_castend_id()‚Ådsprate‚ɏ]‚ǁAŽg—pSP‚ð’ēŪB - skill_castend_nodamage_id()‚ŃJ[ƒhCģ‚ð’Į‰Á - battle.c - battle_calc_weapon_attack()‚ŃJ[ƒhCģ‚ð’Į‰Á - battle_calc_magic_attack()‚ŃJ[ƒhCģ‚ð’Į‰Á - battle_damage()‚ŃtƒFƒ“ƒJ[ƒhCģ‚ð’Į‰Á - -EƒXƒe[ƒ^ƒXŠ„‚čU‚č‚Ė•\ŽĶã‚Ė–â‘čCģ - STR‚ðã‚°‚Ä‚āATK‚Š•Ï‚í‚į‚Ȃǖâ‘čAINT‚ðã‚°‚Ä‚āMATK‚Š•Ï‚í‚į‚Ȃǖâ‘čCģ - - map.h - struct map_session_data‚Ématk1,matk2ƒƒ“ƒo’Į‰Á - pc.c - pc_calcstatus()‚ĖCģ - clif.c - clif_initialstatus()‚ĖCģ - battle.c - battle_calc_magic_attack()‚ĖCģ - - ----------- -//0251 by nabe - -E0250‚ĖƒoƒOCģ‚Č‚Į - ƒJ[ƒg‚ð•t‚Ŋ‚ļ‚ɃƒOƒCƒ“‚Ü‚―‚̓}ƒbƒvˆÚ“Ū‚ĩ‚―Œã‚ɃJ[ƒg‚ð•t‚Ŋ‚邯A - ƒJ[ƒg‚Ė’†g‚Š2”{‚˗Ƃɕ\ŽĶ‚ģ‚ę‚Ä‚ĩ‚Ü‚Á‚Ăǂ―‚Ė‚ðCģB - ƒJ[ƒg‚ĖƒAƒCƒeƒ€”‚ðXV‚·‚邿‚Ī‚ÉCģB - 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[ƒg‚ð•t‚Ŋ‚Ăǂ邯‚Ŧ‚Ė‚ÝƒJ[ƒgî•ņ‚𑗐M‚·‚邿‚΂ɂĩ‚― - ----------- -//0250 by nabe - -EƒJ[ƒgOFFAƒ`ƒFƒ“ƒWƒJ[ƒgŽĀ‘•B - (map/) - pc.c/pc.h - pc_setcart()‚ð’Į‰Á - script.c - buildin_setcart()‚ð’Į‰Á - ƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒhusetcart;v‚ŃJ[ƒg‚Š‚Â‚­ - clif.c/clif.h - clif_parse_CartOff()’Į‰ÁBiƒJ[ƒg‚ð‚Í‚ļ‚·j - clif_parse_ChangeCart()’Į‰ÁBiƒ`ƒFƒ“ƒWƒJ[ƒg‚ĖƒJ[ƒg‘I‘ðj - (conf/) - npc_town_kafra.txt - ƒJ[ƒgƒT[ƒrƒX‚ðusetcart;v‚É’uŠ· - - ----------- -//0249 by ŒÓ’ą—– - -Eƒp[ƒeƒB‚Ėƒf[ƒ^ƒx[ƒX‚Ė–ĩ‚‚ðo—ˆ‚é‚ū‚Ŋ—}‚͂邿‚΂ɁB - •Ą”ƒp[ƒeƒB‚ÉŠ‘Ū‚ĩ‚Ä‚éƒf[ƒ^‚ĖŒŸļA’Į‰Á‚ÉŽļ”s‚ĩ‚―‚Æ‚Ŧ‚É’E‘Þ‚Č‚ĮB - - (char/) - int_party.c - party_check_conflict(),party_check_conflict_sub(), - mapif_parse_PartyCheck()’Į‰Á - inter.c - ƒpƒPƒbƒg’·ƒŠƒXƒg‚É0x3028’Į‰Á - INTERŽIƒpƒPƒbƒg.txt - ƒpƒPƒbƒg0x3028’Į‰Á - (map/) - party.c/party.h - party_check_conflict()’Į‰ÁB - party_invite()‚Å“ŊƒAƒJƒEƒ“ƒgŠ‘Ūƒ`ƒFƒbƒN‚ðs‚Ī‚æ‚΂ɁB - party_member_added(),party_send_movemap()‚Å - party_check_conflict()‚ðŒÄ‚Ô‚æ‚΂ɁB - intif.c/intif.h - intif_party_checkconflict()’Į‰Á - -Eƒp[ƒeƒB‚ĖĀ•WA‚g‚o’Ę’m‚ðŽĀ‘• - •ωŧ‚Š‚ ‚ę‚΂P•b‚Ɉę‰ņ‘—MB - - map.h - struct map_session_data‚Éparty_x,~_y,~_hp‚Ė‚Rƒƒ“ƒo’Į‰Á - 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_send‚ĖPARTY*ƒtƒ‰ƒO‚ð—LŒø‚ɁB - iPARTY,PARTY_SAMEMAP,PARTY_AREA,PARTY*_WOS‚Ė‚UŽíj - clif_party_xy(),clif_party_hp()’Į‰ÁB - pc.c/pc.h - pc_authok()‚Åsd->party_*‚ð‰Šú‰ŧ‚·‚邿‚΂ɁB - pc_walk()‚Ńp[ƒeƒBƒƒ“ƒo‚ŠŽ‹ŠE“ā‚É“ü‚Á‚Ä‚Ŧ‚―‚Æ‚Ŧ‚É - party_hp‚ð‰Šú‰ŧ‚·‚邿‚΂ɁB - -Eƒp[ƒeƒB‚ĖexpŒö•―•Š”z‚ðŽĀ‘• - party.c/party.h - party_share_exp()’Į‰Á - mob.c/mob.h - mob_damage()‚ÅŒö•―•Š”zˆ—’Į‰Á - -EƒXƒLƒ‹‚ĖCģ‚Æ’Į‰ÁŽĀ‘• - ƒoƒbƒVƒ…AƒsƒA[ƒX‚Ė–―’†—ĶCģŽĀ‘• - ƒsƒA[ƒX‚ĖƒTƒCƒY‚É‚æ‚é‰ņ”•Ï“ŪŽĀ‘•iƒvƒŒƒCƒ„[‚Í’†Œ^‚Ɖž’čj - ƒoƒbƒVƒ…Aƒ\ƒjƒbƒNƒuƒƒE‚ĖƒXƒ^ƒ“Œø‰ĘŽĀ‘• - ƒXƒg[ƒ“ƒJ[ƒXAƒtƒƒXƒgƒ_ƒCƒoAƒCƒ“ƒxƒiƒ€A - ƒAƒXƒyƒ‹ƒVƒIAƒGƒ“ƒ`ƒƒƒ“ƒgƒ|ƒCƒYƒ“AƒŒƒbƒNƒXƒfƒr[ƒiŽĀ‘• - - skill.c - skill_additional_effect()’Į‰Á - skill_castend_damage_id()ŠY“–ŒÂŠCģ - skill_castend_nodamage_id()ŠY“–ŒÂŠCģ - skill_use_id(),skill_use_pos()‚ŃXƒLƒ‹‚ŠŽg—p‚Å‚Ŧ‚Č‚Ē‚Æ‚Ŧ‚Í - ‰―‚ā‚ĩ‚Ȃǂæ‚Ī‚ÉCģB - battle.c - battle_calc_weapon_attack()‚ĖŠY“–ŒÂŠCģ - battle_get_dmotion(),battle_get_attack_element()Cģ - clif.c - clif_mob007b(),clif_mob0078‚Åoption‚Č‚Į‚ð‘—‚é‚æ‚Ī‚ÉCģ - pc.c - pc_attack(),pc_walktoxy()‚ōs“Ū•s‰Â”\‚Č‚Æ‚Ŧ‚͉―‚ā‚ĩ‚Ȃǂæ‚΂ɁB - mob.c - mob_stopattack()Cģ - mob_ai_sub_hard()‚ōs“Ū•s”\‚Č‚Æ‚Ŧ‚͉―‚ā‚ĩ‚Ȃǂæ‚΂ɁB - -EUŒ‚ŽË’ö‚Ė”ŧ’č’Į‰Á - ‘ŠŽč‚ŠˆÚ“Ū‚ĩ‚Ä“Í‚Đ‚Č‚Ē‚Æ‚Ŧ‚́AˆÚ“ŪƒpƒPƒbƒg‚𑗐M - - clif.c/clif.h - clif_movetoattack()’Į‰Á - pc.c - pc_attack()‚ÅŽË’ö”ŧ’čA“Í‚Đ‚Č‚Ē‚Č‚įclif_movetoattack()‚ðŒÄ‚ԁB - ----------- -//0248 by nabe - -Eƒp[ƒeƒBėŽŽž‚ÉŠų‚Ƀp[ƒeƒB‚ÉŠ‘Ū‚ĩ‚Ăǂ―ę‡‚Ėˆ—‚ð’Į‰Á - party.c - party_create()‚ɁAŠų‚Ƀp[ƒeƒB‚ÉŠ‘Ū‚ĩ‚Ăǂ―ę‡ - clif_party_created(sd,2)‚ð’Į‰Á - -EƒfƒBƒXƒJƒEƒ“ƒgAƒI[ƒo[ƒ`ƒƒ[ƒW‚ðŒvŽZ - pc.c - pc_modifybuyvalue()Apc_modifysellvalue()‚Å’l’i‚ðŒvŽZ - - ----------- -//0247 by ŒÓ’ą—– - -Eƒp[ƒeƒBŽĀ‘• - Œö•―•Š”z‚͐ݒč‚ĩ‚Ä‚āŽĀÛ‚ɂ͌ö•―•Š”z‚ģ‚ę‚ĂȂǁB - ƒp[ƒeƒBƒXƒLƒ‹‚͂܂ūŽĐ•Ђɂĩ‚ЂЂЂį‚Č‚Ē - - (char/) - int_party.c/int_party.h - ‚܂Ƃā‚ÉŽĀ‘• - inter.c - ƒpƒPƒbƒg’·ƒŠƒXƒg’Į‰Á - INTERŽIƒpƒPƒbƒg.txt - ƒp[ƒeƒB‚ĖƒpƒPƒbƒg’Į‰Á - (map/) - party.c/party.h - V‹K’Į‰Á - map.c/map.h - struct map_session_data‚Éparty_sendedƒƒ“ƒo’Į‰Á - do_init()‚Ådo_party_init()‚ðŒÄ‚Ô - map_quit()‚Åparty_send_logout()‚ðŒÄ‚Ô - intif.c/intif.h - ƒp[ƒeƒBŠÖ˜A‚Ė•”•Š’Į‰Á - clif.c/clif.h - ƒp[ƒeƒBŠÖ˜A‚Ė•”•Š’Į‰Á - clif_parse_LoadEndAck()‚Åparty_send_movemap()‚ðŒÄ‚Ņo‚· - pc.c - pc_authok()‚Åparty_request_info()‚ðŒÄ‚Ô‚æ‚΂ɂĩA - party_sended‚ð‰Šú‰ŧ‚·‚邿‚΂ɁB - -E‰rĨ–WŠQ‚ģ‚ę‚―‚Æ‚Ŧ‰æ–ʏã‚ʼnrĨ‚ð‚â‚߂邿‚Ī‚ÉCģ - (map/) - skill.c - skill_castcancel()‚ʼnrĨ’†Ž~ƒpƒP(‡‚Á‚Ä‚é‚Ė‚Đ‚ČH)‚𑗐M - -E’‹——ĢUŒ‚‚ū‚Æ“G‚Š”―Œ‚‚ĩ‚Ä‚ą‚Ȃǖâ‘č‚ðCģ - (map/) - map.h - struct mob_data‚Émin_chaseƒƒ“ƒo’Į‰ÁiÅ’á’ĮÕ‹——́j - mob.c - mob_attack()‚Åmin_chase‚ð13‚ɏ‰Šú‰ŧ‚·‚é - mob_walk()‚Åmin_chase‚Š13‚æ‚č‘å‚Ŧ‚Ē‚Č‚į­‚ĩ‚ļ‚ˆø‚ǂĂǂ­ - mob_ai_sub_hard()‚Åmin_chase‚É‚æ‚č’ĮÕ‚ð”ŧ’fA - UŒ‚‚ðŽó‚Ŋ‚―Žž‚Émin_chase‚ð”މ䋗—Ģ+13‚ɐݒč - ----------- -//0246 by ŒÓ’ą—– - -EƒJ[ƒgŽĀ‘• - map.h - struct map_session_data‚Écart_weight‚Č‚Į‚S‚ƒƒ“ƒo’Į‰Á - pc.c/pc.h - pc_cart_additem(),pc_cart_delitem(), - pc_cart_putitemtocart(),pc_cart_getitemfromcart()’Į‰Á - pc_calcstatus()‚ŃJ[ƒgd—Ę‚âŒÂ”‚Č‚Į‚Ėî•ņ‚ðŒvŽZ - 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[ƒgî•ņA“ā—e‘—M - 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 - -EƒXƒLƒ‹‰rĨƒfƒBƒŒƒC‚Č‚ĮŽĀ‘• - 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()‚ŃfƒBƒŒƒCŽžŠÔŒvŽZ‚Ļ‚æ‚ҁA - canmove_tick‚ĖÝ’č - battle.c - battle_damage()‚Åskill_castcancel()‚ĖŒÄ‚Ņo‚ĩ’Į‰Á - -E0245‚ĖƒAƒCƒeƒ€ƒf[ƒ^ƒx[ƒXCģ‚Ė’Ęí‰ŋŠi”Å—pˆÓ - (db/) - item_db.txt - item_db2.txt‚É‘O‚Ėitem_db.txt‚ˉŋŠiî•ņ‚ðƒ}[ƒW‚ĩ‚―‚ū‚Ŋ‚Å‚·B - ----------- -//0245 by ‚ę‚  - ‚Ü‚―—á‚É‚æ‚Á‚āA‘ŠęCģ”Å‚Ė‚Ý‚Å‚·B -Eitem_db2.txt‚ĖCģ - ‹T“‡V‘•”õ‚ĖŒø‰Ę‚ðŽĀ‘•‚ĩ‚Ü‚ĩ‚―B - ƒEƒBƒU[ƒh‚Šņ‚ð‘•”õ‚Å‚Ŧ‚Ȃǂ˂ðCģ - ƒEƒBƒU[ƒh‚Šƒ}ƒWƒVƒƒƒ“ƒnƒbƒgA‚Æ‚ņ‚Š‚č–X‚ð - ‘•”õ‚Å‚Ŧ‚Ȃǂ˂ðCģ ----------- -//0244 by ‚ę‚  -Emob_db.txt‚ĖCģ - ‹T“‡ƒ‚ƒ“ƒXƒ^[‚Ėƒf[ƒ^‚ð‚Ē‚ę‚Ü‚ĩ‚―B - ‚―‚ūAŠÔˆá‚Á‚Ă镔•Š‚Š‚Đ‚Č‚č‚ ‚č‚Ü‚·B - Speed,Delay‚Í“K“–‚Å‚·B - ‚Ü‚―A‚í‚Đ‚į‚Č‚Ē‚Ė‚ÍŠØ‘”Å‚Ėƒf[ƒ^‚Ȃ˂Š- Mdef‚Æ‚ĐˆŲí‚ɍ‚‚Ē‹C‚āB ----------- -//0242 by ŒÓ’ą—– - -EŽæˆøŠÖ˜A‚Ė•ÏX‚ƏCģ - Žæˆø‚ÉŽg‚Ī•Ï”‚ðmmo_charstatus‚Đ‚įmap_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()‚ÅŽæˆø’†‚Č‚įƒLƒƒƒ“ƒZƒ‹‚·‚邿‚΂ɂĩ‚― - -EƒJ[ƒ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Œø‰ĘŽĀ‘• - ƒXƒLƒ‹K“ūƒJ[ƒhAƒXƒe[ƒ^ƒXƒ{[ƒiƒXƒJ[ƒh‚Č‚ĮB - - (map/) - map.h - struct map_session_data‚É‘•”õƒJ[ƒhŒŸõ—p‚Ė•Ï”’Į‰Á - pc.c/pc.h - pc_calcstatus()‚ŃJ[ƒh‚Ėˆ—’Į‰Á - ‚ ‚éID‚ĖƒJ[ƒh‚Š‘•”õÏ‚Ý‚ĐŒŸõ‚·‚é‚―‚ß‚ĖŠÖ”A - pc_equip_card(),pc_equip_wcard(),pc_equip_dcard()‚ð—pˆÓ - -Ed—ĘƒI[ƒo[/‘é/‹RæƒAƒCƒRƒ“‚Ė•\ŽĶ - (map/) - pc.c/pc.h - pc_checkweighticon()’Į‰ÁAd—Ę‚ĖƒAƒCƒRƒ“ˆ— - clif.c - clif_updatestatus()‚ŏd—Ę‘—MŽž‚Épc_checkweighticon()‚ĖŽĀs - clif_changeoption()‚ő邯‹Ræ‚ĖƒAƒCƒRƒ“ˆ— - -E0241‚ĖƒAƒCƒeƒ€ƒf[ƒ^ƒx[ƒXCģ‚Ė’Ęí‰ŋŠi”Å—pˆÓ - (db/) - item_db.txt - item_db2.txt‚É‘O‚Ėitem_db.txt‚ˉŋŠiî•ņ‚ðƒ}[ƒW‚ĩ‚―‚ū‚Ŋ‚Å‚·B - - ----------- -//0241 by ‚ę‚  -EƒAƒCƒeƒ€ƒf[ƒ^ƒx[ƒX‚ĖCģ - V“Š‘•”õ‚ĖƒOƒ‰ƒtƒBƒbƒN‚ŠˆŲ‚Č‚é‚Ė‚ðCģ - ‘•”õ‚ĖŒø‰Ę‚ĖŽĀ‘• - ã’iE’†’i‚ŠŠÔˆá‚Á‚Ä‚―‚Ė‚ð­‚ĩCģ - ‘Ž•ņ”Å‚Á‚Ä‚ą‚Æ‚ÅŠÔˆá‚Ķ‘―‚Ē‚Đ‚āB - ƒeƒXƒg‚ā‚ ‚Ü‚č‚ĩ‚Ă܂đ‚ņ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() : 0xe5iŽæ‚čˆø‚Ŧ—vŋŽó‚Ŋj - clif_tradestart() : 0xe7iŽæ‚čˆø‚Ŧ—v‹‰ž“šj - clif_tradeadditem() : 0xe9i‘ŠŽč•û‚Đ‚į‚ĖƒAƒCƒeƒ€’Į‰Áj - clif_tradeitemok() : 0xeaiƒAƒCƒeƒ€’Į‰ÁŽŒũj - clif_tradedeal_lock() : 0xeciok‰Ÿ‚ĩj - clif_tradecancelled() : 0xeeiŽæ‚čˆø‚ŦƒLƒƒƒ“ƒZƒ‹j - clif_tradecompleted() : 0xf0iŽæ‚čˆø‚ŦŠŪ—đj - ‚ð’Į‰ÁB - trade.c,trade.h - trade_traderequest() : Žæˆø—vŋ‚𑊎č‚É‘—‚é - trade_tradeack() : Žæˆø—vŋ - trade_tradeadditem() : ƒAƒCƒeƒ€’Į‰Á - trade_tradeok() : ƒAƒCƒeƒ€’Į‰ÁŠŪ—đ(ok‰Ÿ‚ĩ) - trade_tradecancel() : ŽæˆøƒLƒƒƒ“ƒZƒ‹ - trade_tradecommit() : Žæˆø‹–‘ø(trade‰Ÿ‚ĩ) - ‚ðŽĀ‘•B‚ŧ‚ꂞ‚ęclif.c::clif_parse_Trade*‚Đ‚įŒÄ‚΂ę‚éB - - ----------- -//0238 by ‚ę‚  - -E‘Ž“x•ύX‚ÉŠÖ‚ĩ‚ď­‚ĩCģ - atcommand.c - ‘Ž“x•ύX‚Ė•”•Š‚ð­‚ĩCģ - ‚ą‚ę‚Åˆę‰ž“Ū‚­‚Ý‚―‚ǁH - pc.c - ‚Â‚Ē‚Å‚É‚Å‚·‚Š - ‘Ž“xãļ‚Å•ās‘Ž“x‚Šã‚Š‚邿‚΂ɂĩ‚―B - ˆę‰ž“Ū‚­‚Ý‚―‚ǂł·‚Š“K“–‚Ȃ˂Š- ‚Ļ‚Đ‚ĩ‚Č‚Æ‚ą‚낊‚ ‚ę‚Î‚ĻŠč‚Ē‚ĩ‚Ü‚·B - ----------- -//0236 by nabe - -EƒXƒNƒŠƒvƒg‚Åmenu‚Å”ō‚ņ‚ūæ‚Å’ž‚Ūmenu‚ð‘‚­‚ÆŒë“Ūė‚·‚éƒoƒO‚ðCģ‚ĩ‚Ü‚ĩ‚―B - script.c - goto“Ūė‚ĖŒã‚ĖRERUNLINE‚ɑΏˆ‚·‚é‚―‚߁A - goto,menu‚Å”ō‚ņ‚ūŒã‚ɂ́Ast.state==GOTO‚Årerun_pos‚ðXVB - - ----------- -//0233 by nabe - -EƒAƒCƒeƒ€‚ð‘•”õ‚·‚éÛ‚Ė‘•”õ”ŧ’č‚ð’Į‰Á‚ĩ‚Ü‚ĩ‚―B - pc.c - pc_equipitem()‚É‘•”õ”ŧ’čiŦ•Ę”ŧ’čA‘•”õLV”ŧ’čAE‹Æ”ŧ’čj’Į‰Á - -Ed—Ę”ŧ’čƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒh‚ð’Į‰Á‚ĩ‚Ü‚ĩ‚―B - if (checkweight(ƒAƒCƒeƒ€ID,ƒAƒCƒeƒ€”—Ę)) - ‚Å‚ŧ‚ĖƒAƒCƒeƒ€~”—Ę‚ðŽæ“ū‚Å‚Ŧ‚é‚Đ‚Į‚Ī‚Đ”ŧ’č‚Å‚Ŧ‚Ü‚·B - script.c - buildin_checkweight()‚ð’Į‰Á - -EƒXƒNƒŠƒvƒg‹l‚ߍ‡‚í‚đ‚ðathena dev-2.1.1—p‚ɈڐA‚ĩ‚Ü‚ĩ‚―B - map_athena1.cnf - npc_event_*.txt ƒCƒxƒ“ƒgNPC - npc_job_*.txt “]ENPC - npc_mob_job.txt “]E—pƒ‚ƒ“ƒXƒ^[ - npc_town_*.txt ’ŽNPC - - ----------- -//0232 by ŒÓ’ą—– - -E‘•”õƒ{[ƒiƒX‚ŠŽĀ‘•‚ģ‚ę‚Ü‚ĩ‚― - ƒ{[ƒiƒX‚ÉŽg‚ĪƒXƒNƒŠƒvƒg(bonus,skill)‚ðŽĀ‘• - ƒXƒNƒŠƒvƒg‚ÍI-Athena‚Ėƒf[ƒ^‚ðŽg‚Á‚ăRƒ“ƒo[ƒg‚ĩ‚Ü‚ĩ‚―B - i‚Ü‚ūƒJ[ƒh‚ɂ͑Ήž‚ĩ‚Ăǂ܂đ‚ņj - - (common/) - mmo.h - struct skill‚Éflagƒƒ“ƒo’Į‰ÁiƒJ[ƒhƒXƒLƒ‹‚Đ‚Į‚Ī‚Đj - (map/) - map.h - struct map_session_data‚Éatk_ele‚Č‚Į‚Ėƒƒ“ƒo’Į‰Á - enum‚ÅSP_ATKELEMENT‚Č‚Į’Į‰Á - pc.c - pc_bonus()‚ĖŽĀ‘•Apc_skill()’Į‰Á - script.c - buildin_skill()‚Ė’Į‰Á - buildin_bonus()‚ĖCģ(const.txt‚˒萔‚ŠŽg‚͂邿‚Ī‚É) - clif.c - clif_skillinfoblock()‚ĖCģ(ƒJ[ƒhƒXƒLƒ‹‚͏グ‚į‚ę‚Č‚Ē) - (db/) - const.txt - bonus‚ÉŽg‚Ī‚―‚߂˒萔’Į‰Á - item_db.txt - •W€‚Ėƒf[ƒ^‚É‘•”õƒXƒNƒŠƒvƒg‚ð’Į‰Á‚ĩ‚―‚ā‚Ė - item_db2.txt - 0213‚Å‘Šę’ēŪ‚ģ‚ę‚―ƒf[ƒ^‚É‘•”õƒXƒNƒŠƒvƒg‚ð’Į‰Á‚ĩ‚―‚ā‚Ė - -E‰rĨŠÖŒW‚ĖƒoƒO‚ŠCģ‚ģ‚ę‚Ü‚ĩ‚― - (map/) - skill.c - skill_use_id(),skill_use_pos()‚ðCģ - (db/) - cast_db.txt - ­‚ĩ’Į‰ÁiƒuƒŠƒbƒcƒr[ƒg‚Č‚Įj - -EUŒ‚‘ېŦ‚Š“K—p‚ģ‚ę‚邿‚΂ɂȂč‚Ü‚ĩ‚― -EŊ‚Ė‚Đ‚Ŋ‚į‚ĖCģ‚Š“K—p‚ģ‚ę‚邿‚΂ɂȂč‚Ü‚ĩ‚― - map.h - struct map_session_data‚Éstarƒƒ“ƒo’Į‰Á - pc.c - pc_calcstatus()‚őېŦ‰Šú‰ŧ - battle.c - battle_get_element(),battle_get_attack_element()Cģ - battle_calc_weapon_damage()‚ĖŠY“–ŒÂŠCģ - -Eņ‘•”õŽž‚ÉMATK+15%‚Š“K—p‚ģ‚ę‚邿‚΂ɂȂč‚Ü‚ĩ‚― - battle.c - battle_calc_magic_damage()‚ĖŠY“–ŒÂŠCģ - -Eŧ‘Ē•Ší‚ĖƒLƒƒƒ‰ƒNƒ^[–ž‚Аģ‚ĩ‚­•\ŽĶ‚ģ‚ę‚邿‚΂ɂȂč‚Ü‚ĩ‚― - - Œī—‚Æ‚ĩ‚ẮAmapŽI“ā‚ĖƒLƒƒƒ‰ƒNƒ^–žƒf[ƒ^ƒx[ƒX‚ðŒŸõ‚ĩ‚āA - ‘ķÝ‚·‚ę‚Î‘Ķ•ÔMA‘ķÝ‚ĩ‚Č‚Ŋ‚ę‚ÎcharŽI‚É‰ðŒˆ—v‹‚ðo‚·B - ‚ą‚Ė‚Æ‚ŦA–ž‘O‚ð—v‹‚ĩ‚Ä‚Ŧ‚―ƒNƒ‰ƒCƒAƒ“ƒg‚ĖID‚ðƒf[ƒ^ƒx[ƒX‚É“o˜^‚·‚éB - charŽI‚Đ‚į–ž‘Oƒf[ƒ^‚Š‚­‚邯A‘Ήž‚·‚éƒf[ƒ^ƒx[ƒX‚É–ž‘O‚ðƒZƒbƒg‚ĩA - —v‹‚ĩ‚Ä‚Ŧ‚―ƒNƒ‰ƒCƒAƒ“ƒg‚É–ž‘O‚ð•ԐM‚·‚éB - –Ē‰ðŒˆ‚Ė“Ŋ‚ķƒLƒƒƒ‰ID‰ðŒˆ‚ð•Ą”‚ĖƒNƒ‰ƒCƒAƒ“ƒg‚Š—v‹‚ĩ‚Ä‚Ŧ‚―ę‡A - ÅŒã‚É—v‹‚ĩ‚Ä‚Ŧ‚―ƒNƒ‰ƒCƒAƒ“ƒg‚É‚ĩ‚ЕԐM‚ĩ‚ȂǂЁA - •ԐM‚ģ‚ę‚ȂЂÁ‚―ƒNƒ‰ƒCƒAƒ“ƒg‚͐”•bŒã‚ÉÄ‚Ņ‰ðŒˆ—v‹‚ð‘—‚Á‚Ä‚­‚é - i‚ŧ‚ĩ‚Ä‚ŧ‚Ė‚Æ‚Ŧ‚ÍmapŽI‚Đ‚į‘Ķ•ÔM‚ģ‚ę‚éj‚˂őå‚Ŧ‚Č–â‘č‚Í‚Č‚ĒB - - ƒpƒPƒbƒg0x2b08,0x2b09‚ÅmapŽI‚ÆcharŽI‚ВƐM‚ĩ‚Ă܂·B - - (char/) - char.h - UNKNOWN_CHAR_NAME’č‹`iƒLƒƒƒ‰ƒf[ƒ^‚Š–ģ‚Ē‚Æ‚Ŧ‚ɕԂģ‚ę‚é–ž‘Oj - char2.c - parse_frommap()‚ɃpƒPƒbƒg0x2b08‚Ėˆ—‚ð’Į‰Á - - (map/) - chrif.c/chif.h - chrif_searchcharid()’Į‰Á - chrif_parse()‚Å0x2b09‚Ėˆ—’Į‰Á - map.c - ƒf[ƒ^ƒx[ƒX charid_db éŒū - struct charid2nickéŒūBnick‚Í–ž‘OA - req_id‚Í0‚Å–ž‘O‰ðŒˆÏ‚݁A0ˆČŠO‚Å–Ē‰ðŒˆ‚Å‰ðŒˆ‘Ō‚ŋ‚ĖƒuƒƒbƒNID - map_addchariddb()’Į‰ÁBƒf[ƒ^ƒx[ƒX‚Ö–ž‘O“o˜^A—v‹‚ɕԐMB - map_reqchariddb()’Į‰ÁB—v‹‚Š‚ ‚Á‚―‚ą‚Æ‚ðƒ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 - -EƒXƒNƒŠƒvƒg‚Å mes "$charaname"; “™‚Ə‘‚­‚ƃLƒƒƒ‰‚Ė–ž‘O‚ð‚ĩ‚á‚Ũ‚é‹@”\‚ð’Į‰ÁB - script.c - buildin_mes()“ā‚Å - mes“ā•”‚Ė$charaname‚ðƒLƒƒƒ‰‚Ė–ž‘O‚É’uŠ·‚·‚鏈—‚ð’Į‰ÁB - ”“Ŋ—l‚É‚ĩ‚ĕϐ”‚Ė’l‚Č‚Į‚ðmes“ā•”‚Å•\ŽĶ‚·‚邿‚΂ɂ·‚邹‚Æ‚ā - ”‚Å‚Ŧ‚Ü‚·‚ЁA‚ą‚ę‚É‚Â‚Ē‚Ä‚Í–ĒŽĀ‘•‚Å‚·EEEB - ”‚Æ‚č‚ ‚Ķ‚ļ - ” mes Global_Val; - ”‚Ė‚æ‚΂ɒžÚ‘‚­‚ą‚Æ‚őΏˆ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB - -E“G‚ɍUŒ‚‚ģ‚ę‚―‚Æ‚Ŧ‚ÉmapŽI‚Š—Ž‚ŋ‚邹‚Æ‚Š‚ ‚é‚Ė‚ðCģB - battle.c - battle_calc_weapon_attack()‚Ė - ƒfƒBƒoƒCƒ“ƒvƒƒeƒNƒVƒ‡ƒ“‚ĖƒXƒLƒ‹ƒ`ƒFƒbƒN•”•ЁA - pc_checkskill(sd,22)‚ðA - pc_checkskill(tsd,22)‚ɁB - ----------- -//0230 by nabe - -E‰ņ”ð—Ķ‘‰ÁƒXƒLƒ‹‚ðƒXƒe[ƒ^ƒX‚É”―‰fB - pc.c - 0228‚Å‚Ėpc_calcstatus()‚ˉņ”ð—Ķ‘‰Á•Š‚ðŒģ‚É–ß‚ĩflee‚𑝉ÁB - battle.c - battle_calc_weapon_attack()‚ĖhitrateŒvŽZ‚ʼnņ”ð—Ķ•ÛØ‚ðŒvŽZB -EƒOƒ[ƒoƒ‹•ϐ”‚ðŽĀ‘•B -@ '@'‚ā‚ĩ‚­‚Í'l'‚ÅŽn‚Ü‚į‚Č‚Ē•Ï”–ž‚́A‘S‚ă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ˆę•”ƒXƒLƒ‹‚ĖŽĀ‘•/Cģ - ƒfƒBƒoƒCƒ“ƒvƒƒeƒNƒVƒ‡ƒ“Aƒf[ƒ‚ƒ“ƒxƒCƒ“Aƒr[ƒXƒgƒxƒCƒ“ŽĀ‘• - ƒGƒiƒW[ƒR[ƒgCģi–‚–@‚É‚æ‚éUŒ‚‚ɂ̓XƒLƒ‹‚Š“­‚Đ‚Č‚Ē‚æ‚Ī‚ÉCģj - •ŠíUŒ‚ŒnƒXƒLƒ‹CģiƒGƒtƒFƒNƒg‚ð’ʏíUŒ‚‚Đ‚įƒXƒLƒ‹‚ɕύXj - - battle.c - battle_addmastery()‚ŃxƒCƒ“Œn’Į‰Á - battle_calc_damage()‚ŃGƒiƒW[ƒR[ƒgCģ - skill.c - skill_castend_damage_id()‚Ė•ŠíUŒ‚ŒnƒXƒLƒ‹‚Ė•”•Š‚ðCģ - -E“GUŒ‚ŒvŽZ‚ðPC‚Ė‚ā‚Ė‚Æˆę–{‰ŧ - ‚ą‚ę‚ÅPCvsPCAPCvsMOBAMOBvsPCAMOBvsMOB(!?)‚ð‚P‚Â‚ĖŠÖ”‚ÅŒvŽZ‚Å‚Ŧ‚Ü‚· - - battle.c/battle.h - battle_calc_weapon_attack()‚ðCģ - battle_calc_weapon_attack_pc(),~mob()‚ðíœ - mob.c - mob_attack()‚ÅŒvŽZ‚Ébattle_calc_weapon_attack()‚ðŽg‚Ī‚æ‚Ī‚ÉCģ - -E‰rĨŽžŠÔƒf[ƒ^‚Š‚Č‚Ēę‡‚ĖƒfƒtƒHƒ‹ƒg‚ˉrĨŽžŠÔ‚ð‚O‚ɕύX - Ą‚܂ł͂P•b‚É‚ĩ‚Ă܂ĩ‚―‚ЁAƒoƒbƒVƒ…‚Æ‚Đ‚Š‚Ļ‚Đ‚ĩ‚­‚Č‚é‚˂ŁB - iƒoƒbƒVƒ…‚Æ‚Đ‚Ėƒf[ƒ^‚ð—pˆÓ‚·‚ę‚΂ą‚Ī‚ĩ‚Č‚­‚Ä‚ā’ž‚é‚ņ‚Å‚·‚Ёj - - pc.c - pc_readdb()‚Å1000ms‚ðƒZƒbƒg‚·‚é‚Ė‚ðŽ~‚ß‚― - -E‰“‹——ĢUŒ‚‚ĩ‚Ä‚ą‚Č‚ĒƒoƒOA‚ŧ‚Ė‘ž‚ðCģ - mob.c - mob_attack()‚ĖŽË’ö‚ðCģ‚ĩ–Y‚ę‚Ăǂ― - mob_ai_sub_hard()‚ÅŽË’ö‹——ĢŠO‚ĖŽžA–ģˆÚ“Ū‚Ė“G‚Í - ƒ^[ƒQƒbƒg‚ðŠO‚·‚æ‚΂ɂĩ‚― - - ----------- -//0228 by nabe - -Eƒ_ƒuƒ‹ƒAƒ^ƒbƒN‚ĖSkillID‚ðCģB - 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()‚ĖhitrateŒvŽZ‚ʼnņ”ð—ĶŒüã‚ðŒvŽZB -E“åģA“åģŽ“A“åģ—Y‚ðģí‰ŧB - npc_monster3J.txt - mob_db.txt‚ɍ‡‚í‚đ‚āA‚―‚Ô‚ņģ‚ĩ‚Ē‚ÆŽv‚í‚ę‚éID‚ɏCģB - “åģ 1006 -> 1051 - “åģŽ“ 1017 -> 1053 - “åģ—Y 1021 -> 1054 -EƒfƒoƒbƒOƒƒbƒZ[ƒW‚ĖÁ‚ĩ–Y‚ęiHj‚ðíœB - pc.c - printf("pc.c 63 clif_clearchar_area\n");‚ðƒRƒƒ“ƒgƒAƒEƒg - ----------- -//0227 by ŒÓ’ą—– - -Eˆę•”‚ĖƒXƒLƒ‹Œø‰Ę‚ŠŽĀ‘•‚ģ‚ę‚Ü‚ĩ‚― - HP‰ņ•œŒüãASP‰ņ•œŒüãAƒ}ƒOƒjƒtƒBƒJ[ƒgA - ƒnƒCƒfƒBƒ“ƒOAƒNƒ[ƒLƒ“ƒOAŽ€‚ņ‚ū‚Ó‚čA‰ž‹}Žč“– - - map.h - struct map_session_data ‚É inchealtick ƒƒ“ƒo’Į‰Á - pc.c - pc_spheal()‚Ń}ƒOƒjƒtƒBƒJ[ƒgˆ—’Į‰Á - pc_natual_heal_sub()‚ʼnņ•œŒüãƒXƒLƒ‹ˆ—’Į‰Á - pc_authok()‚Åinchealtick‚ð‰Šú‰ŧ‚·‚邿‚Ī‚É•ÏX - pc_walk()‚Åincheaktick‚ðÄÝ’č‚·‚邿‚Ī‚É•ÏX - pc_walk()‚ŃNƒ[ƒLƒ“ƒO‚ĖI—đðŒ‚ð’ēļ‚·‚邿‚Ī‚É•ÏX - pc_walktoxy()‚ŏó‘Ô‚É‚æ‚Á‚ÄˆÚ“Ū•s‰Â”\‚É‚ĩ‚― - skill.c/skill.h - skill_status_change_start(),~timer(),~end()‚ɏˆ—’Į‰Á - skill_check_cloaking()’Į‰ÁAƒNƒ[ƒLƒ“ƒO‚ĖI—đðŒ‚ðŒŸļ - battle.c/battle.h - battle_stopattack()’Į‰Á - battle_calc_weapon_attack()‚ōUŒ‚‚ðŽ~‚߂鏈—’Į‰Á - mob.c - mob_ai_sub_hard()‚ōUŒ‚‚ðŽ~‚߂鏈—’Į‰Á - -E’ʏíUŒ‚ˆ—A‘ÎMOBA‘ÎPC‚ð‹Ī—p‚ɁB - pc.c - pc_attack_mob(),pc_attack_pc()íœ - pc_attack()‚ɍUŒ‚ˆ—’Į‰Á - -Eƒ‚ƒ“ƒXƒ^[‚Ės“Ū‚Ėˆę•”ŽĀ‘• - ƒAƒNƒeƒBƒ”A–ģ”―‰žAˆÚ“Ū‚ĩ‚ȂǁA‰“‹——ĢUŒ‚ˆę•” - - mob.c - mob_ai_sub_hard()‚ɍs“Ū’Į‰Á - mob_ai_sub_hard_activesearch()’Į‰ÁA‹ß‚­‚ĖPC‚Ö‚Ėô“G - -EƒI[ƒo[ƒgƒ‰ƒXƒg‚Ė‘‰Á”{—Ķ‚Š100”{‚ɂȂÁ‚ĂǂéƒoƒO‚ŠCģ‚ģ‚ę‚Ü‚ĩ‚― - battle.c - battle_calc_weapon_attack()‚ŁAŠY“–ŒÂŠ‚ðCģ - - ----------- -//0226 by ŒÓ’ą—– - -‚â‚Á‚Ï‚čƒeƒXƒg‚Í‚ ‚ņ‚Ü‚č‚ĩ‚Ăǂ܂đ‚ņ - -Eˆę•”‚ĖƒXƒLƒ‹Œø‰Ę‚ŠŽĀ‘•‚ģ‚ę‚Ü‚ĩ‚― - ‘Ž“x‘‰ÁAƒGƒ“ƒWƒFƒ‰ƒXAƒLƒ…ƒA[ - ƒCƒ“ƒ|ƒVƒeƒBƒIƒ}ƒkƒXAƒTƒtƒ‰ƒMƒEƒ€AƒŠƒJƒoƒŠ[AƒOƒƒŠƒA - ‚Ó‚­‚ë‚Ī‚Ė–ÚAƒƒV‚Ė–ÚAW’†—ÍŒüãA‰ņ”ð—ĶŒüãA‰ð“Å - ŠŽ—Ę‘‰ÁAƒ‰ƒEƒhƒ{ƒCƒXAƒAƒhƒŒƒiƒŠƒ“ƒ‰ƒbƒVƒ…AƒI[ƒo[ƒgƒ‰ƒXƒg - ƒEƒFƒ|ƒ“ƒp[ƒtƒFƒNƒVƒ‡ƒ“Aƒ}ƒLƒVƒ}ƒCƒYƒpƒ[A‚Q‚g‚p - - (map/) - map.h - struct map_session_data‚Éwatk2,def2‚Č‚Į’Į‰Á - pc.c - pc_calcstatus()‚ɃXƒLƒ‹Cģ’Į‰Á - atk2‚Č‚Į‚ā‘—M‚·‚邿‚Ī‚É•ÏX - battle.c/battle.h - battle_get_def2()‚Č‚Į‘―”’Į‰Á - battle_calc_weapon_damage()‚Å“GŒļŽZ–hŒä‚ĖŠ“ū‚ð - battle_get_def2()‚ɕύX - battle_calc_magic_damage()‚Å“GŒļŽZ–‚–@–hŒä‚ĖŠ“ū‚ð - battle_get_mdef2()‚ɕύX - battle_calc_weapon_damage()‚ŃXƒLƒ‹Cģ‚ð’Į‰Á - skill.c/skill.h - skill_use_nodamage_id()‚ĖŠY“–ŒÂŠ’Į‰Á - skill_status_change_start()‚ĖŠY“–ŒÂŠ’Į‰Á - clif.c - clif_updatestatus()‚Ėatk2‚Č‚Į‚Ėˆ—’Į‰Á - clif_initialstatus()‚Åatk2‚Č‚Į‚Ėˆĩ‚Ē•ÏXAaspd‚Č‚Į‘—M’Į‰Á - -Eļ˜Bƒ_ƒ[ƒWCģ/ļ˜B–hŒäCģ‚Š“K—p‚ģ‚ę‚Ü‚ĩ‚― - (map/) - pc.c - pc_calcstatus()‚Åwatk2‚Ædef‚Ė’Į‰ÁŒvŽZ’Į‰Á - battle.c - battle_calc_weapon_damage()‚Åwatk2‚ðƒ_ƒ[ƒW‚É’Į‰Á - -EinterŽI‚ĖƒpƒPƒbƒg‰ðÍ•”‚Ė’v–―“I‚Č–â‘肊Cģ‚ģ‚ę‚Ü‚ĩ‚― - TCP/IPƒvƒƒOƒ‰ƒ€‚Å‚â‚Á‚Ä‚Í‚Ē‚Ŋ‚Č‚Ē‚ą‚Æ‚ð‚ŧ‚˂܂܂â‚Á‚Ă܂ĩ‚―(Šū - interŽI‚ĖƒpƒPƒbƒg’·ƒf[ƒ^‚ðinter.c‚ÉŽ‚‚æ‚Ī‚ÉCģ‚ģ‚ę‚Ü‚ĩ‚―B - - (char/) - inter.c/inter.h - ƒpƒPƒbƒg’·ƒf[ƒ^ inter_*_packet_length[] ‚ð’Į‰Á - ƒpƒPƒbƒg’·ƒ`ƒFƒbƒN inter_check_length() ‚ð’Į‰Á - mapif_parse_*()‚ÅRFIFOSKIP‚ð‚Č‚ĩ‚ɕύX - int_storage.c/int_storage.h - mapif_parse_*()‚ÅRFIFOSKIP‚ð‚Č‚ĩ‚ɕύX - int_party.c/int_guild.c - Žd—l•ύX‚ɑΉž‚ģ‚đ‚―•ÏX - INTERŽIƒpƒPƒbƒg.txt - ƒpƒPƒbƒg’·ƒŠƒXƒg’Į‰Á - -E‚ŋ‚å‚Á‚Æ‚ĩ‚―Cģ - (char/) - inter.h - inter_cfgName‚ð"conf/inter_athena.cnf"‚ɏCģ - char2.c - char.exe‘æ‚Qˆø”Č—ŠŽžAinter_cfgName‚ðŽg‚Ī‚æ‚Ī‚ÉCģ - (db/) - cast_db.txt - ƒz[ƒŠ[ƒ‰ƒCƒg‚ˉrĨŽžŠÔ’Į‰ÁiƒfƒBƒŒƒC‚Í“K“–j - Ú‚ĩ‚ǐl’Į‰Á‹‚Þ - ----------- -//0225 by ŒÓ’ą—– - -‚Č‚ņ‚ЂЂȂč˜M‚č‚Ü‚ĩ‚―‚Š‘Š•Ï‚í‚į‚ļƒeƒXƒg‚Í‚ ‚ņ‚Ü‚č‚ĩ‚Ă܂đ‚ņB - -EƒXƒLƒ‹Žg—pŽž‚Ė•Ï”‚ð•ύX - ‚æ‚­ŒĐ‚―‚įÅ‰‚Đ‚į—pˆÓ‚ģ‚ę‚Ă܂ĩ‚―‚ˁB - - map.h - struct map_session_data‚Ėcast_*‚ðíœ - skill.c - cast_*‚Ė•Ï”‚ðskill*‚ɕύXB - -EƒXƒe[ƒ^ƒXˆŲíƒXƒLƒ‹‚Ėˆ—‚ð’Į‰ÁiŒø‰Ę‚Í–ĒŽĀ‘•j - ŒĐ‚Đ‚ŊãAƒXƒe[ƒ^ƒXˆŲí‚ÉŠ|‚Đ‚Á‚―‚肯‚Đ‚ū‚ŊB - Œø‰Ę‚͂܂ū‚Č‚ĩB - - skill.c/skill.h - skill_status_change_start(),~end(),~timer(),~clear()’Į‰ÁB - ‚ŧ‚ꂞ‚ęƒXƒe[ƒ^ƒXˆŲí‚ĖŠJŽnAI—đAƒ^ƒCƒ}ˆ—A‘SÁ‹ŽB - map.c/map.h - map_quit()‚Åskill_status_change_clear()‚ðŒÄ‚Ô‚æ‚΂ɂĩ‚―B - struct map_session_data‚Ésc_data,sc_count’Į‰ÁB - struct mob_data‚Ésc_data,sc_count,option,opt1,opt2’Į‰ÁB - pc.c - pc_authok()‚Åsc_data,sc_count‚ð‰Šú‰ŧ‚·‚邿‚΂ɂĩ‚―B - pc_setoption‚Åclif_changeoption()‚Ėˆø”•ύXB - pc_damage()‚ÅŽ€–SŽž‚Éskill_status_change_clear()‚ðŒÄ‚Ô‚æ‚΂ɁB - mob.c - mob_spawn()‚Åsc_data,sc_count‚ð‰Šú‰ŧ‚·‚邿‚΂ɂĩ‚―B - mob_attack()‚Åbattle_calc_damage()‚ðŒÄ‚Ô‚æ‚΂ɂĩ‚―B - mob_damage()‚ÅŽ€–SŽž‚Éskill_status_change_clear()‚ðŒÄ‚Ô‚æ‚΂ɁB - battle.c/battle.h - battle_get_*()‚―‚­‚ģ‚ņ’Į‰ÁB - battle_calc_damage()’Į‰ÁBÅI“I‚Čƒ_ƒ[ƒWŒvŽZ—pB - battle_calc_magic_attack(),battle_calc_weapon_attack()‚Å - battle_calc_damage()‚ðŒÄ‚Ô‚æ‚΂ɂĩ‚―B - clif.h/clif.c - clif_status_change()’Į‰ÁBƒXƒe[ƒ^ƒXˆŲíƒAƒCƒRƒ“•\ŽĶ—pB - clif_changeoption()‚Ėˆø”•ύXB - atcommand.c - clif_changeoption()‚ðŒÄ‚ņ‚łǂé‚Qƒ–Š‚ňø”•ύXB - @die‚Åskill_status_change_clear()‚ðŒÄ‚Ô‚æ‚΂ɁB - -Eƒ}ƒOƒkƒXƒGƒNƒ\ƒVƒYƒ€‚ĖK“ūðŒ‚ŠŠÔˆá‚Á‚Ăǂé‚Ė‚ðCģB - db/skill_tree.txt - ŠY“–ŒÂŠCģBiƒŒƒbƒNƒXƒG[ƒeƒ‹ƒi‚Ė•K—vLv‚ð‚P‚Ɂj - -EƒAƒNƒeƒBƒu‚Č“G‚͍UŒ‚‚·‚邯‚ŦŽžXƒ^[ƒQƒbƒg‚Š•Ï‚í‚邿‚΂ɂȂč‚Ü‚ĩ‚― - mob.c - mob_ai_sub_hard()‚ĖUŒ‚‚ģ‚ę‚―‚ĐŠm”F‚·‚é•”•Š‚É - ƒAƒNƒeƒBƒu‚Č‚į25%‚ĖŠm—Ķ‚Åƒ^[ƒQƒbƒg‚Š•Ï‚í‚邿‚Ī‚É•ÏXB - -Eˆę•”‚ĖƒXƒLƒ‹Œø‰Ę‚ŠŽĀ‘•‚ģ‚ę‚Ü‚ĩ‚― - ƒLƒŠƒGƒGƒŒƒCƒ\ƒ“AƒGƒiƒW[ƒR[ƒgAƒŒƒbƒNƒXƒG[ƒeƒ‹ƒiA - ƒz[ƒŠ[ƒ‰ƒCƒgAƒŠƒUƒŒƒNƒVƒ‡ƒ“Aƒ^[ƒ“ƒAƒ“ƒfƒbƒhAƒ‚ƒ“ƒXƒ^[î•ņ - - skill.c/skill.h - skill_castend_nodamage_id()‚ɃXƒLƒ‹‚Ėˆ—‚ð’Į‰ÁB - skill_castend_*_id()‚Ėˆø”‚ð•ύX - battle.c - battle_calc_damage()‚ɃXƒLƒ‹‚Ėˆ—‚ð’Į‰ÁB - battle_damage(),battle_heal()‚Ėˆø”•ύX - battle_calc_weapon_damage(),battle_calc_magic_damage()ˆø”•ύX - clif.c/clif.h - clif_skill_estimation()’Į‰ÁBƒ‚ƒ“ƒXƒ^[î•ņ‘—M—p - pc.c - battle_calc_weapon_damage()ŒÄ‚Ņo‚ĩ‚Ėˆø”•ύX - -Estorage.txt‚Š–ģ‚Ēę‡interŽI‚Š‹­§I—đ‚·‚éŽd—l‚ð•ύX‚ĩ‚Ü‚ĩ‚― - (char/) - int_storage.c - inter_storage_init()‚Ńtƒ@ƒCƒ‹‚Š“Į‚߂ȂǂÆexit‚ĩ‚Ä‚―‚Ė‚ðCģ - - ----------- -//0224 -E2-2ŽŸE‚ĖƒXƒLƒ‹‚ðƒcƒŠ[‚É’Į‰Á‚ĩ‚Ü‚ĩ‚―iŽĀ‘•‚͂܂ū‚Å‚·j - (db/) - skill_db.txt - skill_tree.txt - - ----------- -//0223 by ŒÓ’ą—– -EƒJƒvƒ‰‘qŒÉ‚ðinterŽI‚ɑΉž‚ģ‚đ‚Ü‚ĩ‚― - ‚ǂ܂܂łĖstorage.txt‚Í‚ŧ‚Ė‚Ü‚ÜŽg‚͂܂·B - interŽI—p‚ĖÝ’čƒtƒ@ƒCƒ‹‚Æ‚ĩ‚Äconf/inter_athena.cnf‚ðŽg‚ǂ܂·B - iÝ’čƒtƒ@ƒCƒ‹‚Íchar.exe‚Ė‘æ‚Qˆø”‚Å‘ž‚Ėƒtƒ@ƒCƒ‹‚ðŽw’č‚Å‚Ŧ‚Ü‚·j - - ƒJƒvƒ‰‘qŒÉ‚ĖinterŽIŽĀ‘•‚ĖŠT—v - - interŽI‚Ístorage.txt‚Ė‘Sƒf[ƒ^‚ðŽ‚ÂBmapŽI‚̓AƒJƒEƒ“ƒg‚Š—v‹‚·‚é‚܂Š- ‚ŧ‚ĖƒAƒJƒEƒ“ƒg‚Ė‘qŒÉƒf[ƒ^‚ðŽ‚―‚ȂǁBƒNƒ‰ƒCƒAƒ“ƒg‚Đ‚į‘qŒÉ‚ðŠJ‚­—v‹‚Š - ‚ ‚Á‚―‚Æ‚ŦAmapŽI‚͑Ήž‚·‚éƒAƒJƒEƒ“ƒg‚Ė‘qŒÉƒf[ƒ^‚ðinterŽI‚É—v‹‚·‚éB - interŽI‚Đ‚įƒf[ƒ^‚Š“Í‚­‚ƃNƒ‰ƒCƒAƒ“ƒg‚É‘qŒÉƒf[ƒ^‚ð‘—‚éB - ‘qŒÉ‚Ėo‚ĩ“ü‚ę‚̓Nƒ‰ƒCƒAƒ“ƒg‚ÆmapŽIŠÔ‚˒ƐM‚ū‚Ŋ‚ōs‚í‚ę‚éB - ƒNƒ‰ƒCƒAƒ“ƒg‚Š‘qŒÉ‚ð•‚ķ‚é‚ЏI—đ‚·‚é‚ÆAmapŽI‚ÍŠY“–ƒAƒJƒEƒ“ƒg‚Ė - ‘qŒÉƒf[ƒ^‚ðinterŽI‚É‘—‚éB‚ą‚Ė‚Æ‚ŦinterŽI‚ˉž“š‚ð‘Ō‚―‚ļ‚ɃNƒ‰ƒCƒAƒ“ƒg‚É - ‘qŒÉƒNƒ[ƒY‚ð‘—‚éBinterŽI‚Í‘qŒÉƒf[ƒ^‚ðŽó‚ŊŽæ‚邯A - ‘Sˆõ•Š‚Ėƒf[ƒ^‚ðƒtƒ@ƒCƒ‹‚ɕۑķ‚ĩ‚āAmapŽI‚ÉŽŒũƒXƒe[ƒ^ƒX‚ð•Ô‚·B - mapŽI‚ÍŽŒũƒXƒe[ƒ^ƒX‚ð–ģŽ‹‚·‚éB(ƒfƒoƒbƒO—p‚ɉæ–Ę‚Éo—Í‚·‚é‚ū‚Ŋ) - interŽII—đŽž‚É‚ā‘qŒÉƒf[ƒ^‚ðƒtƒ@ƒCƒ‹‚É•Û‘ķ‚·‚éB - - mapŽI‚Åaccount2storage‚ŐV‚ĩ‚Ē‘qŒÉƒf[ƒ^‚ðė‚邯‚ŦA - ‚·‚łɕ‚ķ‚į‚ę‚Ăǂé‘qŒÉƒf[ƒ^‚Ėƒƒ‚ƒŠ‚ðŽg‚ǂ܂í‚ĩ‚―‚Ų‚Ī‚Šƒƒ‚ƒŠ‚Š - ß–ņ‚Å‚Ŧ‚é‚Đ‚āHi‚ą‚ę‚ÍŽĀ‘•‚ĩ‚Ăǂ܂đ‚ņj - - (common/) - mmo.h - struct storage ‚ð map/storage.h ‚Đ‚įˆÚ“ہB - interŽI‚ÆmapŽI—ž•û‚ÅŽg—p‚·‚é‚―‚߁B - (char/) - char2.c - do_final()‚ðėŽAI—đŽž‚Émmo_char_sync()ˆČŠO‚Éinter_save()‚ð - ŒÄ‚Ô‚æ‚΂ɂĩ‚―i‚ą‚ę‚Åinter_*_save()‚Í‘S•”ŒÄ‚΂ę‚Ü‚·j - inter_init()‚ðchar.exe‚Ė‘æ‚Qˆø”‚ā‚ĩ‚­‚Í"conf/inter.cnf"‚Å - ŒÄ‚Ô‚æ‚΂ɂĩ‚―iathena.sh‚ÉinterŽIƒRƒ“ƒtƒBƒOƒtƒ@ƒCƒ‹‚ðŽw’č‚Å‚Ŧ‚Ü‚·j - inter.c/inter.h - inter_storage_init(),inter_storage_save(), - inter_storage_parse_frommap()‚ðŒÄ‚Ô‚æ‚΂ɁB - inter_init()‚ɃRƒ“ƒtƒBƒOƒtƒ@ƒCƒ‹–ž‚Ėˆø”‚ð•t‚Ŋ‚―B - inter_config_read()’Į‰ÁAƒRƒ“ƒtƒBƒOƒtƒ@ƒCƒ‹‚Đ‚į - ‘qŒÉ‚ƃp[ƒeƒB[AƒMƒ‹ƒh‚Ėƒtƒ@ƒCƒ‹–ž‚ð“Į‚ݍž‚݂܂·B - int_storage.c/int_storage.h - V‹K’Į‰ÁB‘qŒÉ•”•Š‚ĖinterŽI‹@”\B - int_party.h/int_party.c/int_guild.h/int_guild.c/ - ƒtƒ@ƒCƒ‹–ž•ϐ”‚ːéŒū’Į‰Á - INTERŽIƒpƒPƒbƒg.txt - ‘qŒÉƒpƒPƒbƒg‚ˉðā’Į‰Á - - (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()‚͕ϐ”‰Šú‰ŧ‚Ė‚Ý‚É•ÏXB - storage_storageopen()‚ł͒P‚Éintif_request_storage()‚ðŒÄ‚Ô‚ū‚Ŋ‚ɁB - storage_storageclose()‚Éintif_send_storage()‚ð’Į‰Á - storage_storage_quitsave()’Į‰ÁBƒNƒ‰ƒCƒAƒ“ƒgI—đŽž‚É - ƒJƒvƒ‰‘qŒÉ‚ŠŠ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 - V‹K’Į‰ÁBinterŽI—p‚ĖƒRƒ“ƒtƒBƒOƒŒ[ƒVƒ‡ƒ“ƒtƒ@ƒCƒ‹ - - ----------- -//0221 by ŒÓ’ą—– - -EƒXƒLƒ‹ƒ^[ƒQƒbƒg‚ĖID‚Аģ‚ĩ‚­Š“ū‚Å‚Ŧ‚Ȃǖâ‘čCģ - clif.c - clif_parse_UseSkillToId()‚ÅID‚ðWORD‚Æ‚ĩ‚Ĉĩ‚Á‚Ä‚―‚Ė‚ðLONG‚ɏCģ - -EƒXƒLƒ‹‰rĨŽžŠÔ‚Æ‘ŪŦ•\A‚Ļ‚æ‚Ņ–‚–@ŒnƒXƒLƒ‹‚ˑېŦCģŽĀ‘• - ‘ېŦƒ_ƒ[ƒWCģ‚Í battle_attr_fix() ‚ÅŒvŽZ‚ĩ‚Ü‚·B - atk_elem‚Í‘ŪŦ‚ŧ‚˂܂܁Adef_elem‚́i‘ېŦlv*20{‘ېŦj‚Å‚·B - ‰rĨŽžŠÔ‚Ískill.c‚ĖCASTFIX‚Ė’l‚ð•Ï‚Ķ‚é‚ą‚ƂŔ{—Ķ‚ð’ēŪ‚Å‚Ŧ‚Ü‚· - - pc.c - pc_readdb()‚Åcast_db.txt‚Æattr_fix.txt‚Ė“Į‚ݍž‚Ý’Į‰Á - skill.c/skill.h - struct skill_db ‚Écast,delay’Į‰ÁA‚ŧ‚ę‚į‚ĖƒAƒNƒZƒT‚ā’Į‰Á - ƒXƒLƒ‹‰rĨŽžŠÔ‚ð skill_get_cast() ‚ÅŠ“ū‚·‚邿‚΂ɂĩ‚― - battle.c/battle.h - attr_fix_table’č‹` - battle_attr_fix()’Į‰ÁA‘ېŦCģ‚ðŒvŽZ‚·‚é - ‘ېŦŒnƒAƒNƒZƒT(battle_get_element()‚Č‚Į)‚ð’Į‰Á - battle_calc_magic_damage()‚ɑېŦCģ‚ð’Į‰Á - cast_db.txt - V‹K’Į‰ÁB‰rĨŽžŠÔ‚ƃfƒBƒŒƒC‚Ėƒf[ƒ^ƒx[ƒX - ‘S‘R‘Ŧ‚č‚Ȃǂ˂ŁA’N‚Đ’Į‰ÁŠó–]B - attr_fix.txt - V‹K’Į‰ÁB‘ېŦCģƒe[ƒuƒ‹ - -Eƒq[ƒ‹‚ĖŽĀ‘• - clif.c/clif.h - clif_skill_nodamage()’Į‰ÁAŽx‰‡Œn‚â‰ņ•œ‚ĖƒGƒtƒFƒNƒg - skill.c/skill.h - skill_castend_damage_id()Askill_castend_nodamage_id()’Į‰ÁA - UŒ‚Œn‚ÆŽx‰‡/‰ņ•œŒn‚Ŋ֐”‚𕊂Ŋ‚― - ƒq[ƒ‹ŒvŽZƒ}ƒNƒ skill_calc_heal() ’Į‰Á - battle.c - battle_calc_magic_damage()‚Ńq[ƒ‹‚Ėƒ_ƒ[ƒWŒvŽZ’Į‰Á - - ----------- -//0220 by ‚ę‚  - -0216‚ĖCģ -HIT‚ĖŒvŽZ‚Š‚Ļ‚Đ‚ĩ‚Đ‚Á‚―‚Ė‚ÅCģ‚ĩ‚Ă݂܂ĩ‚―B -ŠÔˆá‚Á‚Ä‚―‚į‚ē‚ß‚ņ‚Č‚ģ‚ǁB - -Ebattle.c - 256s–Ú‚Ė - hitrate=battle_get_hit(&sd->bl) - battle_get_flee(&sd->bl) + 80; - ‚Š‚―‚Ô‚ņAŽĐ•Ђ˂g‚h‚s‚ÆŽĐ•Š‚Ė‚e‚k‚d‚d‚ÅŒvŽZ‚ĩ‚Ä‚é‹C‚Š‚·‚é‚˂Š- hitrate=battle_get_hit(&sd->bl) - battle_get_flee(target) + 80; - ‚ɏCģ‚ĩ‚Ü‚ĩ‚―B - - ----------- -//0218 by ŒÓ’ą—– - -ŽĀÛ‚É•ŠŽU‚ģ‚đ‚ăeƒXƒg‚ĩ‚Ä‚Ē‚Č‚Đ‚Á‚―‚čB - -EmapŽI•ŠŽUˆ——p‚ÉinterŽI‹@”\‚ð‚‚Ŋ‚Ă݂éiĄŒã‚Ė‚―‚ß‚ĖŠg’́j - charŽI‚ÉinterŽI‚ðŠņķ‚ģ‚đ‚Ü‚ĩ‚―B•Ą”‚ĖmapŽIŠÔ‚˒ƐM‚É—˜—p‚ĩ‚Ü‚·B - mapŽI‚𕊎U‚ĩ‚ďˆ—‚Å‚Ŧ‚邿‚΂ɂ·‚é‚―‚߂ˋ@”\‚Å‚·B - ĄŒãparty‚âguildŽĀ‘•Žž‚É‚Ŧ‚Á‚Æ–ð‚É‚―‚Á‚Ä‚­‚ę‚é‚Đ‚ÆB - - ‘qŒÉ‚ĖŽĀ‘•‚āinterŽI‚ÉˆÚ“Ū‚·‚Ũ‚Ŧ‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņB - ‚Į‚ĖƒLƒƒƒ‰ƒNƒ^[‚Š‚Į‚ĖmapŽI‚ɂǂé‚ĐŒŸõ‚·‚é‹@”\‚ā‚Ē‚é‚Đ‚āB - - Žg‚ĪƒpƒPƒbƒg‚ĖID‚ÍˆČ‰š‚Ė‚æ‚΂ɂȂč‚Ü‚· - mapŽI=>interŽI‚̓pƒPƒbƒg0x3000` - interŽI=>mapŽI‚̓pƒPƒbƒg0x3800` - ƒpƒPƒbƒg‚ðė‚Á‚―ę‡‚́AINTERŽIƒpƒPƒbƒg.txt‚ɏ‘‚ǂĂ­‚ū‚ģ‚Ē - - ‚ą‚Ė‹@”\‚É‚æ‚郁ƒŠƒbƒg - mapŽI•ŠŽU‚É‚ā‘Ήž‚Å‚Ŧ‚é - ‚ą‚Ė‹@”\‚É‚æ‚éƒfƒƒŠƒbƒg - interŽIŒo—R‚Ė‘S‚Ă˖―—ß‚Ė“Ūė‘Ž“x‚Š—Ž‚ŋ‚é - iˆę‰ņinterŽI‚܂œn‚·‚―‚߁j - ŽI‚ƃNƒ‰ƒCƒAƒ“ƒg‚ð“Ŋ‚ķPC‚ÅŽg‚Á‚Ăǂ邯‚‚į‚Ē‚Đ‚ā - - (char/) - char2.c/char.h - mapif_sendall()’Į‰Ái‘SMAPŽI‚ɃpƒPƒbƒg‚ð‘—‚éj - mapif_send()’Į‰Ái“Á’čMAPŽI‚É‘—‚éFķ‘ķ”ŧ’č•t‚Ŧj - parse_frommap()‚Åinter_parse_frommap()‚ðŒÄ‚Ô‚æ‚΂ɂĩ‚― - (interŽI‚ĖmapŽI‰ðÍ•”‚ðcharŽI‚ÉŠņķ‚ģ‚đ‚―‚ą‚Æ‚ɂȂé) - inter.h/inter.c - V‹K’Į‰ÁBinterŽI‚Ė’†ŠjB - inter_parse_frommap‚ÅMAPŽI‚Đ‚į‚ĖƒpƒPƒbƒg‚ð‰ðÍ‚ĩ‚Ü‚·B - int_party.h/int_party.c/int_guild.h/int_guild.c - V‹K’Į‰ÁBĄŒã‚Ė‚―‚߂˗\–ņBƒp[ƒeƒB‚âƒMƒ‹ƒh‹@”\—p - init‚Ńf[ƒ^‚ð“Į‚ņ‚ŁAsave‚Å•Û‘ķ‚·‚Ũ‚ŦH - save‚͂܂ūŒÄ‚΂ę‚ȂǁBparse‚ŃpƒPƒbƒg‰ðÍB - common/mmo.h‚ ‚―‚č‚Ńp[ƒeƒB[‚âƒMƒ‹ƒh‚Ė\‘Ǒ˂ð - ’č‹`‚·‚é•K—v‚Š‚ ‚邯Žv‚í‚ę‚éB - INTERŽIƒpƒPƒbƒg.txt - ƒpƒPƒbƒg‚ĖƒŠƒXƒg - - (map/) - intif.h/intif.c - interŽI‚Æ’ĘM‚·‚é•”•ЁB - inter_parse()‚ÅinterŽI‚Đ‚į‚ĖƒpƒPƒbƒg‚ð‰ðÍ‚ĩ‚Ü‚·B - interŽI‚Öƒf[ƒ^‚ð‘—‚é‚Æ‚Ŧ‚Íinter_fd‚ðŽg‚ǂ܂·B - chrif.h/chrif.c - chrif_parse()‚Åinter_parse()‚ðŒÄ‚Ô‚æ‚΂ɂĩ‚― - iintif.c‚ĖinterŽI‰ðÍ•”‚ðcharŽI‰ðÍ•”‚ÉŠņķ‚ģ‚đ‚―‚ą‚Æ‚ɂȂé) - -E@kamiƒRƒ}ƒ“ƒh‚ðinterŽIŒo—R‚ɕύX - Œī—‚Æ‚ĩ‚Ă͎Ÿ‚Ė‚æ‚Ī‚ČŠī‚ķ‚Å‚· - ƒNƒ‰ƒCƒAƒ“ƒg„mapŽI„interŽI„‘SmapŽI„‘SƒNƒ‰ƒCƒAƒ“ƒg - - (char/) - inter.c - mapif_GMmessage()’Į‰Á - (map/) - intif.h/intif.c - intif_GMmessage()’Į‰Á - intif_parse‚ÅGMƒƒbƒZ[ƒW‚Ėˆ—‚ð’Į‰Á - clif.c/clif.h - clif_GMmessage()‚Ėˆø”‚ð•ύX - atcommand.c - @kami•”•Š‚Åintif_GMmessage()‚ðŒÄ‚Ô‚æ‚΂ɂĩ‚― - -EWis‚ðinterŽIŒo—R‚ɕύX - Œī—‚Æ‚ĩ‚Ă͎Ÿ‚Ė‚æ‚Ī‚ČŠī‚ķ‚Å‚· - - ‘—‚čŽåƒNƒ‰ƒCƒAƒ“ƒg„‘—‚čŽåmapŽI„interŽI„‘Sƒ}ƒbƒvŽI„(•ŠŠōA) - [•ŠŠōA] - 1.‘ŠŽč‚ːl‚Ē‚émapŽI„‘ŠŽč‚ĖƒNƒ‰ƒCƒAƒ“ƒg - @@@@V@@ @„interŽI„‘—‚čŽåmapŽI„‘—‚čŽåƒNƒ‰ƒCƒAƒ“ƒg - 2.‘ŠŽč‚˂ǂȂĒmapŽI„interŽIi•ŠŠōBj - [•ŠŠōB] - 1.‘SmapŽI‚Љž“š‚ĩ‚―interŽI „‘—‚čŽåmapŽI„‘—‚čŽåƒNƒ‰ƒCƒAƒ“ƒg - 2.(‘S•”‚͉ž“š‚ĩ‚Ä‚Č‚Ē‚Æ‚Ŧ‚́A‘SmapŽI‚ˉž“š‚ð‘Ō‚Â) - - ‚ā‚Ė‚·‚ē‚Ē•ĄŽG‚ɂȂÁ‚Ă܂·‚ˁB - - (char/) - inter.c - struct WisList ’č‹`iWisƒf[ƒ^‚ĖƒŠƒ“ƒNƒŠƒXƒgj - add_wislist(),del_wislist(),search_wislist(), - check_ttl_wislist()’Į‰Á,ƒŠƒ“ƒNƒŠƒXƒg‚ðˆĩ‚ĪŠÖ”Œ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()‚ðŒÄ‚Ô‚æ‚΂ɂĩ‚― - -EƒXƒLƒ‹Žg—pŽž‚Ėƒqƒbƒg”/Á”ïSPŠ“ū‚ĖƒoƒOCģ - skill.c - skill_get_sp(),skill_get_num()‚ÅŽQÆ‚·‚é”z—ņƒCƒ“ƒfƒbƒNƒX‚ðlv-1‚É‚ĩ‚― - - ----------- -//0216 by ŒÓ’ą—– - -‚Ē‚Â‚ā‚Į‚Ļ‚čƒeƒXƒg‚Ų‚Æ‚ņ‚Į‚ĩ‚ĂȂǂ˂ŁAƒoƒO‘å—ʂЂāB - -E0213‚ĖCģH‚Ė‚æ‚­‚í‚Đ‚į‚Č‚Ē‚Æ‚ą‚ëCģ - itemdb.c - ƒRƒ“ƒpƒCƒ‹‚Š’Ę‚į‚Ȃǂ˂Åitemdb_equipoint‚Ėˆø”ƒŠƒXƒg•ύX - -EAthena dev 2.1.1‚Ė“K—p - dev-2.1.1‚Å“K—p‚ģ‚ę‚―Cģ‚ð“K—p‚ĩ‚Ü‚ĩ‚― - - timer.c - 2.1.1‚Ė‚ā‚Ė‚Æ·‚ĩ‘Ö‚Ķ - script.c - C_NE: ‚ĖCģ‚Ė“K—p - README - ÅŒã‚Ė•ķÍ‚ð2.1.1‚Ė‚ā‚Ė‚É·‚ĩ‘Ö‚Ķ - -EƒXƒLƒ‹ƒf[ƒ^ƒx[ƒX‚ĖCģ - ˆę•”‚ĖÁ”ïSP‚âƒqƒbƒg”‚Č‚Į‚ðCģB - - skill_db.txt - ŠY“–ŒÂŠ‚ĖCģ - -EƒXƒLƒ‹UŒ‚‚ĖŽĀ‘••ύX•’Į‰ÁŽĀ‘• - ƒoƒbƒVƒ…Aƒƒ}[ƒiƒCƒgAƒ_ƒuƒ‹ƒXƒgƒŒƒCƒtƒBƒ“ƒOAƒsƒA[ƒX - ƒXƒsƒAƒu[ƒƒ‰ƒ“AƒXƒsƒAƒXƒ^ƒuAƒ{[ƒŠƒ“ƒOƒoƒbƒVƒ… - ƒ\ƒjƒbƒNƒuƒ[AƒOƒŠƒ€ƒgƒD[ƒX ‚Č‚Į‚ĖŽĀ‘••ύX - - ƒiƒp[ƒ€ƒr[ƒgAƒ\ƒEƒ‹ƒXƒgƒ‰ƒCƒNA - ƒtƒ@ƒCƒ„[ƒ{ƒ‹ƒgAƒR[ƒ‹ƒhƒ{ƒ‹ƒgAƒ‰ƒCƒgƒjƒ“ƒOƒ{ƒ‹ƒgAƒA[ƒXƒXƒpƒCƒNA - ƒ†ƒsƒeƒ‹ƒTƒ“ƒ_[ ‚Č‚Į‚ð’Į‰ÁŽĀ‘• - i‘S‚āA”͈͍UŒ‚‚âƒXƒe[ƒ^ƒXˆŲí‚Č‚Į‚Í–ĒŽĀ‘•j - - pc.c/pc.h - 0213‚Ė•ÏX‚ð‚ȂЂÁ‚―‚ą‚Æ‚É‚ĩ‚― - pc_attack_mob()‚ĖCģAŒvŽZ‚Íbattle_calc_weapon_attack()‚É”C‚đA - ‚ŧ‚ĖŒvŽZŒ‹‰Ę‚ð“K—p‚·‚é‚ū‚Ŋ‚ɕύX - clif.c/clif.h - clif_skill_fail(),clif_skill_damage(),clif_skill_damage2()’Į‰Á - ‚ŧ‚ꂞ‚ęŽg—pŽļ”sAŽg—pƒGƒtƒFƒNƒgA‚Ŧ”ō‚΂ĩ•t‚ŦŽg—pƒGƒtƒFƒNƒg - skill.c/skill.h - 0213‚Ė•ÏX‚ð‚ȂЂÁ‚―‚ą‚Æ‚É‚ĩ‚―iƒ_ƒ[ƒW”{—ĶŒvŽZ‚Š‚Ļ‚Đ‚ĩ‚ǁj - skill_castend_id()‚ÉSP/ZenyŠm”F‚ƏÁ”ï•”•Š‚ð’Į‰ÁA - Ží—Þ•Ę‚Éˆ—‚ð’Į‰ÁB - battle.c/battle.h - V‹K’Į‰Á - •ŠíUŒ‚ŒvŽZ—p‚Ébattle_calc_weapon_attack(), - –‚–@UŒ‚ŒvŽZ—p‚Ébattle_calc_magic_attack()‚ð—pˆÓ - i‘o•û‚Æ‚āAMOB‚ÆPC—ž•ûŒvŽZ‰Â”\‚Ȃ͂ļj - ƒtƒ@ƒCƒ‹‘‚â‚ĩ‚·‚Ž‚Æ‚Ē‚ĪˆÓŒĐ‚āc(Šū) - - ----------- -//0214 by ‚ę‚  -Eƒ_ƒuƒ‹ƒAƒ^ƒbƒN‚Š‚Ļ‚Đ‚ĩ‚Đ‚Á‚―‚Æ‚ą‚ë‚ðCģB -EƒXƒLƒ‹‚Ėˆę•”ŽĀ‘• - ƒoƒbƒVƒ…Eƒƒ}[ƒiƒCƒgEƒ_ƒuƒ‹ƒXƒgƒŒƒCƒtƒBƒ“ƒOEƒsƒA[ƒX - ƒXƒsƒAƒu[ƒƒ‰ƒ“EƒXƒsƒAƒXƒ^ƒuEƒ{[ƒŠƒ“ƒOƒoƒbƒVƒ… - ƒ\ƒjƒbƒNƒuƒ[EƒOƒŠƒ€ƒgƒD[ƒX‚Č‚Į‚Å‚·B - - “K“–‚Ȃ˂łĮ‚ą‚ЁA•s‹ï‡‚Š‚ ‚é‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņB - ‚ ‚ƁAƒeƒXƒg‚ā‚ ‚Ü‚č‚ĩ‚Ă܂đ‚ņ‚Ė‚Å‚Ļ‚Đ‚ĩ‚Ē‚Æ‚ą‚낊‚ ‚Á‚―‚įCģ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·B - ‘ž‚É‚ā–â‘肊‚ ‚Á‚―‚įŽč’ž‚ĩ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·B - •ύX“ā—e‚ÍˆČ‰š‚Ė’Ę‚č‚Å‚·B - - clif.c,clif.h - clif_skill_damage()‚ð’Į‰Á‚ĩ‚Ü‚ĩ‚―B - - pc.c,pc.h - pc_attack_mob()‚Ėˆø”‚ðˆę‚Â’Į‰ÁB - ƒ_ƒuƒ‹ƒAƒ^ƒbƒN‚Š‚Ļ‚Đ‚ĩ‚Đ‚Á‚―‚˂Őģí‚É“Ūė‚·‚邿‚Ī‚ÉCģB - - skill.c - ˆę•”ƒXƒLƒ‹‚ĖŽĀ‘•‚ð‚ĩ‚Ă݂܂ĩ‚―B - - ----------- -//0213 by ‚ę‚  -E0208‚ˁ—ƒRƒ}ƒ“ƒh‚ŏ­‚ĩCģ - atcommand.c - @item‚Ԑ”Žw’肊–ģ‚Ēę‡A“üŽčŒÂ”‚ð‚PŒÂ‚É‚·‚邿‚΂ɂĩ‚―B - @item‚ÅID‚ĖŽw’肊–ģ‚Ēę‡AƒAƒCƒeƒ€‚ð“üŽč‚ĩ‚Ä‚―‚ą‚Æ‚ɂȂÁ‚Ä - ‚Ē‚―‚Ė‚ðCģ - itemdb.c - item_db.txt‚ÅSell‚Ė€–Ú‚ð“X”„‚č‚Ė’l’i‚Æ‚ĩ‚Ă݂―B - item_db2.txt - ŽŽ‚ĩ‚ɃJ[ƒh‚⃌ƒAƒAƒCƒeƒ€‚Ė“X”„‚č‰ŋŠi‚ð’l’i‚ð–{ŽI‚Ė‘Šę‚É‚ĩ - ‚Ă݂―‚ā‚ˁBŽg—p‚·‚éę‡‚Íitem_db.txt‚ƍ·‚ĩ‘ւ͂Ă­‚ū‚ģ‚ǁB - - ----------- -//0208 by nabe - -E—ƒRƒ}ƒ“ƒhŽĀ‘•B - atcommand.h,atcommand.c - ‚Ų‚ÚI-Athena‚ˁ—ƒRƒ}ƒ“ƒh‘Š“–‚Å‚·‚ЁA@GM‚ÆPVP‚Í–ĒŽĀ‘•‚Å‚·B - help.txt‚ā“ŊŦ‚ĩ‚Ăǂ܂·B - GMiƒAƒJƒEƒ“ƒgID704554`704583ję—p‚É‚·‚é‚ɂ́A - atcommand.c‚ĖŠY“–•”•Š‚ĖƒRƒƒ“ƒgƒAƒEƒg‚ð‰ðœ‚ĩ‚ĉš‚ģ‚ǁ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‚ŋ‚å‚Á‚Æ‚ū‚ŊCģB - script.c - {buildin_openstorage,"openstorage","s"}, - ‚Đ‚į - {buildin_openstorage,"openstorage",""}, - ‚ɏCģ‚ĩ‚Ü‚ĩ‚―B - - ----------- -//0206 by ŒÓ’ą—– -EƒXƒLƒ‹ƒcƒŠ[/ƒXƒLƒ‹Žg—p‹@\‚ĖŽĀ‘• - mmo.h - MAX_SKILL‚𑝂â‚ĩ‚― - char2.c - mmo_char_fromstr() - mmo_charstatus‚Ėskill‚ĖƒCƒ“ƒfƒbƒNƒX‚ɃXƒLƒ‹”ԍ†‚ðŽg‚Ī‚æ‚΂ɂĩ‚― - =>ƒXƒLƒ‹‚ĖŒŸõ‚‘މŧ‚Ė‚―‚߁i‚Đ‚í‚č‚Ƀƒ‚ƒŠŽg—p—ƂБ‚Ķ‚éj - pc.h/pc.c - pc_skillup(),pc_calc_skilltree()’Į‰Á - pc_checkskill()•ύXiƒCƒ“ƒfƒbƒNƒX‚ðƒXƒLƒ‹”ԍ†‚Ɂ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_data‚Écast_*‚ð’Į‰Á - skill_db.txt - ƒtƒ@ƒCƒ‹’Į‰Á(db/) - (I-Athena0200‚Ėskill_info2.txt‚ðƒRƒ“ƒo[ƒg‚ĩ‚―‚ā‚Ė) - (ƒXƒLƒ‹Žg—p•”•ŠŠJ”­ŽŌŒü‚Ŋî•ņ) - ƒXƒLƒ‹‚ĖŒø‰Ę‚ðŽĀ‘•‚·‚éęŠ‚Ískill.c‚Ė - skill_castend_id(),skill_castend_pos()‚Å‚·B - ƒ^[ƒQƒbƒg‚âŽg—pƒXƒLƒ‹‚Í sd->cast_* ‚Đ‚į“ū‚Ü‚· - ƒXƒLƒ‹ƒf[ƒ^ƒx[ƒX‚Ö‚Í skill_get_* ‚ŃAƒNƒZƒX‚ĩ‚Ä‚­‚ū‚ģ‚Ē - ĄŒãAƒLƒƒƒXƒeƒBƒ“ƒOƒ^ƒCƒ€‚āƒf[ƒ^ƒx[ƒX‚É“ü‚ę‚é—\’č - ----------- -//0205 by nabe - -Estorage.c‚ĖƒoƒOƒtƒBƒNƒXB -E‘qŒÉƒf[ƒ^‚ðAƒ}ƒbƒvŽI‹N“ŪŽž‚É“Į‚݁Aƒ}ƒbƒvŽII—đŽž‚É‘‚­‚æ‚Ī‚É•ÏXB - storage.h,storage.c - storage_init()‚ðdo_init_storage()‚ɉü–žB - storage_save()‚ðdo_final_storage()‚ɉü–žB - fclose‚ð–Y‚ę‚Ăǂ―‚Ė‚ð’Į‰Á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 - -EƒAƒCƒeƒ€‚ˉņ•œ—Ę‚ð’Į‰Á/•ύ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 - ‰ĐF‚Ēƒn[ƒu@@@@@@@@@HP 21- 29 - ”’‚Ēƒn[ƒu@@@@@@@@@@HP 80-111 - Â‚Ēƒn[ƒu@@@@@@@@@@SP 15- 44 - ƒŠƒ“ƒS@@@@@@@@@@@@HP 12- 15 - ƒoƒiƒi@@@@@@@@@@@@HP 11- 16 - ƒuƒhƒE@@@@@@@@@@@@SP 10- 24 - ‚Ē‚ā@@@@@@@@@@@@@HP 11- 15 - ‚É‚­@@@@@@@@@@@@@HP 70- 99 - ƒnƒ`‚˖ρ@@@@@@@@@@@HP 72- 97 / SP 20- 59 - ƒ~ƒ‹ƒN@@@@@@@@@@@@HP 25- 34 - ƒLƒƒƒ“ƒfƒB@@@@@@@@@@HP 31- 74 - ƒXƒeƒBƒbƒNƒLƒƒƒ“ƒfƒB@@@@@HP 46-109 - ƒŠƒ“ƒSƒWƒ…[ƒX@@@@@@Ķ@HP 28- 32 - ƒoƒiƒiƒWƒ…[ƒX@@@@@@@@HP 27- 33 - ƒuƒhƒEƒWƒ…[ƒX@@@@@@@@SP 15- 39 - ƒjƒ“ƒWƒ“ƒWƒ…[ƒX@@@@@Ķ@HP 29- 32 - ƒJƒ{ƒ`ƒƒ@@@@@@@@@@@HP 14 - ƒyƒbƒgƒt[ƒh@@@@@@@@@HP 53- 83 - ‚æ‚­Ä‚Ē‚―ƒNƒbƒL[@@@@@@HP 80-177 - ‚ЂƂ­‚ŋƒP[ƒL[@@@@@@@HP 251-359 - ‚Ð‚Č‚ ‚į‚ę@@@@@@@@@@HP 175-234 - •H–݁@@@@@@@@@@@@@HP 350-429 - ƒŒƒbƒhƒXƒŠƒ€ƒ|[ƒVƒ‡ƒ“@@Ķ@HP 30- 44 - ƒCƒGƒƒXƒŠƒ€ƒ|[ƒVƒ‡ƒ“@@Ķ@HP 175-234 - ƒzƒƒCƒgƒXƒŠƒ€ƒ|[ƒVƒ‡ƒ“@Ķ@HP 350-429 -@ŒŧÝ‚ĖAthena‚Å‚ÍVIT‚âƒXƒLƒ‹‚É‚æ‚éƒ{[ƒiƒX‚͉Á–Ą‚ģ‚ę‚Ü‚đ‚ņB -@i“K—p‚·‚éę‡‚Íscript.c“ā‚Ėbuildin_healŠÖ”‚ ‚―‚č‚ɂɎč‚ð‰Á‚Ķ‚é•K—v‚ ‚čj -@‚ȂρAĶ•t‚ĖƒAƒCƒeƒ€‚Ėƒf[ƒ^‚Í“K“–‚Å‚·B -EŒÃ‚ĒƒJ[ƒh’Ÿ‚ðŽĀ‘•(UseScript) -E‚ŧ‚Ė‘žCģ -@@‚Ð‚Č‚ ‚į‚ę@@@@@@@@@@d—ʂȂĩĻd—Ę0.1‚ɏCģ -@@•H–݁@@@@@@@@@@@@@d—ʂȂĩĻd—Ę0.1‚ɏCģ -@@ƒoƒ‹ƒ€ƒ“@@@@@@@@@@@d—Ę0.1S4•ÐŽčŒ•Ļd—Ę100S0—žŽčŒ•‚ɏCģ -@‚ȂρASell‚Ė€–Ú‚Í‚ ‚é‚ū‚Ŋ–ģ‘Ę‚Á‚Û‚Ē‚Ė‚Å‘S•”Á‚ĩ‚Ü‚ĩ‚―B - ----------- - -//0202 by nabe - -EƒJƒvƒ‰‘qŒÉ‚ˁu“ŊˆęƒAƒJƒEƒ“ƒg‚Ȃ˂ɋΗL‚Å‚Ŧ‚Č‚ĒƒoƒOv‚ð‰ü—Į‚ĩ‚Ü‚ĩ‚―B - ŠeƒLƒƒƒ‰‚É‘qŒÉƒf[ƒ^‚ðŽ‚―‚đ‚é‚Ė‚Í–ģ‘ƂБ―‚Ē‹C‚Š‚·‚é‚˂ŁA - ƒAƒJƒEƒ“ƒgID‚ÅŠĮ—‚·‚邿‚Ī‚ÉŽd—l‚ð•ύX‚ĩ‚Ü‚ĩ‚―B - ‚Â‚Ē‚Å‚ÉA‘qŒÉƒf[ƒ^‚Í‘S‚Ästorage.c‚Å‚Ü‚Đ‚Č‚ĒA - charŽI‚ÍŠÖ—^‚ĩ‚Ȃǂæ‚΂ɂĩ‚Ü‚ĩ‚―B - ‚ą‚ę‚É”š‚ǁAchar_athena.cnf,mmo.h,char2.c‚ÍŒģ‚É–ß‚ĩ‚Ü‚ĩ‚―B - ‚Ü‚―A‘qŒÉƒtƒ@ƒCƒ‹–ž‚́gstorage.txth‚ɌŒč‚ĩ‚Ăǂ܂·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 - -EƒJƒvƒ‰‘qŒÉ‚ðŽĀ‘•‚ĩ‚Ü‚ĩ‚―B - - ƒXƒNƒŠƒvƒg‚Đ‚įŒÄ‚Ņo‚·‚ɂ́AƒXƒNƒŠƒvƒg“ā‚Å - openstorage; - ‚Æ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB - ƒTƒ“ƒvƒ‹‚Æ‚ĩ‚Änpc_kafraJ.txt‚ð•t‚Ŋ‚Ä‚ ‚č‚Ü‚·B - •đ‚đ‚Änpc_script3J.txt‚ĖŠY“–•”•Š‚ā‰ü•Ï‚ĩ‚Ü‚ĩ‚―B - - char_athena.cnf‚Ė - stor_txt: - ‚Å‘qŒÉƒtƒ@ƒCƒ‹–ž‚ðŽw’č‚ĩ‚Ăǂ܂·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 - Ú‚ĩ‚­‚́Aã‹Lƒtƒ@ƒCƒ‹‚ĖƒRƒƒ“ƒg‚Č‚Į‚ðŽQl‚É‚ĩ‚Ä‚­‚ū‚ģ‚ǁB - -EƒJƒvƒ‰‘qŒÉŽĀ‘•‚É”š‚ǁAmap_athena1.cnf‚ð­‚ĩ‘‚ŦŠ·‚͂܂ĩ‚―B - -E‘S‚Ä‚ĖƒRƒƒ“ƒg•ķ‚ðEUC‚Đ‚įSJIS‚ɕϊ·‚ĩ‚Ü‚ĩ‚―B - ----------- - - Athena Dev. v2.1.1 Released: Middle July, 2003 - (c) 2003 Athena Project. - http://project-yare.de/ - -1. Athena(ƒAƒeƒi)‚É‚Â‚Ē‚Ä -2. ‚ą‚ĖƒŠƒŠ[ƒX‚É‚Â‚Ē‚Ä -3. •K—v‚Č•Ļ -4. Žg‚Ē•û -5. ŒŧÝ‚ĖŽd—l -6. jŽŦ -7. –Ɛӎ–€ -8. •åW -9. English - - -1. ƒAƒeƒi‚É‚Â‚Ē‚Ä - ƒAƒeƒi‚Æ‚Í2003”N1ŒŽ”ž‚΂ɂł―0052.lzh‚ðƒx[ƒX‚Æ‚ĩ‚čė‚į‚ę‚ĂǂéƒGƒ~ƒ…ƒŒ[ƒ^‚Ėˆę‚‚ł·B - Šî–{“I‚Čƒ‰ƒCƒZƒ“ƒX‚̓IƒŠƒWƒiƒ‹‚ŠGPL‚ˉš‚É”z•z‚ģ‚ę‚ĂǂéˆŨA - ‚ą‚ę‚ɏ]‚ĒGPL‚ˉš”z•z‚ð‹–‰Â‚ĩ‚Ü‚·B - /* - ‰ü—Į”Å‚ð”z•z‚·‚éę‡‚Í•K‚ļ‚ą‚ĖREADME‚ð‘‚ŦŠ·‚͂Ă­‚ū‚ģ‚ǁB - ‰―ˆ‚ð‰ü—Į‚ĩ‚―‚Ė‚Đ•ņ(athena@project-yare.de‚Ü‚Å)‚ĩ‚Ä–á‚͂邯•‚Đ‚č‚Ü‚·B - ƒoƒCƒiƒŠ‚Ė‚Ý‚Ė”z•z‚ÍGPLˆá”―‚Å‚·‚Ė‚Å"•K‚ļ"ƒ\[ƒX‚ā“Y•t‚ĩ‚Ä‚­‚ū‚ģ‚ǁB - */ - “Ūė‚ĖŠm”F‚ÍˆČ‰š‚Ė’Ę‚č‚Ė‚Ýs‚Á‚Ăǂ܂·B - // ‚―‚ū‚ĩŠŪ⸂ɓۂ­Ž–‚ð•ۏ؂·‚é‚ā‚˂ł ‚č‚Ü‚đ‚ņ - ‘ΏÛCPU: Intel PentiumŒn // PentiumIIˆČã‚ÅŠm”F. - FreeBSD 4.8R, 4.6.2R - Linux RedHat 7.3 - cygwin + gcc 3.2 20020927 (prerelease) - ŠJ”­ŒģURL: http://project-yare.de/ - - -2. ‚ą‚ĖƒŠƒŠ[ƒX‚É‚Â‚Ē‚Ä - Ą‰ņ‚ĖƒŠƒŠ[ƒX‚Í‘O‰ņ(V2.1)“Ŋ—lŠJ”­”Å‚ĖƒŠƒŠ[ƒX‚Ė‚Ý‚Å‚·B - 2.1‚É”ä‚Ũ‰š‹L‚Ė“_‚ŠCģ‚ģ‚ę‚Ăǂ܂·B - map‚ĖƒfƒtƒHƒ‹ƒgÝ’č‚ŠŠØ‘data.grf‚Ė‚Ýģí‚É“Ūė‚·‚邿‚΂ɂȂÁ‚Ăǂ―“_ - common/timer.c‚âmap/script.c‚ĖŠô‚Â‚Đ‚ĖƒoƒO - - v‘Ž‚ÉUpdate‚ð‹­‚­„§‚·‚é‚ā‚Ė‚Å‚Í‚ ‚č‚Ü‚đ‚ņ‚ŠŠeŽĐ‚Ė”ŧ’f‚ōs‚Á‚ĉš‚ģ‚ǁB - - -3. •K—v‚Č•Ļ - data.grf //sdata.grf‚Í•K—v‚ɉž‚ķ‚Ä - account.txt //‘ķÝ‚ĩ‚Č‚Ēę‡athena.sh‚ŠŽĐ“ŪķŽ‚ĩ‚Ü‚· - conf/*.cnf //Map—p‚ÆChar—p‚Ė“ņŽí—Þ‚ ‚č‚Ü‚· - conf/npc*.txt //npcÝ’č—pƒtƒ@ƒCƒ‹‚Å‚·B•Ą”‚Ėƒtƒ@ƒCƒ‹‚ɕЂŊ‚邹‚Æ‚Š‰Â”\‚Å‚·B - db/*.txt //ƒAƒCƒeƒ€Ajobî•ņ‚Č‚Į - - -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 - ã‹L‚ðs‚Ķ‚Î"‚―‚Ô‚ņ"‹N“Ū‚ĩ‚Ü‚·B - - •â‘Ŧ: - conf/npc_sampleJ.txt‚ɂ̓XƒNƒŠƒvƒg‚Ė‘‚Ŧ•û‚É‚Â‚Ē‚ÄFX‚Ȑā–ū‚Š‹LÚ‚ģ‚ę‚Ăǂ܂·B - ‚ā‚ĩA“ÆŽĐ‚ĖMapÝ’č‚ðs‚Á‚Ă݂―‚ǐl‚âAƒXƒNƒŠƒvƒg‚ð˜M‚č‚―‚Ē•û‚ÍŽQl‚É‚ĩ‚Ä‚­‚ū‚ģ‚ǁB - ‚―‚ū‚ĩAŠJ”­’†‚Ė‚―‚߃XƒNƒŠƒvƒg‚ĖŽd—l‚Š•ÏX‚ģ‚ę‚é‰Â”\Ŧ‚Š‚‚ǂł·B - command.txt‚É‚ÍŽĀ‘•Ï‚Ý‚Ė“ÁŽęƒRƒ}ƒ“ƒh‚É‚Â‚Ē‚Ä‚Ėā–ū‚ð‹LÚ‚ĩ‚Ăǂ܂·B - - -5. ŒŧÝ‚ĖŽd—l - –{ŽI‚Æ”ä‚Ũ‚Ä‚Ļ‚Đ‚ĩ‚Ē(—á‚Ķ‚Îƒvƒo‚Е₭Aƒ|ƒŠƒ“‚ŠƒAƒCƒeƒ€‚ðE‚í‚ȂǂȂĮ)“_‚́A - ‘S‚ÄŒŧÝŠJ”­’†‚Ɉö‚é‚ā‚˂ł·B - Œŧó‚Æ‚ĩ‚ăLƒƒƒ‰ƒNƒ^Œn‹y‚Ņƒ‚ƒ“ƒXƒ^[Œn‚ĖƒoƒO•ņ‚Í–ģŽ‹‚ģ‚ę‚é‰Â”\Ŧ‚Š‚‚ǂł·B - - ƒoƒO•ņ‚É‚Â‚Ē‚Ä•K‚ļ”­ķðŒ‚ð‚Ļ‘‚Ŧ‰š‚ģ‚ǁB - ‰š‚É‚ ‚é•ņ—pƒeƒ“ƒvƒŒ[ƒg‚ðŽg‚Á‚Ä•ņ‚ĩ‚Ä’ļ‚­‚Ə•‚Đ‚č‚Ü‚·B - •ņæ‚̓Gƒ~ƒ…”Â‚ĖŠJ”­ƒXƒŒ‚ɂłāB - ---- Athena v 2.0 (stable or develop) ---- - ygcc verzgcc -v‚ðŽĀsŽž‚É•\ŽĶ‚ģ‚ę‚é“ā—e - y“ŪėƒVƒXƒeƒ€zFreeBSD, Linux(ƒfƒBƒXƒgƒŠƒrƒ…[ƒWƒ‡ƒ“‚ā), cygwin‚Č‚Į - y”­ķ“ā—ezmap‚Š—Ž‚ŋ‚Ä‚ĩ‚Ü‚Á‚―Žž‚Ė•\ŽĶ‚ģ‚ę‚Ăǂ―ƒfƒoƒbƒOî•ņ‚Č‚Į‹ï‘Ė“I‚ɏ‘‚ǂĂ­‚ū‚ģ‚ǁB - y‘€ė“ā—ez‹ï‘Ė“I‚É‚Į‚ņ‚Č‘€ė‚ðs‚Á‚―‚Đ‚ð‘‚Ē‚Ä‚­‚ū‚ģ‚ǁB - ------------------ END ------------------- - —‘z‚̓eƒ“ƒvƒŒ‚ɉÁ‚Ķ‚Ämap.core‚Č‚Įcoreƒtƒ@ƒCƒ‹‚ðUploader‚ɃAƒbƒv‚ĩ‚Ä’ļ‚­‚ą‚Æ‚Å‚·‚Š - –â‘č‚ĖMap‚ū‚Ŋ‚Ėó‘Ô‚É‚ĩcore‚Ė“f‚­—e—ʂɒˆÓ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB - /* - Šm”F‚ĩ‚―ŒĀ‚č‚Å‚Í324ŒÂ‚Ų‚Įmapƒf[ƒ^‚ð“Į‚ݍž‚Ü‚đ‚邯A - 40MB‹ß‚Ēcoreƒtƒ@ƒCƒ‹‚ð“f‚Ŧo‚ĩ‚Ü‚· @FreeBSD - cygwin‚Ėę‡‚Ístackdump‚Æ‚Ē‚Īƒtƒ@ƒCƒ‹‚ɂȂé‚ŧ‚΂ł·B - ‚ĩ‚Đ‚ĩAcoreƒtƒ@ƒCƒ‹‚Č‚Į‚ðgzipˆģk‚Č‚Į‚·‚ę‚Α啝‚ÉŽ‚ģ‚­‚Č‚č‚Ü‚·B - ‘å–}30MB‚Ėcoreƒtƒ@ƒCƒ‹‚Š2.9MB‚Ų‚Į‚ɂȂ邿‚΂ł·B - ‚Å‚·‚˂ŁA‚ā‚ĩƒAƒbƒvƒ[ƒh‚·‚éę‡‚Ígzipˆģk‚Č‚ĮŠeŽĐs‚Á‚Ä‚­‚ū‚ģ‚ǁB - */ - - Ą‰ņ‚ĖƒŠƒŠ[ƒX‚ū‚Ŋ‚łȂ­HISTORY‚ðėŽ‚·‚邯‘å—ʂɋLq‚Š•K—v‚ČˆŨČ—Š‚ĩ‚Ăǂ܂·B - // ‘―‚Ē“ú‚ū‚Æ–{“–‚ÉŒ‹\‚ ‚č‚Ü‚·‚˂ŁddB - - -6. jŽŦ - Ą‰ņ‚ą‚ĖAthenaŠJ”­”Å‚ðo‚·‚É“–‚―‚Á‚ÄŠīŽÓ‚ĩ‚―‚Ē•ûX(‡”Ô•s“Ŋ) - Lemmingށ (Project YARE) - 0052ށ (Uploader) - 35ށ (ƒGƒ~ƒ…ŠJ”­ƒXƒŒ) - Johan Lindhށ(Author of memwatch) - YARE forum‚ĖNPCî•ņ‚ðėŽ‚ĩ‚―•ûX - weissŒĪ‹†‰ïBBS‚Ė—lX‚ȏî•ņƒtƒ@ƒCƒ‹‚ðėŽ‚ĩ‚―•ûX - ÅŒã‚ɁA.coreƒtƒ@ƒCƒ‹’B - - -7. –Ɛӎ–€ - Athena Project‚ÍˆęØAthena‚Ė“Ūė‚ÉŠÖ‚·‚é•ۏؓ™‚͍s‚ǂ܂đ‚ņB - ‚‚܂čAAthena‚Í–ģ•ۏ؂ł·B - athena@project-yare.de‚É“ŪėE‘€ė“™‚ÉŠÖ‚·‚éŽŋ–â‚Č‚Į‚ð‘—‚į‚ę‚Ä‚āˆęØ‚Ļ“š‚͂łŦ‚Ü‚đ‚ņB - –”Athena‚ð—p‚Ē‚―‚ą‚Æ‚É‚æ‚čķ‚ķ‚―”íŠQE–â‘č“™‚ːӔC‚ÍˆęØAthena Project‚Í•‰‚ǂ܂đ‚ņB - - -8. •åW - athena‚ĖŠJ”­‚ÉŽQ‰Á‚ĩ‚―‚Ē//‹ŧ–Ą‚Š‚ ‚邯‚ǂΕû‚ē˜A—‰š‚ģ‚ǁB - ‰äX‚Í‹M•û‚ĖŽQ‰Á‚ð‚ϑԂŋ‚ĩ‚Ăǂ܂·B - // ÅV”łЗ~‚ĩ‚Ē‚ū‚Ŋ‚ʼn―‚į‹Ķ—Í‚ĩ‚Ä’ļ‚Ŋ‚Č‚Ē‚Æ‚Ē‚Ī•û‚Í‚Ļ’f‚č‚Å‚·;-) - [•åW—v€: ƒvƒƒOƒ‰ƒ}(2-3l)] - ”N—î: •s–â - Ŧ•Ę: •s–â - ŒūŒę: “ú–{Œę‚Š—‰ð‰Â”\ - “ā—e: CŒūŒę‚ā‚ĩ‚­‚ÍC++‚É‚æ‚éŠJ”­B(“Á‚Ƀlƒbƒgƒ[ƒN‚âDB‚ĖŒoŒą‚Š—L‚é•û‘å•åW!) - [•åW—v€: –|–ó(?l)] - ”N—î: •s–â - Ŧ•Ę: •s–â - ŒūŒę: “ú–{ŒęA‰pŒę‚Š—‰ð‰Â”\ - “ā—e: •§—–žŒęA“ƈíŒęAž”Į‰åŒęAˆÉ‘ū—˜ˆŸŒęA‘Ũ(ƒ^ƒC)ŒęA’Đ‘NŒęA’†‘Œę‚Ö•ķŒĢAƒTƒCƒg‚Č‚Į‚Ė–|–ó - ˜A—æ: athena@project-yare.de ŽG–ą’S“–‚܂ŁB - - -9. English - This release is just fixed some bugs in timer.c, script.c and map_athena1.conf. - - -(c) 2003 Athena Project. +-------------------- +//1032 by (“Ę) +E1031‚ʼn―ŒĖ‚Đíœ‚ģ‚ę‚Ăǂ―buildin_getitemname()‚𕜊ˆ +EƒoƒOƒXƒŒ‚Č‚Į‚ɏo‚―Cģ‚ð”―‰f +E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģ + + (map/) + clif.c + clif_disp_onlyself() NULLƒ`ƒFƒbƒN’Į‰Á + map.c + map_nick2sd() nick‚ŠNULL‚ū‚Æ‚·‚ŪNULL‚ð•Ô‚·‚æ‚Ī‚É•ÏX + mob.c + mob_setdelayspawn() NULLƒ`ƒFƒbƒN•ύX + mob_delete() Cģ + npc.c + npc_parse_warp() Cģ + script.c + buildin_getitemname() •œŠˆ + +---------------------------------------- +//1031 by huge +ENPC‚Ėscript‚ɁAmakepet‚ð’Į‰ÁB + makepet —‘ID; ‚ŁAƒyƒbƒg‚ðėŽ‚ĩ‚Ü‚·B +ENPC‚Ėscript‚ɁAgetexp‚ð’Į‰ÁB + getexp Base,Job; ‚ŁA‚ŧ‚ꂞ‚ę‚ĖŒoŒą’l‚𑝂â‚ĩ‚Ü‚·B +Eƒyƒbƒg‚Ė—‘‚ðNPC‚Ėdelitem‚ŏÁ‚ĩ‚―‚čshop‚Å”„‚Á‚―ŽžAƒyƒbƒgƒZ[ƒuƒf[ƒ^‚Đ‚įíœ‚·‚邿‚ĪCģB +EƒfƒBƒ{[ƒVƒ‡ƒ“ŽŒũðŒCģB(–ĒŠm”F) +EŒoŒą’l•\ŽĶ‚ð‰Â”\‚É‚ĩ‚Ă݂܂ĩ‚―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‚ɐVĨ“‡ƒUƒƒC‚ðƒRƒƒ“ƒgƒAƒEƒg‚ĩ‚Ä’Į‰Á +EƒNƒ[ƒ“ƒXƒLƒ‹‚ÅŠo‚Ķ‚―ƒXƒLƒ‹‚ðŽĐ“ŪƒZ[ƒu‚炯‚É–Y‚ę‚Ăǂ―‚Ė‚Å‚Æ‚č‚ ‚Ķ‚ļƒƒOƒIƒtŽž‚É‚Ė‚Ý–Y‚ę‚邿‚Ī‚É•ÏX‚ĩ‚―‚‚ā‚č +Emobskill_castend_pos‚Ė–ģŠQnullpoƒ`ƒFƒbƒN‚ð•ύX +EEmotion‚ĖÝ’č‚Š‚Č‚ĒMob‚ŠƒXƒLƒ‹‚ðŽg—p‚·‚邯‚Ŧ‚É/!‚ðo‚ĩ‚Ăǂ―‚Ė‚ðCģ +EƒoƒOƒXƒŒ‚ɓЂ°‚―trade.c‚ð“Y•tB‚Æ‚č‚ ‚Ķ‚ļ‘ŠŽč‚ŠŠŽ‚Å‚Ŧ‚éŽí—Þ‚ĖŒĀŠE‚ð’ī‚Ķ‚―ę‡‚Í“n‚ģ‚ļ‚ÉŒģ‚É–ß‚·‚æ‚Ī‚É•ÏX + + (conf/) + map_athena.conf ƒUƒƒC’Į‰Á + (doc/) + client_packet.txt ƒpƒPƒbƒg’·‚ĖXV + (map/) + map.c + map_quit() I—đŽž‚ÉƒNƒ[ƒ“ƒXƒLƒ‹‚ÅŠo‚Ķ‚―ƒXƒLƒ‹‚ð–Y‚ę‚邿‚Ī‚É•ÏX + mob.c + mobskill_castend_pos() nullpoƒ`ƒFƒbƒN•ύX + mob_readskilldb() Cģ + pc.c + pc_makesavestatus() ƒNƒ[ƒ“ƒXƒLƒ‹‚ð–Y‚ę‚é‚Ė‚ðmap_quit‚É”C‚đ‚― + trade.c + trade_tradecommit() ŠŽ‚Å‚Ŧ‚éŽí—ÞˆČã‚ðŽæˆø‚ĩ‚―ę‡‚ɃAƒCƒeƒ€‚ŠÁ‚͂Ȃǂæ‚Ī‚É + +-------------------- +//1029 by (“Ę) +E20040619RagexeHC_jp.rgz‚Ė0x204‚Æ0x20bƒpƒPƒbƒg‚ɑΉž +Echar‚Ælogin‚ā’m‚į‚Č‚ĒƒpƒPƒbƒg‚Š—ˆ‚―‚įƒpƒPƒbƒgƒ_ƒ“ƒv‚ðo—Í‚·‚邿‚Ī‚Éclif.c‚Đ‚įƒRƒsƒy + + (doc/) + client_packet.txt VƒpƒPƒbƒg’Į‰Á + (char/) + char.c + parse_char() 0x20b‘Ήž + (login/) + login.c + parse_login() 0x204‘Ήž + +-------------------- +//1028 by (“Ę) +EƒEƒ“ƒoƒ‰ˆČ~AMob‚ŠƒXƒLƒ‹‚ðŽg—p‚·‚邯‚Ŧ‚ɃGƒ‚[ƒVƒ‡ƒ“‚ðo‚·‚æ‚΂ɂȂÁ‚―‚˂ŁAmob_skill_db‚ðŠg’Ģ + ƒTƒ“ƒvƒ‹‚ŃI[ƒNƒEƒH[ƒŠƒA[‚Š‹i‰Œ‚·‚邯u/cv‚ðo‚·‚Ė‚ÆƒI[ƒNƒŒƒfƒB‚Бޓx‚ðŽg‚Ī‚Æu/‚ŋ‚ãv‚ðo‚ĩ‚Ü‚· +EƒAƒCƒeƒ€682,683‚ðŽg—p‚·‚邯30•bŠÔATK‚âMATK‚Š‘‚Ķ‚é‚į‚ĩ‚ǂ˂łŧ‚ę‚Á‚Û‚­ +Ejob_db2.txt‚É“ä‚Ės‚Š2s‚ ‚Á‚―‚Ė‚ðíœ +E”͈͖‚–@‚Č‚Į‚ŃXƒLƒ‹ƒ†ƒjƒbƒg‘ŠŽč‚ɃXƒe[ƒ^ƒX•ύX‚ð‚Đ‚Ŋ‚æ‚Ī‚Æ‚ĩ‚―ę‡‚Énullpo‚Šo‚―‚Ė‚ðCģ + + (db/) + const.txt SC_INCATK SC_INCMATK’Į‰Á + item_db.txt Š‚ð682,683‚É’Į‰Á + job_db2.txt “ä‚Ė2s‚ðíœ + mob_skill_db.txt Emotion’Į‰Á + (map/) + mob.c + mobskill_use() ƒXƒLƒ‹Žg—pŽž‚ɃGƒ‚[ƒVƒ‡ƒ“‚ðo‚·‚æ‚Ī‚É•ÏX + mob_readskilldb() Emotion‚ð“Į‚ݍž‚Þ‚æ‚Ī‚É•ÏX + mob.h •ύX + pc.c + pc_calcstatus() •ύX + skill.c + + skill_status_change_end() •ύX + skill_status_change_start() •ύX‚ÆNULLƒ`ƒFƒbƒNCģ + skill.h •ύX + +-------------------- +//1027 by Ni+S +EgetitemnameŠÖ”’Į‰Á +EƒXƒNƒŠƒvƒg‚ÉgetitemnameŠÖ”‚ð’Į‰Á +Eitemid‚æ‚čAjname‚ð•ķŽš—ņ‚ŕԂĩ‚Ü‚· +EÚ‚ĩ‚­‚Íscript_ref.txt‚ŁB + + script.c + getitemname()’Į‰Á + +---------------------------------------- +//1026 by (“Ę) +E1023‚Å“ü‚ę‚ĂȂЂÁ‚―clif.h‚ð“ŊŦ +EƒoƒCƒIƒvƒ‰ƒ“ƒg‚ƃXƒtƒBƒA[ƒ}ƒCƒ“‚ŏo‚ĩ‚―mob‚ð“|‚·‚Æmob_timer_delete()‚Ånullpo‚Šo‚é–â‘č‚ð‰ðŒˆ‚ĩ‚―‚‚ā‚č +EƒoƒO•ņƒXƒŒƒbƒh part6 >>63 Dest‚ģ‚ņ‚Ėscript.cCģ‚ðŽæ‚čž‚Ý + + (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_list‚Émob_timer_delete‚Š–ģ‚Đ‚Á‚―‚˂ŒĮ‰Á‚ĩ‚Ă݂― + script.c + script_load_mapreg() •ύX + +------------------------ +//1025 by Sel +Eƒ[ƒhƒiƒCƒg‚ĖƒWƒ‡ƒu•âģ‚ŠŠÔˆá‚Á‚Ăǂ―‚Ė‚ðCģ +EƒI[ƒ‰ƒuƒŒ[ƒhŒø‰ĘŽžŠÔ‚ðCģ +EƒI[ƒ‰ƒuƒŒ[ƒh•Ší§ŒĀ‚ð‘fŽčˆČŠO‘S‚ĂɏCģ +EƒRƒ“ƒZƒ“ƒgƒŒ[ƒVƒ‡ƒ“•Ší§ŒĀ‚ð—žŽč‘„‚Ė‚Ý‚Đ‚į•ÐŽč‘„+—žŽč‘„‚֏Cģ +EƒgƒDƒ‹[ƒTƒCƒgŒø‰ĘŽžŠÔ‚ðCģ +Eƒtƒ@ƒ‹ƒRƒ“ƒAƒTƒ‹ƒg•Ší§ŒĀ‚ð‰ðœA‘fŽč‚ðŠÜ‚ß‚―‘S‚ĂŎg—p‰Â”\‚É + + (db/) + job_db2-2.txt •ύX + skill_cast_db.txt •ύX + skill_require_db.txt •ύX +-------------------- +//1024 by mare +Eƒtƒ@[ƒ}ƒV[Þ—ŋ‚Ė•ÏXAŧ‘Ē‰Â”\–ō•i‚Ė’Į‰Á + 6/8“ú–{ŽI‚É‚Ŧ‚―‚ā‚Ė‚Æ“Ŋ‚ķ‚É‚ĩ‚Ü‚ĩ‚― + + (db/) + produce_db.txt •ύX + +---------------------------------------- +//1023 by (“Ę) +E1022‚ŃGƒ“ƒoƒO‚ĩ‚―npc_parse_script()‚ð–ß‚ĩ +EƒXƒpƒCƒ‰ƒ‹ƒsƒA[ƒX‚Ėd—Ę’Į‰Áƒ_ƒ[ƒWŒvŽZŽŪ‚ð‚ŋ‚å‚Á‚ƕύX +E–‚–@—Í‘•‚ĖŒvŽZŽŪ‚ð‚ŋ‚å‚Á‚ƕύX +Eƒeƒ“ƒVƒ‡ƒ“ƒŠƒ‰ƒbƒNƒX‚ŠĀ‚Á‚ÄŽg‚Ī‚Ė‚Å‚Í‚Č‚­Žg‚Ī‚ÆĀ‚é‚Æ‚Ē‚Īî•ņ‚ðŒĐ‚Đ‚Ŋ‚―‚Ė‚Å•ÏX +EŠ‚É”š‚Ēskill_require‚ĖsittingðŒ”pŽ~ +Eƒo[ƒT[ƒN‚ðGvG‚ÅŽg—p‚Å‚Ŧ‚Ȃǂæ‚Ī‚É•Ï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() ƒeƒ“ƒVƒ‡ƒ“ƒŠƒ‰ƒbƒNƒX‚ðŽg‚Ī‚ÆĀ‚é‚æ‚Ī‚É + skill_check_condition() ST_SITTING”pŽ~ + skill_use_id() ƒo[ƒT[ƒN‚ðGvG‚ÅŽg—p‚Å‚Ŧ‚Ȃǂæ‚Ī‚É + skill_status_change_timer() ƒeƒ“ƒVƒ‡ƒ“ƒŠƒ‰ƒbƒNƒX‚Í10•b‚炯‚ÉSP‚ð12Á”ï + skill_status_change_start() ƒeƒ“ƒVƒ‡ƒ“ƒŠƒ‰ƒbƒNƒX•ύX + skill_readdb() sitting”pŽ~ + skill.h •ύX + +-------------------- +//1022 by (“Ę) +ENULLƒ`ƒFƒbƒN•ύX +Elogin,char,mapI—đŽž‚ÉŠJ•ú‚ģ‚ę‚Ä‚Ē‚Č‚Đ‚Á‚―ƒƒ‚ƒŠ‚ð”ũ–­‚ÉŠJ•ú‚·‚é“w—Í‚ð‚ĩ‚Ă݂― +EƒXƒpƒmƒr”š—ô”g“ŪŽĀ‘•AƒNƒŠƒeƒBƒJƒ‹+50 +EƒXƒpƒmƒrƒ{[ƒiƒX‚ð•ύXAÅ‰‚Đ‚įˆę“x‚āŽ€‚ņ‚łȂĒJobLv70‚ÉAll+15ABaseLv99‚ÉMHP+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ƒ`ƒFƒbƒN•ύX + chrif.c NULLƒ`ƒFƒbƒN•ύX + clif.c NULLƒ`ƒFƒbƒN•ύX + clif_parse() •ύX + clif_parse_sn_explosionspirits() ’Į‰Á + clif_parse_sn_doridori() –ž‘O•ύX + guild.c NULLƒ`ƒFƒbƒN•ύX + intif.c NULLƒ`ƒFƒbƒN•ύX + itemdb.c NULLƒ`ƒFƒbƒN•ύX + map.c NULLƒ`ƒFƒbƒN•ύX + do_final() •ύX + mob.c NULLƒ`ƒFƒbƒN•ύX + npc.c NULLƒ`ƒFƒbƒN•ύX + npc_parse_script() bufŠJ•ú–Y‚ęH‚ðŠJ•ú + party.c NULLƒ`ƒFƒbƒN•ύX + path.c NULLƒ`ƒFƒbƒN•ύX + pc.c NULLƒ`ƒFƒbƒN•ύX + pc_calcstatus() ƒXƒpƒmƒr•ύX + pet.c NULLƒ`ƒFƒbƒN•ύX + storage.c NULLƒ`ƒFƒbƒN•ύX + trade.c NULLƒ`ƒFƒbƒN•ύX + vending.c NULLƒ`ƒFƒbƒN•ύX + +-------------------- +//1021 by Kalen +Eƒvƒƒ“ƒeƒ‰ŠĨĨ•iNPC‚ɂă^ƒLƒV[ƒh”Ė”„ +EUmbala‚Ėƒ[ƒvŒĐ’ž‚ĩ + D2F‚Ėƒ[ƒv‚ð–{ŽIŽg—p‚ɕύXBd•Ąƒ|ƒCƒ“ƒgCģ +EUmbalaNPCCģ + ƒ‰ƒxƒ‹‚ðŽg—p‚ĩ‚Č‚­‚Ē‚ĒęŠ‚͋ɗ͍폜(-) + ƒZ[ƒuƒ|ƒCƒ“ƒgCģ + ƒoƒ“ƒW[ƒWƒƒƒ“ƒv‘ä’Į‰Á + Š[œ–å’Į‰Á + •ЉðA‡Žˆ—’Į‰Á + ƒJƒvƒ‰AˆÄ“ā—vˆõ‚ð‚ ‚é‚Ũ‚ŦęŠ‚ÖˆÚ“ŪB + Ķˆę•”Emo‚É‚Â‚Ē‚ÄAŠā•ðŽĐg‚Š‹t‚ÉŽæ‚čˆá‚͂Ăǂé‚Ý‚―‚Ē‚Č‚Ė‚Å“ÆŽĐ‚Å•Ï‚Ķ‚Ü‚ĩ‚―B + ŒĐ‚Ä‚ā‚į‚Ķ‚Î•Š‚Đ‚č‚Ü‚·‚Š18‚Æ28‚ð‹t‚É‚·‚邯NPC‚ˉï˜b“ā—e‚ɍ‡‚ĪEmo‚Šo‚―‚˂Š+ ƒNƒGƒXƒgƒtƒ‰ƒO‚ĖðŒ’Į‰Á + @‚ą‚ę‚É‚æ‚č‚·‚łɏI‚͂Ăǂéę‡‚Å‚ā“r’†‚ɂȂé‰Â”\Ŧ‚Š‚ ‚č‚Ü‚·B +EƒXƒpƒmƒr“]ENPC’Į‰Á + “Ę‚ģ‚ņ‚ĖƒƒO‚ðŠî‚ÉėŽ‚ĩ‚Ü‚ĩ‚―B +EƒAƒ‹ƒPƒ~ƒXƒgƒMƒ‹ƒh‚Ėƒmƒr‚Ėę‡‚Ė‘Î‰žCģ(“Ę‚ģ‚ņ‚Đ‚į‚ĖƒƒO‚æ‚č) +EŒ‹ĨNPC’Į‰Á + ‚―‚ū‚ĩA‚Ü‚ūƒeƒXƒg’iŠK‚Å‚·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(VEƒeƒXƒg) + (/job) + npc_job_alchemist.txt + npc_job_supernovice.txt(V) + +-------------------- +//1020 by (“Ę) +Enullpo‚Ė•ÏX‚ɑΉž‚ĩ‚Ämap_athena.conf‚ĖÝ’číœ•skill.c‘‚ŦŠ·‚Ķ +EĀ‚Á‚Ăǂ邯HPR‚ÆSPR‚Š’Ęí‚Ė”ž•ЂŔ­“Ū‚ĩ‚―‚Ė‚ðCģ +EƒXƒpƒmƒr‚Šˆę’čðŒ(ƒNƒ‰ƒCƒAƒ“ƒgˆË‘ķ)‚Å/doridori‚·‚邯SPR‰ņ•œ—ƂД{‚ɂȂ邿‚Ī‚É•ÏX +EŒ‹ĨŽŪ—p‚ĖƒGƒtƒFƒNƒg‚ðƒXƒNƒŠƒvƒg‚Đ‚įwedding–―—߂Ŕ­ķ‚ģ‚đ‚邹‚Æ‚Šo—ˆ‚邿‚Ī‚ĩ‚― +E‡‘t‚ðŠJŽn‚ĩ‚―PC‚͍‡‘t’†‚ɏI—đ‚Å‚Ŧ‚Ȃǂæ‚΂ɂĩ‚―‚‚ā‚č(–ĒŠm”F) + + (conf/) + map_athena.conf nullpo_checkíœ + (doc/) + client_packet.txt XV + conf_ref.txt nullpo_checkíœ + (map/) + map.c + map_config_read() nullpo_checkíœ + map.h “Ŋã + skill.c NULLƒ`ƒFƒbƒNÄ“x‘“ü‚ę‘Ö‚Ķ + clif.c + clif_wedding_effect() ’Į‰Á + clif_parse_QuitGame() ‡‘tŠJŽnŽŌ‚͍‡‘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ŽžŠÔCģAdoridori’Į‰Á + script.c + buildin_wedding_effect() ’Į‰Á + + +-------------------- +//1019 by Dest +Enullpoƒ‚ƒWƒ…[ƒ‹‚ɃR[ƒfƒBƒ“ƒOƒ~ƒX”­ŒĐ/Cģ +E“ŊAvoid‚Ȋ֐”‚Đ‚įŒÄ‚Î‚ę‚―Žž‚Ėnullpo_retv_f()‚ð’Į‰Á +E“ŊAðŒƒRƒ“ƒpƒCƒ‹‚ɑΉž + + (common/) + nullpo.c + nullpo_info_core() ƒR[ƒfƒBƒ“ƒOƒ~ƒXCģ + nullpo.h + NULLPO_CHECKƒtƒ‰ƒO‚É‚æ‚éðŒƒRƒ“ƒpƒCƒ‹’Į‰Á + nullpo_retv_f() ’Į‰Á + +-------------------- +//1018 by chloe +EƒEƒ“ƒoƒ‰ƒ‚ƒ“ƒXƒ^[‚ð’Į‰Á + + (script/mob/) + npc_monster.txt •ύX + ŠeƒEƒ“ƒoƒ‰ƒ}ƒbƒv‚ÉMob”z’u + (db/) + mob_db.txt •ύX + 1495,STONE_SHOOTER,ƒtƒŒƒCƒ€ƒVƒ…[ƒ^[ Cģ + 1511,AMON_RA,ƒAƒ‚ƒ“ƒ‰[ Cģ + +-------------------- +//1017 by (“Ę) +EƒoƒO•ņƒXƒŒƒbƒh part6 >>46 Dest‚ģ‚ņ‚Ėnullpoƒ‚ƒWƒ…[ƒ‹‚ð’Į‰Á•void‚Ȋ֐”‚Đ‚įŒÄ‚Î‚ę‚―Žž‚Ėnullpo_retv()‚ð’Į‰Á(‚Æ‚č‚ ‚Ķ‚ļskill.c‚ĖNULLƒ`ƒFƒbƒN‚ū‚Ŋ“ü‚ę‘Ö‚Ķ) +E“Ŋ>>39 Sel‚ģ‚ņ‚Đ‚į•ņ‚Š‚ ‚Á‚―ƒRƒ“ƒZƒ“ƒgƒŒ[ƒVƒ‡ƒ“‚ðCģ +EŽd—l‚É‚Â‚Ē‚ÄŒę‚č‡‚ĪƒXƒŒƒbƒh >>33 Kalen‚ģ‚ņ‚Ėî•ņ‚ðclient_packet.txt‚É”―‰f +E–{ŽI‘ŠˆáƒXƒŒƒbƒh part3 >>24 M —zqcM6jBw‚ģ‚ņ‚Ėî•ņ‚ðŠ +E“Ŋ>>30 ‚Í‚ŋ‚ģ‚ņ‚ĖCģ‚ð”―‰f + + (conf/) + map_athena.conf nullpo_check’Į‰Á + (db/) + item_db.txt Œ‹ĨŽw—ւ𕐊í-ƒAƒNƒZƒTƒŠ‚ɕύX•ÅV”Å + (doc/) + client_packet.txt XV + 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ƒ`ƒFƒbƒN‘“ü‚ę‘Ö‚Ķ + skill_status_change_start() ƒRƒ“ƒZƒ“ƒgƒŒ[ƒVƒ‡ƒ“Cģ + skill_castend_nodamage_id() ƒeƒŒƒ|[ƒgCģ + clif.c + clif_skill_setunit() ƒRƒƒ“ƒgCģ + pc.c + pc_calcstatus() ƒRƒ“ƒZƒ“ƒgƒŒ[ƒVƒ‡ƒ“Cģ + +-------------------- +//1016 by ‚ȁB +EAthenaŽG’kƒXƒŒƒbƒhPart4 42 ‚Ђ鎁ė‚ĖƒEƒ“ƒoƒ‰NPC‚ð’Į‰Á + + (script/npc/town/) + npc_town_umbala.txt’Į‰Á + ƒCƒxƒ“ƒgƒfƒoƒbƒO—l(230`256s–Ú)‚̓Rƒƒ“ƒgƒAƒEƒg + (conf/) + map_athena.conf town ‚É npc: script/npc/town/npc_town_umbala.txt ’Į‰Á + +-------------------- +//1015 by (“Ę) +EƒŠƒ€[ƒuƒgƒ‰ƒbƒv‚ð–{ŽIŽd—l‚ÆAthenaŽd—l‚Å‘I‚Ũ‚邿‚΂ɂĩ‚― +EƒXƒpƒmƒr‚ÉAll+10‚·‚éðŒ‚Š—Į‚­•Š‚Đ‚į‚ȂЂÁ‚―‚Ŋ‚ĮÅ‰‚Đ‚į+10‚ķ‚á‚Č‚Ē‚Ė‚ÍŠm‚Đ‚Č‚Ė‚Å‚Æ‚č‚ ‚Ķ‚ļBase99‚ňę“x‚āŽ€‚ņ‚łȂŊ‚ę‚Î‚Æ‚Ē‚ĪðŒ‚É•ÏX +Eƒ_ƒ“ƒX’†‚ɐ‚Ŧ”ō‚΂ģ‚ę‚Ä‚āƒGƒtƒFƒNƒg‚ÍˆÚ“Ū‚ĩ‚Ȃǂŧ‚Ī‚Č‚Ė‚Å•ÏX +E@go 13”ũ’ēŪ + + + (conf/) + battle_athena.conf skill_removetrap_type’Į‰Á + (doc/) + client_packet.txt –{ŽI‘ŠˆáƒXƒŒƒbƒh part3 23 M —zqcM6jBw‚ģ‚ņ‚Ėî•ņ‚ð’Į‰Á + conf_ref.txt skill_removetrap_type’Į‰Á + (map/) + atcommand.c + atcommand_go() ƒEƒ“ƒoƒ‰‚ĖoŒŧˆĘ’u”ũ’ēŪ + battle.c + battle_config_read() skill_removetrap_type’Į‰Á + battle.h “Ŋã + pc.c + pc_calcstatus() ƒXƒpƒmƒrAll+10ðŒ•ύX + skill.c + skill_blown() ƒ_ƒ“ƒX’†‚ː‚Ŧ”ō‚΂ĩ‚ðŒģ‚É–ß‚ĩ‚― + skill_castend_nodamage_id() ƒŠƒ€[ƒuƒgƒ‰ƒbƒvŽd—l•ύX + + -------------------- +//1014 by (Pepermint) +I fixed again the problem if you put minus sign(-) in front of digits, +the error comes up when you puchase a item. +When you put a minus sign(-), the error sign will be changed shrotage of +amount as original server dose. + +I tested with it in ver. 1013, it was working + +-------------------- +//1012 by (“Ę) +Ehelp.txt‚É‚ ‚é@go‚ːā–ū‚Đ‚į13‚Æ14‚ðíœ +@‹@”\‚͏Á‚Ķ‚Ä‚Č‚Ē‚Ė‚ÅŽg‚Ķ‚é‚ą‚Ƃ͎g‚͂܂·‚ЁAhelp‚ɍڂđ‚é‚Ė‚ÍjRO‚É—ˆ‚Ä‚Đ‚į‚Æ‚Ē‚Ī‚ą‚Æ‚Å +Ecast_db.txt‚ðskill_cast_db.txt‚ɉü–ž +E‚Â‚Ē‚Å‚Émake clean‚ÅGNUmakefile‚āÁ‚ĩ‚Ă݂邹‚Ƃɂ·‚é +Eu-0‚ģ‚ņ‚ĖŒŸØ‚Č‚Į‚𑍍‡‚ĩ‚ă_ƒ“ƒXƒ†ƒjƒbƒgŠÖ˜A‚ð•ύX +@‰‰‘tEƒ_ƒ“ƒX’†‚ĖƒnƒG‚̓†ƒjƒbƒg•t‚Ŧ‚Å”ō‚Ô‚ŧ‚΂ł· +@‰‰‘tEƒ_ƒ“ƒX’†‚Ƀ[ƒvƒ|ƒCƒ“ƒg‚ɏæ‚Á‚―‚įó‘Ô‚Š‰ðœ‚ģ‚ę‚邿‚΂ł· +@‡‘t’†‚ɕЕû‚ŠƒnƒG”ō‚Ņ‚ĩ‚―‚įƒGƒtƒFƒNƒg‚ÍŒģ‚ĖęŠ‚ÉŽc‚čA”ō‚ņ‚ūæ‚ł͍‡‘tó‘Ô‚ŠŒp‘ą‚ĩ‚ēۂŊ‚Ȃǁ•ŽžŠÔ‚炯‚ÉSPÁ”ï‚·‚邿‚΂ł· +EPC_DIE_COUNTER‚ŠƒXƒNƒŠƒvƒg‚Đ‚į•ύX‚ģ‚ę‚―Žž‚É‚·‚Ū‚É”―‰f‚ģ‚ę‚邿‚Ī‚É•ÏX + + (conf/) + help.txt @goā–ū•ύX + (db/) + skill_cast_db.txt ‰ü–ž + (map/) + pc.c + pc_setpos() ƒ_ƒ“ƒX’†’f‚Ėƒ^ƒCƒ~ƒ“ƒO•ύX + pc_setglobalreg() PC_DIE_COUNTER“Á•ʏˆ—’Į‰Á + skill.c + skill_castend_id() NULLƒ`ƒFƒbƒN•ύX + skill_stop_dancing() ƒ}ƒbƒvˆÚ“Ū‚Č‚Į‚łˋ““Ū‚ð•ύX + skill_readdb() skill_cast_db‚ɉü–ž + skill_blown() ”ō‚΂ģ‚ę‚―‚įƒ_ƒ“ƒXˆÚ“Ū + npc.c + npc_touch_areanpc() ƒ[ƒvƒ|ƒCƒ“ƒg‚ɏæ‚Á‚―‚įƒ_ƒ“ƒX‰ðœ + +-------------------- +//1011 by ƒpƒCƒ“ +Eƒp[ƒeƒB—vŋ‚âƒMƒ‹ƒh—vŋ‚ðo‚ĩ‚Ăǂ邯‚Ŧ‚É‘ž‚Ė—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‘΍ô +EƒXƒpƒmƒr‚Ė1“xŽ€‚ʂ܂ÅAll+10‚ðƒXƒNƒŠƒvƒg•ϐ”‚ÅŽĀ‘•‚ĩ‚Ă݂鎎‚Ý + PC_DIE_COUNTER Ž€‚Ę‚Æ+1A“]E‚·‚邯0‚ɂȂč‚Ü‚· + Š‚̓Lƒƒƒ‰ƒNƒ^‰i‘ą‚ČƒXƒNƒŠƒvƒg•ϐ”‚Ȃ˂ÅNPC‚ÅŽQÆ•ÄÝ’肯‚Đ”äŠr“IŠy‚Đ‚ā + + (map/) + chrif.c + chrif_divorce() gcc2.95‘΍ô + skill.c + skill_attack() gcc2.95‘΍ô + skill_unit_move_unit_group() gcc2.95‘΍ô + map.h map_session_data‚Édie_counter‚ð’Į‰Á + npc.c + npc_click() nullpoƒƒbƒZ[ƒW‚ðCģ + pc.c + pc_setrestartvalue() nullpoƒƒbƒZ[ƒW‚ðCģ + pc_authok() die_counter‰Šú‰ŧ‚Ė’Į‰Á + pc_calcstatus() die_counter=0‚ĖƒXƒpƒmƒr‚ÍAll+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‚ð +@ƒIƒŠƒWƒiƒ‹ƒAƒbƒvƒf[ƒg‚ĖˆŨAƒfƒtƒHƒ‹ƒg‚Å‚Íoff‚É‚ĩ‚Ăǂ܂· +@‚Ü‚―A‚ą‚ĖŒy—ʉŧƒ‚[ƒh‚͉ņü•‰‰Ũ‚ð‘啝‚ɍíŒļ‚Å‚Ŧ‚é(‚‚ā‚č)‚Å‚·‚ЁA +@‚ŧ‚Ė•ŠƒT[ƒo[‘Ī‚Ėˆ—‚Šd‚―‚­‚Č‚č‚Ü‚·(‚Æ‚Ē‚Á‚Ă₠‚é’ö“x‚ĖCPU‚Š‚ ‚ę‚ΑS‘R–â‘č‚ɂȂį‚Ȃǒö“x‚Ė•‰‰Ũ‚Å‚·‚Š) +EŒ‹ĨƒVƒXƒeƒ€^Œ‹ĨƒXƒLƒ‹ŽĀ‘• +@Œ‹ĨŽw—Ö‚Ė“Á•Ęˆĩ‚Ē‚Š–ĒŽĀ‘•‚Å‚·(—Ž‚Æ‚đ‚―‚čŽæˆø‚ɏo‚đ‚―‚č‚ĩ‚Ü‚·) +@—ĢĨ‚Ė‚Ý–ĒƒeƒXƒg‚Å‚·B +EŒ‹Ĩ—pƒXƒNƒŠƒvƒg(marriageAdivorce)’Į‰ÁB +@Emarriage +@@: Œ‹Ĩ‘ŠŽč‚Ė–ž‘O +@@–ß‚č’l: ŽŒũ:1@Žļ”s:0 +@@Œ‹Ĩˆ—‚ðs‚ǂ܂·B‘Ώۂ͘b‚ĩŠ|‚Ŋ‚―ƒvƒŒƒCƒ„[‚Æ‚ĖƒLƒƒƒ‰ƒNƒ^[‚ŁA‚Į‚ŋ‚į‚Đ‚ŠŠųĨ‚Ėę‡‚ÍŽļ”s‚ĩ‚Ü‚·B +@@1‰ņ‚ĖmarriageƒXƒNƒŠƒvƒg‚ŐV˜YĻV•w‚ƐV•wĻV˜Y‚ĖŒ‹Ĩˆ—‚ð“ŊŽž‚ɍs‚ǂ܂·B +@@‚Ü‚―A‚ą‚ĖƒXƒNƒŠƒvƒg‚ÅŒ‹ĨŽw—Ö‚Í—^‚Ķ‚į‚ę‚Ü‚đ‚ņB +@Edevorce +@@ˆø”–ģ‚ĩ +@@–ß‚č’l: ŽŒũ:1@Žļ”s:0 +@@—ĢĨˆ—‚ðs‚ǂ܂·B‘Ώۂ͘b‚ĩŠ|‚Ŋ‚―ƒvƒŒƒCƒ„[‚ŁA–ĒĨ‚Ėę‡‚ÍŽļ”s‚ĩ‚Ü‚·B +@@marriageƒXƒNƒŠƒvƒg‚Æ“Ŋ—l‚ÉŒÝ‚Ē‚Ė—ĢĨˆ—‚ð“ŊŽž‚ɍs‚ǂ܂·B +@@‚Ü‚―A‚ą‚ĖƒXƒNƒŠƒvƒg‚ŠŽŒũ‚·‚邯ŽĐ“Ū“I‚ɑΏۃLƒƒƒ‰ƒNƒ^[‚ĖŒ‹ĨŽw—Ö‚Í”’D‚ģ‚ę‚Ü‚·B + +@‚Į‚ŋ‚į‚ĖƒXƒNƒŠƒvƒg‚Ėˆ—‚āA2l‹ĪƒƒOƒCƒ“‚ĩ‚Ä‚Ē‚Č‚Ē‚ÆŽŒũ‚ĩ‚Ü‚đ‚ņ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 ‚Ō‚ī‚Ü‚ņ +EGMƒZƒbƒVƒ‡ƒ“‰B‚ĩŽĀ‘•(–ĒƒeƒXƒg) +@GMƒAƒJƒEƒ“ƒg‚ĖƒLƒƒƒ‰ƒNƒ^[‚ð@who“™‚Å•\ŽĶ‚·‚é‚Đ‚Į‚Ī‚ĐÝ’č‚Å‚Ŧ‚Ü‚·B +@Ú‚ĩ‚­‚Íconf_ref.txt‚ðŽQÆ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB +EŒ‹ĨƒVƒXƒeƒ€‰žŽĀ‘• +@char-mapŠÔ’ʐM‚Ė‚ÝŽĀ‘•‚Å‚·B‚Ü‚ūŒ‹Ĩ‚·‚邹‚Ƃ͏o—ˆ‚Ü‚đ‚ņB +@ŪA‚ą‚Ėƒpƒbƒ`‚Đ‚įathena.txt‚Ėƒo[ƒWƒ‡ƒ“‚Š•Ï‚í‚č‚Ü‚·B +@ƒf[ƒ^‚ĖŒÝŠ·Ŧ‚͕ۂÁ‚―‚‚ā‚č‚Å‚·‚ЁA”O‚ĖˆŨƒoƒbƒNƒAƒbƒv‚ðŽæ‚Á‚Ăς­Ž–‚ð‹­‚­„§‚ĩ‚Ü‚·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ƒ`ƒFƒbƒN‚ĖŒĐ’ž‚ĩ + + (map/) + clif.c + clif_send() •ύX + skill.c + skill_delunit() •ύX + +-------------------- +//1006 by (ruhu) +Ĩ@go‚É—Œ—z‚ƃjƒtƒ‹ƒwƒCƒ€’Į‰Á + + (conf/) + help.txt ƒjƒtƒ‹ƒwƒCƒ€A—Œ—z’Į‰Á + (map/) + atcommand.c + atcommand go() ƒjƒtƒ‹ƒwƒCƒ€A—Œ—z’Į‰Á +-------------------- +//1005 by (“Ę) +ENULLƒ`ƒFƒbƒN‚ĖŒĐ’ž‚ĩ‚Æ’Į‰ÁA‘å—Ę‚É•ÏX‚ĩ‚―‚˂Ŗâ‘肊o‚é‰Â”\Ŧ‚Š‘å‚Å‚· +EƒEƒ“ƒoƒ‰•ŠŠ„ƒpƒbƒ`‚Š”z•z‚ģ‚ę‚―‚Ė‚Å@go 12‚ɃEƒ“ƒoƒ‰‚ð’Į‰Á +Eƒ[ƒhƒiƒCƒg ƒo[ƒT[ƒN‚ð‚ŋ‚å‚Á‚Æ‚ŧ‚ę‚Á‚Û‚­(ASPD‘‰Á‚Č‚Į‚Í–ĒŽĀ‘•) +EƒNƒ‰ƒEƒ“ĨƒWƒvƒV[ ŒŽ–ū‚č‚ːō‚É—Ž‚ŋ‚é‰Ô‚Ņ‚į‚ĖŽg—pðŒ‚ð‡‘t‚Æ“Ŋ‚ķ‚ɕύX(Œø‰Ę“™‚Í–ĒŽĀ‘•) +EƒuƒŒƒbƒVƒ“ƒO‚Š–{ŽI‚ł̓Xƒe[ƒ^ƒXƒAƒbƒvĻƒGƒtƒFƒNƒg‚ū‚Á‚―‚˂łŧ‚Ė‚æ‚Ī‚É•ÏX +E–{ŽI‘ŠˆáƒXƒŒƒbƒh part2 >>145 zzz‚ģ‚ņ‚Ė•ņ‚ð”―‰f +E“ŊƒXƒŒ >>143 plala‚ģ‚ņ‚Ė•ņ‚ð”―‰f + + (db/) + skill_require_db.txt •ύX + (conf/) + help.txt ƒEƒ“ƒoƒ‰’Į‰Á + map_athena.conf ƒEƒ“ƒoƒ‰ŠÖ˜A‚ĖƒRƒƒ“ƒgƒAƒEƒg‚ð‰ðœ + (map/) + atcommand.c NULLƒ`ƒFƒbƒN‹­‰ŧ + atcommand() @mapmove‚Č‚Į‚Å—Ž‚ŋ‚é–â‘č‚ðCģ + atcommand_go() ƒEƒ“ƒoƒ‰’Į‰Á + battle.c NULLƒ`ƒFƒbƒN‹­‰ŧ + battle_calc_mob_weapon_attack() ƒo[ƒT[ƒNŽžƒ_ƒ[ƒW150% + battle_calc_pc_weapon_attack() ƒo[ƒT[ƒNŽžƒ_ƒ[ƒW150% + chat.c NULLƒ`ƒFƒbƒN‹­‰ŧ + chrif.c NULLƒ`ƒFƒbƒN‹­‰ŧ + clif.c NULLƒ`ƒFƒbƒN‹­‰ŧ + clif_parse_ActionRequest() ƒ_ƒ“ƒXŽž‚Ėˆ—‚ðŽáŠą•ύX + clif_parse_GlobalMessage() ƒo[ƒT[ƒNŽž‚͉ï˜b‚Šo—ˆ‚Ȃǂæ‚Ī‚É•ÏX + clif_parse_Wis() ƒo[ƒT[ƒNŽž‚͉ï˜b‚Šo—ˆ‚Ȃǂæ‚Ī‚É•ÏX + clif_parse_PartyMessage() “Ŋã + clif_parse_GuildMessage() “Ŋã + clif_parse_TakeItem() ƒo[ƒT[ƒNŽž‚̓AƒCƒeƒ€‚ðŽæ‚ę‚Ȃǂæ‚Ī‚É•ÏX + clif_parse_DropItem() ƒo[ƒT[ƒNŽž‚̓AƒCƒeƒ€‚𗎂Ƃđ‚Ȃǂæ‚Ī‚É•ÏX + clif_parse_UseItem() ƒo[ƒT[ƒNŽž‚̓AƒCƒeƒ€‚ðŽg‚͂Ȃǂæ‚Ī‚É•ÏX + clif_parse_EquipItem() ƒo[ƒT[ƒNŽž‚Í‘•”õ‚Å‚Ŧ‚Ȃǂæ‚Ī‚É•ÏX + clif_parse_UnequipItem() ƒo[ƒT[ƒNŽž‚Í‘•”õ‰ðœ‚Å‚Ŧ‚Ȃǂæ‚Ī‚É•ÏX + clif_parse_UseSkillToId() ƒo[ƒT[ƒNŽž‚̓XƒLƒ‹Žg—p‚ЂłŦ‚Ȃǂæ‚Ī‚É•ÏX + clif_parse_UseSkillToPos() “Ŋã + clif_parse_UseSkillMap() “Ŋã + guild.c NULLƒ`ƒFƒbƒN‹­‰ŧ + intif.c NULLƒ`ƒFƒbƒN‹­‰ŧ + itemdb.c NULLƒ`ƒFƒbƒN‹­‰ŧ + map.c NULLƒ`ƒFƒbƒN‹­‰ŧ + map_quit() ƒo[ƒT[ƒNŽž‚ɃƒOƒAƒEƒg‚·‚邯HP 100/SP 0‚ɂȂ邿‚Ī‚É•ÏX + mob.c + mob_attack() clif_fixmobpos()‚𑗐M‚ĩ‚Ȃǂæ‚Ī‚É•ÏX + mob_timer() NULLƒ`ƒFƒbƒNðŒ‚ð•ύX + mobskill_castend_id() “ŊãAƒo[ƒT[ƒNŽžƒXƒLƒ‹‚ðŽg‚͂Ȃǂæ‚Ī‚É•ÏX + mobskill_castend_pos() ƒo[ƒT[ƒNŽžƒXƒLƒ‹‚ðŽg‚͂Ȃǂæ‚Ī‚É•ÏX + mobskill_use_id() “Ŋã + mobskill_use_pos() “Ŋã + npc.c NULLƒ`ƒFƒbƒN‹­‰ŧ + party.c NULLƒ`ƒFƒbƒN‹­‰ŧ + path.c NULLƒ`ƒFƒbƒN‹­‰ŧ + pc.c NULLƒ`ƒFƒbƒN‹­‰ŧ + pc_calcstatus() ƒo[ƒT[ƒNŽž‚Í‘Ž“xUP•MHP3”{AƒƒfƒBƒeƒCƒeƒBƒI‚ĖSP‰ņ•œ‘‰Á‚ðSPR‚Å‚Í‚Č‚­’ʏí‰ņ•œ‚É‚Đ‚Đ‚é‚æ‚΂ɂĩ‚― + pc_heal() ƒo[ƒT[ƒNŽž‚͉ņ•œ‚ĩ‚Č‚Ē + pc_jobchange() “]E’žŒã1•ā“Ū‚Đ‚Č‚Ē‚Æ•ž‚ːF‚Š”―‰f‚ģ‚ę‚ȂЂÁ‚―‚Ė‚ðCģ + pc_natural_heal_sub() ƒo[ƒT[ƒN’†‚ÍSP‚ŠŽĐ‘R‰ņ•œ‚ĩ‚Ȃǂæ‚Ī‚É•ÏX(HP‚Í—Į‚­•Š‚Đ‚į‚ȂЂÁ‚―‚˂ʼnņ•œ‚·‚邿‚΂ɂĩ‚Ä‚ ‚é) + pet.c NULLƒ`ƒFƒbƒN‹­‰ŧ + skill.c + skill_castend_nodamage_id() ƒuƒŒƒbƒVƒ“ƒO“™‚ĖƒpƒPƒbƒg‡‚ð•ύXAƒXƒg[ƒ“ƒJ[ƒX‚ð•sŽ€‚É‚Í–ģŒø‚É‚ĩ‚― + skill_castend_map() ‚ĩ‚‚ą‚Ē‚­‚į‚Ē‚Éƒo[ƒT[ƒNŽž‚ɃXƒLƒ‹‚ðŽg‚͂Ȃǂæ‚Ī‚É•ÏX + skill_check_condition() “Ŋã + skill_use_pos() “Ŋã + skill_use_id() “Ŋã•ŒŽ–ū‚č‚ːō‚É—Ž‚ŋ‚é‰Ô‚Ņ‚į’Į‰Á + skill_status_change_end() ƒo[ƒT[ƒNŽž‚É‚ÍIAƒAƒCƒRƒ“‚ðÁ‹Ž‚·‚邿‚Ī‚É•ÏX + skill_status_change_timer() NULLƒ`ƒFƒbƒNðŒ‚ð•ύXAŒŽ–ū‚č‚ːō‚É—Ž‚ŋ‚é‰Ô‚Ņ‚įŽžSPÁ”ïAƒo[ƒT[ƒNŽžHP100ˆČã‚Č‚į10•b‚ ‚―‚č1%Œļ‚į‚·‚æ‚Ī‚É•ÏX + skill_status_change_start() ƒo[ƒT[ƒNŽž‚É‚ÍIAƒAƒCƒRƒ“‚ð•\ŽĶ‚·‚邿‚Ī‚É•ÏX + skill_delunit() NULLƒ`ƒFƒbƒNðŒ‚ð•ύX + skill_check_condition_char_sub() ŒŽ–ū‚č‚ːō‚É—Ž‚ŋ‚é‰Ô‚Ņ‚į’Į‰Á + skill_check_condition_use_sub() “Ŋã + skill_is_danceskill() “Ŋã + skill_initunitgroup() “Ŋã + trade.c NULLƒ`ƒFƒbƒN‹­‰ŧ + vending.c NULLƒ`ƒFƒbƒN‹­‰ŧ + +-------------------- +//1004 by (“Ę) +ENULLƒ`ƒFƒbƒN‚ŃGƒ“ƒoƒO‚ĩ‚Ăǂ―‚Æ‚ą‚ë‚ð‚Ē‚­‚Â‚ĐCģ‚Æ‘ž‚ĖNULLƒ`ƒFƒbƒN‹­‰ŧ +Eskill.c‚Å‚ānullpo‚ð•\ŽĶ‚·‚邿‚Ī‚É•ÏX + + (map/) + battle.c + battle_damage() NULLƒ`ƒFƒbƒN‹­‰ŧ + battle_heal() “Ŋã + clif.c + clif_damage() “Ŋã + map.c + map_addflooritem() NULLƒ`ƒFƒbƒN‹­‰ŧ + mob.c + mob_once_spawn() —]Œv‚ČNULLƒ`ƒFƒbƒN‚ðíœ + mob_once_spawn_area() “Ŋã + mob_damage() “Ŋã + mob_counttargeted() “Ŋã + mobskill_castend_id() “Ŋã + mob_summonslave() ƒƒbƒZ[ƒWŠÔˆá‚Ē‚ðCģ + pc.c + pc_damage() NULLƒ`ƒFƒbƒN‹­‰ŧ + skill.c ‚Ų‚Ú‘S•” NULLŠÖ˜ACģ + +-------------------- +//1003 by (“Ę) +EjROƒNƒ‰ƒCƒAƒ“ƒg‚Å/accountŽg—pŽž‚ÉŒq‚Š‚į‚Č‚ĒŒīˆö‚Ė0x200ƒpƒPƒbƒg–â‘č‚ðCģ +E0x1c9ƒpƒPƒbƒg‚ĖŒŠ–„‚ß‚ðˆø‚Ŧ‘ą‚ŦŒp‘ą’† +Eˆęl‚Őđ‘Ė‚â‡‘t‚ðŽg—p‚Å‚Ŧ‚éÝ’č(player_skill_partner_check)‚ð’Į‰Á + ˆęl‚ō‡‘t‚ðŽĀs‚ĩ‚―ę‡‚É‚Í’Ęí‚Ėƒ_ƒ“ƒX‚Æ‹““Ū‚Š“Ŋ‚ķ‚ɂȂč‚Ü‚· +Eƒvƒƒ{ƒbƒN‚Í•sŽ€‚ɑ΂ĩ‚Ä”­“Ū‚ĩ‚Ȃǂæ‚Ī‚É•ÏX +EFW‚ː‚Ŧ”ō‚΂ĩ”ŧ’č‚ð•ύX +EƒfƒŠƒ…[ƒW‚ɐ…ę”ŧ’č‚ð’Į‰ÁAđ…‚ðė‚ę‚é‚Ė‚ðŠm”F +EƒnƒCƒfƒBƒ“ƒO‚Ė—LŒøŽžŠÔ‚Аģ‚ĩ‚­‹@”\‚·‚邿‚Ī‚ÉCģ +EƒAƒXƒyƒ‹ƒVƒI‚ð•sŽ€‚ÉŽg—p‚ĩ‚―ę‡Ađ‘ېŦ‚Ė40ƒ_ƒ[ƒW‚ð—^‚͂邿‚Ī‚É•ÏX +EƒAƒXƒyƒ‹ƒVƒI‚ð•sŽ€ˆČŠO‚ĖMOB‚ÉŽg—p‚ĩ‚Ä‚āŒø‰Ę‚Š–ģ‚Ē‚æ‚Ī‚É•ÏX +E‡‘tAƒ_ƒ“ƒXA‰‰‘t’†‚ĖŒo‰ßŽžŠÔ‚É‚æ‚éSPÁ”ï‚ðŽĀ‘• +E•ņ‚Ė‚ ‚Á‚―ƒK[ƒfƒBƒAƒ“‚ŠƒMƒ‹ƒh–ljÁ“üPC‚ðƒ^[ƒQƒbƒg‚ĩ‚―‚įmap‚Š—Ž‚ŋ‚é–â‘č‚ĖCģ(ƒK[ƒfƒBƒAƒ“ŽĀ‘•“–Žž‚Đ‚į‚ļ‚Á‚Æ—Ž‚ŋ‚Ä‚―H) +Emob.cAstorage.c‚Ėnullƒ`ƒFƒbƒN‚ð‹­‰ŧ + ƒGƒ‰[‚Å—Ž‚ŋ‚é‚Ũ‚Ŧ‚Æ‚ą‚ë‚ð–ģ—‚â‚č’Ęíˆ—‚É–ß‚ĩ‚Ăǂé‚˂őž‚Å–â‘肊‚Å‚é‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņ + ‚ŧ‚Ėę‡AƒRƒ“ƒ\[ƒ‹‚ɁuŠÖ”–ž nullpov‚Æ•\ŽĶ‚ģ‚ę‚é‚˂ŕ\ŽĶ‚ģ‚ę‚―ę‡‚Í•ņ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚· + ‚ā‚ĩ‚Đ‚ĩ‚―‚įģí‚ȏˆ—‚Å‚ā•\ŽĶ‚ģ‚ę‚é‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņ‚ЁA‚ŧ‚ĖÛ‚ā•ņ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚· + –{—ˆƒGƒ‰[AŽĀ‚͐ģíA‚Į‚ŋ‚į‚É‚ĩ‚Ä‚ā‚ą‚ꂊ•\ŽĶ‚ģ‚ę‚é‚Ė‚ÍƒoƒO‚Å‚· + + (conf/) + battle_athena.conf player_skill_partner_check’Į‰Á + (db/) + skill_db.txt ƒAƒXƒyƒ‹ƒVƒI‚ˑېŦ‚ðđ‚ɕύX + (doc/) + conf_ref.txt player_skill_partner_checkā–ū’Į‰Á + (login/) + login.c + parse_login() 0x200ƒpƒPƒbƒg‘Ήž + (map/) + mob.c NULLƒ`ƒFƒbƒN‚Å‚Ų‚Ú‘S•” + storage.c NULLƒ`ƒFƒbƒN‚Å‚Ų‚Ú‘S•” + battle.h •ύX + battle.c + battle_calc_magic_attack() ƒAƒXƒyƒ‹ƒVƒI‚ð’Į‰ÁAFW‚ð•ύX + battle_config_read() Ý’č’Į‰Á + clif.c + clif_getareachar_skillunit() ’ēļŒ‹‰Ę‚Ė”―‰f + clif_skill_setunit() “Ŋã + [1001‚Æ1002‚ĖŠÔ‚Ė•ÏX“_] + skill.c NULLƒ`ƒFƒbƒN‚ð‘ōŽR + skill_castend_damage_id() ƒAƒXƒyƒ‹ƒVƒI’Į‰Á + skill_castend_nodamage_id() ƒAƒXƒyƒ‹ƒVƒIAƒvƒƒ{ƒbƒNˆ—•ύX + skill_castend_id() ƒAƒXƒyƒ‹ƒVƒIˆ—•ύ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() ƒnƒCƒfƒBƒ“ƒOCģAƒ_ƒ“ƒX‰‰‘t‡‘t’†‚ĖSPÁ”ïŽĀ‘• + skill_initunitgroup() ƒ_ƒ“ƒXSPÁ”ï—p•ύX + skill_status_change_start() “Ŋã•ƒvƒƒ{ƒbƒN‚ðƒ{ƒX‚ÉŒø‚Đ‚Č‚Ē‚æ‚Ī‚É(‚Å‚ābattle.c‚ÅŽ~‚߂Ăé‚Đ‚į’Ęí‚ą‚ą‚܂ŗˆ‚Č‚Ē) + +-------------------- +//1002 by ‚Ō‚ī‚Ü‚ņ +Eƒ|[ƒ^ƒ‹ƒoƒOCģ +EƒXƒLƒ‹ŠÖŒW‚ĖNullƒ`ƒFƒbƒN‹­‰ŧ(by(“Ę)) + (map/) + skill.c + skill_castend_map() Cģ + +-------------------- +//1001 by (“Ę) +E0x1c9‚łǂ­‚Â‚ĐƒpƒPƒbƒg‚ðŒĐ”ä‚Ũ‚ĕωŧ‚Ė‚Č‚Ē‚Æ‚ą‚ë‚ðŒÅ’č’l‚Å–„‚ߍž‚Ý(ĄŒãî•ņ‚ŠW‚܂邯•Ï‚í‚é‰Â”\Ŧ‘å) +Eƒ_ƒ“ƒX’†‚ÍSP‚ū‚Ŋ‰ņ•œ‚ĩ‚Ȃǂæ‚Ī‚É•ÏX +Eđ‘˂őЕû‚ĖSP‚Š10ˆČ‰š‚ū‚ÆŽg—pŽļ”s‚É‚ĩ‚ÄŽg—p‚ĩ‚―‚įSP‚ð10Œļ‚į‚ĩ‚Ă݂é(–ĒŠm”F) +E‡‘t‚ĖƒXƒLƒ‹Žg—pƒpƒPƒbƒg‚ðŽáŠą•ύX + + (map/) + clif.c + clif_getareachar_skillunit() 0x1c9‚ĖŒŠ–„‚ߊJŽn + clif_skill_setunit() 0x1c9‚ĖŒŠ–„‚ߊJŽn + pc.c + pc_natural_heal_sub() ƒ_ƒ“ƒX’†‚ÍSP‚Ė‚Ý‰ņ•œ‚ĩ‚Ȃǂæ‚Ī‚É•ÏX + skill.c + skill_check_condition() •ύX + skill_check_condition_char_sub() đ‘Ė‚Í‘Š•û‚ĖSPƒ`ƒFƒbƒN‚·‚邿‚Ī‚É•ÏX + skill_check_condition_use_sub() đ‘Ė‚Í‘Š•û‚ĖSP‚ðŒļ‚į‚·‚æ‚Ī‚É•ÏX + +-------------------- +//1000 by ‚Ō‚ī‚Ü‚ņ +E0999‚Ė•ÏXŽæ‚č–ß‚ĩ +Eƒgƒ‰ƒbƒv‚ĖŠŠ‚Ŧž‚ÝŽĀ‘• +EƒCƒhƒDƒ“‚Ė—ŅŒį‚ÅNPC‚܂ʼnņ•œ‚ĩ‚―(‚æ‚Ī‚ÉŒĐ‚Ķ‚é)–â‘čCģ(–ĒƒeƒXƒg) +Eƒfƒ‚ƒ“ƒXƒgƒŒ[ƒVƒ‡ƒ“‚ĖƒGƒtƒFƒNƒg•ύ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‚ňø”‚Ė‘ķÝ‚ðŠm”F‚đ‚ļ‚É’l‚ðŒĐ‚ɍs‚Á‚Ä‚éŠÖ”‚ð‚Ē‚­‚Â‚ĐCģ +Eƒ_ƒ“ƒX’†‚ÍĀ‚ę‚Ȃǂæ‚΂ɂĩ‚―(–{ŽI‘ŠˆáƒXƒŒƒbƒh part2 >>114 DoT‚ģ‚ņ) +Eƒ_ƒ“ƒX’†‚ÍHPASP‚Љņ•œ‚ĩ‚Ȃǂæ‚Ī‚É•ÏX(“Ŋã) +Eƒ_ƒ“ƒX’†‚Í’ĘíUŒ‚‚Å‚Ŧ‚Ȃǂæ‚΂ɂĩ‚―(–{ŽI‘ŠˆáƒXƒŒƒbƒh part2 >>116 EEE‚ģ‚ņ) +E‡‘t’†•Еû‚Š—Ž‚ŋ‚―ę‡AŽc‚Á‚―‚؂΂ʼn‰‘t‚ðŒp‘ą‚·‚邿‚΂ɂĩ‚―(“Ŋã) +E‡‘t’†‚̓AƒhƒŠƒuˆČŠO‚Å‚Ŧ‚Ȃǂæ‚Ī‚É•ÏX(“Ŋã) +E‡‘t”­“ŪðŒ‚Éƒ_ƒ“ƒX’†‚ķ‚á‚Ȃǁ•Ā‚Á‚ĂǂȂǂð’Į‰Á(–{ŽI‘ŠˆáƒXƒŒƒbƒh part2 >>118 ‚ë‚ë‚ģ‚ņ) +EˆĒC—…Žg—pŒã‚ÉHP‚ā‰ņ•œ‚ĩ‚ȂЂÁ‚―‚Ė‚ðCģ + + (map/) + battle.c + battle_counttargeted() Cģ + battle_getŒn ‚―‚Ô‚ņ‘S•”Cģ + clif.c + clif_parse_WalkToXY() ‡‘t‚Ė”ŧ’f•û–@‚Ė•ÏX + clif_parse_ActionRequest() ƒ_ƒ“ƒX’†‚Í‰Ģ‚į‚Č‚ĒĀ‚į‚Ȃǂæ‚Ī‚É•ÏX + map.c + map_quit() ƒ_ƒ“ƒX’†’f’Į‰Á + mob.c + mob_damage() skill_stop_dancing‚Ėˆø”‘‰Á‚É‚æ‚é•ύX + pc.c + pc_setpos() “Ŋã + pc_damage() “Ŋã + pc_equipitem() “Ŋã + pc_natural_heal_sub() ƒ_ƒ“ƒX’†‚ÍŽĐ‘R‰ņ•œ‚ĩ‚Ȃǂæ‚΂Ɂ•ˆĒC—…Žž‚ÍSP‚Ė‚Ý‰ņ•œ‚ĩ‚Ȃǂæ‚Ī‚É + 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•û–@‚Ė•ÏX•‡‘t’†‚̓AƒhƒŠƒuˆČŠO‹ÖŽ~‚É + skill_status_change_end() ‡‘t‚Ėƒ_ƒ“ƒXó‘Ô‰ðœ‚Í‘ŠŽč‚Ėval4‚ð0‚É‚·‚邿‚΂ɂĩ‚― + skill_is_danceskill() –ß‚č’l•ύX + skill_stop_dancing() ˆø”‘‰ÁA‡‘t‚ŕЕû‚ū‚Ŋ—Ž‚ŋ‚―‚Æ‚Ŧ‚Ėˆ—’Į‰Á + skill_delunitgroup() ‡‘tŽž‚ĖƒXƒe[ƒ^ƒX•ύXˆ—‚ðŠ‚ÉˆÚ‚ĩ‚― + skill_clear_unitgroup() ŽĐ•Š‚Ėbl->id‚ƃ†ƒjƒbƒgƒOƒ‹[ƒv‚Ėgroup->src_id‚Šˆá‚Ī‚Æ‚Ŧ‚͍폜‚ĩ‚Ȃǂæ‚Ī‚É•ÏX + skill.h •ύX + +-------------------- +//0997 by (“Ę) +E“ņl‚ō‡‘tAŽOl‚Őđ‘Ė‚ðŽĀ‘• + ‡‘t ƒo[ƒhEƒ_ƒ“ƒT[‚Š—ŨÚ‚ĩ‚―ƒZƒ‹‚ɂǂēŊ‚ķƒXƒLƒ‹‚ðŽ‚Á‚Ä‚Ē‚éŽž‚É”­“Ū + ƒXƒLƒ‹ƒŒƒxƒ‹‚Í—žŽŌ‚ĖƒXƒLƒ‹ƒŒƒxƒ‹‚Ė’†ŠÔ + –{ŽIŽd—l‚Š•Š‚Đ‚į‚ȂǂŊ‚ĮŽÎ‚ß—ŨÚ‚āOK + đ‘Ė Žg—pŽŌ‚ĖXŽē‚Å-1‚Æ+1‚ĖęŠ‚Ɉęl‚ļ‚ƒAƒRƒ‰ƒCƒg‚ĐƒvƒŠ[ƒXƒg‚Š‚Ē‚éŽž‚É”­“Ū‚·‚邯Žv‚Ī(–ĒƒeƒXƒg) + Žg—pŽŌ › ƒAƒRƒvƒŠ œ + OK œ›œ + + NG œ + ›œ +Eƒg[ƒL[ƒ{ƒbƒNƒX‚ðŽg‚Á‚ĐݒuŽž‚ÉĀ‚Á‚Ăǂ―Žž‚̓XƒLƒ‹Žg—pŽļ”s‚É‚ĩ‚Ă݂― + + (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 (“Ę) +EƒAƒhƒŠƒu‚Ė5•b§ŒĀ‚ðcast_db.txt‚Ėupkeep_time2‚Ő§Œä‚Å‚Ŧ‚邿‚Ī‚É•ÏX +E‘šģ‚ÅŽĐ•Š‚ðŽô‚í‚đ‚é‚―‚ß‚Ébonus2 bAddEff2‚ð’Į‰Á +EŽô‚í‚ę‚Ä‚Ē‚ÄI—đ‚Å‚Ŧ‚Č‚ĒŽž‚É‚āuĄ‚͏I—đ‚Å‚Ŧ‚Ü‚đ‚ņv‚Š•\ŽĶ‚ģ‚ę‚邿‚΂ɂĩ‚― +Eƒ_ƒ“ƒXƒGƒtƒFƒNƒg“™ˆÚ“ŪŽž‚ÉŒø‰Ę‚Ė“K—p”ŧ’f‚ŠˆÚ“Ū‘O‚ɍs‚í‚ę‚Ăǂ―‚Ė‚ðˆÚ“ŪŒã‚ɕύX•Žg‚í‚Č‚­‚Ä‚Ē‚Ē•Ï”‚ð”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‚ĖƒfƒtƒHƒ‹ƒg‚Šyes‚ɂȂÁ‚Ăǂ―‚Ė‚ðCģ +Ebattle.pet_lootitem‚Ė“K—p‚ðforeach‘O‚Å‚â‚邿‚Ī‚ÉCģ +Eƒyƒbƒg‚Ė‰Šú‰ŧ‚Åpd->lootitem‚Š‚ ‚鎞‚ĩ‚Џ‰Šú‰ŧ‚ģ‚ę‚Ä‚Ē‚Č‚Đ‚Á‚―‚Ė‚ðCģ +E—Ėˆæ‚ŠˆÚ“Ū‚ĩ‚Ä‘ÎÛ‚Š—Ėˆæ‚Đ‚į”ē‚Ŋ‚Ä‚āŒø‰Ę‚Š‰ðœ‚ģ‚ę‚Ȃǖâ‘č‚ðCģ +EƒAƒhƒŠƒu‚̓_ƒ“ƒX”­“Ū‚Đ‚į5•bˆČãŒo‚―‚Č‚Ē‚ÆŽg—p‚Å‚Ŧ‚Ȃǂæ‚΂ɂĩ‚― + + (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ƒ‰[ƒƒbƒZ[ƒWCģ + skill_check_condition() •ύX + skill_initunitgroup() sd_data[SC_DANCING].val3‚Égettick() + 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_lootitem‚Š“K‰ž‚ģ‚ę‚Ä‚Ē‚Č‚Đ‚Á‚―‚Ė‚ðCģB +Eƒyƒbƒg‚ɃpƒtƒH[ƒ}ƒ“ƒX‚ð‚ģ‚đ‚―ŒãA10•bŠÔ‚­‚į‚Ē‚ÍE‚í‚đ‚Ȃǂæ‚΂ɁB + + (map/) + map.h pet_data‚Élootitem_timer’Į‰ÁB + pet.c + pet_ai_sub_hard_lootsearch() CģB + pet_lootitem_drop() CģB + +-------------------- +//0993 by (“Ę) +Eˆęl‚ō‡‘t‚ū‚Ŋ‚Į‡‘tƒXƒLƒ‹’†‚Í“Ū‚Ŋ‚Ȃǂæ‚Ī‚É +EƒAƒ“ƒR[ƒ‹ŽĀ‘•B’ž‘O‚ÉŽg‚Á‚―ƒ_ƒ“ƒXƒXƒLƒ‹‚ð”ž•Š‚ĖSP‚ÅŽg‚͂܂· +Eƒ_ƒ“ƒX’†‚ÉˆÚ“Ū‚·‚邯ƒGƒtƒFƒNƒg‚āˆÚ“Ū‚·‚邿‚΂ɂĩ‚― +E–ĒŽĀ‘•‚ĖƒXƒLƒ‹‚ŠŽg‚í‚ę‚邯Unknown skill‚Æ•\ŽĶ‚ģ‚ę‚邹‚Æ‚Š‚ ‚é‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņ +ESage‚ĖƒLƒƒƒXƒgƒLƒƒƒ“ƒZƒ‹‚ÅŽĀ‚Í‘O‚ĖƒXƒLƒ‹‚ðŠo‚Ķ‚Ä‚Ē‚Č‚Đ‚Á‚―–â‘č‚ĖCģ + + (map/) + clif.c + clif_parse_WalkToXY() •ύX + map.h ƒAƒ“ƒR[ƒ‹—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‚Á‚―ƒ_ƒ“ƒXƒXƒLƒ‹‚ð•ϐ”‚É“ü‚ę‚邿‚΂ɂĩ‚― + skill_unit_move_unit_group() ’Į‰Á + skill.h •ύX + +-------------------- +//0992 by nokia + +map_quit‚ðCģ‚ĩ‚ăƒ‚ƒŠ‚ðŽß•ú‚·‚鎞‰―“x‚ā‚ðŽß•ú‚·‚é‚―‚߃ƒ‚ƒŠ‚ĖŠÔˆá‚ǂЋN‚ą‚é–â‘č‚ðĩ‚­ + + (map/) + map.c + map_quit() + +-------------------- +//0991 by (“Ę) +Eƒg[ƒL[ƒ{ƒbƒNƒX‚ðŽĐ•ЂГĨ‚ņ‚ł┭“Ū‚ĩ‚Ȃǖ{ŽIŽd—l‚ɕύX +EƒXƒLƒ‹‰rĨ’†‚ƃfƒBƒŒƒC’†‚̓Nƒ‰ƒCƒAƒ“ƒg‚ðI—đ‚Å‚Ŧ‚Ȃǂæ‚΂ɂĩ‚―‚Ŋ‚ĮA“G‚ɍUŒ‚‚ģ‚ę‚Ăǂ邯‚Ŧ‚͏I—đ‚Å‚Ŧ‚Ü‚·(‚ē‚ß‚ņ‚Č‚ģ‚Ē‚ÁII) + + (map/) + clif.c + clif_parse_QuitGame() •ύX + skill.c + skill_unitsetting() •ύX + +-------------------- +//0990 by ‚Ō‚ī‚Ü‚ņ +Eˆę•”‚Ėƒgƒ‰ƒbƒv‚ð”͈͍UŒ‚‚ɕύXiŠŠ‚Ŧž‚Ý‚Í–ĒŽĀ‘•jB +Emapflag‚Épvp_nocalcrank‚Æpvp_nightmaredrop’Į‰ÁB + Emapflagpvp_nocalcrankdummy + @PvP‚É‚æ‚郉ƒ“ƒLƒ“ƒOŒvŽZ‚ð‚ĩ‚Ȃǂæ‚΂ɂĩ‚Ü‚·B + Emapflagpvp_nightmaredrop,, + @PvP‚ɂĎ€–S‚ĩ‚―ę‡A‚ĖŠm—Ķ‚ÅƒAƒCƒeƒ€‚ðƒhƒƒbƒv‚ĩ‚Ü‚·B + @: ƒhƒƒbƒv‚·‚éƒAƒCƒeƒ€ID‚ðŽw’č‚ĩ‚Ü‚·Brandom‚Æ‹Lq‚·‚邯ŠŽ•i‚Đ‚įƒ‰ƒ“ƒ_ƒ€‚Ƀhƒƒbƒv‚ĩ‚Ü‚·B + @: ƒhƒƒbƒv‚·‚éƒAƒCƒeƒ€‚Ėƒ^ƒCƒv‚ðŽw’č‚ĩ‚Ü‚·Binventory:ŠŽ•i equip:‘•”õ•i all:‘S•” + @: ƒhƒƒbƒv‚·‚éŠm—͂ł·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 + ƒiƒCƒgƒƒAƒ‚[ƒh‚ɃhƒƒbƒvÝ’č’Į‰Á + +-------------------- +//0989 by (“Ę) +EƒXƒvƒŠƒ“ƒOƒgƒ‰ƒbƒv‚ð–^Š‚ÅŒĐ‚―SS‚ðŒģ‚ÉŽĀ‘•‚ĩ‚Ă݂―Bˆá‚Á‚―‚į‘ŠˆáƒXƒŒ‚Ö +EƒfƒBƒeƒNƒeƒBƒ“ƒO‚ð–^Š‚ÅŒĐ‚―‰ðā•ķ‚ðŒģ‚ÉŽĀ‘•‚ĩ‚Ă݂―Bˆá‚Á‚―‚į‘ŠˆáƒXƒŒ‚Ö +EƒLƒƒƒXƒgƒLƒƒƒ“ƒZƒ‹Žž‚Ėdelete_timerƒGƒ‰[‚É’Į‰Á‚ŃXƒLƒ‹ID‚ð•\ŽĶ‚·‚邿‚΂ɂĩ‚―B‚ ‚í‚đ‚Ä•ņ‚·‚邯ƒGƒ‰[‚ĖŒīˆö‚Š•Š‚Đ‚é‚Đ‚ā + + (map/) + skill.c + skill_castend_nodamage_id() •ύX + skill_castend_pos2() •ύX + skill_castcancel() •ύX + +-------------------- +//0988 by (“Ę) +Eƒg[ƒL[ƒ{ƒbƒNƒX‚͏í‚É‘ŦŒģ‚É’u‚Ŋ‚邿‚Ī‚É•ÏX‚ÆKalen‚ģ‚ņ‚É–á‚Á‚―î•ņ“™‚ðŒģ‚ɃpƒPƒbƒg‚ð–{ŽI‚É‚ ‚í‚đ‚Ă݂― +EƒVƒ‡ƒbƒNƒEƒF[ƒuƒgƒ‰ƒbƒv‚ÉŒø‰Ę‚ð’Į‰Á‚ĩ‚―‚‚ā‚č(–ĒŠm”F) +Eƒuƒ‰ƒXƒgƒ}ƒCƒ“‚ƃNƒŒƒCƒ‚ƒAƒgƒ‰ƒbƒv‚ð‰Ģ‚邯‚Ŧ”ō‚Ô‚æ‚΂ɂĩ‚― +EƒŠƒ€[ƒuƒgƒ‰ƒbƒv‚ÅãĐ(skill_require_db‚ÅŽw’č‚ĩ‚―ƒAƒCƒeƒ€)‚ð‰ņŽû‚Å‚Ŧ‚邿‚΂ɂĩ‚― +EŠ‚ĖŽĀ‘•‚É‚æ‚čãĐ‚ĖŽžŠÔØ‚ę‚ÅãĐ‚Šo‚éƒIƒŠƒWƒiƒ‹Žd—l‚̓Rƒƒ“ƒgƒAƒEƒg +Eƒuƒ‰ƒXƒgƒ}ƒ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[’č‹`ŠÖ”/ƒTƒuƒ‹[ƒeƒBƒ“‚Ɉø”‚ðŽw’č‰Â”\‚É + Ú‚ĩ‚­‚Í script_ref.txt ‚ðŽQÆ + + (map/) + scirpt.c + buildin_getarg()’Į‰Á + buildin_callsub(),buildin_callfunc(),run_func()Cģ + (doc/) + script_ref.txt + ˆø”‚É‚Â‚Ē‚Ä‚Ėā–ū’Į‰Á + +Egetguildname,getpartyname,getcastlename,strcharinfoCģ + C_STR‚Œ萔•ķŽš—ņ(C_CONSTSTR)‚ð•Ô‚ĩ‚Ăǂ―–â‘čCģ + strcharinfo‚ŃMƒ‹ƒh–ž‚Č‚Į‚ðŠ“ū‚·‚éÛA–ĒŠ‘Ū‚ū‚Á‚―‚Æ‚Ŧ‚Ė–â‘č + + (map/) + script.c + buildin_getguildname(),buildin_getpartyname() + buildin_getcastlename(),buildin_strcharinfo() + +-------------------- +//0986 by (“Ę) +Eclient_packet‚Ė‹Lq‚Đ‚į„Ž@‚ĩ‚ăg[ƒL[ƒ{ƒbƒNƒX‚ðŽĀ‘•‚ĩ‚Ă݂―‚‚ā‚č + + (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 (“Ę) +EƒT[ƒo[snapshot +E/script/extension‚ÉŒę‚č•”‚ð’Į‰Á‚ĩ‚―‚č +E0984‚ÅAthenaŽG’kƒXƒŒƒbƒh part3>>92 Michael‚ģ‚ņ‚ĖCģ‚ðŽæ‚čž‚ņ‚Å‚― +EƒoƒO•ņƒXƒŒƒbƒh part5 >>45‚É“]Ú‚ģ‚ę‚Ä‚― ‚ ‚â‚Ë‚ģ‚ņ‚ĖCģ‚ðŽæ‚čž‚Ý +EƒoƒO•ņƒXƒŒƒbƒh part5 >>54 rari‚ģ‚ņ‚Ė‚―‚Ę‚Ŧ–XCģ‚ðŽæ‚čž‚Ý + + (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 (“Ę) +EƒZ[ƒW‚ĖƒtƒŠ[ƒLƒƒƒXƒg‚Æ‚Ē‚ĪƒXƒLƒ‹‚Ė‘ķÝ‚ð’m‚į‚ȂЂÁ‚―‚Ė‚Å0983‚Ė•ÏX‚ðˆę•”–ß‚ĩ +EƒAƒCƒeƒ€XV‚ĩ‚―‚Ŋ‚Į‚‚ę”L‚ƃCƒ“ƒfƒBƒAƒ“ƒoƒ“ƒ_ƒi‚Š‘•”õ‚Å‚Ŧ‚ȂǁH +Eƒ}ƒbƒvƒtƒ‰ƒO‚ƃ‚ƒ“ƒXƒ^[”z’u‚ðÅV”Å‚É + + (db/) + item_db.txt + (conf/) + mapflag.txt + (script/mob/) + npc_monster.txt + (map/) + clif.c + clif_parse_WalkToXY() Cģ + +-------------------- +//0983 by (“Ę) +E’·‚ljrĨ’†‚É•ā‚Ŧ‚Ü‚í‚ę‚―‹C‚Š‚·‚é‚Ė‚ÅCģ +Eƒyƒbƒgƒ‹[ƒŒƒbƒg‰ņ“]’†‚É‘ÎÛ‚Š’@‚ŦŽE‚ģ‚ę‚―‚įmap-server‚ŠĒ‚é‚Ė‚ðCģ +EƒvƒƒtƒFƒbƒT[ ƒ‰ƒCƒt’u‚ŦŠ·‚Ķ‚ĖŽč”ē‚Ŧˆ—‚ð‚ŋ‚å‚Á‚ƃ}ƒV‚É‚ĩ‚― + + (map/) + clif.c + clif_parse_WalkToXY() Cģ + pet.c + pet_catch_process2() Cģ + skill.c + skill_castend_nodamage_id() Cģ + +-------------------- +//0982 by (“Ę) +E“]ķƒXƒLƒ‹‚ˁ` + ƒXƒg[ƒJ[ ƒŠƒWƒFƒNƒgƒ\[ƒh ‘ŠŽč‚ŠPC‚Ėę‡‚ÍŒ•‚ķ‚á‚Č‚Ŋ‚ę‚Î’ĩ‚˕Ԃģ‚ȂǗ\’č + ƒvƒƒtƒFƒbƒT[ ƒƒ‚ƒ‰ƒCƒY 12•b‚ĖŒÅ’čƒLƒƒƒXƒgƒ^ƒCƒ€A‚ŧ‚ĖŒãƒXƒLƒ‹Žg—p‚ĖƒLƒƒƒXƒgƒ^ƒCƒ€‚Š3‰ņ‚ū‚Ŋ1/3‚ɂȂé + ƒvƒƒtƒFƒbƒT[ ƒ‰ƒCƒt’u‚ŦŠ·‚Ķ HP‚ð10%Œļ‚į‚ĩ‚ÄSP‚𑝂₷BŒļ‚Á‚―HP‚ĖƒGƒtƒFƒNƒg‚Í–ģ‚ĩ‚É‚ĩ‚Ă݂― +EŒĐØ‚肯‰ņ”ð—Ķ‘‰Á‚ĖFleeãļ‚ŠƒXƒe[ƒ^ƒX•ωŧŽž‚É‚ĩ‚Đ”―‰f‚ģ‚ę‚Ä‚Ē‚Č‚Đ‚Á‚―‚Ė‚ðCģ +E0981‚ÅŽĐ•ŠˆČŠO‚Í•ā‚Ē‚―‚į•ž‚ːF‚Š–ß‚Á‚Ä‚ĩ‚܂΂˂ð‚Č‚ņ‚Æ‚Đ‚ĩ‚―‚‚ā‚č + + (db/) + skill_require_db.txt + (map/) + battle.c + battle_calc_damage() Cģ + clif.c + clif_movechar() Cģ + clif_getareachar_pc() Cģ + pc.c + pc_calcstatus() Cģ + skill.c + SkillStatusChangeTable •ύX + skill_castend_nodamage_id() •ύX + skill_use_id() •ύX + skill_use_pos() •ύX + skill_status_change_timer() •ύX + skill_status_change_start() •ύX + skill.h •ύX + +-------------------- +//0981 by (“Ę) +E“]ķƒXƒLƒ‹‚ˁ` + ƒXƒg[ƒJ[ ƒŠƒWƒFƒNƒgƒ\[ƒh ˆę’čŠm—Ķ‚Åƒ_ƒ[ƒW‚ð”ž•Š‚É‚ĩ‚ÄŒļ‚į‚ĩ‚―•Š‚ð‘ŠŽč‚É’ĩ‚˕Ԃ·‚æ‚΂ɂĩ‚―c‚ЁA’ĩ‚˕Ԃĩ‚―ƒ_ƒ[ƒW‚ĖƒGƒtƒFƒNƒgo‚Ü‚đ‚ņ +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—á‚É‚æ‚Á‚Ä“]ķƒXƒLƒ‹‚ƃ‚ƒ“ƒNŠÖ˜A + ƒXƒiƒCƒp[ ƒVƒƒ[ƒvƒVƒ…[ƒeƒBƒ“ƒO ƒNƒŠƒeƒBƒJƒ‹—Ķ’ēŪH + ƒnƒCƒEƒBƒU[ƒh ƒ\ƒEƒ‹ƒhƒŒƒCƒ“ MSP‘—Ę‚ÆMob‚ð“|‚ĩ‚―‚Æ‚Ŧ‚ÉSP(mobLv*(65+15*SkillLv)/100)‰ņ•œB‚Å‚ā–{“–‚͔͈͍UŒ‚‚Ėę‡‚͉ņ•œ‚ĩ‚Ȃǂį‚ĩ‚ǁH + ƒnƒCƒEƒBƒU[ƒh –‚–@—Í‘• Žg‚Á‚―‚įMATK‚ŠSkillLv%‘—ʁBŽŸ‚ĖƒXƒLƒ‹Žg—pŽž‚ÉŒģ‚É–ß‚é + ƒ‚ƒ“ƒN ‹C’D ‚ŋ‚å‚Á‚ÆæŽæ‚č‚ĩ‚Ä20%‚ĖŠm—͂œG‚ĖLv*2‚ĖSP‚ð‹zŽûBŽŒũ‚ĩ‚―‚Æ‚Ŧ‚̓^[ƒQƒbƒg‚ðŽæ“ū‚·‚邿‚΂ɂĩ‚Ă݂― +EƒAƒCƒeƒ€–ž‚ðjROƒEƒ“ƒoƒ‰‚ɏ€‹’‚ģ‚đ‚Ă݂―‚‚ā‚č + + (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“]ķƒXƒLƒ‹‚ð‚ŋ‚å‚Á‚Æ’ēŪ + ƒnƒCƒEƒBƒU[ƒh ƒ}ƒWƒbƒNƒNƒ‰ƒbƒVƒƒ[ •ŠíUŒ‚‚ÅBaseATKŒvŽZ‚ðMATK2‚Å‚ĩ‚Ă݂é +E‘§‚ð–{ŽIŽd—l•—‚ÉHP‚ÆSP‚ˉņ•œƒ^ƒCƒ}[‚𕊂Ŋ‚ÄĀ‚Á‚ĂǂȂ­‚Ä‚ā“Ū‚Đ‚Č‚Ŋ‚ę‚΃^ƒCƒ}[‚Аi‚Þ‚æ‚΂ɂĩ‚― +EˆĒC—…Žg—pŒã‚ÉHP‚ÆSP‚Š5•ŠŠÔŽĐ‘R‰ņ•œ‚ĩ‚Ȃǖ{ŽIŽg—p•—‚É‚ĩ‚―(csat_db.txt‚Ėupkeep_time2‚Å’ēŪ‰Â”\) +EŒÃ‚Ēgcc‚Åskill_unit_timer_sub_onplace()‚ ‚―‚č‚ŃRƒ“ƒpƒCƒ‹ƒGƒ‰[‚ɂȂÁ‚―‚Ė‚ð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“]ķƒXƒLƒ‹‚ðCģ‚ĩ‚―‚čFX + ƒXƒiƒCƒp[ ƒtƒ@ƒ‹ƒRƒ“ƒAƒTƒ‹ƒg ‚Æ‚č‚ ‚Ķ‚ļ”ō‚Ô‚ū‚Ŋ‚ū‚ÆŽv‚Á‚Ä‚­‚ū‚ģ‚Ē + ƒXƒiƒCƒp[ ƒVƒƒ[ƒvƒVƒ…[ƒeƒBƒ“ƒO ƒ_ƒ[ƒW‘‰Á‚ū‚Ŋ‚Į1‘Ė‚ū‚Ŋ + ƒNƒ‰ƒEƒ“EƒWƒvƒV[ ƒAƒ[ƒoƒ‹ƒJƒ“ ƒ_ƒ[ƒW‘‰Á‚Æ9‰ņUŒ‚ + ƒnƒCƒEƒBƒU[ƒh ƒ}ƒWƒbƒNƒNƒ‰ƒbƒVƒƒ[ ƒGƒtƒFƒNƒg‚ū‚Ŋ + +EƒAƒCƒeƒ€ŒðŠ·‚ŏd—Ę‚ĖŒvŽZ‚Šˆá‚Á‚Ăǂ―‚Ė‚ðCģ + (doc/) + client_packet.txt ƒpƒPƒbƒg’·ƒe[ƒuƒ‹XV + (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 ƒpƒPƒbƒg’·‚Ė’č‹`‚ðXV + skill.c + skill_castend_damage_id() •ύX + trade.c + trade_tradeadditem() Cģ + +-------------------- +//0977 by (“Ę) +E“]ķƒXƒLƒ‹‚ðCģ‚ĩ‚―‚čFX + ƒAƒTƒVƒ“ƒNƒƒX ƒƒeƒIƒAƒTƒ‹ƒg ƒGƒtƒFƒNƒg‚Šˆá‚΁H + ƒ[ƒhƒiƒCƒg ƒvƒŒƒbƒVƒƒ[ •K’†ƒ_ƒ[ƒW‚É‚ĩ‚Ă݂― + ƒ[ƒhƒiƒCƒg ƒI[ƒ‰ƒuƒŒ[ƒh‚Ė•K’†damage2‚Š‘ž‚Å‚ā“K—p‚ģ‚ę‚Ăǂ―‚Ė‚ðCģ + ƒ[ƒhƒiƒCƒg ƒSƒXƒyƒ‹ ƒGƒtƒFƒNƒgoŒŧˆĘ’u‚Ė’ēŪ + ƒnƒCƒvƒŠ[ƒXƒg ƒAƒVƒƒƒ“ƒvƒeƒBƒI Œø‰ĘŽĀ‘• + ƒnƒCƒvƒŠ[ƒXƒg ƒƒfƒBƒeƒCƒeƒBƒI Œø‰ĘŽĀ‘• + ƒnƒCƒvƒŠ[ƒXƒg ƒoƒWƒŠƒJ SG‚Ý‚―‚Ē‚ÉMob‚АN“ü‚ĩ‚æ‚Ī‚Æ‚·‚邯‚Ŧ”ō‚΂ģ‚ę‚邿‚΂ɂĩ‚― + ƒzƒƒCƒgƒXƒ~ƒX ƒJ[ƒgƒu[ƒXƒg Œø‰ĘŽĀ‘• + ƒzƒƒCƒgƒXƒ~ƒX ƒƒ‹ƒgƒ_ƒEƒ“ ƒGƒtƒFƒNƒg‚Əó‘ÔˆŲíŽžŠÔ‚ū‚Ŋ(ŽĀÛ‚Ėó‘ԕωŧ‚Í–ģ‚ĩ) + ƒzƒƒCƒgƒXƒ~ƒX ƒNƒŠƒGƒCƒgƒRƒCƒ“ –ž‘O“ü‚č‚Ė‹ā‰Ý‚Æ‚Đė‚ę‚é‚ū‚Ŋ + ƒXƒg[ƒJ[ ƒŠƒWƒFƒNƒgƒ\[ƒh ƒGƒtƒFƒNƒg‚Əó‘ÔˆŲíŽžŠÔ‚ū‚Ŋ(ŽĀÛ‚Ėó‘ԕωŧ‚Í–ģ‚ĩ) + ƒNƒ‰ƒEƒ“EƒWƒvƒV[ ƒ}ƒŠƒIƒlƒbƒgƒRƒ“ƒgƒ[ƒ‹ ƒGƒtƒFƒNƒg‚Əó‘ÔˆŲíŽžŠÔ‚ū‚Ŋ(ŽĀÛ‚Ėó‘ԕωŧ‚Í–ģ‚ĩ) + ƒvƒƒtƒFƒbƒT[ ƒtƒHƒOƒEƒH[ƒ‹ ƒGƒtƒFƒNƒg‚Æ—LŒøŽžŠÔ‚ū‚Ŋ + ƒXƒiƒCƒp[ ƒEƒCƒ“ƒhƒEƒH[ƒN ‘Ž“xãļ‚ÆQMAŽ„‚ð–Y‚ę‚Č‚Ē‚Å‚Š‚Đ‚Đ‚é‚Æ‰ðœ‚ģ‚ę‚邿‚΂ɂĩ‚― + ƒXƒiƒCƒp[ ƒgƒDƒ‹[ƒTƒCƒg QMAŽ„‚ð–Y‚ę‚Č‚Ē‚Å‚Å‰ðœ‚ģ‚ę‚邿‚΂ɂĩ‚Ă݂― +EƒgƒDƒ‹[ƒTƒCƒg‚Ė’Ô‚čŠÔˆá‚Ē‚ðCģ +Estorage.c‚ŃRƒ“ƒpƒCƒ‹Œx‚Šo‚Ȃǂæ‚΂ɂĩ‚―‚‚ā‚č + + (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“]ķƒXƒLƒ‹‚ðCģ‚ĩ‚―‚čFX +E€”õ‚ū‚Ŋ‚ĩ‚ÄŽĀ‘•‚Å‚Ŧ‚Ä‚Č‚ĒƒXƒLƒ‹‚ā‚ ‚č‚Ü‚· + ƒ[ƒhƒiƒCƒg ƒI[ƒ‰ƒuƒŒ[ƒh ‘―•Š‚ą‚ņ‚ČŠī‚ķH + ƒ[ƒhƒiƒCƒg ƒpƒŠƒCƒ“ƒO ’ĩ‚˕Ԃ·‚Ŋ‚ĮUŒ‚‚ð1‰ņŽ~‚ß‚é‚Ė‚Í–ĒŽĀ‘• + ƒ[ƒhƒiƒCƒg ƒRƒ“ƒZƒ“ƒgƒŒ[ƒVƒ‡ƒ“ ƒCƒ“ƒfƒ…ƒA`‚Í—Į‚­•Š‚Đ‚į‚Ȃǂ˂ŕú’u + ƒ[ƒhƒiƒCƒg ƒXƒpƒCƒ‰ƒ‹ƒsƒA[ƒX ’ʏíƒ_ƒ[ƒW‘‰Á‚Əd—Ęƒ_ƒ[ƒW‘‰Á‚Æˆę‰ž5‰ņUŒ‚(‚Č‚ņ‚Đˆá‚Ī‹C‚Š‚·‚é) + ƒ[ƒhƒiƒCƒg ƒwƒbƒhƒNƒ‰ƒbƒVƒ… ƒ_ƒ[ƒW‘‰Á‚ƃXƒe[ƒ^ƒX•ύXH + ƒ[ƒhƒiƒCƒg ƒWƒ‡ƒCƒ“ƒgƒr[ƒg ƒ_ƒ[ƒW‘‰Á‚ƃXƒe[ƒ^ƒX•ύXH + ƒAƒTƒVƒ“ƒNƒƒX ƒAƒhƒoƒ“ƒXƒhƒJƒ^[ƒ‹ŒĪ‹† ‚―‚Ô‚ņ‚ą‚ņ‚ČŠī‚ķH + ƒXƒiƒCƒp[ ƒgƒDƒ‹[ƒTƒCƒg ‚―‚Ô‚ņ‚ą‚ņ‚ČŠī‚ķH + ƒXƒiƒCƒp[ ƒEƒBƒ“ƒhƒEƒH[ƒN ‚―‚Ô‚ņ‚ą‚ņ‚ČŠī‚ķH‚Å‚ā‘Ž“xãļ‚Æ‚Đ‚Æ‹Ģ‡‚ĩ‚―Žž‚Ėˆ—‚Í–ĒŽĀ‘• + ƒXƒpƒCƒ_[ƒEƒFƒbƒu ‚Æ‚č‚ ‚Ķ‚ļƒAƒ“ƒNƒ‹ƒXƒlƒA‚Æ“Ŋ‚킿‚Ī‚ČŠī‚큕‰ņ”ð—Ķ”žŒļ + ƒ`ƒƒƒ“ƒsƒIƒ“ ‹ķ‹CŒũ “K“–‚É‘‚â‚ĩ‚Ăǂ―‚Ė‚ð‚ŋ‚á‚ņ‚Æ‘‚â‚·‚æ‚΂ɂĩ‚― +EoŒŒó‘ԂƍœÜó‘Ô‚ĖŽæ‚čˆĩ‚Ē‚Š‚æ‚­‚í‚Đ‚č‚Ü‚đ‚ņ‚ÁII + + (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‚ÅŽĀ‘•‚ģ‚ę‚―ƒXƒNƒŠƒvƒg‚É‚æ‚éBaseLv, JobLv‚Ė•ÏXŽž‚ɁA +@ƒXƒe[ƒ^ƒXƒ|ƒCƒ“ƒg‚âƒXƒLƒ‹ƒ|ƒCƒ“ƒg‚ðŽæ“ū‚Å‚Ŧ‚邿‚Ī‚ÉCģB +@ĶŽŋ–âƒXƒŒpart5 >>115 ”Y‚ß‚él ‚ģ‚ņ‚Ėpc.c‚ðŽQl‚É‚ģ‚đ‚Ä’ļ‚Ŧ‚Ü‚ĩ‚―B‘―ŽÓB + + (map/) + pc.c + pc_setparam() + case SP_BASELEVEL: Cģ + case SP_JOBLEVEL: Cģ +-------------------- +//0974 by latte +EƒOƒ‰ƒ“ƒhƒNƒƒX‚ð–{ŽI‚ÉŠî‚ÂŦCģ + ƒAƒ“ƒfƒbƒhˆŦ–‚‹­§ˆÃˆÅ•t—^ + ”―“Ūƒ_ƒ[ƒW”žŒļAƒ‚[ƒVƒ‡ƒ“‚Č‚ĩ + MOB(PC)‚Šd‚Č‚Á‚―‚Æ‚Ŧ‚ĖHIT” + %UPŒn•ŠíƒJ[ƒhŒø‰Ę‚Č‚ĩ + ‘ېŦ‘АŦ“ņdŒvŽZ + MOBƒ_ƒ[ƒW•\ŽĶ”’ + + Œã”ž4€–ڂ͐ݒč‰Â + +Eí“ŽŠî–{ŒvŽZ‚ð–{ŽI‚ÉŠî‚ÂŦ”ũCģiDEXƒTƒCƒY•âģA‹|Å’áƒ_ƒAPCƒTƒCƒY•âģj + +EŠŪ‘S‰ņ”ð + ƒXƒ^ƒ““™‚ÅŠŪ‘S‰ņ”ð‚Š”­ķ‚ĩ‚ȂЂÁ‚―‚Ė‚ðCģ + AGIVITƒyƒiƒ‹ƒeƒB‚ŠŠŪ‘S‰ņ”ð‚Ė“G‚āƒJƒEƒ“ƒg‚ĩ‚ÄŒvŽZ‚ģ‚ę‚Ăǂ―‚Ė‚ðCģ@Ý’č‰Â + ƒI[ƒgƒJƒEƒ“ƒ^[‚Í–ĒCģ + +E‘qŒÉ‚ð•‚ķ‚邯‚ŦAƒAƒCƒeƒ€ID‚Ń\[ƒg‚·‚邿‚΂ɂĩ‚― + +Ekalen‚ģ‚ņ‚Ėƒvƒ‚PŽ·Ž–NPCƒXƒNƒŠƒvƒg‚ð‰ü‘Ē‚ĩ‚Ä + Ī‹Æ–h‰q’lA“ŠŽ‘‹āŠzA•󔠂ː”‚ð–{ŽI‚ɏ€‹’(Ī‹Æ’l‚Í1~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() CģiŠ‚Ėˆø”‚ū‚Ŋ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‚Å‚æ‚Đ‚Á‚―‚Đ‚āEEE + + skill.c + GXŠÖ˜ACģ(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 +EƒXƒNƒŠƒvƒg‚ĖBASELEVEL,JOBLEVEL–―—ß’Į‰Á + —á: set BASELEVEL,1; + —á: set JOBLEVEL,1; + (map/) + pc.c + pc_setparam() + case SP_BASELEVEL: €–Ú’Į‰Á + case SP_JOBLEVEL: €–Ú’Į‰Á + +-------------------- +//0972 by (“Ę) +E“]ķƒXƒLƒ‹‚ðƒGƒtƒFƒNƒg‚ū‚Ŋ‚Ē‚­‚‚ВĮ‰Á‚ĩ‚―‚č +Eó‘ԕωŧ‚Í‚ŧ‚˂΂ŋ’N‚Đ‚Š + ƒGƒtƒFƒNƒg(ƒXƒe[ƒ^ƒX•ωŧƒAƒCƒRƒ“ŠÜ‚Þ)‚Ė‚Ý + SC_AURABLADE: /* ƒI[ƒ‰ƒuƒŒ[ƒh */ + SC_PARRYING: /* ƒpƒŠƒCƒ“ƒO */ + SC_CONCENTRATION: /* ƒRƒ“ƒZƒ“ƒgƒŒ[ƒVƒ‡ƒ“ */ + SC_TENSIONRELAX: /* ƒeƒ“ƒVƒ‡ƒ“ƒŠƒ‰ƒbƒNƒX */ + SC_BERSERK: /* ƒo[ƒT[ƒN */ + SC_ASSUMPTIO: /* */ + SC_TURESIGHT: /* ƒgƒDƒ‹[ƒTƒCƒg */ + SC_CARTBOOST: /* ƒJ[ƒgƒu[ƒXƒg */ + SC_WINDWALK: /* ƒEƒCƒ“ƒhƒEƒH[ƒ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“]ķƒXƒLƒ‹‚ðƒGƒtƒFƒNƒg‚ū‚Ŋ‚Ē‚­‚‚ВĮ‰Á‚ĩ‚―‚čƒ`ƒƒƒ“ƒsƒIƒ“‚Í‚ŧ‚ę‚Č‚č‚É’Į‰Á‚ĩ‚―‚č + ƒGƒtƒFƒNƒg‚Ė‚Ý + ƒnƒCƒvƒŠ[ƒXƒg ƒoƒWƒŠƒJ(HP_BASILICA) + ƒzƒƒCƒgƒXƒ~ƒX ƒJ[ƒgƒu[ƒXƒg(WS_CARTBOOST) + ƒXƒiƒCƒp[ ƒgƒDƒ‹[ƒTƒCƒg(SN_SIGHT) + ƒWƒvƒV[ ŒŽ–ū‚č‚ːō‚É—Ž‚ŋ‚é‰Ô‚Ņ‚į(CG_MOONLIT) + ƒpƒ‰ƒfƒBƒ“ ƒSƒXƒyƒ‹(PA_GOSPEL) + ’Į‰Áƒ_ƒ[ƒW“™‚Č‚ĩ + ƒ[ƒhƒiƒCƒg ƒwƒbƒhƒNƒ‰ƒbƒVƒ…(LK_HEADCRUSH) + ƒ[ƒhƒiƒCƒg ƒWƒ‡ƒCƒ“ƒgƒr[ƒg(LK_JOINTBEAT) + ƒ[ƒhƒiƒCƒg ƒXƒpƒCƒ‰ƒ‹ƒsƒA[ƒX(LK_SPIRALPIERCE) + ƒpƒ‰ƒfƒBƒ“ ƒvƒŒƒbƒVƒƒ[(PA_PRESSURE) + ƒpƒ‰ƒfƒBƒ“ ƒTƒNƒŠƒtƒ@ƒCƒX(PA_SACRIFICE) + ‚ŧ‚ę‚Č‚č(ƒRƒ“ƒ{‚ÍŒq‚Š‚č‚Ü‚·‚ŠƒfƒBƒŒƒC‚Í“K“–Aƒ_ƒ[ƒW’Į‰Á‚Í‚ ‚é‚Ŋ‚Į‚ŧ‚ęˆČŠO‚Ė’Į‰ÁŒø‰Ę‚Í–ģ‚ĩ) + ƒ`ƒƒƒ“ƒsƒIƒ“ –ŌŒÕd”hŽR(CH_PALMSTRIKE) + ƒ`ƒƒƒ“ƒsƒIƒ“ •šŒÕŒ(CH_TIGERFIST) + ƒ`ƒƒƒ“ƒsƒIƒ“ ˜A’Œ•öŒ‚(CH_CHAINCRUSH) + ƒ`ƒƒƒ“ƒsƒIƒ“ ‹ķ‹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() ƒ`ƒƒƒ“ƒsƒIƒ“ƒRƒ“ƒ{ˆ—’Į‰Á + 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 (“Ę) +EƒhƒŒƒCƒN‚ĖƒEƒH[ƒ^[ƒ{[ƒ‹‚ŠˆŲí‚É’É‚Ē(121”­H‚į‚Ī)‚Ė‚ÅLv5ˆČã‚Ėę‡‚Í25”­‚ɐ§ŒĀ +EƒVƒOƒiƒ€ƒNƒ‹ƒVƒX‚ĖŒvŽZŽŪ‚ð14+SkillLv‚Đ‚į10+SkillLv*2•ύX +Eƒ\[ƒX‚Ė‹C‚ŠŒü‚Ē‚―‚Æ‚ą‚ë‚É—Ž‘‚Ŧ +EDBŠÖŒW‚ð‚܂Ƃ߂ēŊŦ + + (map/) + battle.c ƒRƒƒ“ƒgQY(BB)ķ·ķ· + 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 ‚Ō‚ī‚Ü‚ņ + +E”’nŽæ‚čó‘ԂŕЕû‚ŠŽ€–S‚ĩ‚―ę‡A•Еû‚Ė”’nŽæ‚肊‰ðœ‚ģ‚ę‚Ȃǖâ‘čCģ +Ebattle_athena.conf‚ɍ€–Ú’Į‰Á +@ƒyƒbƒgEƒvƒŒƒCƒ„[Eƒ‚ƒ“ƒXƒ^[‚Ė–ģ‘ېŦ’ʏíUŒ‚‚ð‘ېŦ–ģ‚ĩ‚É‚·‚é‚Đ”Û‚Đ‚ðÝ’č‚Å‚Ŧ‚Ü‚· +@Ú‚ĩ‚­‚Íconf_ref‚ðB +E—ƒRƒ}ƒ“ƒh@idsearchŽĀ‘• +@ƒ[ƒh‚ĩ‚―item_db‚Đ‚įŒŸõŒę‹å‚Ƀ}ƒbƒ`‚·‚éƒAƒCƒeƒ€‚ÆID‚ð—…—ņ‚·‚éƒRƒ}ƒ“ƒh‚Å‚· +@—á‚Ķ‚Îu@idsearch ƒŒƒCv‚Æ“ü—Í‚ĩ‚―ę‡AƒuƒŒƒCƒh‚⃌ƒCƒhƒŠƒbƒNƒJ[ƒh“™‚Šˆø‚Á‚ЂЂč‚Ü‚· +EƒAƒVƒbƒhƒeƒ‰[‚ƃfƒ‚ƒ“ƒXƒgƒŒ[ƒVƒ‡ƒ“ŽĀ‘• +@‘•”õ”j‰ó‚Í–ĒŽĀ‘•‚Å‚· +EƒCƒhƒDƒ“‚Ė—ŅŒį‚ˉņ•œŽd—l‚ðŠÛ‚炯•ύXB + (map/) + battle.c + battle.h + ‘ېŦ•âģ‚ĖCģ‚âƒAƒVƒbƒhƒeƒ‰[Eƒfƒ‚ƒ“ƒXƒgƒŒ[ƒVƒ‡ƒ“‚Ėƒ_ƒ[ƒWŽZoŽŪ’Į‰Á“™B + battle_config‚ɍ€–Ú’Į‰Á + skill.c + skill_idun_heal()’Į‰ÁBforeachinarea‚ŏˆ—‚·‚邿‚Ī‚É•ÏX + ƒAƒVƒbƒhƒeƒ‰[‚ƃfƒ‚ƒ“ƒXƒgƒŒ[ƒVƒ‡ƒ“‚Ėˆ—’Į‰ÁB + atcommand.c + atcommand.h + @idsearch’Į‰ÁB + +-------------------- +//0968 by ŒÓ’ą—– + +EƒLƒƒƒ‰ƒNƒ^[ID‚ŠŽg‚ǂ܂í‚ģ‚ę‚Ȃǂæ‚Ī‚ÉCģ +EƒLƒƒƒ‰ƒNƒ^[íœŽžAƒp[ƒeƒB[AƒMƒ‹ƒh‚ð’E‘Þ‚·‚邿‚Ī‚ÉCģ +EƒAƒJƒEƒ“ƒgíœŽžAƒLƒƒƒ‰ƒNƒ^[‚Æ‘qŒÉ‚ðíœ‚·‚邿‚Ī‚ÉCģ +E‘qŒÉ/ƒMƒ‹ƒh‘qŒÉíœŽžA‘qŒÉ“ā‚Ėƒyƒbƒg‚ðíœ‚·‚邿‚Ī‚ÉCģ + E’ˆÓFƒƒOƒCƒ“‚ĩ‚ĂǂéƒAƒJƒEƒ“ƒg‚ðíœ‚ĩ‚―ę‡‚Ė“Ūė‚Í•s–ū + + (char/) + char.c + ƒpƒPƒbƒg2730‚Ėˆ—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()‚ðƒAƒJƒEƒ“ƒgíœŽž‚ɃpƒPƒbƒg2730‚ð‘—‚é‚æ‚Ī‚ÉCģ + +Eathena-start stop ‚Å’âŽ~‚ģ‚đ‚―ę‡Aƒf[ƒ^‚Š•Û‘ķ‚ģ‚ę‚Ȃǖâ‘č‚ðCģ + kill‚Å‘—‚éƒVƒOƒiƒ‹‚ðSIGKILL‚Đ‚įSIGTERM‚ɕύXB + ‚Į‚Ī‚ĩ‚Ä‚āSIGKILL‚ð‘—‚č‚―‚Ēę‡‚Í athena-start kill ‚ðŽg‚Á‚Ä‚­‚ū‚ģ‚ǁB + + athena-start + stopCģAkill’Į‰Á + +-------------------- +//0967 by Asong +Eƒ‚ƒ“ƒXƒ^[‚ĖŽc‰e‚ðŽĀ‘•B +@’Ęíƒ‚ƒ“ƒXƒ^[‚̓XƒLƒ‹‚É‚æ‚éƒtƒBƒ‹ƒ^[‚Š‚Đ‚Đ‚į‚Č‚Ē‚Ė‚ÅŽc‘œ‚Šo‚Ü‚đ‚ņB +@‚o‚bŒ^ƒ‚ƒ“ƒXƒ^[‚ɂ͎c‘œ‚Šo‚Ü‚·B +Eƒ‚ƒ“ƒXƒ^[ƒXƒLƒ‹Žg—p‘Ώۂð’Į‰ÁB +@around5`around8‚̓^[ƒQƒbƒg‚ĖŽü•ÓƒZƒ‹‚ð‘Ώۂɂĩ‚Ü‚·B +@ +@ (map) +@ mob.c +@ mobskill_use() Cģ +@ mob_readskill() Cģ +@ mob.h Cģ +@ skill.c +@ skill_castend_pos2() Cģ + +-------------------- +//0966 by (“Ę) +EƒT[ƒo[snapshot +EƒfƒBƒŒƒNƒgƒŠ\‘Ē‚ð•ύX(common,login,char,map‚Í/srcˆČ‰š‚Ɉړ]) +@‚ŧ‚ę‚É”š‚ĪMakefile“™‚ĖƒpƒX‘‚ŦŠ·‚Ķ +Enpc_turtle.txt‚ðnpc_town_alberta.txt‚É“‡ +Eƒ‚ƒ“ƒN‚ĖƒRƒ“ƒ{‚ÉŠÖ‚·‚éƒfƒBƒŒƒC‚ð•ύX +Ebattle_config.enemy_critical‚ĖƒfƒtƒHƒ‹ƒg‚ðno‚ɕύX +E“]ķE“™‚ð–ģŒø‚É‚·‚éenable_upper_class‚Ė’Į‰Á +E@joblvup,@charjlvl‚ÅJobƒŒƒxƒ‹‚ŠÅ‚‚Ė‚Æ‚Ŧ‚É•‰”‚ðŽ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@mapexitŽĀsŽž‘SƒZƒbƒVƒ‡ƒ“‚ðkick‚·‚邿‚Ī‚É•ÏXB +E”’nŽæ‚莞‚ɕЕû‚Š“|‚ę‚Ä‚āA‚ā‚Ī•Ð•û‚Ė”’n‚Š‰ðœ‚ģ‚ę‚Ȃǖâ‘čCģB(–ĒƒeƒXƒg) +EƒXƒeƒB[ƒ‹î•ņŒöŠJ‹@”\ŽĀ‘•B(–ĒƒeƒXƒg) +@ƒXƒeƒB[ƒ‹‚ÉŽŒũ‚·‚邯A‰―‚ðƒXƒeƒB[ƒ‹‚ĩ‚―‚Ė‚Đ +@‰æ–Ę“ā‚ĖPTƒƒ“ƒo[‘Sˆõ‚É’m‚į‚đ‚é‹@”\‚Å‚·B +@battle_athena.conf‚Ėshow_steal_in_same_party‚Őݒč‚Å‚Ŧ‚Ü‚·B +@ƒIƒŠƒWƒiƒ‹ƒAƒbƒvƒf[ƒg‚ĖˆŨAƒfƒtƒHƒ‹ƒg‚Íno‚É‚ĩ‚Ăǂ܂·B +EƒCƒhƒDƒ“‚Ė—ŅŒį‚ˉņ•œŒø‰ĘŽĀ‘•B + + (conf/) + battle_athena.conf‚ɍ€–Ú’Į‰ÁB + (map/) + atcommand.c + atcommand_mapexit() CģB + pc.c + pc_steal_item() CģB + pc_show_steal() ’Į‰ÁB + skill.c + skill_unitsetting()Askill_unit_onplace() CģB + battle.c + battle_config_read() CģB + battle.h CģB + (doc/) + conf_ref.txt ”ē‚Ŋ‚Ä‚―‚Ė‚ðFX’Į‰ÁB + +-------------------- +//0964 by (“Ę) + +E‚ą‚Ė‘O’Į‰Á‚ĩ‚―skill_tree2.txt‚ð”pŽ~‚ĩ‚―‚Ė‚Åíœ‚ĩ‚Ä‚­‚ū‚ģ‚Ē +Eskill_tree.txt‚ĖƒtƒH[ƒ}ƒbƒg‚ð•ύX•Kalen‚ģ‚ņ‚Č‚Į‚Ėî•ņ‚ðŒģ‚É“]ķƒcƒŠ[‚ĖŒĐ’ž‚ĩ +E‚ŧ‚ę‚ɂƂā‚Č‚Á‚Äpc.c‚Ėƒtƒ@ƒCƒ‹“Į‚ݏo‚ĩ•”•ЂȂĮ‚ð•ύX +EAthenaŽG’kƒXƒŒƒbƒh part3 >>14 miya‚ģ‚ņ‚ĖŽw“E‚Š‚ ‚é‚܂ł·‚Á‚Đ‚č–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, @jobchange3”pŽ~ @jobchange‚Ɉø”’Į‰Á @helpŽQÆ + —á: @jobchange2 10 Ļ @jobchange 10 1 +E“Ŋ—l‚É@charjob2, @charjob3”pŽ~ @charjob‚Ɉø”’Į‰Á @helpŽQÆ + —á: @charjob2 10 ‚Ų‚°‚Ų‚° Ļ @charjob 10 1 ‚Ų‚°‚Ų‚° +E“Ŋ—l‚ɃXƒNƒŠƒvƒg‚Ėjobchange2, jobchange3–―—ß”pŽ~ jobchange‚Ɉø”’Į‰Á script_ref.txtŽQÆ + —á: jobchange2 10; Ļ jobchange 10,1; +EŠ‚Į‚ę‚ā’Į‰Á‚ģ‚ę‚―ˆø”‚ÍČ—Š‰Â”\‚Å‚·B‚Ȃ˂ŁA“]ķƒm[ƒrƒX‚ÍŒŧó‚ĖƒXƒNƒŠƒvƒg‚Å“]ķˆęŽŸE‚É“]E‚Å‚Ŧ‚Ü‚·B + —á: Novice High Ļ @jobchange 10 Ļ Whitesmith + Novice Ļ @jobchange 10 Ļ Blacksmith +EƒXƒNƒŠƒvƒg‚Đ‚į“]ķ‚ĩ‚Ăǂé‚Đ”ŧ’č‚·‚é‚―‚ß‚ÉUpper‚ð’Į‰Á‚ĩ‚Ü‚ĩ‚―BUpper 0=’ʏí, 1=“]ķ, 2=—{Žq + Upper=0‚ĖŽž‚ÉBaseLevel=99‚Č‚į“]ķ‚ģ‚đ‚é`‚Æ‚Đ‚ŧ‚Ī‚Ē‚ĪƒXƒNƒŠƒvƒg’N‚Џ‘‚ǂĂ­‚ū‚ģ‚Ē + ‚ŧ‚ĖŽž‚ÉŒģ‚ːE‹Æ‚Í‹L‰Ŋ‚ĩ‚ĂǂȂǂ˂ʼni‘ą•ϐ”‚Æ‚Đ‚ÅŠo‚Ķ‚ģ‚đ‚Ä”ŧ’č‚ģ‚đ‚Č‚Ē‚Æ“]ķŒã‰―‚ɂłā“]E‚Å‚Ŧ‚ŋ‚á‚΁H +EƒoƒCƒIƒvƒ‰ƒ“ƒg‚ƃXƒtƒBƒAƒ}ƒCƒ“‚ÅŒÄ‚Ņo‚ģ‚ę‚éMob‚Ė–ž‘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 (“Ę) + +EE‹Æ‚Í0`23‚ŏˆ—‚ĩ‚―‚ǂ˂œ]ķE—p‚ĖƒXƒLƒ‹ƒcƒŠ[’Į‰ÁAeAthena‚ðŽQl‚ÉŠg’Ģ + ‚Á‚Ä‚Ē‚Ī‚ĐŠØ‘–{ƒT[ƒo‚Å‚ĖŽĀ‘•‚ĖŽ‘—ŋ‚ŠŒĐ“–‚―‚į‚Ȃǂ˂œK“– +Esakexe.exe‚ð‰ðÍ‚ĩ‚Äskill_db.txt•ύXA‚ą‚ę‚āeAthena‚ðŽQl‚ÉŠg’Ģ + ‚Į‚ꂊ–{ƒT[ƒo‚ÅŽĀ‘•‚ģ‚ę‚ĂǂéƒXƒLƒ‹‚Đ•Š‚Đ‚č‚Ü‚đ‚ņ‚ÁII +ĶƒXƒLƒ‹ƒcƒŠ[‚Š•\ŽĶ‚ģ‚ę‚―‚Đ‚į‚Æ‚Ē‚Á‚ÄŽg‚Ķ‚é‚í‚Ŋ‚ķ‚á‚ ‚č‚Ü‚đ‚ņ‚ÁII + + (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 ŒÓ’ą—– + +EƒXƒNƒŠƒvƒg‚ɃTƒuƒ‹[ƒ`ƒ“/ƒ†[ƒU[’č‹`ŠÖ”‹@”\’Į‰Á + Ú‚ĩ‚­‚̓Tƒ“ƒvƒ‹‚Æscript_ref.txt‚ð“Į‚ņ‚Å‚­‚ū‚ģ‚ǁB + ’n–Ą‚É‘å‰ü‘ǂȂ˂ŁAƒXƒNƒŠƒvƒgŠÖŒW‚ŃoƒO‚Š‚ ‚é‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņB + + (map/) + map.h/map.c + struct map_session_data ‚ɃXƒNƒŠƒvƒgî•ņ‘Þ”ð—p‚Ėƒƒ“ƒo’Į‰Á + map_quit()Cģ + script.h/script.c + FXCģ(run_script(),run_func()‚ŠŽå) + npc.c + npc_parse_function()’Į‰Á‘ž + (conf/sample) + npc_test_func.txt + ƒ†[ƒU[’č‹`ŠÖ”/ƒTƒuƒ‹[ƒeƒBƒ“‚ĖƒeƒXƒgƒXƒNƒŠƒvƒg + (doc/) + script_ref.txt + ƒTƒuƒ‹[ƒeƒBƒ“‚Č‚Į‚ːā–ū’Į‰Á + +-------------------- +//0960 by (“Ę) +E–{ŽI‘ŠˆáƒXƒŒƒbƒh part2 >>62 KK‚ģ‚ņ‚ĖƒAƒ“ƒNƒ‹ƒXƒlƒACģ‚ð“ŊŦ +EƒoƒO•ņƒXƒŒƒbƒh part5 >>14-16 rb‚ģ‚ņ‚ĖƒoƒOCģ‚ð“ŊŦ +EFor English User Forum >>15 Mugendai‚ģ‚ņ‚ĖŽw“E‚Å0x1d7‚ðŽg‚΂˂ÍVal>255‚ɏCģ(0xc3‚ĖVal‚Í1ƒoƒCƒg‚ū‚Đ‚į0x1d7‚ðŽg‚Ī‚Ė‚Đ‚Æ”[“ū) +Epc_calc_base_job()‚ð•ύX‚ĩ‚ÄŒģjob‚ū‚Ŋ‚łȂ­ƒmƒr‚ĐˆęŽŸ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.txt‚Šdoc‚ķ‚á‚Č‚­‚Äconf‚˂ГĮ‚ݏo‚ģ‚ę‚Ä‚―Q|P|› +Egamejoke‚ðŽQl‚É“]ķ“ņŽŸE‚ĖƒXƒe[ƒ^ƒX‰Ád’l‚ðjob_db2-2.txt‚É‹Lq +EƒXƒNƒŠƒvƒg‚Éjobchange2‚Æjobchange3‚ð’Į‰Á‚ŧ‚ꂞ‚ę“]ķE‚Æ—{ŽqE‚Ö“]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•û–Ę‚ĖŽĀ‘•‚ðFX +Ed—ʐ§ŒĀ‚Í—Į‚­•Š‚Đ‚į‚Č‚Ē‚Ė‚ÅŒģ‚ːE‹Æ‚Ė’l‚ð‚ŧ‚Ė‚Ü‚ÜŽg‚Á‚Ăǂ܂·(ƒ‚ƒ“ƒNƒ`ƒƒƒ“ƒsƒIƒ““™) +E‘•”õ•i‚ā“ŊãAHP‚âSP‚Ėƒe[ƒuƒ‹‚ā“Ŋã‚Ȃ˂ŁA“]ķ‚ĩ‚Ä‚āHP‚Č‚Į‚Š‘‚Ķ‚Č‚ĒƒKƒbƒJƒŠŽd—l‚Å‚· + + (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Ė@jobchangeA@charjob2Ė@jobchange2A(ry +E@mapexit‚ð’Į‰ÁAmap-server‚𗎂Ƃ·ƒRƒ}ƒ“ƒh‚Å‚·atcommand_athena.conf‚Å‚Í99Ý’č‚É‚ģ‚ę‚Ă܂·‚Ė‚ÅŽg—p‚ɂ͏\•Š’ˆÓ‚ĩ‚Ä‚­‚ū‚ģ‚ǁ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ŒĐ‚―–Ú‚ÆŒoŒą’lƒe[ƒuƒ‹‚ū‚Ŋ‚Å‚· +E—{ŽqE‰žŽĀ‘•(@jobchange3)AŒĐ‚―–Ú‚ū‚Ŋ‚Å‚·Œŧó‚ł͌oŒą’l‚Í“]ķ“ņŽŸE‚Æ“Ŋ‚킯‚Ē‚Īƒ}ƒ]Žd—l +Ķã‹L2“_‚Í“]ķE‚ŠŽĀ‘•‚ģ‚ę‚ĂǂéƒNƒ‰ƒCƒAƒ“ƒg‚łȂŊ‚ę‚ÎŽĀs‚·‚邯ƒGƒ‰[—Ž‚ŋ‚·‚é‚˂ŒˆÓII +@‚ŧ‚ĖŒã’žÚƒZ[ƒuƒf[ƒ^‚ð˜M‚į‚Č‚Ē‚ÆƒLƒƒƒ‰ƒZƒŒ‚É‚ās‚Ŋ‚Č‚­‚Č‚č‚Ü‚·II +EAthenaŽG’kƒXƒŒƒbƒh part2 >>149 ‹HŽ}‚ģ‚ņ‚Ė•ņ‚ðŒģ‚ɃK[ƒfƒBƒAƒ“‚ðCģ +EÔˆČŠO‚ŃK[ƒfƒBƒAƒ“‚Æ‚ĐƒGƒ“ƒyƒŠƒEƒ€‚ð‰Ģ‚邯map-server‚Š—Ž‚ŋ‚Ăǂ―‚Ė‚āCģ(–ĒŠm”F) +EƒXƒpƒmƒr‚ĖJobƒe[ƒuƒ‹‚ÍFor English User Forum >>13 kingbo‚ģ‚ņ‚Ėƒf[ƒ^‚ðŒģ‚ɏCģ +E“]ķE‚ĖŒoŒą’lƒe[ƒuƒ‹‚ÍOWN‚ðŽQÆ‚ĩ‚ÄBase99‚ĖŒoŒą’l‚Í•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 +Eƒyƒbƒg‚Ėƒ‹[ƒg‹@”\B + EŽd—l‚Ímob‚Ėƒ‹[ƒg‚É‹ß‚ĒŠī‚ķ‚Å‚·‚ЁAŽË’ö‚ð’Z‚­‚ĩ‚Ă܂·B + EE‚Á‚―ƒAƒCƒeƒ€‚́AƒpƒtƒH[ƒ}ƒ“ƒX‚ð‚·‚é‚Æ°‚É—Ž‚Æ‚ĩ‚Ü‚·B + E—‘‚É–ß‚ĩ‚―‚čAƒƒOƒIƒt‚ĩ‚―‚Æ‚Ŧ‚ÍPC‚ĖŽčŒģ‚É“ü‚邿‚΂ɂĩ‚Ü‚ĩ‚―B(d—Ę’ī‰ß‚̓hƒƒbƒv) + EE‚Ķ‚éŒÂ”‚̓‹[ƒgmob“Ŋ—l‚Ė10ŒÂ‚Å‚·‚ЁA11ŒÂ–ڂ͏E‚Ē‚És‚Ŧ‚Ü‚đ‚ņB + Eƒ‹[ƒgŒ ‚Ė–â‘č‚Đ‚įAƒAƒCƒeƒ€‚Éfirst_id‚Š“ü‚Á‚ĂǂāA‚ŧ‚ę‚ŠŽ”‚ĒŽåˆČŠO‚ū‚Á‚―‚įA‰―•bŒo‚Æ‚Ī‚ÆE‚ǂ܂đ‚ņB(–ĒŠm”F) + E‚ŧ‚悯A‰Ũ•ĻŽ‚ŋ‚É‚ģ‚ę‚邯‰ÂˆĢ‘z‚Ȃ˂ŁAd—ʐ§ŒĀ‚ā‚‚Ŋ‚Ü‚ĩ‚―B‚ą‚ę‚Íconf‚Őݒč‰Â”\‚Å‚·B +Eatcommand‚ŁA@where‚Ђ΂܂­“­‚Ē‚Ä‚Č‚Đ‚Á‚―‚Ė‚ÅCģ(‚Ü‚―ƒEƒ`‚ū‚Ŋ‚ЂȂŸĨĨĨj +E@memo‚Åmemo‚·‚鎞‚́Amapflag‚ð–ģŽ‹‚·‚邿‚΂ɁB +EƒXƒtƒBƒAƒ}ƒCƒ“‚Ė–ž‘O‚ū‚ŊCģB + + (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ģ‚ðŽæ‚čž‚Ý +EƒoƒO•ņƒXƒŒƒbƒh part5 >>10 Sin‚ģ‚ņ‚ĖCģ‚ðŽæ‚čž‚Ý +E‚Â‚Ē‚Å‚ÉŒĐ‚Đ‚Ŋ‚―atcommand_character_joblevel‚Ė•s‹ï‡‚ðCģ +E@ƒRƒ}ƒ“ƒh‚ŃWƒ‡ƒuƒŒƒxƒ‹‚ðã‚°‚邯‚Ŧ‚ɃXƒpƒmƒr‚ÍJob70‚܂őΉž(–ĒŠm”F) + + (/) + 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‚ĖðŒ’l‚É0ˆČŠO“ü‚Á‚Ä‚Ē‚Č‚Đ‚Á‚―‚Ė‚ð’ųģ +Egcc 2.95‚ŃRƒ“ƒpƒCƒ‹‚Å‚Ŧ‚邿‚΂ɒųģ(by ƒoƒOƒXƒŒpart5 >>2 ˆĐ‚ģ‚ņ) +EŠ‚âLinux‚Č‚Į‚ðl—ķ‚ĩ‚Ästart‚âMakefile‚Č‚Į‚ˉüs‚ðLF‚ɕύX +E0952‚ŏo‚―ƒRƒ“ƒpƒCƒ‹Œx‚ðo‚Ȃǂæ‚Ī‚ÉCģ +E0952‚ōXV‚ģ‚ę‚ȂЂÁ‚―conf_ref.txt‚ðCģ + + (/) + start ‰üsƒR[ƒh•ύX + athena-start ‰üsƒR[ƒh•ύX + (db/) + mob_skill_db.txt Cģ + (doc/) + conf_ref.txt Cģ + (login/) + Makefile ‰üsƒR[ƒh•ύX + (map/) + Makefile ‰üsƒR[ƒh•ύX + atcommand.c + atcommand() éŒūˆĘ’uCģ + atcommand_where() éŒūˆĘ’uCģ + 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() éŒūˆĘ’uCģ + guild.c + guild_gvg_eliminate_timer() éŒūˆĘ’uCģ + mob.c + mob_damage() éŒūˆĘ’uCģ + script.c + buildin_deletearray() éŒūˆĘ’uCģ + buildin_getequipcardcnt() éŒūˆĘ’uCģ + buildin_successremovecards() éŒūˆĘ’uCģ + +-------------------- +//0952 by CG +Econf‚ÅDEF‚ÆMDEF‚ĖŒvŽZ•û–@‚ð‘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 (“Ę) +EƒT[ƒo[snapshot +EƒoƒO•ņƒXƒŒƒbƒh part4 >>95 KAJIKEN‚ģ‚ņ‚ĖCģ‚ð“ŊŦ +E“Ŋ >>138 ƒoƒO‚ЂȁH‚ģ‚ņ‚ĖCģ‚ð“ŊŦ +EAthenaŽG’kƒXƒŒƒbƒh part2 >>112 –ž–ģ‚ĩ‚ģ‚ņ‚ĖPVPƒiƒCƒgƒƒAƒ‚[ƒh‚ĖƒAƒ“ƒ_[ƒNƒƒXƒ}ƒbƒvƒ[ƒvƒ|ƒCƒ“ƒg‚ð“ŊŦ +E“Ŋ >>96 ‹HŽ}‚ģ‚ņ‚Ėnpc_gldcheck.txt‚ð“ŊŦ +EƒXƒiƒbƒvƒVƒ‡ƒbƒg‚Ésave/‚ð“ü‚ę‚é‚Ė‚ð‚â‚߂܂ĩ‚―B–ģ‚Ēę‡‚Íathena-start‚Šė‚Á‚Ä‚­‚ę‚Ü‚· +Eathena-start‚Ålog/‚Š–ģ‚Ēę‡‚ɍė‚邿‚Ī‚É•Ï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_db‚ĖModeƒtƒ‰ƒO‚ÉˆČ‰š‚˕ςð’Į‰Á + 0x40(64) ƒ_ƒ[ƒW‚ð1‚ɌŒč(‘‚âƒNƒŠƒXƒ^ƒ‹‚Č‚Į) + 0x80(128) UŒ‚‚ðŽó‚Ŋ‚―‚Æ‚Ŧ‚É”―Œ‚‚ð‚·‚é +Eã‹L‚Ė•ÏX‚Ė‚―‚ßmob_db.txt‚Ų‚Ú‘S•”•ύXAmob_db2.txt‚ðė‚Á‚Ăǂél‚Í + ‘‚Č‚Į1ƒ_ƒŒÅ’č‚É‚ÍMode‚É64‚ð‘Ŧ‚ģ‚Č‚Ē‚Æ•’Ę‚Éƒ_ƒ[ƒW + ‚ŧ‚Ė‘žMob‚ÍMode‚É128‚ð‘Ŧ‚ģ‚Č‚Ē‚Æ”―Œ‚‚ĩ‚Ä‚ą‚Č‚­‚Č‚é‚˂ŒˆÓ + + (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 ‚Ō‚ī‚Ü‚ņ + +EƒXƒe[ƒ^ƒXˆŲí‘ϐŦ‘S–ʏCģB +@‘ϐŦŽZoŽŪ‘S–ʏCģB +@ƒXƒe[ƒ^ƒXˆŲí‘ϐŦ100%‚ĖƒLƒƒƒ‰ƒNƒ^[‚ɂ͏ó‘ÔˆŲí‚ðs‚í‚Ȃǂæ‚Ī‚ÉCģB +EƒfƒBƒXƒyƒ‹‚ĖŽd—l•ύXB +@‰ðœ‚ĩ‚―‚įƒVƒXƒeƒ€ã–â‘č‚Ė‚ ‚éƒXƒe[ƒ^ƒX•ωŧˆČŠO•ЂÁ’[‚Đ‚į‰ðœ‚·‚邿‚Ī‚ÉCģB +EƒtƒƒXƒgƒ_ƒCƒo[‚ĖŽd—l•ύXB +@“€Œ‹—ĶCģ(ƒ}ƒWƒXƒŒƒeƒ“ƒvƒŒ€‹’)B +EƒŠƒJƒoƒŠ[‚ĖŽd—l•ύXB +@ƒmƒ“ƒAƒNƒeƒBƒuƒ‚ƒ“ƒXƒ^[‚ÉŽg—p‚·‚邯ƒ^[ƒQƒbƒg‚ŠƒŠƒZƒbƒg‚ģ‚ę‚邿‚Ī‚ÉCģB +EƒNƒ@ƒOƒ}ƒCƒA‚ĖŽd—l‚ŠƒAƒŒ‚ū‚Á‚―‚Ė‚ÅCģB +@‰‰‘t‚â‘ېŦę‚Æ“Ŋ—l‚Érange‚ŏˆ—‚·‚邿‚Ī‚ÉCģB +@DEX/AGI”žŒļ‚ˉe‹ŋ‚ЉrĨˆČŠO‚É‚ā‹y‚Ô—l‚ɏCģB +EƒXƒLƒ‹ƒ^[ƒQƒbƒg’†‚ÉŽ€‚ņ‚ūU‚č‚ðŽg—p‚ĩ‚Ä‚āƒXƒLƒ‹‚Љņ”ð‚Å‚Ŧ‚Ȃǖâ‘čCģB +E”’nŽæ‚肊“Ūė‚ĩ‚Ȃǖâ‘č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 CģB + +-------------------- +//0948 by ŒÓ’ą—– + +Ewarpwaitingpc‚Аģ‚ĩ‚­PC‚ð“]‘—‚Å‚Ŧ‚Ȃǖâ‘č‚ðCģ +EƒXƒNƒŠƒvƒg‚Ė“Į‚ݍž‚ÝŽž‚ɃGƒ‰[‚Ü‚―‚ÍŒx‚Šo‚éę‡AŒx‰đ‚ð–Â‚į‚·‚æ‚΂ɁB + i—Ž‚ę‚―ƒƒO‚ðŒĐ‚Ȃǐl‘΍ô‚Å‚·j + + (map/) + script.c + buildin_warpwaitingpc()Cģ + disp_error_message()Cģ + +Eatcommand.cCģ + Eatcommand_athena.conf‚Ėmapmove‚ð“Į‚Þ‚æ‚Ī‚É + E@str‚Č‚Į‚ĖČ—ŠŽž‚Ė•K{ƒŒƒxƒ‹‚ð0‚ɁB + E@param‚ÍŽg‚í‚Č‚Ē‚Ė‚ÅƒRƒƒ“ƒg‰ŧ + + (map/) + atcommand.c + ŠY“–ŒÂŠCģ + +Emob‚ŠÅ‘å15•b‚Ų‚ĮˆÚ“Ū‚ĩ‚Č‚Ēę‡‚Š‚ ‚é–â‘čCģ + EŽč”ē‚Ŧ‚łȂĒmobˆ—‚ŁAˆÚ“Ū‚ĩ‚Č‚ĒŽžŠÔ‚Š7•bˆČã‘ą‚Đ‚Č‚Ē‚æ‚Ī‚ÉCģ + + (map/) + mob.c + mob_ai_sub_hard()Cģ + +E‰õ‘Ž‘Dˆõ‚ĖˆÉ“Ī`s‚Ŧ‚Ė”ŧ•ĘŽŪCģ (by ID:F8nKKuY) + (conf/npc/) + npc_town_comodo.txt + +-------------------- +//0947 by (“Ę) +EŽæ‚芊‚Ŧ‚ÍŽæ‚芊‚Ŧ‚ðĒŠŦ‚ĩ‚Ȃǂæ‚Ī‚ÉCģ +E˜I“V‚˔˔„‰ŋŠ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 CģB + vending.c + vending_openvending() CģB + +-------------------- +//0946 by Kalen +Eƒvƒ–kWarpŒĐ’ž‚ĩ +ŽQlF–{ŽI(1F,2F)‚į‚ۂȂˉ―‚Đ(3F) + (conf/warp/) + npc_warp.txt + +EŒę‚č•”‚Ė2T3T’Į‰Á(‚Į‚Ī‚đŒĐ‚Č‚Ē‚ÆŽv‚ǂ܂·‚Ёc) + (conf/npc/) + npc_event_kataribe.txt + +-------------------- +//0945 by ŒÓ’ą—– + +ENPCƒ^ƒCƒ}[ƒ‰ƒxƒ‹ƒf[ƒ^‚Аģ‚ĩ‚­ƒCƒ“ƒ|[ƒg‚ģ‚ę‚Ȃǖâ‘č‚ðCģ +ENPCƒ^ƒCƒ}[‰Šú’l‚âƒ^ƒCƒ}[ID‚Аģ‚ĩ‚­‰Šú‰ŧ‚ģ‚ę‚Ȃǖâ‘č‚ðCģ +ENPC‚Ėduplicate‚ðs‚Ī‚ÆƒAƒNƒZƒXˆá”―‚Š‹N‚ą‚éę‡‚Š‚ ‚é–â‘č‚ðCģ + + (map/) + npc.c + npc_parse_scriptCģ + +Eƒpƒbƒ`ƒAƒbƒvƒXƒŒ‚S‚Ė87‚Ėpc.c‚Æ‚č‚ą‚Ý + (map/) + pc.c + ƒJ[ƒhd—ʐ§ŒĀ‚ðŒģ‚É–ß‚ĩ‚―‚ā‚Ė + +-------------------- +//0944 by huge +EƒMƒ‹ƒh‚Ėã”[ŒoŒą’l‚ĖãŒĀ‚ðAconf‚Ő§ŒĀ‚Å‚Ŧ‚邿‚΂ɁB +E˜I“X‚˔˔„‰ŋŠi‚ð10M‚܂łɐ§ŒĀB +EƒJ[ƒg‚Ėd—ʐ§ŒĀ‚ŠˆęŒ…‰š‚Š‚Á‚Ä‚―‚ņ‚Å‚·‚ЁAƒEƒ`‚ū‚Ŋ‚Å‚·‚ЁHCģ‚ĩ‚Ă݂܂ĩ‚―‚ЁB + + (conf/) + battle_athena.conf + guild_exp_limit’Į‰Á + (doc/) + conf_ref.txt Cģ + (map/) + atcommand.c + ‘hķŽž‚ĖSP‰ņ•œ‚ŁAŨ‚Đ‚ĒCģB + battle.c + battle_config_read() Cģ + battle.h CģB + guild.c + guild_change_position() CģB + pc.c + pc_calcstatus() CģB + vending.c + vending_openvending() CģB + +-------------------- +//0943 by (“Ę) +Ebattle_athena.conf‚Ådead_branch_active‚ðyes‚É‚·‚邯ŒÃ–Ø‚ĖŽ}‚ÅĒŠŦ‚ģ‚ę‚郂ƒ“ƒXƒ^[‚ŠƒAƒNƒeƒBƒu‚ɂȂ邿‚Ī‚É•ÏX +E”ũ–­‚ɕύX‚ĩ‚―client_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ģ + +E‰pŒęƒXƒŒ‚Ėkingbo‚ģ‚ņ‚Ė•Ï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 ŒÓ’ą—– + +EƒAƒNƒZƒXƒRƒ“ƒgƒ[ƒ‹‚Å•sģ‚Čƒƒ‚ƒŠ‚ɃAƒNƒZƒX‚·‚éę‡‚Š‚ ‚éƒoƒO‚ðCģ + (login/) + login.c + check_ipmask()Cģ + +EƒXƒNƒŠƒvƒgƒŠƒtƒ@ƒŒƒ“ƒX­‚ĩ’Į‰Á‚ƏCģ + (doc/) + script_ref.txt + Cģ + +-------------------- +//0941 by (“Ę) + +Ee2‚ģ‚ņ‚Ė•ņ‚ðŒģ‚ÉĒŠŦ‚ģ‚ę‚―Žč‰š‚ĖƒXƒs[ƒh‚ðĒŠŦŽå‚Æ“Ŋ‚ķ‚É‚ĩ‚Ă݂é + + (map/) + battle.c + battle_get_speed() Cģ + mob.c + mob_spawn() Cģ + mob_summonslave() Cģ + +-------------------- +//0940 by End_of_exam + +Eƒq[ƒ‹‚âƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[‚ðŽg—p‚ĩ‚Ä‚ā‰ņ•œ‚ĩ‚Č‚ĒƒoƒO‚ðCģ(0938`)B + +@Thanks for Pepermint, reporting the bug that using PotionPitcher with +@BluePotion was no effective. +@iƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[{Â‚o‚ÅŒø‰Ę‚Š‚Č‚ĒŽ–‚ð•ņ‚ĩ‚Ä‚­‚ę‚―Pepermintށ‚ÉŠīŽÓj + + (map/) + battle.c + battle_heal() Cģ + +-------------------- +//0939 by (“Ę) +EcutinƒpƒPƒbƒg‚ð0x145(ƒtƒ@ƒCƒ‹–ž16•ķŽš)‚Đ‚į0x1b3(64•ķŽš)‚ɕύX +E‚Â‚Ē‚Å‚ÉŽG’kƒXƒŒ‚ɏグ‚―athena-start‚ð“ŊŦ + + (/) + athena-start saveƒtƒ@ƒCƒ‹‚Š–ģ‚Ē‚Æ‚Ŧ‚ɍė‚邿‚Ī‚É + (map/) + clif.c + clif_cutin() –{ŽIƒpƒPƒbƒg€‹’‚ɕύX + (doc/) + client_packet.txt Cģ + +-------------------- +//0938 by ‚Ō‚ī‚Ü‚ņ + +Eƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[‚Ճ|‚𓊂°‚Ä‚āƒGƒtƒFƒNƒg‚ū‚Ŋ‚ū‚Á‚―ƒoƒOCģB +E˜I“XŠJÝ‚Š“Á’č‚ĖƒAƒCƒeƒ€”z’u‚ÅŽļ”s‚·‚éƒoƒOCģB +EƒXƒNƒŠƒvƒgŠÖ”getareadropitemŽĀ‘•B +@Žw’čƒGƒŠƒA“ā‚ĖƒhƒƒbƒvƒAƒCƒeƒ€‚ðƒJƒEƒ“ƒg‚·‚éŠÖ”‚Å‚· + +@‘ŽŪFgetareadropitem ,,,,,; +@@mapnameF‘Ώۃ}ƒbƒv–ž(—áFprontera.gat) +@@x0‚Æx1F‘ΏÛXĀ•W”ÍˆÍ +@@y0‚Æy1F‘ΏÛYĀ•W”ÍˆÍ +@@itemFƒJƒEƒ“ƒg‚·‚é‘ΏۃAƒCƒeƒ€ + +@–ß‚č’lFmapname“āĀ•W(x0,y0)-(x1,y1)‚Ė”ÍˆÍ“ā‚É—Ž‚ŋ‚Ăǂéitem‚Ė‘ŒÂ” +@@@@@Žæ“ūŽļ”sŽž‚É‚Í-1‚ð•Ô‚ĩ‚Ü‚·B +@Eitem‚Ė’l‚ÍID‚Å‚āƒAƒCƒeƒ€–ž("Red_Jemstone"‚Æ‚Đ)‚Å‚ā‚ǂǂł·B + + (map/) + battle.c + battle_heal() CģB + vending.c + vending_openvending() CģB + script.c + ƒ[ƒJƒ‹ƒvƒƒgƒ^ƒCƒvéŒūCģB + struct buildin_func[] CģB + 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 ŒÓ’ą—– + +E“ā—e‚Ė“Ŋ‚ķƒXƒNƒŠƒvƒgNPC‚ð‰―“x‚ā‹Lq‚ĩ‚Č‚­‚Ä‚āŒū‚Ē‚æ‚Ī‚ÉCģ + ENPC’č‹`‚Ė"script"‚Ə‘‚­•”•Š‚ð"duplicate(NPC–ž)"‚Æ‚·‚邯A + ŠY“–‚ĖNPC‚ƃXƒNƒŠƒvƒg‚ð‹Ī—L‚·‚邿‚΂ɁBNPC–ž‚Í•\ŽĶ–ž‚Å‚Í‚Č‚­ + ƒGƒNƒXƒ|[ƒg‚ģ‚ę‚é–ž‘O‚ðŽw’č‚ĩ‚Ü‚·B + <—á> +prontera.gat,165,195,1 duplicate(ƒJƒvƒ‰Eˆõ) ƒJƒvƒ‰Eˆõ2 112 + + E‹Ī—LŒģ‚ĖNPC‚Í“Ŋ‚ķƒ}ƒbƒvƒT[ƒo[‚É‘ķÝ‚·‚é•K—v‚Š‚ ‚é‚―‚߁A + “Ŋ‚ķƒ}ƒbƒv‚Å‚Č‚Ēę‡‚Íduplicate‚·‚Ũ‚Ŧ‚Å‚Í‚Č‚ĒB + ‚―‚ū‚ĩANPC‚ĖˆĘ’u‚ð"-"‚É‚·‚邹‚ƂŁAƒ}ƒbƒvã‚ɂ͑ķÝ‚ĩ‚ȂǂЁA + ƒ}ƒbƒvƒT[ƒo[“ā‚ɂ͑ķÝ‚·‚éNPC‚ðėŽ‚Å‚Ŧ‚é‚˂ŁA + ‚ŧ‚ĖNPC‚ð‹Ī—LŒģ‚É‚·‚é‚˂ł ‚ę‚΂Į‚Ėƒ}ƒbƒv‚Ö‚ā‹Ī—L‚Å‚Ŧ‚éB + <—á> + +- script ƒeƒXƒg::test1 112,{ // ‚ą‚ĖNPCƒOƒ‰ƒtƒBƒbƒNID‚ÍŽg—p‚ĩ‚Č‚Ē +// (—Š) +} +prontera.gat,165,195,1 duplicate(test1) ƒeƒXƒg2 112 +geffen.gat,99,99,1 duplicate(test1) ƒeƒXƒg3 112 + + Eã‚Ėƒ}ƒbƒv‚É‘ķÝ‚ĩ‚Č‚ĒNPC‚̓Cƒxƒ“ƒg‚ɂ₷‚邹‚Æ‚Š‚Å‚Ŧ‚éB + i‚Į‚Ėƒ}ƒbƒvƒT[ƒo[‚Đ‚į‚Å‚ā•K‚ļŒÄ‚Ņo‚đ‚éƒCƒxƒ“ƒg‚ɂȂéj + + (map/) + map.h + struct npc_label_list’Į‰Á,struct npc_dataCģ + npc.c + npc_parse_script()Cģ + •s—v‚ɂȂÁ‚―ƒ‰ƒxƒ‹ƒf[ƒ^ƒx[ƒXŠÖ˜A‚ĖŠÖ”‚ðíœ + +-------------------- +//0934 by ‚Ō‚ī‚Ü‚ņ + +EMOB‚Ėó‘ÔˆŲí‘ϐŦ‚Š‚â‚―‚į‚‚Đ‚Á‚―‚Ė‚ðCģB +E‘Ž“xŒļ­‚ĖŽd—l•ύX(ŽŒũ—ĶŒvŽZŽŪ•ύXEŽļ”sŽž‚ɂ̓GƒtƒFƒNƒg–ģ‚ĩ)B +E‰―Žž‚ĖŠÔ‚É‚Đó‘ÔˆŲí‚ĖŒp‚Ž‘Ŧ‚ĩ‹ÖŽ~‚ŠƒRƒƒ“ƒgƒAƒEƒg‚ģ‚ę‚Ăǂ―‚˂Ŗ߂ĩB +Eƒ|ƒCƒYƒ“ƒŠƒAƒNƒg‚ĖƒAƒCƒRƒ“•\ŽĶ‚Š–ģ‚­‚Č‚Á‚Ăǂ―‚Ė‚ÅCģ(‚Å‚āo‚é‚ū‚Ŋc) +E”’nŽæ‚čŽĀ‘•B + + (map/) + battle.c + battle_weapon_attack() CģB + clif.c + clif_parse_WalkToXY()Aclif_parse_ActionRequest() CģB + clif_parse_TakeItem()Aclif_parse_UseItem() CģB + clif_parse_DropItem()Aclif_parse_EquipItem() CģB + clif_parse_UnequipItem() CģB + mob.c + mob_can_move()Amob_attack()Amob_ai_sub_hard() CģB + mobskill_use_id()Amobskill_use_pos() CģB + mobskill_castend_id()Amobskill_castend_pos() CģB + pc.c + pc_attack_timer()Apc_setpos() CģB + skill.c + SkillStatusChangeTable[] CģB + skill_additional_effect()Askill_castend_damage_id() CģB + skill_castend_nodamage_id()Askill_check_condition() CģB + skill_status_change_start()Askill_status_change_end() CģB + skill_use_id() CģB + skill.h CģB + (db/) + cast_db.txt CģB + +-------------------- +//0933 by ŒÓ’ą—– + +EƒEƒBƒU[ƒh“]EŠNPC‰žŽĀ‘• + Eeathena‚Ėƒf[ƒ^‚Ė–|–óA‚Ļ‚æ‚Ņ–^Š‚ĖĖ‚Ėƒf[ƒ^‚ðŒģ‚ɍė‚Á‚―‚˂Š+ ŠāŽI‚Ƃ͔ũ–­‚ÉˆŲ‚Č‚Á‚Ă邯Žv‚ǂ܂·B + uŒÃ‚ĒŠŠ•Ļv‚Æ‚ĐŽg‚͂܂đ‚ņ‚ĩB + EŒŧs‚Ėjob_2nd.txt‚Æˆę‚É“Į‚ݍž‚ނƁANPC‚Šd‚Č‚é‚˂ŁA + job_2nd.txt‚ĖŠY“–ƒXƒNƒŠƒvƒg‚ðƒRƒƒ“ƒg‰ŧ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB + ‚―‚ū‚ĩA‚ŧ‚Ėę‡‚̓Z[ƒW‚É“]E‚ģ‚đ‚Ä‚ā‚į‚͂Ȃǂ˂ŒˆÓ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB + + (conf/npc/) + npc_job_wizard.txt + ’Į‰Á + (conf/warp/) + npc_warp_job.txt + ƒEƒBƒU[ƒh“]EŠ‚Ėƒ[ƒv‚ðƒRƒƒ“ƒg‰ŧ + +EƒoƒOCģ + Egoto‚âmenu‚щƒxƒ‹‚ŠŒĐ‚Â‚Đ‚į‚Č‚Ē‚Æ‚ŦƒXƒNƒŠƒvƒg‚ĖŽĀs‚ð’†’f‚·‚邿‚Ī‚É. + E‚P‰ņ‚ĖƒXƒNƒŠƒvƒg‚ĖŽĀs‚ɂςǂāAŽĀs–―—ߐ”‚Š–ņ8000‚ð’ī‚Ķ‚é‚ЁA + goto‚âmenu‚ĖŽĀs‰ņ”‚Š–ņ500‰ņ‚ð’ī‚͂邯ŽĀs‚ð’†’f‚·‚邿‚΂ɁB + EŠÖ”/–―—ßŽĀsŽž‚É‚āƒGƒ‰[ƒ`ƒFƒbƒN‚ð“ü‚ę‚― + EƒMƒ‹ƒh/ƒp[ƒeƒB/ƒyƒbƒg‚Ė–ž‘O‚É“ú–{Œę‚ŠŽg‚͂Ȃǖâ‘čCģ + + + (char/) + int_guild.c/int_party.c + –ž‘O–â‘čCģ + (map/) + pet.c + –ž‘O–â‘čCģ + script.c + Cģ + +-------------------- +//0932 by End_of_exam + +E0930‚ŃMƒ‹ƒh‘qŒÉ‚Ė’†g‚ŠÁ‚Ķ‚éƒoƒO‚ðCģB + + (char/) + int_storage.c guild_storage_tostr() CģB + +-------------------- +//0931 by (“Ę) +EƒT[ƒo[snapshot +EAthenaDBŒv‰æ‚Đ‚įXV‚Ė‚ ‚Á‚―•Ļ‚ð”―‰f +Eatcommand_athena.conf‚Éstr“™‚ð’Į‰Á +Eƒ[ƒvƒ|[ƒ^ƒ‹‚Ė–{ŽI‘Šˆá“_‚ðCģ +E–ķ‚ģ‚ņ‚Ėaldeg_cas03`05‚ð“ŊŦ +Ep‚ģ‚ņ‚Ėnpc_event_kataribe.txt“ŊŦ +EKAJIKEN‚ģ‚ņ‚Ėnpc_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.c‚Ælock.h‚͍폜‚ĩ‚Ä‚­‚ū‚ģ‚ǁB + ‚ą‚ę‚į‚Í common/ ‚ÉˆÚ“Ū‚ģ‚ę‚Ü‚·B + +EƒXƒNƒŠƒvƒg’Į‰ÁCģ + Esetarrayi”z—ņ‚ÖƒŠƒXƒg‘ã“üj’Į‰Á + Ecleararrayi”z—ņ‚ðŽw’č’l‚ŃNƒŠƒAj’Į‰Á + Ecopyarrayi”z—ņ‚ðƒRƒs[j’Į‰Á + Egetarraysizei”z—ņ‚Ė—LŒø‚Č—v‘f”‚ð‹‚ß‚éj’Į‰Á + Edeletearrayi”z—ņ‚Ė—v‘f‚ðíœ‚ĩ‚Â߂éj’Į‰Á + EwarpwaitingpcFl”‚âƒAƒJƒEƒ“ƒgID‚ðƒ}ƒbƒv•ϐ”‚ɃZƒbƒg‚·‚邿‚Ī‚ÉCģ + + (map/) + script.c + FX + (doc/) + script_ref.txt + –―—ß’Į‰Á‚Č‚Į + (npc/sample/) + npc_test_array.txt + ”z—ņŒnƒeƒXƒg—pNPCƒXƒNƒŠƒvƒg + +EƒoƒOCģ‚Č‚Į + EƒLƒƒƒ‰ƒNƒ^[–ž/ƒAƒJƒEƒ“ƒg–ž/ƒp[ƒeƒB–ž/ƒMƒ‹ƒh–ž/ƒyƒbƒg–ž‚É + ƒRƒ“ƒgƒ[ƒ‹ƒR[ƒh‚ðŽg‚͂Ȃǂæ‚Ī‚ÉCģB + Echar.c‚Č‚Į‚Ė•Û‘ķ‚ĖŒø—Ķ‚ðX‚ɃAƒbƒvB + E‘qŒÉƒtƒ@ƒCƒ‹/ƒMƒ‹ƒh‘qŒÉƒtƒ@ƒCƒ‹‚É‹ós‚ŠŽc‚į‚Ȃǂæ‚Ī‚ÉCģ + Elock.*‚ðcommon/‚ÉˆÚ“ŪAƒtƒ@ƒCƒ‹‚Š•Û‘ķ‚Å‚Ŧ‚Č‚­‚Č‚éƒoƒOCģA + ƒAƒJƒEƒ“ƒg‚ƃ}ƒbƒv•ϐ”‚Ė•Û‘ķ‚É‚ālock_fopen‚ðŽg‚Ī‚æ‚΂ɁB + + (common/) + lock.c/lock.h + ƒtƒHƒ‹ƒ_ˆÚ“ہAlock_fopenCģ + (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 + –ž‘O–â‘čCģ + (map/) + pet.c + –ž‘O–â‘čCģ + +-------------------- +//0929 by ‚Ō‚ī‚Ü‚ņ + +Eƒ‰ƒ“ƒhƒvƒƒeƒNƒ^[ŠŪ‘SŽĀ‘•B +Eƒvƒƒ{ƒbƒN‚ĖƒXƒLƒ‹Žd—l•ύX(‰rĨ–WŠQE“€Œ‹AÎ‰ŧA‡–°‰ðœ)B +EƒŠƒJƒoƒŠ[‚ĖƒXƒLƒ‹Žd—l•ύX(ƒAƒ“ƒfƒbƒh‚ÉŽg—p‚·‚邯ˆę’čŠm—Ķ‚ÅˆÃˆÅŒø‰Ę)B +Eó‘ÔˆŲí’†‚ł⑕”õ‚ĖØ‚č‘Ö‚Ķ‚Šo—ˆ‚邿‚Ī‚É•ÏXB +EƒAƒCƒeƒ€ŽĐ“ŪŽæ“ū’†‚É@killmonster‚ðŽg—p‚·‚邯—Ž‚ŋ‚éƒoƒOCģB +EŒÓ’ą—–‚ģ‚ņ‚Šã‚°‚Ăǂ―npc.c‚ð“ŊŦ‚ĩ‚Ü‚ĩ‚―B +Eskill_db‚Å‹C‚ɂȂÁ‚Ä‚―‚Æ‚ą‚ð‚ŋ‚å‚ą‚Á‚ƏCģB + + (map/) + clif.c + clif_parse_EquipItem() CģB + skill.c + skill_castend_nodamage_id() CģB + skill_unitsetting()Askill_unit_onplace() CģB + skill_landprotector() ’Į‰ÁB + mob.c + mob_delay_item_drop()Amob_delay_item_drop2() CģB + npc.c Cģ + + (db/) + skill_db.txt CģB + +-------------------- +//0928 by End_of_exam + +EƒLƒƒƒ‰‚â‘qŒÉ“āƒAƒCƒeƒ€‚ŠÁ‚Ķ‚é–â‘č‚ÉŽb’č‘ΏˆiƒLƒƒƒ‰ŽI‚ˉü—ĮjB + +@1.ƒLƒƒƒ‰ƒf[ƒ^E‘qŒÉƒf[ƒ^‚Ėƒf[ƒ^•ÏŠ·ˆ—‚ð‰ü—ĮB +@@(char/char.c , char/int_storage.c) + +@2.ƒtƒ@ƒCƒ‹‘‚Ŧo‚ĩ‚ŠI‚í‚é‚܂ŁA‹Œƒtƒ@ƒCƒ‹‚ðŽc‚·‚æ‚Ī‚ÉCģB +@ichar/lock.c, char/lock.h ‚Ė’Į‰ÁBƒƒCƒNƒtƒ@ƒCƒ‹‚ĖCģB +@@char/int_storage.c,int_guild.c,int_party.c,int_pet.c,char.c,inter.c +@@“ā‚É‚ ‚éAƒf[ƒ^‘‚Ŧo‚ĩˆ—‚ð•ύXBj + +-------------------- +//0927 by ‚Ō‚ī‚Ü‚ņ + +E•ŠíUŒ‚ˆČŠO‚ÉŽí‘°•âģ‚Š“ü‚Á‚Ä‚Ē‚Č‚Đ‚Á‚―‚Ė‚ðCģB +E‰‰‘t’†‚ÉŠyŠíE•ÚˆČŠO‚Ė•Ší‚ÉŽ‚ŋ•Ï‚Ķ‚é‚Æ‰‰‘t‚ŠŽ~‚Ü‚é—l‚ɏCģB +E‰‰‘t‚ĖŒø‰Ę‚Љ‰‘tŽŌŽĐg‚ɂ͂ЂЂį‚Ȃǂæ‚Ī‚ÉCģB +EƒAƒCƒeƒ€ŽĐ“ŪŽæ“ū‹@”\ŽĀ‘• +@“G‚ð“|‚ĩ‚―Žž‚ɁAƒAƒCƒeƒ€‚Šƒhƒƒbƒv‚ģ‚ę‚é‚Ė‚Å‚Í‚Č‚­A‚ŧ‚Ė“G‚Ɉę”Ô‘―‚­‚Ėƒ_ƒ[ƒW‚ð +@—^‚Ķ‚―l(ƒ‹[ƒgŒ 1ˆĘ‚ːl)‚ɃhƒƒbƒvƒAƒCƒeƒ€‚ŠŽĐ“Ū‚Å—^‚Ķ‚į‚ę‚é‹@”\‚Å‚·B +@battle_athena.conf‚Ėitem_auto_get‚Őݒč‚Å‚Ŧ‚Ü‚·B +@ƒIƒŠƒWƒiƒ‹ƒAƒbƒvƒf[ƒg‚ĖˆŨAbattle_athena.conf‚Å‚ĖƒfƒtƒHƒ‹ƒg‚Å‚Íno‚É‚ĩ‚Ăǂ܂·B +E‘ېŦę(ƒfƒŠƒ…[ƒWEƒoƒCƒIƒŒƒ“ƒgƒQƒCƒ‹Eƒ{ƒ‹ƒP[ƒmEƒ‰ƒ“ƒhƒvƒƒeƒNƒ^[)‰žŽĀ‘• +@ˆę•”‚Ė‹@”\‚Š–ĒŽĀ‘•‚Å‚· +@@ƒfƒŠƒ…[ƒWF…ę‚ð—p‚Ē‚―ƒEƒH[ƒ^[ƒ{[ƒ‹ +@@ƒoƒCƒIƒŒƒ“ƒgƒQƒCƒ‹Fƒtƒ@ƒCƒA[ƒEƒH[ƒ‹‚ĖŽ‘ąŽžŠÔ•âģ +@@ƒ{ƒ‹ƒP[ƒmFƒAƒCƒXƒEƒH[ƒ‹‹ÖŽ~ +@@ƒ‰ƒ“ƒhƒvƒƒeƒNƒ^[FƒIƒuƒWƒFƒNƒgÝ’uŒnƒXƒLƒ‹‹ÖŽ~(‚‚܂čo‚é‚ū‚Ŋ‚ĖLP‚Å‚·) + + (map/) + battle.c + battle_calc_damage()Abattle_calc_magic_attack() CģB + battle_calc_misc_attack()Abattle_config_read() CģB + mob.c + mob_delay_item_drop()Amob_delay_item_drop2() CģB + pc.c + pc_calcstatus()Apc_equipitem() CģB + skill.c + ƒ[ƒJƒ‹ƒvƒƒgƒ^ƒCƒvéŒūCģB + SkillStatusChangeTable[] CģB + skill_castend_nodamage_id()Askill_castend_pos2() CģB + skill_unitsetting()Askill_unit_onplace() CģB + skill_unit_onout()Askill_unit_ondelete() CģB + skill_status_change_start()Askill_status_change_end() CģB + skill_clear_element_field() ’Į‰ÁB + battle.h CģB + skill.h CģB + (conf/) + battle_athena.conf + item_auto_get€–Ú‚ð’Į‰ÁB + (db/) + cast_db.txt CģB + +-------------------- +//0926 by ŒÓ’ą—– + +EƒMƒ‹ƒhé‚Ė‰Šú‰ŧ•û–@•ύX + E‘S‚Ä‚ĖƒMƒ‹ƒhéi{č‹’ƒMƒ‹ƒhî•ņj‚ðŠ“ū‚ĩ‚―‚Æ‚Ŧ‚ÉOnAgitInit‚Š + ‚æ‚΂ę‚邿‚΂ɁBGetCastleData‚âRequestGuildInfo‚Ė•K—v‚ЂȂ­‚Č‚č‚Ü‚·B + ]‚Á‚āAŒŧÝ‚ĖgvgƒXƒNƒŠƒvƒg‚ĖOnInterIfInit‚âOnRecvCastleXXX‚Í + •K—v‚Č‚­‚Č‚č‚Ü‚·Bi‚Ļ‚ŧ‚į‚­Œŧs‚ĖƒXƒNƒŠƒvƒg‚ā“Ūė‚͉”\‚Å‚·j + ‰Šú‰ŧ‚Š•K—v‚ČNPC‚͕ςí‚č‚ÉOnAgitInit‚ðŽg‚Á‚Ä‚­‚ū‚ģ‚ǁB + ‚ȂρA•s—v‚ɂȂÁ‚―–―—߂ȂĮ‚ðíœ‚·‚é—\’č‚Í‚ ‚č‚Ü‚đ‚ņB + + (char/) + inter.c/inter.h/char.c/int_guild.c/int_guild.h + ƒ}ƒbƒvƒT[ƒo[Ú‘ąŽž‚ɏˆ—‚ðs‚͂邿‚Ī‚ÉCģ + Ú‘ąŽž‚ɃMƒ‹ƒhéƒf[ƒ^‚𑗐M‚·‚邿‚Ī‚É + (map/) + intif.c/guild.c/guild.h + Ú‘ąŽž‚ĖƒMƒ‹ƒhéƒf[ƒ^ˆęЇŽóMˆ—•ƒMƒ‹ƒhî•ņ—v‹A + OnAgitInit‚ĖŒÄ‚Ņo‚ĩ‚Č‚Į + chrif.c + ‹ŒOnAgitInit‚ĖŒÄ‚Ņo‚ĩíœ + (doc/) + inter_server_packet.txt + ƒMƒ‹ƒhéƒf[ƒ^ˆęЇ‘—MƒpƒPƒbƒg0x3842’Į‰Á + +EƒXƒNƒŠƒvƒg‚ÉNPCŽå‘ĖƒCƒxƒ“ƒgŽĀs–―—ß’Į‰Á + Edonpcevent(NPCŽå‘ĖƒCƒxƒ“ƒgŽĀs)’Į‰Á + ‚ą‚ŋ‚į‚Ídoevent‚ƈá‚Ēƒuƒ[ƒhƒLƒƒƒXƒg‰Â”\‚Å‚·BÚŨ‚Íscript_refB + Eisloggedin‚ĖƒRƒ“ƒpƒCƒ‹Œx‚ЂłȂǂæ‚Ī‚ÉCģ + (map/) + script.c + buildin_donpcevent()’Į‰Á‚Č‚Į + (doc/) + script_ref.txt + doevent,donpcevent,OnAgitInit’Į‰Á‚Č‚Į + +E‚ŧ‚Ė‘žCģ + (map/) + clif.c + clif_parse_GMReqNoChat()’Į‰Á + + +-------------------- +//0925 by ŒÓ’ą—– + +EƒXƒNƒŠƒvƒg‚ĖƒoƒOCģ + Emonster,areamonster‚Ė–â‘čCģ + ‚ą‚ę‚į‚Íscript_rid2sd‚ðŽg—p‚ĩ‚Ȃǂæ‚΂ɂĩ‚Ü‚ĩ‚―B + sd‚ŠNULL‚Ė‚Æ‚ŦAƒŒƒxƒ‹ƒ`ƒFƒbƒN‚ðs‚í‚Ȃǂæ‚΂ɂĩ‚Ü‚ĩ‚―B + + (map/) + script.c/mob.c + buildin_monster(),buildin_areamonster(),mob_once_spawn()‘ž + +EƒXƒNƒŠƒvƒg‚Ė‹@”\’Į‰Á + Edetachrid–―—߁iƒvƒŒƒCƒ„[‚Ėƒfƒ^ƒbƒ`j’Į‰Á + EisloggedinŠÖ”iƒvƒŒƒCƒ„[‚ĖƒƒOƒCƒ“ƒ`ƒFƒbƒNj’Į‰Á + Egetitem,getitem2–―—ß,countitem,checkweightŠÖ”‚Å + nameid‚ɃAƒCƒeƒ€‚Ė–ž‘O‚ðŽw’č‰Â”\‚ɁB + (item_db‚Č‚Į‚ÉˆË‘ķ‚·‚é‚―‚߁AŽg—p‚·‚Ũ‚Ŧ‚ł͂ ‚č‚Ü‚đ‚ņ‚ЁAˆę‰ž) + + (map/) + script.c + FX + (doc/) + script_ref.txt + •ύX•”•Š‚ÆƒGƒ‰[ā–ūCģ + +Eathena-start‚Æstart‚ðCģ + Eathena-start stop‚ŃvƒƒZƒX‚ŠI—đ‚·‚é‚Ü‚Å‘Ō‚Â‚æ‚Ī‚É + Estart‚ōċN“Ū‚ģ‚đ‚邯‚Ŧathena-start restart‚ðŒÄ‚Ô‚æ‚΂ɁB + +-------------------- +//0924 by (“Ę) + +EƒoƒO•ņƒXƒŒƒbƒh part4 >>66‚Ėnpc‚ðŽæ‚čž‚Ý +E“Ŋ >>51‚Ėguild.c‚ð”―‰f +E“Ŋ >>38‚Ėatcommand_athena.conf‚Ö‚Ė•ÏX‚ðŽæ‚čž‚Ý +E‚Č‚š‚ĐnpcƒtƒHƒ‹ƒ_‚É‚ ‚Á‚Ämap_athena.conf‚Č‚Ēƒtƒ@ƒCƒ‹‚ðˆę——‚É’Į‰ÁB‚Â‚Ē‚Å‚ÉƒMƒ‹ƒhƒtƒ‰ƒbƒO‚ĖƒRƒƒ“ƒgƒAƒEƒg‚ð‰ðœ +Econf/npc/npc_job_1st.txt npc_script2.txt npc_shop3.txt‚̓XƒiƒbƒvƒVƒ‡ƒbƒg‚Đ‚įíœ‚ĩ‚Ä‚­‚ū‚ģ‚Ē + + (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 ŒÓ’ą—– + +EƒXƒNƒŠƒvƒg‚ĖƒoƒOCģ +Escript_rid2sd‚ŠŽļ”s‚ĩ‚Ä‚āƒ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 ŒÓ’ą—– + +EƒXƒNƒŠƒvƒgƒGƒ‰[‚Ės”ԍ†‚Аģ‚ĩ‚­•\ŽĶ‚ģ‚ę‚邿‚Ī‚É + + (map/) + itemdb.c / npc.c + itemdb_readdb(),npc_parse_script()Cģ + +EƒLƒƒƒ‰ƒNƒ^[î•ņ‚ɃAƒNƒZƒX‚Å‚Ŧ‚Č‚Ēó‘ԂŃAƒNƒZƒX‚·‚邯ƒGƒ‰[‚ðo‚·‚æ‚Ī‚ÉCģ +Egoto/menu‚щƒxƒ‹‚ŠŽw’č‚ģ‚ę‚éęŠ‚Ƀ‰ƒxƒ‹ˆČŠO‚ŠŽw’č‚ģ‚ę‚邯Œx‚ðo‚·‚æ‚Ī‚É +Escript_ref‚ɃGƒ‰[ƒƒbƒZ[ƒW‚ːā–ū’Į‰Á +EƒCƒxƒ“ƒg‹N“Ū‚ģ‚ę‚―ƒXƒNƒŠƒvƒg‚ŃLƒƒƒ‰ƒNƒ^[‚ðŽg—p‚Å‚Ŧ‚邿‚΂ɂ·‚éŠÖ”’Į‰Á + EattachridiŽw’č‚ĩ‚―ID‚Ėî•ņ‚ðŽg—p‚Å‚Ŧ‚邿‚΂ɂ·‚éj’Į‰Á + Egetcharidi3‚ŃAƒJƒEƒ“ƒgID‚ðŠ“ū‚Å‚Ŧ‚邿‚΂ɁjCģ + (map/) + script.c + script_rid2sd(),buildin_attachrid()’Į‰Á + ‘―XCģB + (doc/) + script_ref.txt + ƒGƒ‰[ƒƒbƒZ[ƒW‚ːā–ū’Į‰ÁA•ϐ”/ƒ‰ƒxƒ‹‚ːā–ūCģ + ‘žCģ + +-------------------- +//0921 by RR +EƒXƒNƒŠƒvƒgƒoƒOCģ(‚ē–Ā˜f‚ð‚Ļ‚Đ‚Ŋ‚ĩ‚Ü‚ĩ‚―) + (conf/npc/) + npc_event_tougijou.txt + +Esteal—ĶCģ(ŽĐDEX - “GDEX + SLv*3 +10‚Ė•”•Š‚Åˆę“x”ŧ’č‚ð‚ĩ‚Ăǂ―‚Ė‚Å) +E0918‚Å0914ˆČ‘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 +Eatcommand‚Ėlvup‚ðŽg‚Ī‚ÆŽæ“ūƒXƒe[ƒ^ƒXƒ|ƒCƒ“ƒg‚Š‚Ļ‚Đ‚ĩ‚Ē–â‘č‚ĖCģ +EƒoƒOCģ(ƒoƒO•ņƒXƒŒ‚ŏCģ‚Ėo‚―‚ā‚Ė‚ĖŽæ‚荾‚݁@ŒÓ’ą—–‚ģ‚ņAp‚ģ‚ņA‹Ī‚ɂϔæ‚ę—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[ƒ‰ƒCƒh‰Â”\‚ɂȂÁ‚―‚˂ŁAclass_equip_db.txt‚Ė”pŽ~B +Epet_db.txtAproduce_db.txt‚āƒI[ƒo[ƒ‰ƒCƒh‰Â”\‚ɏCģB + (map/) + itemdb.c + do_init_itemdb() CģB + pet.c + read_petdb() CģB + skill.c + skill_readdb() CģB + +-------------------- +//0917 by RR +EƒXƒNƒŠƒvƒgCģ + “‘ū˜YƒCƒxƒ“ƒg‚Æ“Ž‹ZęƒCƒxƒ“ƒg‚ðNPCƒ^ƒCƒ}[‚ɕύX + (conf/npc/) + npc_event_momotarou.txt + npc_event_tougijou.txt Cģ +EƒXƒLƒ‹ƒcƒŠ[Cģ(ƒoƒO•ņƒXƒŒ25‚æ‚č) + (db/) + skill_db.txt Cģ + +-------------------- +//0916 by (“Ę) +Enpc_monster‚Énpc_mob_job‚𓝍‡Bnpc_mob_job.txt‚͍폜‚ĩ‚Ä‚Đ‚Ü‚Ē‚Ü‚đ‚ņ + + (conf/) + map_athena.conf npc_mob_job‚ðíœ + (conf/mob/) + npc_monster.txt XV + +-------------------- +//0915 by ŒÓ’ą—– + +ENPCƒ^ƒCƒ}[ŠÖŒW‚Ė–―—ß’Į‰Á•Cģ‘ž + EdelwaitingroomiNPCƒ`ƒƒƒbƒgI—đjˆø”‚ðŒĐ‚ĂȂЂÁ‚―‚Ė‚ÅCģ + EinitnpctimeriNPCƒ^ƒCƒ}[‰Šú‰ŧj’Į‰Á + EstopnpctimeriNPCƒ^ƒCƒ}[’âŽ~j’Į‰Á + EstartnpctimeriNPCƒ^ƒCƒ}[ŠJŽnj’Į‰Á + EgetnpctimeriNPCƒ^ƒCƒ}[î•ņŠ“ūj’Į‰Á + EsetnpctimeriNPCƒ^ƒCƒ}[’lÝ’čj’Į‰Á + + Šų‘ķ‚Ėaddtimer‚Č‚Į‚̓vƒŒƒCƒ„[’PˆĘ‚Ė‚―‚߁ANPC’PˆĘ‚Ėƒ^ƒCƒ}[‚ðė‚č‚Ü‚ĩ‚―B + ‚ą‚ŋ‚į‚́Aaddtimer‚Č‚Į‚Ƃ͈á‚ǁAOnTimerXXX‚Æ‚Ē‚Ī•—‚Ƀ‰ƒxƒ‹‚ðŽw’č‚ĩ‚Ü‚·B + Ú‚ĩ‚­‚̓Tƒ“ƒvƒ‹‚Æscrit_ref.txt‚ðŽQÆB + + (map/) + map.h + struct npc_data CģAstruct 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ƒ}[Žg—pƒTƒ“ƒvƒ‹ + (doc/) + script_ref.txt + NPCƒ^ƒCƒ}[ŠÖŒW‚Ė–―—ß/ŠÖ”’Į‰ÁA’萔ƒ‰ƒxƒ‹‚ːā–ūCģ + +ESage‚ĖƒA[ƒXƒXƒpƒCƒN‚ĖŠ“ūðŒCģ + (db/) + skill_tree.txt + ƒA[ƒXƒXƒpƒCƒN‚ĖsiƒTƒCƒYƒ~ƒbƒNƒEƒFƒ|ƒ“‚ðLv1‚Ɂj + +-------------------- +//0914 by p +E”͈̓XƒLƒ‹Žg—pŽž‚ɉð•úÏ‚݃ƒ‚ƒŠ‚ðŽQÆ‚ĩ‚Ăǂ―–â‘č‚ɑΉž +Eƒƒ‚ƒŠ‚ð‰Šú‰ŧ‚đ‚ļ‚ÉŽg—p‚ĩ‚Ăǂ―—Ėˆæ‚ðA‰Šú‰ŧ‚ĩ‚ĂЂįŽg—p‚·‚邿‚Ī‚É•Ï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‘Ήž +@ƒtƒ‰ƒO‚Đ‚įƒAƒWƒg‚Ö–ß‚é‹@”\’Į‰Á +@–߂邯‚Ŧ‚É•·‚Đ‚ę‚邿‚Ī‚ÉCģ(TESTscript) +@ÔŽæ“ūŽž::OnRecvCastleXXX‚ð”­“Ū‚·‚邿‚Ī‚ÉCģ + (conf/gvg/) + ‚Ų‚Æ‚ņ‚Į.txt + +-------------------- +//0912 by (“Ę) +E‚ą‚Ėƒtƒ@ƒCƒ‹‚Ė•ķŽš‰ŧ‚Ŋ‚ÆTEST_prtg_cas01_AbraiJ‚Ė•ķŽš‰ŧ‚Ŋ‚ðCģ +EƒoƒO•ņƒ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 +EƒXƒNƒŠƒvƒg‚ĖŠÔˆá‚Ē‚ðCģ +(conf/gvg/) + ev_agit_payg.txt + ev_agit_gefg.txt + +E‚Ð‚ČÕ‚č‚Ɉę“x“ü‚Á‚―‚įƒ}ƒbƒv•ϐ”‚ŠŽc‚Á‚―‚܂܂ɂȂé‚˂ŁAƒ}ƒbƒv•ϐ”‚ðŽg‚í‚Ȃǂæ‚Ī•ÏX +(ˆęŽž“Iƒ}ƒbƒv•ϐ”‚É‚·‚ę‚Ζâ‘č‚Č‚Ē‚Æ‚āŒū‚͂܂·‚ЁA +town_guide‚Ætown_kafra‚ÉŽžŠúŒĀ’č‚Ė•Ļ‚Ší’“‚ĩ‚Ä‚ĩ‚܂΂˂ЋC‚ɂȂÁ‚―‚˂ŁA +‚ŧ‚ę‚į‚ðevent_hinamatsuri‚ÖˆÚ“Ū‚ĩA•’i‚Ė‚ðdisable‚ĩ‚Ăǂ܂·) + (conf/npc/) + npc_event_hinamatsuri + npc_town_guide + npc_town_kafra + +EƒXƒLƒ‹ƒŠƒZƒbƒgŽž‚ĖƒXƒLƒ‹Žæ“ū§ŒĀ”ŧ’č‚ðƒXƒLƒ‹ƒ|ƒCƒ“ƒg48ˆČãÁ”ï‚Đ‚įA + ƒXƒLƒ‹ƒ|ƒCƒ“ƒg58ˆČãÁ”ï‚ĐŽc‚čƒXƒLƒ‹ƒ|ƒCƒ“ƒg‚ŠJOBLEVEL‚æ‚菮‚ģ‚­‚Č‚Á‚―‚Æ‚Ŧ‚ɕύX +E@modelŽž‚Ė•žFõF§ŒĀ‚ðŠÉ˜a(’jƒAƒTAƒ[ƒO‚Ė‚Ý‚Ö) + (map/) + pc.c pc_calc_skilltree() + atcommand.c atcommand_model() + + +-------------------- +//0909 by ŒÓ’ą—– + +ENPCƒ`ƒƒƒbƒgŠÖŒW‚Ė–―—ß’Į‰Á + EwaitingroomiNPCƒ`ƒƒƒbƒgėŽjCģiƒCƒxƒ“ƒg‚ð‹N‚ą‚·l”‚ðŽw’č‰Â”\j + EdelwaitingroomiNPCƒ`ƒƒƒbƒgI—đj’Į‰Á + EenablewaitingroomeventiNPCƒ`ƒƒƒbƒgƒCƒxƒ“ƒg—LŒø‰ŧj’Į‰Á + EdisablewaitingroomeventiNPCƒ`ƒƒƒbƒgƒCƒxƒ“ƒg–ģŒø‰ŧj’Į‰Á + EgetwaitingroomstateiNPCƒ`ƒƒƒbƒgó‘ÔŠ“ūj’Į‰Á + EwarpwaitingpciNPCƒ`ƒƒƒbƒgƒƒ“ƒo[ƒ[ƒvjCģ + Ú‚ĩ‚­‚Íscript_ref.txt‚ðŽQÆ + + (map/) + script.c/npc.c/npc.h/chat.c/chat.h/clif.c + ‘―XCģ + (doc/) + script_ref.txt + Cģ + (conf/sample/) + npc_test_chat.txt + ’Į‰Á–―—ß‚ĖƒeƒXƒgƒXƒNƒŠƒvƒg + +EƒXƒNƒŠƒvƒg‚ĖŠÔˆá‚Ē‚ðCģ + (conf/npc/) + npc_event_skillget.txt + npc_event_yuno.txt + npc_town_lutie.txt + npc_turtle.txt + “ä–―—ßadditem‚ðgetitem‚É’uŠ· + npc_town_guide.txt + “ä–―—ßscriptlabel‚ðƒRƒƒ“ƒg‰ŧ + npc_event_momotaro.txt + npc_job_swordman.txt + npc_job_magician.txt + ';'•t‚Ŋ–Y‚ęCģ + (conf/gvg/) + ev_agit_aldeg.txt + @GID4‚ð@GIDa4‚É’uŠ· + ev_agit_gefg.txt + ev_agit_payg.txt + Annouce‚ɐFŽw’肯';'‚Ė•t‚Ŋ–Y‚ę‚ðKŦ + + +EAthenaDBŒv‰æ‚Ėƒf[ƒ^‚Æ‚č‚ą‚݁A‚ŧ‚Ė‘žCģ + ˆĀ’č‚ĩ‚Ăǂéƒf[ƒ^‚Đ‚Į‚Ī‚Đ‚í‚Đ‚č‚Ü‚đ‚ņ‚ЁB + + (db/) + item_db.txt/mob_db.txt/mob_skill_db.txt + AthenaDBŒv‰æ‚Ėƒf[ƒ^‚Æ‚č‚ą‚Ý + mob_skill_db.txt.orig + ˆČ‘O‚Ėƒf[ƒ^iƒRƒƒ“ƒg•”•ЂȂĮ‚ĖŽQl‚Ɂj + (conf/) + water_height.txt/mapflag.txt + AthenaDBŒv‰æ‚Ėƒf[ƒ^‚Æ‚č‚ą‚Ý + map_athena.conf + npc_monster3*.txt‚ðíœ + ’Į‰Áƒ}ƒbƒvƒf[ƒ^ (by ID:UVsq5AE) + (conf/mob/) + npc_monster.txt + AthenaDBŒv‰æ‚Ėƒf[ƒ^‚Æ‚č‚ą‚Ý + +-------------------- +//0908 by ŒÓ’ą—– + +EƒXƒNƒŠƒvƒg‚ĖƒGƒ‰[ƒ`ƒFƒbƒNˆ—‚𑝂â‚ĩ‚― + E•ķŽš—ņ‚Ė“r’†‚ʼnüs‚Š‚ ‚邯ƒGƒ‰[‚ðo‚·‚æ‚΂ɁB + EŠÖ”ŒÄ‚Ņo‚ĩ‰‰ŽZŽq'('‚Ė’ž‘O‚Ɋ֐”–žˆČŠO‚Š‚ ‚邯ƒGƒ‰[‚ðo‚·‚æ‚΂ɁB + E–―—߂Ђ ‚é‚Ũ‚Ŧ‚Æ‚ą‚ë‚Ɋ֐”–žˆČŠO‚Š‚ ‚邯ƒGƒ‰[‚ðo‚·‚æ‚΂ɁB + E–―—߂ςæ‚ŅŠÖ”‚Ėˆø”‹æØ‚č‚Ė','‚ðČ—Š‚·‚邯Œx‚ðo‚·‚æ‚΂ɁB + E–―—߂ςæ‚ŅŠÖ”‚Ėˆø”‚ː”‚ŠˆŲ‚Č‚é‚ÆŒx‚ðo‚·‚æ‚΂ɁB + + (map/) + script.c + FXCģ + +ENPCƒXƒNƒŠƒvƒgCģ + (conf/npc/) + npc_town_guide.txt + ‚Ss–Ú‚Í‚Ē‚į‚Ȃǂæ‚Ī‚Č‚Ė‚ÅƒGƒ‰[‚Šo‚Ȃǂæ‚Ī‚ÉƒRƒƒ“ƒg‰ŧ + npc_event_hat.txt + ƒRƒ‚ƒh‚ˉž–ʐEl‚ƃtƒFƒCƒˆƒ“‚ĖÂ”N (by ID:dS8kRnc) + (conf/sample/) + npc_card_remover.txt + @menu‚ðŽg‚Á‚Ä’Z‚­‚ĩ‚―••ķÍ­‚ĩCģ + +E‚ŧ‚Ė‘ž + (db/) + skill_tree.txt + Sage‰ž‹}Žč“– + +-------------------- +//0907 by p +Eatcommand() ‚Ė”ė‘å‰ŧ‚Š‚Ð‚Į‚Ē‚Ė‚ÅƒŠƒtƒ@ƒNƒ^ƒŠƒ“ƒO + @ ƒRƒ}ƒ“ƒh‚ð’Į‰Á‚·‚éę‡‚́Aatcommand.h “ā‚Œ萔‚ðAatcommand.c “ā‚Å + ŠÖ”’č‹`ƒ}ƒNƒ‚ƃ}ƒbƒsƒ“ƒOƒe[ƒuƒ‹Aˆ——p‚ĖŠÖ”‚ð‹Lq‚ĩ‚Ä‚­‚ū‚ģ‚ǁB +Eglobal •ϐ”‚Ė atcommand_config ‚ðÁ‹ŽB + @ ƒRƒ}ƒ“ƒh–ˆ‚ĖƒŒƒxƒ‹‚Í get_atcommand_level() ‚ÅŽæ“ū‚ĩ‚Ä‚­‚ū‚ģ‚ǁB +Eˆę•”‚ĖƒLƒƒƒ‰–ž‚ðŽæ‚é @ ƒRƒ}ƒ“ƒh‚ŁA”žŠpƒXƒy[ƒX‚ðŠÜ‚Þ–ž‘O‚ĖƒLƒƒƒ‰‚ð + ģí‚ɏˆ—‚Å‚Ŧ‚Ä‚Ē‚Č‚Đ‚Á‚―–â‘č‚ðCģB + ‚ą‚ˉe‹ŋ‚É‚æ‚čA@rura+ ‚Č‚ĮAƒLƒƒƒ‰–ž‚Šƒpƒ‰ƒ[ƒ^‚Ė“r’†‚É‚ ‚Á‚―‚ā‚Ė‚Í + ‘S‚čŌã‚ɉņ‚ģ‚ę‚Ăǂ܂·B +E@ ƒRƒ}ƒ“ƒh‚Ė•ķŽš—ņ‚ðģí‚ÉŽæ“ū‚Å‚Ŧ‚ȂЂÁ‚―ę‡‚ɁAƒoƒbƒtƒ@‚Ė“ā—e‚ð + ƒ`ƒFƒbƒN‚đ‚ļ‚ɏˆ—‚ðs‚Ļ‚Ī‚Æ‚ĩ‚Ăǂ―•”•Š‚ðCģ‚ĩ‚Ü‚ĩ‚―B + + (common/) + mmo.h + (map/) + atcommand.h + atcommand.c + clif.h + clif.c + +-------------------- +//0906 by Selena +EŒÓ’ą—–‚ģ‚ņ‚ĖCģ‚É‚ ‚í‚đ‚āAƒoƒ‹ƒLƒŠ[ƒŒƒ‹ƒ€‚PˆČŠO‚ĖƒXƒNƒŠƒvƒg‚ĖCģB +E@ƒRƒ}ƒ“ƒh“ü—̓~ƒX‚ĖÛ‚ÉƒGƒ‰[ƒƒbƒZ[ƒ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 + +EƒT[ƒo[snapshot +E‘OƒXƒŒ‚Ėƒtƒ@ƒCƒ‹Žæ‚č–Y‚ę‚―l‚Ђǂé‚Đ‚ā‚ĩ‚ę‚Ȃǂ˂Š+ +-------------------- +//0904 by ŒÓ’ą—– + +EƒXƒNƒŠƒvƒgˆ—Cģ + Echar/interƒT[ƒo[‚ɐڑą‚ĩ‚―Žž‚ÉOnCharIfInit/OnInterIfInitƒCƒxƒ“ƒg‚Š + ŒÄ‚΂ę‚邿‚΂ɂȂč‚Ü‚ĩ‚―B + OnAgitInit‚ÍOnInterIfInit‚ɕύX‚·‚Ũ‚Ŧ‚Å‚·B + Egetcastledata–―—߂őæ‚Qƒpƒ‰ƒ[ƒ^‚Š0‚Ė‚Æ‚ŦA‘æ‚Rƒpƒ‰ƒ[ƒ^‚É + ƒCƒxƒ“ƒg–ž‚ðÝ’č‚Å‚Ŧ‚Ü‚·B‚ą‚ĖƒCƒxƒ“ƒg‚̓Mƒ‹ƒhé‚Ėƒf[ƒ^‚ð + InterƒT[ƒo[‚Đ‚įŠ“ūŠŪ—đ‚ĩ‚―‚Æ‚Ŧ‚ÉŽĀs‚ģ‚ę‚Ü‚·B + E‹N‚ą‚·NPCƒCƒxƒ“ƒg–ž‚ð"::"‚ÅŽn‚߂邯A“Ŋ–žƒ‰ƒxƒ‹‚ðŽ‚Â‘SNPC‚ĖƒCƒxƒ“ƒg + ‚ðŽĀs‚Å‚Ŧ‚Ü‚·B + ‚―‚Æ‚Ķ‚ÎAgetcastledata "prtg_cas01.gat",0,"::OnRecvCastleP01"; + ‚Æ‚·‚邯‘S‚Ä‚ĖNPC‚Ė OnRecvCastleP01ƒ‰ƒxƒ‹‚ŠŽĀs‚ģ‚ę‚Ü‚·B + Erequestguildinfo–―—ß’Į‰ÁB“Á’čƒMƒ‹ƒh‚Ėî•ņ‚ðInterƒT[ƒo[‚É + —v‹‚Å‚Ŧ‚Ü‚·B‘æ‚Pƒpƒ‰ƒ[ƒ^‚̓Mƒ‹ƒhIDA‘æ‚Qƒpƒ‰ƒ[ƒ^‚̓Cƒxƒ“ƒg–ž‚Å + ‚ą‚ĖƒCƒxƒ“ƒg‚̓Mƒ‹ƒhî•ņ‚ðInterƒT[ƒo[‚Đ‚įŠ“ūŠŪ—đ‚ĩ‚―‚Æ‚Ŧ‚É + ŽĀs‚ģ‚ę‚Ü‚·B + + (map/) + guild.c/guild.h/npc.c/npc.h/script.c/intif.c/chrif.c + FXCģ + +EƒMƒ‹ƒhéŠÖ˜ANPCCģ + iƒoƒ‹ƒLƒŠ[ƒŒƒ‹ƒ€‚P‚Ė‚ÝCģB‘ž‚Ėé‚ĖƒXƒNƒŠƒvƒg‚ÍŠeŽĐ‚ŘM‚Á‚Ä‚­‚ū‚ģ‚ǁB + ‚Æ‚Ē‚Ī‚ĐA‚Þ‚ĩ‚ë˜M‚Á‚―‚į‚ ‚Á‚Õ‚ĩ‚Ü‚ĩ‚å‚΁j + E‰Šú‰ŧˆ—‚ðOnAgitInit‚łȂ­OnInterIfInit‚ɕύXB + Eéƒf[ƒ^Š“ūŠŪ—đˆ—‚Æ‚ĩ‚ÄOnRecvCastleP01‚ð’Į‰ÁB + EŽIÄ‹N“ŪŽžAƒMƒ‹ƒhę‘ŪƒJƒvƒ‰‚Аģ‚ĩ‚­•\ŽĶ‚ģ‚ę‚邿‚΂ɁB + EƒMƒ‹ƒhę‘ŪƒJƒvƒ‰‚Ė–ž‘O‚ð"ƒJƒvƒ‰Eˆõ::kapra_prtg01"‚ɕύXB + i"::"ˆČ~‚̓GƒNƒXƒ|[ƒg‚ģ‚ę‚é–ž‘O‚ŁA"::"ˆČ‘O‚Š•\ŽĶ–žj + "ƒJƒvƒ‰Eˆõ#prt"‚æ‚č–ž‘O‚ð’·‚­‚ĩ‚Ä‹Ģ‡‚ĩ‚É‚­‚­‚·‚é‚―‚߂ł·B + ‚ą‚ĖŠÖŒW‚ŁAdisablenpc‚Č‚Į‚Ėƒpƒ‰ƒ[ƒ^‚ð"kapra_prtg01"‚ɏCģB + (conf/gvg/) + prtg_cas01.txt + ƒMƒ‹ƒhę‘ŪƒJƒvƒ‰Cģ + ev_agit_prtg.txt + ‰Šú‰ŧˆ—Cģiƒoƒ‹ƒLƒŠ[ƒŒƒ‹ƒ€‚P‚Ė‚Ýj + TEST_prtg_cas01_AbraiJ.txt + ƒMƒ‹ƒhę‘ŪƒJƒvƒ‰ŒŲ—p/é”jŠüCģ + +ENPC‚ĖCģ + (conf/npc/) + npc_job_swordman.txt + npc_event_hat.txt + Cģ + +EƒAƒJƒEƒ“ƒg‚ðíœ‚ĩ‚Ä‚āƒAƒJƒEƒ“ƒgID‚ðÄ—˜—p‚ĩ‚Ȃǂæ‚Ī‚ÉCģ +EƒMƒ‹ƒh/ƒp[ƒeƒB‚É‚Â‚Ē‚Ä‚āˆę‰ž“Ŋ“™‚Ėˆ—’Į‰ÁiƒRƒƒ“ƒg‰ŧ‚ģ‚ę‚Ăǂ܂·B + ƒMƒ‹ƒh‚âƒp[ƒeƒB‚ÍID‚ðÄ—˜—p‚ĩ‚Ä‚ā‚Ļ‚ŧ‚į‚­–â‘č‚Ȃǂ―‚߁j + + (login/) + login.c + “Į‚ݍž‚Ý/•Û‘ķˆ—Cģ + (char/) + int_guild.c/int_party.c + “Į‚ݍž‚Ý/•Û‘ķˆ—Cģ + +-------------------- +//0903 by ŒÓ’ą—– + +El14/l15‚Ļ‚æ‚ŅƒvƒŒƒtƒBƒbƒNƒXl‚ð"„§‚ģ‚ę‚Č‚Ē(deprecated)"‹@”\‚Æ‚ĩ‚Ü‚ĩ‚―B + E‚Ü‚ūŽg—p‚Å‚Ŧ‚Ü‚·‚ЁAĄŒã‚Ė“Ūė‚Š•ۏá‚ģ‚ę‚Ȃǂ˂ŁA‘Ž‚â‚Ђɑã‘Ö‹@”\‚ð + Žg—p‚·‚邿‚Ī‚ÉˆÚs‚ĩ‚Ä‚­‚ū‚ģ‚ǁB + EƒvƒŒƒtƒBƒbƒNƒX'l'‚Í‘ã‘Ö‹@”\‚ĖƒvƒŒƒtƒBƒbƒNƒX'@'‚ðŽg—p‚ĩ‚Ä‚­‚ū‚ģ‚ǁB + El15‚Í‘ã‘Ö‹@”\‚Ė@menu‚ðŽg—p‚ĩ‚Ä‚­‚ū‚ģ‚ǁB + El14‚Í‘ã‘Ö‹@”\‚Í‚ ‚č‚Ü‚đ‚ņBinput–―—ß‚Ėˆø”‚ðČ—Š‚ĩ‚Ȃǂʼnš‚ģ‚ǁB + E‚ą‚ę‚į‚ː„§‚ģ‚ę‚ȂNj@”\‚ðŽg—p‚·‚邯ŒxƒƒbƒZ[ƒ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—ņ•ϐ”‚ːā–ū’Į‰Á + •ϐ”‚ĖƒvƒŒƒtƒBƒbƒNƒX'l'Ainput–―—ß‚Ėl14Amenu–―—ß‚Ėl15‚Ė + ā–ū‚ðCģ + +-------------------- +//0902 by ŒÓ’ą—– + +EƒXƒNƒŠƒvƒg‚Š”z—ņ•ϐ”‚ɑΉžB + Earray[number]‚Ė‚æ‚Ī‚ÉŽg‚ǂ܂·B”’lŒ^A•ķŽš—ņŒ^—ž•ûŽg‚͂܂·B + EŽg‚Ķ‚éƒvƒŒƒtƒBƒbƒNƒX‚Í @, $, $@ ‚Å‚·B + iˆęŽž“IƒLƒƒƒ‰ƒNƒ^[•ϐ”AˆęŽž“I/‰i‘ą“Iƒ}ƒbƒvƒT[ƒo[•ϐ”j + Enumber==0‚Í”z—ņ‚ķ‚á‚Č‚Ē•Ï”‚Æ’l‚ð‹Ī—L‚ĩ‚Ü‚·B + i@hoge[0]‚Æ@hoge‚Í“Ŋ‚ķ•ϐ”‚ð•\‚·j + E‚Ü‚ū‰žŽĀ‘•’iŠK‚Č‚Ė‚ÅƒoƒO•ņ‚æ‚ë‚ĩ‚­‚ĻŠč‚Ē‚ĩ‚Ü‚·B +Eƒ}ƒbƒvƒT[ƒo[•ϐ”‚Ė“Įž’†‚ÉCtrl+C‚ð‚·‚é‚Æƒf[ƒ^”j‘đ‚Ė‰Â”\Ŧ‚Š‚ ‚é–â‘č‚ðCģ. +Eƒ}ƒbƒvƒtƒ@ƒCƒ‹“Į‚ݍž‚݉æ–ƂЂģ‚Ņ‚ĩ‚ǂ˂łđ‚߂ătƒ@ƒCƒ‹–ž‚ð•\ŽĶ‚·‚邿‚΂ɁB + + (conf/sample/) + npc_test_array.txt + ”z—ņ•ϐ”ƒeƒXƒgƒXƒNƒŠƒvƒg + (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 ‚Ō‚ī‚Ü‚ņ + +E˜I“XƒoƒO‚ĖCģ + + (map/) + pc.c + pc_cartitem_amount() ’Į‰ÁB + vending.c + vending_openvending() CģB + clif.c + clif_parse_NpcClicked() CģB + pc.h CģB + +-------------------- +//0900 by ‚Ō‚ī‚Ü‚ņ + +EƒAƒuƒ‰ƒJƒ_ƒuƒ‰‚Ėƒ‰ƒ“ƒ_ƒ€ƒXƒLƒ‹”­“Ū—Ķ‚ðabra_db.txt‚Őݒč‚Å‚Ŧ‚邿‚΂ɁB +EƒXƒtƒBƒA[ƒ}ƒCƒ“‚ƃoƒCƒIƒvƒ‰ƒ“ƒg‚Ė”ũCģB +ENoreturnƒ}ƒbƒv‚Å’ą‚ŠÁ”ï‚ū‚Ŋ‚ģ‚ę‚éƒoƒOCģB +Eˆę•”‚ĖƒAƒuƒ‰ŒÅ—LƒXƒLƒ‹‚Аģ‚ĩ‚­“Ūė‚ĩ‚ȂЂÁ‚―ƒoƒOCģB + (map/) + mob.c + mob_damage()Amobskill_use() CģB + mob_skillid2skillidx() ’Į‰ÁB + skill.c + skill_readdb()Askill_abra_dataset() CģB + skill_castend_nodamage_id()Askill_castend_pos2() CģB + script.c + buildin_warp() CģB + + skill.h CģB + map.h CģB + (db/) + abra_db.txt ’Į‰ÁB + skill_db.txt CģB + +-------------------- +//0899 by ŒÓ’ą—– + +EŽæ‚芊‚ŦMOB‚Ėˆ—Cģ + EŽæ‚芊‚ŦĒŠŦ‚ŃRƒA‚ð“f‚­ƒoƒOCģ + EŽå‚Š•Ęƒ}ƒbƒv‚É”ō‚ԂƁAƒeƒŒƒ|[ƒg‚Å’Į‚Ē‚Đ‚Ŋ‚邿‚Ī‚ÉCģ + EŽæ‚芊‚Ŧˆ—‚ð‚æ‚čŒy‚­•ύX + + (map/) + mob.c + mob_ai_sub_hard_mastersearch()‚ðmob_ai_sub_hard_slavemob() + ‚É–ž‘O‚ð•Ï‚Ķ‚Äˆ—CģB + mob_summonslave()Cģ + +-------------------- +//0898 by ŒÓ’ą—– + +Eeathena‚Đ‚įCardRemoverNPC‚ĖŽæ‚荾‚Ý + NPCƒf[ƒ^‚ā“ú–{Œę–ó‚ĩ‚Ă܂·‚ЁA‚ЂȂč“K“–‚Å‚·B + + (map/) + script.c + buildin_getequipcardcnt(),buildin_successremovecards() + buildin_failedremovecards()’Į‰Á + (conf/sample/) + npc_card_remover.txt + ƒJ[ƒhŽæ‚čŠO‚ĩNPC‚Ė“ú–{Œę–ó + ƒvƒƒ“ƒeƒ‰‚ːļ˜BŠ‚Ė’†‚Ėķ‰š‚Ė•”‰Ū‚ɂǂ܂· + +Eƒ|[ƒ^ƒ‹‚Å•Ęƒ}ƒbƒv‚É”ō‚΂ĩ‚―MOB‚Š‚ŧ‚Ėƒ}ƒbƒv‚ɕ͂Ŧ’ž‚·ƒoƒOCģ + (map/) + map.h + struct mob_data‚Émƒƒ“ƒo’Į‰Á + mob.c + mob_spawn(),mob_once_spawn()Cģ + npc.c + npc_parse_mob()Cģ + + +-------------------- +//0897 by ‚Ō‚ī‚Ü‚ņ + +EŨ‚Đ‚Ē’ēŪ +EƒXƒgƒŠƒbƒvŒn‚ƃPƒ~ƒJƒ‹ƒvƒƒeƒNƒVƒ‡ƒ“ŒnƒXƒLƒ‹‚Ė‘SŽĀ‘• +@–{ŽI‚Å‚ĖŨ‚Đ‚ĒŽd—l‚ЕЂÁ‚―‚Ė‚ÅŽĀ‘•‚ĩ‚Ü‚ĩ‚―B +@Šm—Ķ‚ÍŽb’č‚Å‚·B + + (map/) + pc.c + pc_isequip() Cģ + skill.c + skill_status_change_start()Askill_castend_nodamage_id() CģB + skill_abra_dataset() CģB + battle.c + battle_get_def()Abattle_get_atk2() CģB + battle_get_vit()Abattle_get_int() CģB + (db/) + const.txt CģB + skill_db.txt CģB + cast_db.txt CģB + +-------------------- +//0896 by ŒÓ’ą—– + +E‰i‘ą“Iƒ}ƒbƒv•ϐ”‹@”\’Į‰Á +Eƒ}ƒbƒv•ϐ”‚ð•ķŽš—ņŒ^•ϐ”‚Æ‚ĩ‚Ä‚āŽg—p‚Å‚Ŧ‚邿‚΂ɂĩ‚― + EĄ‚Ü‚Å‚ĖƒvƒŒƒtƒBƒbƒNƒX $ ‚͉i‘ą“I‚ɂȂč‚Ü‚·B + ˆęŽž“Iƒ}ƒbƒv•ϐ”‚ðŽg—p‚·‚éę‡‚̓vƒŒƒtƒBƒbƒNƒX $@ ‚ðŽw’č‚ĩ‚Ä‚­‚ū‚ģ‚Ē. + + E‰i‘ą“I/ˆęŽž“I‚Æ‚ā‚É•ķŽš—ņŒ^‚ɑΉž‚ĩ‚Ăǂ܂·B + •ķŽš—ņŒ^‚Ėƒ|ƒXƒgƒtƒBƒbƒNƒX‚Í$‚Å‚·B + + <—á> $@hoge ”’lŒ^ˆęŽžƒ}ƒbƒv•ϐ”A$hoge$ •ķŽš—ņŒ^‰i‘ąƒ}ƒbƒv•ϐ” + E‰i‘ąƒ}ƒbƒv•ϐ”‚̓fƒtƒHƒ‹ƒg‚Å‚Í save/mapreg.txt ‚ɕۑķ‚ģ‚ę‚Ü‚·B + ‚ą‚ę‚Ímap_athena.conf‚Ėmapreg_txt‚Őݒč‚Å‚Ŧ‚Ü‚·B + +Estr_data‚ŠÄŠ„‚č“–‚Ä‚ģ‚ę‚邯ƒ}ƒbƒv•ϐ”‚Аģí‚ÉŽg—p‚Å‚Ŧ‚Č‚ĒƒoƒOCģ + Estrdb‚Đ‚įnumdb‚É‚ĩ‚āA•ϐ”–ž‚Ístr_buf‚É“ü‚ę‚邿‚΂ɁB + +Emap_athena.conf‚Ėdelnpc,npc:clear‚Аģ‚ĩ‚­“­‚Đ‚Č‚ĒƒoƒOCģ + + (map/) + npc.c + npc_delsrcfile(),npc_clearsrcfile()Cģ + script.c / script.h + ƒ}ƒbƒv•ϐ”Œ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 + +Emapflag‚Énozenypenalty‚ð’Į‰ÁB +@GVG‚âŠX’†‚Ėƒeƒ‚Č‚Į‚ÅŽ€–S‚ĩ‚―Û‚ɁAZenyƒyƒiƒ‹ƒeƒB[”­ķ‚ðŠO‚·—pB + + (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 CģB + +-------------------- +//0894 by ‚Ō‚ī‚Ü‚ņ + +EƒR[ƒ}ˆČŠO‚ĖƒAƒuƒ‰ƒJƒ_ƒuƒ‰ŒÅ—LƒXƒLƒ‹‘SŽĀ‘•B +@ƒI[ƒgƒXƒyƒ‹‚ɂ̓Œƒxƒ‹ƒAƒbƒvˆČŠO‘―•Š‘S•”æ‚đ‚ę‚Ü‚·B(ƒI[ƒgƒXƒyƒ‹ƒŒƒxƒ‹ƒAƒbƒv‚Í–ĒƒeƒXƒg) +EƒAƒuƒ‰ƒJƒ_ƒuƒ‰‰žŽĀ‘• +@”­“ŪƒXƒLƒ‹‚ŠƒŒƒxƒ‹ˆË‘ķ‚ķ‚á‚ ‚č‚Ü‚đ‚ņB +@‘S‚Ă˔­“ۗ͂З˜_ã‹Ïˆę‚Å‚·B +@ƒAƒCƒeƒ€ƒXƒLƒ‹‚ðŽg‚Á‚ÄŽĀ‘•‚ĩ‚Ăǂé‚Ė‚Åˆę•”‚ĖŽg—pðŒ‚ð–ģŽ‹‚ĩ‚Ü‚·iƒWƒFƒ€ãЋC‹…“™j +EƒAƒCƒeƒ€ƒXƒLƒ‹‚ŠƒLƒƒƒXƒgEƒfƒBƒŒƒC–ģ‚ĩ‚ū‚Á‚―‚Ė‚ðCģB + + (map/) + skill.c + skill_castend_nodamage_id()Askill_use_id()Askill_use_pos() CģB + skill_abra_dataset() ’Į‰ÁB + (db/) + skill_db.txt CģB + +-------------------- +//0893 by ŒÓ’ą—– + +E‘žƒ}ƒbƒv‚Đ‚įƒ|[ƒ^ƒ‹‚Ėã‚Ƀ[ƒv‚ĩ‚Ä‚Ŧ‚―PC‚Šƒ[ƒv‚ĩ‚Ȃǖâ‘č‚ðCģ +Eƒ`ƒƒƒbƒg’†‚ĖPC‚ðƒ[ƒvƒ|[ƒ^ƒ‹‚Å”ō‚΂·‚Đ‚Į‚Ī‚ĐÝ’č‰Â”\‚É +EMOB‚ðƒ[ƒvƒ|[ƒ^ƒ‹‚Å”ō‚΂·‚Đ‚Į‚Ī‚ĐÝ’č‰Â”\‚É + MOB‚Ėƒ[ƒvƒ|[ƒ^ƒ‹‚ð‹–‰Â‚·‚邯Aƒeƒ‚ŠŠČ’P‚ɂłŦ‚é‚˂ŒˆÓB + +EƒAƒJƒEƒ“ƒg•ϐ”•ύX‚Æ“ŊŽž‚Ƀtƒ@ƒCƒ‹‚ɏ‘‚Ŧo‚·‚æ‚Ī‚ÉCģ +Eƒ}ƒbƒvƒf[ƒ^‚Ėƒ[ƒh•”•Š‚ĖƒƒO•\ŽĶ‚Í‚ ‚Ü‚čd—v‚ķ‚á‚Č‚Ē‚ÆŽv‚Ī‚Ė‚Å•ÏXB + + (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 ŒÓ’ą—– + +EŠeŽíconfƒtƒ@ƒCƒ‹‚Å•Ęƒtƒ@ƒCƒ‹‚ðƒCƒ“ƒ|[ƒg‚Å‚Ŧ‚邿‚΂ɂĩ‚― + EŽĐ•Š‚ĖƒT[ƒo[—p‚ĖÝ’č‚ð•Ęƒtƒ@ƒCƒ‹‚É‹Lq‚Å‚Ŧ‚邿‚΂ɂȂč‚Ü‚·B + E‘S‚āuimport: ƒtƒ@ƒCƒ‹–žvŒ`ŽŪ‚Å‹Lq‚ĩ‚Ü‚·B + EŠeŽíconfƒtƒ@ƒCƒ‹ilogin,char,map,inter,atcommand,battlej‚ĖÅŒã‚É + conf/import/*_conf ‚ð“Į‚Þ‚æ‚Ī‚ÉŽw’č‚ĩ‚―‚˂ŁA‚ŧ‚ą‚ÉŽĐ•Š—p‚ĖÝ’č‚ð + ‘‚ǂĂςŊ‚΁A•ύX•”•Š‚Ė‚ÝƒI[ƒo[ƒ‰ƒCƒh‚ĩ‚Ü‚·B + msg,script‚Ėconf‚É‚Â‚Ē‚Ä‚ÍA‚ą‚ĖŒĀ‚č‚ł͂ ‚č‚Ü‚đ‚ņ‚ЁAimport–―—ß‚Ė + ˆ—‚Í’Į‰Á‚ģ‚ę‚Ăǂé‚˂ŁAŽĐ•Š‚Åimport–―—ß‚ð‘‚Ŋ‚Î“Ū‚Ŧ‚Ü‚·B + EV‚ĩ‚ĒƒXƒiƒbƒvƒVƒ‡ƒbƒg‚Šo‚―ę‡‚Č‚Į‚ɁA‚ą‚Ėconf/importƒtƒHƒ‹ƒ_‚ð + Ė‚ĖAthena‚Đ‚įƒRƒs[‚·‚é‚ū‚Ŋ‚ÅŽĐ•Š—p‚ĖÝ’č‚ð“K—p‚Å‚Ŧ‚邿‚΂ɂȂč‚Ü‚·. + +Emap_athena.conf‚Ėmap‚Ænpc‚Å’Į‰Á‚ĩ‚―ƒtƒ@ƒCƒ‹‚ðíœ‚Å‚Ŧ‚邿‚΂ɂĩ‚― + Eã‚ÉŠÖ˜A‚·‚é•ύX‚Å‚·B + Edelmap,delnpc–―—ß‚ðŽg—p‚·‚ę‚΁Amap,npc–―—߂ŒĮ‰Á‚ĩ‚―ƒtƒ@ƒCƒ‹‚ð + “Į‚ݍž‚܂Ȃǂæ‚Ī‚ÉŽw’č‚Å‚Ŧ‚Ü‚·B‚ą‚ą‚Ńtƒ@ƒCƒ‹–ž‚Å‚Í‚Č‚­A + all ‚ÆŽw’č‚·‚邯‚ŧ‚ę‚܂łɎw’č‚ģ‚ę‚―ƒtƒ@ƒCƒ‹‚ð‘S‚Ä“Į‚ݍž‚܂Ȃ­‚ĩ‚Ü‚·. + Emap,npc–―—߂ŁAƒtƒ@ƒCƒ‹–ž‚Éclear‚ðŽw’č‚·‚邯A + delmap,delnpc‚Ėall‚Æ“Ŋ“™‚Ė“Ūė‚ð‚·‚é‚æ‚΂ɂȂč‚Ü‚ĩ‚―B + +Elogin_athena.conf‚Ėallow‚Ædeny‚ðƒNƒŠƒA‚Å‚Ŧ‚邿‚΂ɂ“‚― + Eallow‚Ļ‚æ‚Ņdeny–―—ß‚Åclear‚ðŽw’č‚·‚邯ˆČ‘O‚ĖƒzƒXƒgî•ņ‚ð‘Síœ‚ĩ‚Ü‚·. + + (conf/) + ŠeŽíconfƒtƒ@ƒCƒ‹‚ĖÅŒã‚Éimport–―—ß’Į‰Á + (conf/import) + *.txt + ƒCƒ“ƒ|[ƒg‚ģ‚ę‚éƒtƒ@ƒCƒ‹B‚ą‚ę‚į‚ÉŽĐ•Š—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()CģAmap_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 (“Ę) + +EuƒXƒLƒ‹Žg—p‚ĖŒã‚́A‚ĩ‚Î‚į‚­‚ϑԂŋ‚­‚ū‚ģ‚ǁv‚ð•\ŽĶ‚·‚é‚Đ‚Į‚Ī‚ĐÝ’č‚Å‚Ŧ‚邿‚΂ɂĩ‚―B + E–{ŽI‘ŠˆáƒXƒŒƒbƒh@‘U>>5‚ģ‚ņ‚ĖƒR[ƒh‚ðƒpƒNƒŠ‚Ü‚ĩ‚―B + (doc/) + conf_ref.txt CģB + (conf/) + battle_athena.conf CģB + (map/) + battle.h CģB + battle.c + battle_config_read() CģB + clif.c + clif_skill_fail() CģB + +-------------------- +//0890 by Ž€_ + +EƒMƒ‹ƒh‘qŒÉ‚ðˆę“x‚Ɉęl‚ū‚Ŋ‚ŠŽg—p‚·‚邿‚Ī‚É•ÏXB(–ĒƒeƒXƒg) +Ebattle_athena.conf‚Đ‚įplayer_undead_nofreeze íœB +E@ƒRƒ}ƒ“ƒh@gstorage ’Į‰ÁB +EƒXƒNƒŠƒvƒgguildstorage‚ðguildopenstorage‚ɕύXB +E‚ŧ‚Ė‘žŨ‚Đ‚ĒƒoƒOCģB + (doc/) + conf_ref.txt CģB + script_ref.txt CģB + (conf/) + atcommand_athena.conf CģB + battle_athena.conf CģB + help.txt CģB + (conf/sample/) + gstorage_test.txt ’Į‰ÁB + (char/) + makefile CģB + int_storage.h CģB + int_storage.c + inter_storage_delete()Ainter_guild_storage_delete() ’Į‰ÁB + int_guild.c + guild_check_empty()Amapif_parse_BreakGuild() CģB + (map/) + makefile CģB + battle.h CģB + battle.c + battle_config_read() CģB + guild.c + guild_broken() CģB + storage.h CģB + storage.c + storage_guild_storageopen() CģB + storage_delete()Aguild_storage_delete() ’Į‰ÁB + script.c + buildin_guildstorage() ‚ð buildin_guildopenstorage()‚ɕύXB + intif.c + intif_parse_LoadGuildStorage() CģB + mob.c + mob_summonslave()Amob_damage()Amob_delete() CģB + mob_catch_delete()Amob_readdb() CģB + skill.c + skill_castend_nodamage_id()Askill_status_change_start() CģB + clif.c + clif_parse_ActionRequest() CģB + atcommand.h CģB + atcommand.c + atcommand() CģB + +-------------------- +//0889 by ŒÓ’ą—– + +E•ķŽš—ņŒ^ˆęŽž“IƒLƒƒƒ‰ƒNƒ^[•ϐ”‹@”\’Į‰ÁB + EƒvƒŒƒtƒBƒbƒNƒX@,ƒ|ƒXƒgƒtƒBƒbƒNƒX$‚ðŽg—p‚ĩ‚Ü‚·Bi@hoge$‚Č‚Įj + Einput‚Å•ķŽš—ņ•ϐ”‚ðŽw’č‚·‚邯•ķŽš—ņ“ü—͂ɂȂč‚Ü‚·B + EŠÖŒW‰‰ŽZŽqi”äŠr‰‰ŽZŽqj‚Å•ķŽš—ņ‚Į‚Ī‚ĩ‚ðŽw’č‚·‚邯•ķŽš—ņ‚Ė”äŠr‚Š + ‚Å‚Ŧ‚Ü‚·B”’l‚Æ•ķŽš—ņ‚ðŽ‚š‚Ä”äŠr‚·‚邹‚Ƃ͂łŦ‚Ü‚đ‚ņB + E‚Æ‚č‚ ‚Ķ‚ļƒTƒ“ƒvƒ‹•t‚Ŋ‚Ă܂·B + + (map/) + map.h + struct map_session_data‚Énpc_str,regstr,regstr_numƒƒ“ƒo’Į‰Á + script.c + buildin_set(),get_val(),buildin_input(),op_2num()‚Č‚ĮCģ + op_2str(),op_2()’Į‰Á + clif.c / clif.h + 01d5ƒpƒPƒbƒg’·Cģ + clif_parse_NpcStringInput(),clif_scriptinputstr()’Į‰Á + pc.c / pc.h + pc_readregstr(),pc_setregstr()’Į‰Á + (doc/) + script_ref.txt + ‰‰ŽZŽq‚ːā–ū’Į‰ÁA•ϐ”‚ːā–ūCģAinput,menuCģ + (conf/sample/) + npc_test_str.txt + •ķŽš—ņ•ϐ”‚ðŽg—p‚ĩ‚―ƒXƒNƒŠƒvƒg‚Ė—áB + •ķŽš—ņ‚Ė‘ã“üAŒ‹‡A”äŠrA“ü—͂ȂĮ‚ĖƒeƒXƒg‚ðs‚Ī‚ā‚ˁB + +-------------------- +//0888 by Ž€_ + +EÝŒv‚Đ‚įŠÔˆá‚Á‚Ăǂ―ƒMƒ‹ƒh‘qŒÉCģB(‚―‚ū•Ą”l‚ĖŽg—p‚É‚æ‚éƒoƒO‚Š‚ ‚é‰Â”\Ŧ‚͂܂ū‚ ‚č‚Ü‚·B) +EŨ‚Đ‚ĒƒoƒOCģB + (doc/) + inter_server_packet.txt CģB + conf_ref.txt CģB + (conf/) + inter_athena.conf CģB + help.txt CģB + (common/) + mmo.h CģB + (char/) + makefile CģB + int_storage.h CģB + int_storage.c + account2storage()Ainter_storage_init()Astorage_fromstr() CģB + inter_storage_save()Amapif_load_storage() CģB + mapif_parse_SaveStorage() CģB + 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() CģB + int_guild.h CģB + int_guild.c + inter_guild_init() CģB + inter_guild_search() ’Į‰ÁB + int_pet.c + inter_pet_init() CģB + inter.c + inter_init()Ainter_save()Ainter_config_read() CģB + (map/) + makefile CģB + map.h CģB + map.c + map_quit()Ado_init() CģB + pc.c + pc_setpos() CģB + storage.h CģB + storage.c + do_init_storage()Ado_final_storage()Aaccount2storage() CģB + storage_storageopen()Astorage_storageadd()Astorage_storageget() CģB + storage_storageaddfromcart()Astorage_storagegettocart() CģB + storage_storageclose()Astorage_storage_quit() CģB + storage_storage_save() CģB + 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 CģB + intif.c + intif_send_storage()Aintif_parse_LoadStorage()Aintif_parse() CģB + intif_request_guild_storage()Aintif_send_guild_storage() ’Į‰ÁB + intif_parse_SaveGuildStorage()Aintif_parse_LoadGuildStorage() ’Į‰ÁB + clif.h CģB + clif.c + clif_additem()Aclif_parse_MoveToKafra() CģB + clif_parse_MoveFromKafra()Aclif_parse_MoveToKafraFromCart() CģB + clif_parse_MoveFromKafraToCart()Aclif_parse_CloseKafra() CģB + clif_parse_LoadEndAck() CģB + clif_guildstorageitemlist()Aclif_guildstorageequiplist() ’Į‰ÁB + clif_updateguildstorageamount()Aclif_guildstorageitemadded() ’Į‰ÁB + guild.c + guild_broken() CģB + script.c + buildin_openstorage()Abuildin_guildstorage() CģB + skill.c + skill_castend_nodamage_id() CģB + mob.c + mob_summonslave()Amob_damage() CģB + atcommand.c + atkillmonster_sub()Aatcommand() CģB + +-------------------- +//0887 by Ž‚Žqo^.^o + +E(db/) + skill_tree.txt Cģ + +-------------------- +//0886 by ‚Ō‚ī‚Ü‚ņ + +EƒT[ƒo[snapshot +Eƒtƒ@ƒCƒ‹’ēŪ + +-------------------- +//0885 by huge + +EƒMƒ‹ƒh‹Ī—L‘qŒÉ‚ĖŽĀ‘•Bguildstorage‚ÅŠJ‚Ŋ‚Ü‚·B + ŽĐ•Š‚ĖŽI‚ÅŽĀŒą‚Í‚ĩ‚Ă݂܂ĩ‚―‚ЁA‰ß‘a’n‚Ȃ˂ő―l”ƒMƒ‹ƒh‚ɂȂ邯‚Į‚Γۂ­‚Đ•Š‚Đ‚č‚Ü‚đ‚ņB + (”O‚Ė‚―‚߃oƒbƒNƒAƒbƒv‚Í•K‚ļŽæ‚Á‚Ăςǂĉš‚ģ‚Ē) +Eareawarp‚ŁA‘Ώۃ}ƒbƒv–ž‚ð"Random"‚É‚·‚邯A“Ŋƒ}ƒbƒv“ā‚щƒ“ƒ_ƒ€‚É”ō‚Ô‚æ‚Ī‚ÉCģB +EGMƒRƒ}ƒ“ƒh‚Őķ‚Ŧ•Ô‚ĩ‚―‚Æ‚Ŧ‚ÉSP‚ā‘S‰ņ•œ‚·‚邿‚Ī‚ÉCģB +EƒfƒBƒ{[ƒVƒ‡ƒ“‚ĖðŒ‚ð‚ŋ‚å‚Á‚ƏCģB + + (char/) + int_storage.c + mapif_load_storage() CģB + mapif_parse_SaveStorage() CģB + inter.c + inter_send_packet_length[] CģB + inter_recv_packet_length[] CģB + (map/) + atcommand.c + @alive,@raise,@raisemap CģB + intif.c + packet_len_table[] CģB + intif_request_storage() CģB + intif_send_storage() CģB + intif_parse_LoadStorage() CģB + + map.h + map_session_data state‚Éstorage_flag ’Į‰ÁB + script.c + buildin_areawarp_sub() CģB + buildin_openstorage() CģB + buildin_guildstorage() ’Į‰ÁB + skill.c + skill_castend_nodamage_id() CģB + storage.c + account2storage() CģB + storage_storageopen() CģB + storage_storage_save() CģB + +-------------------- +//0884 by Ž€_ + +EŨ‚Đ‚ĒƒoƒOCģB +Ebattle_athena.conf‚Épet_strAzeny_penaltyAresurrection_exp ’Į‰ÁB +E0878‚Ė‹âsŠÖŒW‚ĖƒR[ƒh‚Í‚ā‚΂ǂį‚Ȃǂ˂őS‚č폜B +Ezeny_penalty‚ðÝ’č‚ĩ‚ÄŽg‚Īę‡‚͎萔—ŋ‚͂Ȃ­‚ĩ‚―•û‚Š‚Ē‚Ē‚Đ‚āB +Eƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[‚Åpercentheal‚É‚āPP‚ÆLP‚É‚æ‚é‰ņ•œƒ{[ƒiƒX‚Š•t‚­‚æ‚Ī‚É•ÏXB(‚―‚ūvit‚âintAHPRAMPR‚É‚æ‚é‰ņ•œƒ{[ƒiƒX‚Š•t‚Ŧ‚Ü‚đ‚ņB) +E‚Ų‚Æ‚ņ‚Į–ĒƒeƒXƒgB + (common/) + mmo.h CģB + (conf/) + battle_athena.conf CģB + (doc/) + conf_ref.txt CģB + (map/) + map.c + do_init()Ado_final() CģB + script.c + buildin_openbank() íœB + buildin_failedrefitem() CģB + storage.h CģB + storage.c + do_init_bank()Ado_final_bank()Aaccount2bank() íœB + storage_bank()Astorage_readbank() íœB + skill.c + skill_castend_nodamage_id()Askill_attack() CģB + battle.h CģB + battle.c + battle_calc_pet_weapon_attack()Abattle_config_read() CģB + pc.c + pc_setrestartvalue() CģB + clif.c + clif_skill_nodamage()Aclif_refine() CģB + itemdb.c + itemdb_isequip3() CģB + atcommand.c + atcommand() CģB + +-------------------- +//0883 by Kalen + +EWarpFXCģ + EƒAƒTƒVƒ“ƒMƒ‹ƒhŽü‚čCģ(Ė‚Ė‚Ü‚Ü‚ĖƒŠƒ“ƒN‚ū‚Á‚―‚Ė‚ÅŒŧÝ‚Ėó‘ԂɏCģB) + EYuno‚ĖWarp‘S–ĘŒĐ’ž‚ĩ(YumilLoopCģASageCastleRandomWarp’Į‰ÁA—ˆã‚ģ‚ņ‚Ė‰Æ’Į‰Á) + Eƒ‚ƒ“ƒNƒMƒ‹ƒhŽü‚č’Į‰Á +ENPCFXCģ + E–XŽqėŽNPC‚ð•Ęƒtƒ@ƒCƒ‹‚ցBˆę•”’Į‰Á(ep2.5’Į‰Á•Š) + @ŽQlData(R.O.M776): ttp://green.sakura.ne.jp/~youc/ro/data/itemmaking.html#04 + EƒAƒTƒVƒ“ƒMƒ‹ƒhCģ + E“ņŽŸE“]EŠÖŒWNPCˆę•”’Į‰Á(‚ą‚ę‚ŃRƒ‚ƒhŽŒ€ę‚֍s‚Ŋ‚Ü‚·) + Eƒ}ƒXƒ^[ƒAƒ‹ƒPƒ~ƒXƒg‚Ė‘äŽŒCģ + EƒAƒ‹ƒfƒoƒ‰ƒ“‚ĖˆÄ“ā—vˆõ‚ðˆÚ“Ū&‘䎌Cģ&ƒCƒ[ƒW’Į‰Á + EBBS‚É‚ ‚Š‚Á‚Ăǂ―ƒRƒ‚ƒhƒXƒNƒŠƒvƒg’Į‰Á(event_hat“™‚Ö•ŠŽU) + EƒRƒ“ƒƒ“ƒNƒGƒXƒgŠÖŒWNPCˆę•”’Į‰Á(—ˆã[yuno]Aƒlƒ‹[prontera]) + (conf/warp/) + npc_warp.txt + npc_warp30.txt + npc_warp_job.txt + (conf/npc/) + npc_event_hat.txt(V‹K) + 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 ŒÓ’ą—– + +EƒXƒNƒŠƒvƒg‚É0881‘Š“–‚ĖƒAƒJƒEƒ“ƒg‹Ī—L•ϐ”‹@”\‚ĖƒvƒŒƒtƒBƒbƒNƒX•ύX + E0881‚ĖƒAƒJƒEƒ“ƒg•ϐ”‚̓vƒŒƒtƒBƒbƒNƒX##‚ɂȂč‚Ü‚ĩ‚―B + E0881‚ĖƒAƒJƒEƒ“ƒg•ϐ”‚Í‘Sƒ[ƒ‹ƒh‚ŋΗL‚ģ‚ę‚Ü‚·B + E•ϐ”‚ĖŒÂ”‚Ímmo.h‚ĖACCOUNT_REG2_NUM‚Å’č‹`‚ģ‚ę‚Ăǂ܂·(16)B +Eƒ[ƒ‹ƒh“ā‚ĖƒAƒJƒEƒ“ƒg‹Ī—L•ϐ”‹@”\’Į‰Á + E•ϐ”–ž‚ĖƒvƒŒƒtƒBƒbƒNƒX‚Í#‚Å‚·B + E•ϐ”‚ĖŒÂ”‚Ímmo.h‚ĖACCOUNT_REG_NUM‚Å’č‹`‚ģ‚ę‚Ăǂ܂·(16)B + E0881‚Ė‹âsƒXƒNƒŠƒvƒg‚Í‚ą‚ŋ‚į‚ðŽg—p‚·‚邿‚΂ɂȂč‚Ü‚·B + ‚æ‚Á‚ÄˆČ‘O‚Ėƒf[ƒ^‚Š‚Â‚Đ‚Ķ‚Č‚Ē‚Ė‚Å‚ ‚į‚Đ‚ķ‚߈ø‚Ŧo‚ĩ‚ĂςǂĂ­‚ū‚ģ‚Ē. + E•ϐ”ƒf[ƒ^‚Í save/accreg.txt ‚ɕۑķ‚ģ‚ę‚Ü‚·B + ‚ą‚Ėƒtƒ@ƒCƒ‹–ž‚Í inter_athena.conf ‚ŕύX‰Â”\‚Å‚·Bconf_ref.txtŽQÆB + + (common/) + mmo.h + ACCOUNT_REG_NUM‚ð16‚ɁAACCOUNT_REG_NUM2’Į‰Á + struct mmo_charstatus‚Éaccount_reg2_num,account_reg2ƒƒ“ƒo’Į‰Á + (login/) + login.c + account_reg‚ð‘S‚Äaccount_reg2‚É’u‚ŦŠ·‚Ķ + (char/) + char.c + account_reg‚ð‘S‚Äaccount_reg2‚É’u‚ŦŠ·‚Ķ + inter.c + ƒ[ƒ‹ƒh“āƒAƒJƒEƒ“ƒg•ϐ”‹@”\’Į‰ÁB + inter_accreg*()’Į‰ÁAaccreg_db’Į‰Á‚Č‚ĮB + (map/) + chrif.c/chrif.h + account_reg‚ð‘S‚Äaccount_reg2‚É’u‚ŦŠ·‚Ķ + 0881‚Å‚ĖƒoƒO‚ðCģ + intif.c/intif.h + ƒ[ƒ‹ƒh“āƒAƒJƒEƒ“ƒg•ϐ”‹@”\’Į‰Á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 + ƒ[ƒ‹ƒh“āƒAƒJƒEƒ“ƒg•ϐ”ŠÖŒW + conf_ref.txt + accreg_txt’Į‰Á + +-------------------- +//0881 by ŒÓ’ą—– + +EƒXƒNƒŠƒvƒg‚ɃAƒJƒEƒ“ƒg‹Ī—L•ϐ”‹@”\’Į‰Á + E•ϐ”–ž‚ɃvƒŒƒtƒBƒbƒNƒX#‚ð•t‚Ŋ‚邹‚ƂŃAƒJƒEƒ“ƒg‹Ī—L•ϐ”‚ɂȂč‚Ü‚·B + EƒAƒJƒEƒ“ƒg•ϐ”‚͕ύX‚ĩ‚―Žž“_‚Å‘SƒT[ƒo[‚Ƀ|ƒXƒg‚ģ‚ę‚é‚˂Š+ •p”ɂɏ‘‚ŦŠ·‚͂邯ƒT[ƒo[ŠÔ’ʐM‚Š”ė‘å‰ŧ‚ĩ‚Ü‚·B + EƒAƒJƒEƒ“ƒg•ϐ”‚͕ύX‚ĩ‚―Žž“_i‚ŧ‚ĩ‚Ä‚ŧ‚ꂊloginŽI‚É“Í‚Ē‚―Žž“_j‚Å + account.txt‚ɏ‘‚Ŧo‚ģ‚ę‚Ü‚·B + EƒOƒ[ƒoƒ‹•ϐ”i‰i‘ą•ϐ”j‚ĖŒÂ”‚ð96‚ÉŒļ‚į‚ĩAŒļ‚Á‚―32ŒÂ•Š‚ð + ƒAƒJƒEƒ“ƒg•ϐ”‚É‚ĩ‚Ăǂ܂·‚ЁAmmo_charstatus‚ĖƒTƒCƒY‚Š + 16000byte‚ð’ī‚Ķ‚Č‚ĒŒĀ‚č‘‚â‚·‚ą‚Æ‚ЂłŦ‚Ü‚·Bƒ0879‚Ė•ÏX‚ðŽQÆ + •ϐ”‚ĖŒÂ”‚Ímmo.h‚ĖACCOUNT_REG_NUM‚Å’č‹`‚ģ‚ę‚Ăǂ܂·B + E0878‚Ė‹âs‚ðƒAƒJƒEƒ“ƒg•ϐ”‚ðŽg—p‚·‚邿‚Ī‚ÉCģ + bank.txt‚Ėƒf[ƒ^‚ŠŽg‚͂Ȃ­‚Č‚é‚˂ł ‚į‚Đ‚ķ‚߈ø‚Ŧo‚ĩ‚Ăςǂĉš‚ģ‚ǁB + + (common/) + mmo.h + GLOBAL_REG_NUM‚ð96‚ɁAACCOUNT_REG_NUM‚ð’Į‰Á + struct mmo_charstatus‚Éaccount_reg_num,account_regƒƒ“ƒo’Į‰Á + (login/) + login.c + ƒpƒPƒbƒg2728ˆ—’Į‰Á + (char/) + char.c + ƒpƒPƒbƒg2729,2b10ˆ—’Į‰Á + (map/) + chrif.c + chrif_saveaccountreg(),chrif_accountreg() + (ƒpƒPƒbƒg2b10,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 + ƒAƒJƒEƒ“ƒg•ϐ”Žg—p”łˋâsƒXƒNƒŠƒvƒg + +-------------------- +//0880 by Ž€_ + +Eƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[‚ðģ‚ĩ‚­ŽĀ‘•‚Æ‚ŋ‚å‚Á‚Æ‹@”\Šg’́B +Eƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[‚ŃŒƒxƒ‹•ʂɎg‚Ķ‚éƒAƒCƒeƒ€‚ðskill_require_db.txt‚ɐݒč‚Å‚Ŧ‚邿‚΂ɂĩ‚Ü‚ĩ‚―B‚―‚ūƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[‚ÅŽg‚Ķ‚éƒAƒCƒeƒ€‚ÍitemhealApercenthealAsc_startAsc_endˆČŠO‚˕ςГü‚Á‚Ăǂ邯ģ‚ĩ‚­“Ūė‚ĩ‚Ü‚đ‚ņB +ƒŒƒxƒ‹5‚܂ł͖{ŽI‚ɍ‡‚í‚đ‚Ăǂ܂·‚ŠÅ‘åƒŒƒxƒ‹‚ð10‚܂Ŋg’Ģ‚·‚邯ƒŒƒxƒ‹6 - ƒ}ƒXƒeƒ‰‚ĖŽĀA7 - ƒ[ƒ„ƒ‹ƒ[ƒŠ[A8 - ƒCƒOƒhƒ‰ƒVƒ‹‚ĖŽíA9 - ƒCƒOƒhƒ‰ƒVƒ‹‚ĖŽĀA10 - ƒo[ƒT[ƒNƒ|[ƒVƒ‡ƒ“‚ɐݒč‚ĩ‚Ăǂ܂·Bskill_db.txt‚ðCģ‚·‚ę‚΂ą‚ꂊ—LŒø‚ɂȂč‚Ü‚·B(‚Į‚ą‚ðCģ‚·‚é‚Đ‚ā‚í‚Đ‚į‚Ȃǐl‚Í’ú‚߂邹‚Ƃł·B) ƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[‚É‚æ‚éƒAƒCƒeƒ€Žg—p‚ÍŽg—pðŒ‚ð–ģŽ‹‚ĩ‚Ü‚·B­‚ĩ‚̓Aƒ‹ƒPƒ~ƒXƒg‚ÉŠó–]‚ЂłŦ‚―‚Đ‚ā...(‘―•Š–ģ—...) +Ebattle_athane.conf‚Éproduce_item_name_inputAproduce_potion_name_inputAmaking_arrow_name_inputAholywater_name_input ’Į‰ÁB +Eƒp[ƒeƒBˆõ‚É‚ū‚ŊŽg‚ĪƒXƒLƒ‹‚ƃMƒ‹ƒhˆõ‚É‚ū‚ŊŽg‚ĪƒXƒLƒ‹‚ðÝ’č‚Å‚Ŧ‚邿‚Ī‚ÉCģB +E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģB + (conf/) + battle_athane.conf CģB + (doc/) + conf_ref.txt CģB + db_ref.txt CģB + (db/) + skill_db.txt CģB + skill_require_db.txt CģB + (map/) + map.h CģB + skill.h CģB + skill.c + skill_status_change_timer()Askill_attack()Askill_use_id() CģB + skill_castend_nodamage_id()Askill_castend_damage_id() CģB + skill_castend_id()Askill_castend_pos()Askill_produce_mix() CģB + skill_arrow_create()Askill_check_condition() CģB + skill_status_change_clear()Askill_readdb() CģB + mob.c + mobskill_use_id()Amob_changestate() CģB + pc.c + pc_itemheal()Apc_percentheal()Apc_calcstatus() CģB + battle.h CģB + battle.c + battle_delay_damage()Abattle_damage()Abattle_heal() CģB + battle_get_adelay()Abattle_get_amotion() CģB + battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CģB + battle_weapon_attack()Abattle_config_read() CģB + clif.c + clif_skill_fail() CģB + script.c + buildin_sc_start()Abuildin_sc_end() CģB + makefile CģB + +-------------------- +//0879 by ŒÓ’ą—– + +E‘—MFIFO‚Ėƒoƒbƒtƒ@ƒI[ƒo[ƒtƒ[‚ĖÆŽãŦ‚ĖCģ + E2048ƒoƒCƒgˆČã‚ĖƒpƒPƒbƒg‚ð‘—‚é‚Æ‚ŦAFIFO‚Š–ž”t‚ɋ߂Ŋ‚ę‚Î + ƒoƒbƒtƒ@ƒI[ƒo[ƒtƒ[‚É‚æ‚é•sģƒAƒNƒZƒX‚Š‹N‚ą‚Á‚Ăǂ―–â‘čCģB + EFIFO‚Š–ž”t‚É‹ß‚Ē‚Æ‚ŦWFIFOSET‚ģ‚ę‚―ƒpƒPƒbƒg‚ŠŽĖ‚Ä‚į‚ę‚Ăǂ―–â‘čCģB + EFIFO‚ŠƒI[ƒo[ƒtƒ[‚·‚éę‡AŽĐ“Ū“I‚ÉFIFO‚ðŠg’Ģ‚·‚邿‚΂ɂĩ‚―B + i‚―‚ū‚ĩAˆę“x‚ÉWFIFOSET‚·‚éƒpƒPƒbƒg‚Š16384ƒoƒCƒgˆČ‰š‚Ɖž’č‚ĩ‚Ăǂéj + Eusocket: ? wdata expanded to ???? bytesv‚ÍFIFO‚ŠŠg’Ģ‚ģ‚ę‚―‚Æ‚Ŧ‚É + ‚ł郍ƒO‚ū‚ЁAƒGƒ‰[‚Å‚Í‚Č‚­AƒpƒPƒbƒg‚͐ģ‚ĩ‚­‘—M‚ģ‚ę‚éB + Eusocket: ? wdata lost !!v‚̓pƒPƒbƒg‚Š‘rŽļ‚ĩ‚―‚ą‚Æ‚ð•\‚·ƒƒO‚ŁA + ƒGƒ‰[‚Å‚ ‚邊64KB‚ð’ī‚Ķ‚é’‘å‚ČƒpƒPƒbƒg‚ðWFIFOSET‚ĩ‚Č‚Ē‚Æo‚ȂǁB + E16384ƒoƒCƒg‚ð’ī‚Ķ‚éƒpƒPƒbƒg‚ðWFIFOSET‚·‚邯ƒGƒ‰[ƒƒbƒZ[ƒW‚Č‚ĩ‚ɁA + •sģƒAƒNƒZƒX‚Š‹N‚ą‚é‰Â”\Ŧ‚Š‚ ‚é‚˂ŁA’ī‚͂Ȃǂæ‚΂ɂ·‚邹‚ƁB + + (common/) + socket.c /socket.h + WFIFOSET()‚ðƒ}ƒNƒ‚Đ‚įŠÖ”‚ɕύX + realloc_fifo()’Į‰Á + +EƒT[ƒo[ŠÔ’ʐMFIFO‚Ėƒoƒbƒtƒ@ƒTƒCƒY‚ð‘å‚Ŧ‚­‚ĩ‚― + E‘å—Ę‚Ėƒf[ƒ^‚ВƐM‚ģ‚ę‚―‚Æ‚Ŧ‚Ƀf[ƒ^ˆ—’x‰„‚Š‹N‚Ŧ‚É‚­‚­‚·‚é‚―‚߁B + Eƒƒ‚ƒŠŽg—p—ƂБ‚Ķ‚―B(‚Ž‚č‚Ž‚č‚ːl‚Í65536‚ɐݒ肷‚邯Œģ’Ę‚č‚ɂȂé) + EƒT[ƒo[ŠÔ’ʐM‚ĖFIFOƒTƒCƒY‚Í mmo.h ‚Å’č‹`‚ģ‚ę‚ĂǂéB + •ύX‚·‚éę‡‚Í64KB(65536)ˆČã‚Ė’l‚É‚·‚邹‚ƁB + ‘å‚Ŧ‚­‚·‚邯‹‘åƒf[ƒ^ŽóMŽž‚Ė’x‰„‚ŠŒļ‚邊ƒƒ‚ƒŠ‚ð‘―‚­Žg‚΁B + E@kickallŽž‚Č‚Į‚Ƀf[ƒ^‘—M‚ŠŒƒ‚ĩ‚­‚Č‚é‚Ė‚Å•ÏX‚ĩ‚―‚ЁA + “ŊŽžƒƒOƒCƒ“l”‚Š­‚Č‚Ē‚Æ‘‚â‚ĩ‚Ä‚āˆÓ–Ą‚Í–ģ‚ǁB + + (common/) + mmo.h + FIFOSIZE_SERVERLINKƒ}ƒNƒ’Į‰ÁB + (login/) + login.c + 2710ƒpƒPƒbƒg‚Årealloc_fifo()‚ðŒÄ‚Ô‚æ‚Ī‚É + (char/) + char.c + 2af8ƒpƒPƒbƒg‚Årealloc_fifo()‚ðŒÄ‚Ô‚æ‚Ī‚É + check_connect_login_server()‚Årealloc_fifo()‚ðŒÄ‚Ô‚æ‚Ī‚É + (map/) + chrif.c + check_connect_char_server()‚Årealloc_fifo()‚ðŒÄ‚Ô‚æ‚Ī‚É + +-------------------- +//0878 by huge + +EƒJƒvƒ‰‹âsƒT[ƒrƒXB + ŽĐ•Š‚ĖŽI‚ÅŽĀ‘•‚ĩ‚Ä‚―‚ņ‚Å‚·‚ЁAˆÓŠO‚ƍDŠīG‚ū‚Á‚―‚Ė‚Åo‚ĩ‚Ă݂܂·B + NPCscript‚ŁAopenbank(0);‚Å—a‹āŠz‚ð•Ô‚ĩ‚āA’†‚ɐ”Žš‚ð“ü‚ę‚邯o‚ĩ“ü‚ę‚ĩ‚Ü‚·B + Ú‚ĩ‚­‚̓Tƒ“ƒvƒ‹‚ð“Ŋ••‚ĩ‚―‚˂ŁA‚ŧ‚ę‚ðŽQÆB + + (common/) + mmo.h + struct bank ’Į‰ÁB + (map/) + map.c + do_final(),do_init() CģB + 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 ŒÓ’ą—– + +EloginŽI‚ĖƒAƒNƒZƒXƒRƒ“ƒgƒ[ƒ‹‚Šƒlƒbƒgƒ}ƒXƒN•\‹L‚ɑΉž + 192.168.0.0/24 ‚â 192.168.0.0/255.255.0.0 ‚Æ‚Ē‚Á‚―•\‹L‚ɑΉžB +Ebattle_athena.conf‚ÉGM‚Š–ģðŒ‚Å‘•”õ•i‚ð‘•”õ‚Å‚Ŧ‚違 + –ģðŒ‚ŃXƒLƒ‹‚ðŽg—p‚Å‚Ŧ‚éÝ’č’Į‰Á + ‚ą‚ę‚į‚̓fƒoƒO—p‚Č‚Ė‚Å“Ūė‚É•s“s‡‚Š‚ ‚é‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņB + + (login/) + login.c + check_ip()Cģ,check_ipmask()’Į‰Á + (map/) + battle.c/battle.h + battle_config‚Égm_allequip,gm_skilluncond’Į‰Á + battle_config_read()CģX + skill.c + skill_check_conditio()Cģ + pc.c + pc_isequp()Cģ + (doc/) + conf_ref.txt + allow•ύXAgm_all_equipmentAgm_skill_unconditional’Į‰Á + +-------------------- +//0876 by Ž€_ + +EŨ‚Đ‚ĒƒoƒOCģB +E@ƒRƒ}ƒ“ƒh‚ɃeƒXƒg‚ĖˆŨ‚É“ü‚ę‚Ăǂ―•ςГü‚Á‚Ăǂ―‚Ė‚ÅCģB +Eƒnƒ“ƒ}[ƒtƒH[ƒ‹‚ĖŽË’ö‚ð5‚Đ‚į4‚ɏCģ(–{ŽIŽË’ö‚Í•s–ū)‚ÆƒŠƒUƒŒƒNƒVƒ‡ƒ“‚Š–ģ‘ېŦ‚ū‚Á‚―‚Ė‚ðđ‘ېŦ‚ɏCģB + (db/) + skill_db.txt CģB + (map/) + mob.c + mob_catch_delete()Amob_stop_walking() CģB + storage.c + storage_additem() CģB + pc.c + pc_damage()Apc_stop_walking() CģB + clif.c + clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() CģB + battle.c + battle_calc_magic_attack() CģB + skill.c + skill_check_condition() CģB + atcommand.c CģB + +-------------------- +//0875 by ŒÓ’ą—– + +Eparty_share_level‚ðinter_athena.conf‚Ɉڂĩ‚― + (ƒp[ƒeƒBŠÖ˜A‚Ėˆ—‚ĖŠĮŠ‚ŠinterŽI‚Ė‚―‚ß) +Einter_athena.conf‚Éinter_log_file€–Ú’Į‰Á +EƒMƒ‹ƒhėŽ/‰ðŽU/éč—Ė/é”jŠü‚ŠƒƒO‚ÉŽc‚邿‚Ī‚É +EƒMƒ‹ƒh‰ðŽUŽž‚Ƀƒ‚ƒŠƒŠ[ƒN‚ĩ‚Ăǂ―–â‘č‚ðCģ + (char/) + char.c/char.h + party_share_levelŠÖ˜A + (inter/) + inter.c/inter.h + party_share_level / inter_log_file ŠÖ˜A + ƒƒOo—Í—p‚Éinter_log()’Į‰Á + int_guild.c + ėŽ/‰ðŽU/éč—Ė/é”jŠü‚ðƒƒO‚ɏo—Í + ƒƒ‚ƒŠƒŠ[ƒNCģ + (doc/) + conf_ref.txt + Cģ + +EƒT[ƒo[ó‘ÔŠm”F—pCGIƒXƒNƒŠƒvƒg“Y•t‚Č‚Į + EŽĐŒČÓ”C•ÚŨ‚ȉðā–ģ‚ĩAŽŋ–â‚ģ‚ę‚Ä‚āƒXƒ‹[‚·‚é‰Â”\Ŧ—L‚č + EƒGƒfƒBƒ^‚ÅŠJ‚Ē‚―‚į­‚ĩā–ū—L‚č + ECGIÝ’u‚ĖŠî–{‚ģ‚Ķ‚í‚Đ‚ę‚Ζâ‘č‚Č‚Ē‚Í‚ļ + + (tool/cgi/) + serverstatus.cgi + ƒT[ƒo[ó‘ÔŠm”F—pCGIƒXƒNƒŠƒvƒg + addaccount.cgi + ā–ūCģ + +-------------------- +//0874 by Kalen +EWhiteDayƒCƒxƒ“ƒg’Į‰Á + conf/npc/npc_event_whiteday.txt(V‹K) + ‚―‚ūA‚Ļ‰ŲŽq”„‚Á‚Ä‚é‚ū‚Ŋ‚Ý‚―‚ǁcGM‚ЂȂɂâ‚é‚Ė‚Đ‚Í’m‚č‚Ü‚đ‚ņ‚ЁB + sakRO‚Ė‚Ų‚Ī‚Å‚ÍƒzƒƒCƒgƒ`ƒ‡ƒR‚į‚ĩ‚Ŧ‚ā‚˂ВĮ‰Á‚ģ‚ę‚―‚Ė‚É + jRO‚Å’Į‰Á‚ģ‚ę‚―‚Ė‚Í—’d“P‹Žƒpƒbƒ`‚Ė‚Ý(*L„t`;)c + +EAlchemistƒMƒ‹ƒh‚Å“û”ŦAŧ‘Ē‘‚ð•Ï‚Ķ‚é‚æ‚Ī‚É + conf/npc/npc_job_alchemist.txt(V‹K) + “]EƒNƒGƒXƒg‚Š•Š‚Đ‚į‚ȂЂÁ‚―‚˂ʼn·‚߂Ăǂ܂ĩ‚―‚Š + ”ƒ‚Ķ‚Č‚Ē‚Æ•s•Ö‚Æ•·‚Ē‚―‚˂ŁA’Į‰Á + +EõFNPCŽĀ‘• + conf/npc/npc_event_dye.txt(XV) + ”ŊŒ^•ύX‚ŠsakRO‚É—ˆ‚―‚į‚ĩ‚ǂ˂Š+ ‚Č‚ņ‚Æ‚Č[‚­XV + +-------------------- +//0873 by Ž€_ + +E@ƒRƒ}ƒ“ƒhitem2‚Ækillmonster ’Į‰ÁB +EƒXƒNƒŠƒvƒggetitem2‚Ækillmonsterall ’Į‰ÁB +E–îėŽ‚ōė‚į‚ę‚―–î‚āŧ‘ĒŽŌ‚Ė–ž‘O‚Š•t‚­‚æ‚Ī‚ÉCģB +Ebattle_athena.conf‚Émonster_class_change_full_recover’Į‰ÁB +E‘•”õƒXƒNƒŠƒvƒg‚ÉbWeaponComaEle‚ÆbWeaponComaRace ’Į‰ÁB +E­‚ĩŠÔˆá‚ǂЂ ‚Á‚―ƒ_ƒ[ƒWŒvŽZŽŪCģB +EbInfiniteEndure‚Ėˆ—‚ðƒCƒ“ƒfƒ…ƒA•\ŽĶ‚Č‚ĩ‚œ╔ˆ—‚·‚邿‚Ī‚É•ÏXB +EƒI[ƒgƒXƒyƒ‹‚Åcastend_nodamage_id()‚ðŒÄ‚ÔƒXƒLƒ‹‚āŽg—p‚Å‚Ŧ‚邿‚Ī‚ÉCģB +E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģ‚ƃoƒOCģB +E‚Ų‚Æ‚ņ‚Į–ĒƒeƒXƒg‚Č‚Ė‚ÅƒoƒO‚Š‚ ‚Á‚―‚į•ņ‚ĻŠč‚Ē‚ĩ‚Ü‚·B + (conf/) + help.txt CģB + atcommand_athena.conf CģB + battle_athena.conf CģB + char_athena.conf CģB + (db/) + const.txt CģB + item_db.txt CģB + (doc/) + item_bonus.txt CģB + script_ref.txt CģB + conf_ref.txt CģB + (map/) + map.h CģB + map.c + map_quit() CģB + skill.h CģB + skill.c + skill_castend_nodamage_id()Askill_status_change_clear() CģB + skill_castend_id()Askill_castend_pos()Askill_arrow_create() CģB + skill_status_change_timer() CģB + pc.c + pc_calcstatus()Apc_bonus2()Apc_equipitem() CģB + pc_unequipitem()Apc_damage() CģB + battle.h CģB + battle.c + battle_get_dmotion()Abattle_weapon_attack() CģB + battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CģB + battle_calc_magic_attack()Abattle_config_read() CģB + clif.c + clif_parse_LoadEndAck()Aclif_damage()Aclif_skill_damage() CģB + clif_skill_damage2() CģB + itemdb.h CģB + itemdb.c + itemdb_isequip3() ’Į‰ÁB + mob.h CģB + mob.c + mob_delay_item_drop()Amob_damage()Amob_changestate() CģB + mob_class_change()Amob_delete()Amob_catch_delete() CģB + script.c + buildin_getitem() CģB + buildin_killmonsterall_sub()Abuildin_killmonsterall() ’Į‰ÁB + atcommand.h CģB + atcommand.c + atcommand() CģB + atkillmonster_sub() ’Į‰ÁB + +-------------------- +//0872 by ElFinLazz + +EƒXƒLƒ‹ƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[Cģ +EƒXƒLƒ‹ƒMƒ€ƒ\ƒoƒ“ƒOƒhƒ“ƒ{ƒ‹ƒIƒbƒl‹ïŒŧ +EƒXƒLƒ‹ƒAƒuƒ‰ƒJƒ_ƒu‚Č‚į‹`ƒR[ƒ}‹ïŒŧ +EƒR[ƒ}‚Ė•ŠíƒIƒvƒVƒ‡ƒ“’Į‰Á(Ží‘°, į•Š—Ķ) +EƒIƒvƒVƒ‡ƒ“ā–ū’Į‰Á + (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‚ĖƒoƒOCģB +Echar_athena.conf‚Ælogin_athena.conf‚ɍ€–Ú’Į‰ÁB(ƒLƒƒƒ‰ŽI‚ƃƒOƒCƒ“ŽI‚ĖƒƒOƒtƒ@ƒCƒ‹‚ð•Ï‚Ķ‚é‚ą‚Æ‚Š‚Å‚Ŧ‚邿‚΂ɂĩ‚Ü‚ĩ‚―BƒfƒtƒHƒ‹ƒg‚Ålog/ƒtƒHƒ‹ƒ_[‚É“ü‚é‚Ė‚ÅlogƒtƒHƒ‹ƒ_[‚ðė‚é•K—v‚Š‚ ‚č‚Ü‚·B) +EƒGƒiƒW[ƒR[ƒg‚Ėˆ—‚ð­‚ĩCģBƒ‚ƒ“ƒXƒ^[‚ŠŽg‚Á‚―ę‡‚̓XƒLƒ‹ƒŒƒxƒ‹*6%‚˕ϗƒ_ƒ[ƒW‚ðŒļ‚į‚·‚æ‚Ī‚É•ÏXB +E•ŠíˆČŠO‚˕ςłāŧ‘ĒŽŌ‚Ė–ž‘O‚ð•\ŽĶ‚·‚邿‚Ī‚É•ÏXB(–{ŽI‚ł̓vƒŒƒ[ƒ“ƒgƒ{ƒbƒNƒX‚ÆŽčė‚čƒ`ƒ‡ƒRƒŒƒbƒgˆČŠO‚Í•\ŽĶ‚ģ‚ę‚Ü‚đ‚ņ‚ŠƒpƒPƒbƒg‚Í‚ ‚邹‚Æ‚ū‚ĩ“ü‚ę‚Ă݂܂ĩ‚―B) +E‚ŧ‚Ė‘žƒXƒLƒ‹ŠÖŒW‚ĖŨ‚Đ‚ĒCģB +E@ƒRƒ}ƒ“ƒhˆę‚‚ƃXƒNƒŠƒvƒgˆę‚‚ð’Į‰Á‚ĩ‚Ü‚ĩ‚―‚Аā–ū‚ÍŒã‚Ėƒpƒbƒ`‚ŏ‘‚Ŧ‚Ü‚·B + (conf/) + char_athena.conf CģB + login_athena.conf CģB + (doc/) + conf_ref.txt CģB + (login/) + login.c + parse_login()Alogin_config_read()Alogin_log() CģB + (char/) + char.h CģB + char.c + char_config_read()Amake_new_char()Aparse_char() CģB + int_party.c CģB + int_storage.c CģB + int_guild.c CģB + int_pet.c CģB + (map/) + map.h CģB + skill.c + skill_status_change_start()Askill_additional_effect() CģB + skill_castend_nodamage_id()Askill_check_condition() CģB + skill_status_change_clear()Askill_produce_mix() CģB + skill_status_change_timer() CģB + pc.c + pc_calcstatus()Apc_insert_card()Apc_additem()Apc_cart_additem() CģB + storage.c + storage_additem() CģB + battle.c + battle_get_adelay()Abattle_get_amotion()Abattle_calc_damage() CģB + clif.c + clif_additem()Aclif_equiplist()Aclif_storageequiplist() CģB + clif_tradeadditem()Aclif_storageitemadded()Aclif_use_card() CģB + clif_cart_additem()Aclif_cart_equiplist()Aclif_vendinglist() CģB + clif_openvending()Aclif_arrow_create_list() CģB + clif_skill_produce_mix_list()Aclif_parse_SelectArrow() CģB + clif_parse_ProduceMix() CģB + script.c + buildin_produce() CģB + buildin_getitem2() ’Į‰ÁB + atcommand.c + atcommand() CģB + +-------------------- +//0870 by shuto + +Emapflag‚ĖUéíMAP‚Énomemo’Į‰Á +EƒMƒ‹ƒh•󔠂ŁA•󔠏oŒŧ‚Æ“ŊŽž‚ÉMAPŽI‚Š—Ž‚ŋ‚é–â‘čCģ(by ‚Ō‚ī‚Ü‚ņ) + +-------------------- +//0869 by Ž€_ + +Ebattle_athena.conf‚Éplayer_land_skill_limitAmonster_land_skill_limitAparty_skill_penaly ’Į‰ÁB +Echar_athena.conf‚Éparty_share_level ’Į‰ÁB +E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģB + (conf/) + char_athena.conf CģB + battle_athena.conf CģB + (doc/) + conf_ref.txt CģB + (char/) + char.h CģB + char.c + char_config_read() CģB + int_party.c + party_check_exp_share() CģB + (map/) + map.h CģB + skill.c + skill_attack()Askill_castend_damage_id() CģB + skill_castend_nodamage_id()Askill_status_change_start() CģB + skill_castend_pos() CģB + pc.c + pc_calcstatus() CģB + mob.c + mobskill_castend_pos() CģB + battle.h + battle.c + battle_get_adelay()Abattle_get_amotion()Abattle_calc_damage() CģB + battle_config_read() CģB + pet.c + pet_data_init() CģB + +-------------------- +//0868 by Ž€_ + +Eƒ}ƒWƒbƒNƒƒbƒhŽĀ‘•‚ƃXƒyƒ‹ƒuƒŒƒCƒJ[CģB +Eƒ}ƒWƒbƒNƒƒbƒh‚Ėę‡–{ŽI‚ÅŽg‚Á‚Ä‚ā‚Č‚ņ‚Ė•\ŽĶ‚ā‚Č‚­”­“Ū‚Ė‘O‚ɂ͎g‚Á‚―‚Đ‚Į‚Ī‚Đ‚ĖŠm”F‚ЂłŦ‚Č‚Ē‚Ė‚ÅƒXƒLƒ‹‰rĨƒpƒPƒbƒg(0x13e)‚ð—˜—p‚ĩ‚ÄŽg—p‚·‚鎞ƒXƒLƒ‹–ž‚Šo‚邿‚΂ɂĩ‚Ăǂ܂·B(–{ŽI‚ƈá‚Ī‚ž‚Æ‚Đ‚Å•ķ‹å‚Š‚ą‚Ȃǂæ‚Ī‚É) +EƒXƒyƒ‹ƒuƒŒƒCƒJ[‰rĨƒLƒƒƒ“ƒZƒ‹‚ÉŠÖŒW‚Č‚­skill_db.txt‚ɐݒč‚ģ‚ę‚Ä‚éskill_type‚Šmagic‚ĖƒXƒLƒ‹‚Ė‚Ý”j‚邹‚Æ‚Š‚Å‚Ŧ‚Ü‚·B(ƒ‰ƒOƒiƒQ[ƒg‚ːā–ū‚ð“K—p) +Eskill_db.txt‚Ė‘ŽŪ‚Š•Ï‚í‚Á‚―‚˂ŒˆÓ‚ĩ‚Ä‚­‚ū‚ģ‚ǁBƒmƒbƒNƒoƒbƒN‹——Ģ‚ĖÝ’č‚ā‚Å‚Ŧ‚Ü‚·‚Š”O‚ĖˆŨ‚ɂǂÁ‚ĂςŦ‚Ü‚·‚ŠAŽI‚Å‚ĖƒeƒXƒg‚ÅFW‚ĖƒmƒbƒNƒoƒbƒN‹——Ģ‚Í2‚ŃTƒ“ƒN‚ā2‚Å‚ ‚邹‚Æ‚ðŠm”F‚ĩ‚Ăǂ܂·BŠØ‘‚Ė2003”N11ŒŽ19“úƒpƒbƒ`‘O‚ĖŽI‚ł͂ ‚č‚Ü‚·‚Š2-2‚Í“K—p‚ģ‚ę‚Ä‚Ē‚éŠ‚Ȃ˂Ŗ{ŽI‚Ėˆá‚Ē‚Í‚Č‚Ē‚ÆŽv‚ǂ܂·B +E‚ŧ‚Ė‘žƒXƒLƒ‹ŠÖŒW‚ĖŨ‚Đ‚ĒCģB +E0867‚ŏ‘‚Ŧ–Y‚ęBƒ‚ƒ“ƒXƒ^[‚Ėƒq[ƒ‹‚ŃAƒ“ƒfƒbƒhƒ‚ƒ“ƒXƒ^[‚ŠUŒ‚‚ģ‚ę‚ÄŽĐ–Å‚·‚é‚Ė‚Åƒq[ƒ‹‚⃊ƒU‚Ėę‡mob_skill_db.txt‚Ėval1(’l1)‚É1‚ð“ü‚ę‚邯ƒAƒ“ƒfƒbƒhƒ‚ƒ“ƒXƒ^[‚āUŒ‚‚ðŽó‚Ŋ‚ļ‰ņ•œ‚·‚邿‚΂ɂȂč‚Ü‚·B–{ŽI‚ł̓‚ƒ“ƒXƒ^[‚Ėƒq[ƒ‹‚̓Aƒ“ƒfƒbƒh‚ÉŠÖŒW‚Č‚­‰ņ•œ‚·‚邿‚΂ł·B‚―‚ūŒÂl“I‚ɂ̓]ƒ“ƒr‚Šƒq[ƒ‹‚ĩ‚ÄŽĐ–Å‚·‚é•û‚Аģ‚ĩ‚Ē‚ÆŽv‚΂˂Åmob_skill_db.txt‚Őݒč‚Å‚Ŧ‚邿‚΂ɂĩ‚Ăςč‚Ü‚·B + (doc/) + db_ref.txt CģB + (db/) + cast_db.txt CģB + skill_db.txt CģB + (map/) + skill.h CģB + skill.c + skill_status_change_start()Askill_status_change_end() CģB + skill_castend_damage_id()Askill_castend_nodamage_id() CģB + skill_attack()Askill_status_change_timer()Askill_castcancel() CģB + skill_unit_onplace()Askill_use_id()Askill_castend_id() CģB + skill_readdb() CģB + skill_get_blewcount() ’Į‰ÁB + mob.c + mobskill_use_id()Amob_spawn()Amob_attack() CģB + battle.c + battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CģB + battle_calc_pc_weapon_attack()Abattle_calc_magic_attack() CģB + battle_calc_misc_attack()Abattle_weapon_attack() CģB + clif.c + clif_damage() CģB + pet.c + pet_attack() CģB + pc.c + pc_attack_timer()Apc_authok() CģB + pc_spirit_heal()Apc_natural_heal_sub() CģB + +-------------------- +//0867 by Ž€_ + +EƒXƒLƒ‹ŠÖŒW‚ĖŨ‚Đ‚ĒCģB +Ebattle_athena.conf‚Éplayer_undead_nofreeze’Į‰ÁB +EV‚ĩ‚ĒƒAƒCƒeƒ€ƒpƒPƒbƒg‚ɑΉžB(PACKETVER‚ð5ˆČã‚É‚·‚é•K—v‚Š‚ ‚č‚Ü‚·B) +Emob_avail.txt‚ŃvƒŒƒCƒ„[‚ĖŽp‚ðŽw’č‚ĩ‚―ŽžƒyƒRƒyƒR‚â‘é‚ð•t‚Ŋ‚邹‚Æ‚Š‚Å‚Ŧ‚邿‚Ī‚É•ÏXB“Љš’iŽŸ‚ɃIƒvƒVƒ‡ƒ“‚ðÝ’č‚Å‚Ŧ‚Ü‚·B(‚―‚ūƒnƒCƒfƒBƒ“ƒO‚ƃNƒ[ƒLƒ“ƒO‚ÍŽw’č‚Å‚Ŧ‚Ȃǂæ‚΂ɂȂÁ‚Ăǂ܂·B) + makefile CģB + (conf/) + battle_athena.conf CģB + (doc/) + conf_ref.txt CģB + client_packet.txt CģB + (map/) + battle.h CģB + battle.c + battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CģB + battle_calc_pc_weapon_attack()Abattle_config_read() CģB + clif.c + clif_mob_class_change()Aclif_spawnmob()Aclif_spawnpet() CģB + clif_damage()Aclif_skill_damage()Aclif_skill_damage2() CģB + clif_itemlist()Aclif_cart_itemlist()Aclif_storageitemlist() CģB + clif_mob0078()Aclif_mob007b()Aclif_pet0078()Aclif_pet007b() CģB + pc.c + pc_attack_timer() CģB + skill.c + skill_castend_nodamage_id()Askill_additional_effect() CģB + skill_status_change_start() CģB + mob.h CģB + mob.c + mobskill_castend_id()Amob_getfriendstatus_sub() CģB + mob_readdb_mobavail() CģB + +-------------------- +//0866 by ‚Ō‚ī‚Ü‚ņ + +EMOTD‚ĖƒƒbƒZ[ƒW‚ð‘S‚Ä•ŌW‚Å‚Ŧ‚邿‚Ī‚É•ÏXB +EƒNƒ[ƒ“ƒXƒLƒ‹ŽĀ‘•B +@ƒhƒ‹•ž‚Ėƒq[ƒ‹ƒAƒ^ƒbƒN‚É‚æ‚éƒq[ƒ‹K“ū‚Í–ĒƒeƒXƒg‚Å‚·B +EƒMƒ‹ƒh•ó” ‰žŽĀ‘•B +@ƒ”ƒ@ƒ‹ƒLƒŠ[‚P‚Ė‚Ý‚Å‚·B +@Ī‹Æ“ŠŽ‘‚É‚æ‚é•󔠌”‚ĖŽZoŽŪ‚Í“K“–‚Å‚·(‰ŠúŒÂ”4ŒÂ‚Æ‚ĩ‚Đ’m‚į‚Ȃǂ˂Å)B +@OnclockƒCƒxƒ“ƒg‚Å“Ūė‚ģ‚đ‚Ăǂ܂·B”CˆÓ‚ĖŽž‚ɕύX‚ĩ‚Ä‚­‚ū‚ģ‚ǁB +EAthenaDBŒv‰æ‚Ėmob_db.txt‚Æmapflag.txt‚ð“ü‚ę‚ĂςŦ‚Ü‚ĩ‚―B + + (map/) + pc.c + pc_makesavestatus()Apc_calc_skilltree() CģB + pc_allskillup()Apc_calc_skillpoint() CģB + pc_resetskill()Apc_authok() CģB + skill.c + skill_attack() CģB + map.h CģB + (conf/) + gvg/TEST_prtg_cas01_AbraiJ.txt CģB + motd.txt CģB + mapflag.txt CģB + (db/) + mob_db.txt CģB + +-------------------- +//0865 by ‚Ō‚ī‚Ü‚ņ + +EŽĐ•ЂАč—Ė‚ĩ‚ĂǂéƒAƒWƒg‚ĖƒGƒ“ƒyƒŠƒEƒ€‚ðUŒ‚‚Å‚Ŧ‚―ƒoƒOCģB +EƒAƒuƒ‰ƒC‚Аč—ĖƒMƒ‹ƒhƒƒ“ƒo[‘Sˆõ‚ðƒ}ƒXƒ^[‚Æ‚Ý‚Č‚ĩ‚Ăǂ―ƒoƒOCģB +@‚ą‚ĖCģ‚É”š‚Á‚ăXƒNƒŠƒvƒgƒŠƒtƒ@ƒŒƒ“ƒX‚ɉü•Ï‚Š‚ ‚č‚Ü‚·B + Egetcharid(0)‚ŁAŽĐ•Š‚ĖcharID‚ð•Ô‚·‚æ‚΂ɁB + Egetguildmasterid()’Į‰ÁB + @=ƒMƒ‹ƒhID + @ŠY“–ƒMƒ‹ƒh‚Ėƒ}ƒXƒ^[‚ĖcharID‚ð•Ô‚ĩ‚Ü‚·B + + (map/) + guild.c + guild_mapname2gc() ’Į‰ÁB + battle.c + battle_calc_damage() CģB + script.c + buildin_getcharid() CģB + buildin_getguildmasterid() ’Į‰ÁB + ƒ[ƒJƒ‹ƒvƒƒgƒ^ƒCƒvéŒū‚Ėˆę•”‚ðCģA’Į‰ÁB + guild.h CģB + +-------------------- +//0864 by ŒÓ’ą—– + +EinterŽI‚Ėwis‚Ėˆ—•ύX + EŽĐ‘OƒŠƒ“ƒNƒŠƒXƒg‚Đ‚įdb.h‚Å’ņ‹Ÿ‚ģ‚ę‚Ăǂéƒf[ƒ^ƒx[ƒX‚ðŽg—p‚·‚邿‚Ī‚É + EWIS‚ĖID‚ð16ƒrƒbƒg‚Đ‚į32ƒrƒbƒg‚É‘‚â‚ĩ‚―iƒpƒPƒbƒg‚āCģj + EƒƒbƒZ[ƒW‚ĖƒTƒCƒYƒ`ƒFƒbƒN‚ð“ü‚ę‚― + EƒpƒPƒbƒgƒXƒLƒbƒv‚Š“ņ‰ņs‚í‚ę‚é‰Â”\Ŧ‚Š‚ ‚éƒoƒOCģ + + (char/) + inter.c + wisŠÖŒW‘啝•ύX + (map/) + intif.c + wisŠÖŒW‚ĖCģBŽå‚ɃpƒPƒbƒgˆ—B + (doc/) + inter_server_packet.txt + ƒpƒPƒbƒg3002,3801‚ð•ύX + +-------------------- +//0863 by Ž€_ + +EŨ‚Đ‚ĒCģB +Ebattle_athena.conf‚Éplayer_attack_direction_change’Į‰ÁB +Emob_skill_db.txt‚ðCģ‚·‚鎞’§”­‚ĖCģ‚ðŠÔˆá‚Á‚ďCģB +Eƒ‚ƒ“ƒXƒ^[‚ĖƒXƒLƒ‹ŽĐ”š–â‘čCģB(–ĒƒeƒXƒg) + (conf/) + battle_athena.conf CģB + (doc/) + conf_ref.txt CģB + (db/) + mob_skill_db.txt CģB + (map/) + mob.c + mobskill_use_id()Amobskill_use()Amobskill_castend_id() CģB + pc.c + pc_skill()Apc_attack_timer() CģB + skill.c + skill_castend_damage_id() CģB + battle.h CģB + battle.c + battle_weapon_attack()Abattle_config_read() CģB + +-------------------- +//0862 by ŒÓ’ą—– + +EmobƒXƒLƒ‹Žg—pðŒ’Į‰Á + Efriendhpltmaxrate : –Ą•û‚ĖHP‚ŠŽw’聓–Ē–ž‚Ė‚Æ‚Ŧ(ƒeƒXƒgÏ‚Ý) + Efriendstatuson : –Ą•û‚ŠŽw’č‚ĩ‚―ƒXƒe[ƒ^ƒXˆŲí‚ɂȂÁ‚Ăǂ邯‚Ŧ + Efriendstatusoff : –Ą•û‚ŠŽw’č‚ĩ‚―ƒXƒe[ƒ^ƒXˆŲí‚ɂȂÁ‚Ä‚Ē‚Č‚Ē‚Æ‚Ŧ + Emystatuson : ŽĐ•Š‚ŠŽw’č‚ĩ‚―ƒXƒe[ƒ^ƒXˆŲí‚ɂȂÁ‚Ăǂ邯‚Ŧ + Emystatusoff : ŽĐ•Š‚ŠŽw’č‚ĩ‚―ƒXƒe[ƒ^ƒXˆŲí‚ɂȂÁ‚Ä‚Ē‚Č‚Ē‚Æ‚Ŧ + ƒXƒe[ƒ^ƒXŒn‚Í–ĒƒeƒXƒg‚Å‚·Bmob_skill_db.txt‚ÉŽw’č•û–@‚ð‘‚Ē‚Ä‚Ē‚Ü‚·B + ‚―‚Æ‚Ķ‚ÎŽĐ•Š‚Š“Å‚Đ‚Į‚Ī‚Đ‚Í mystatus,poison ‚ŁA + ƒnƒCƒfƒBƒ“ƒO’†‚Đ‚Į‚Ī‚Đ‚Í mystatuson,hiding ‚ÅŽw’č‚ĩ‚Ü‚·B +EmobƒXƒLƒ‹Žg—pƒ^[ƒQƒbƒg’Į‰Á + Efriend : –Ą•û + Earound : ŽĐ•Š‚ĖŽüˆÍiŒŧÝ‚ĖŽd—l‚ł͎üˆÍ81ƒ}ƒXj‚Ė‚Į‚ę‚Đ + Earound1`around4 : ŽĐ•Š‚ĖŽüˆÍ‚X,25,49,81ƒ}ƒX‚Ė‚Į‚ę‚Đ(”͈͂ð–ūŽĶ) + friend‚ÍðŒ‚ŠfriendŒn(friendhpltmaxrate‚Č‚Į)‚Ė‚Æ‚Ŧ‚ÉŽg—p‰Â”\B + aroundŒn‚͏ꏩŽw’čƒXƒLƒ‹‚ÅŽg—p‰Â”\B + + (map/) + mob.c / mob.h + mob_getfriend*()’Į‰ÁAmobskill_use()Cģ‚Č‚Į + (db/) + mob_skill_db.txt + Å‰‚ːā–ū‚Ė‚ÝCģBƒf[ƒ^‚͏Cģ‚ĩ‚Ăǂ܂đ‚ņB + +-------------------- +//0861 by ‚Ē‚Į + +EƒT[ƒo[snapshot + +-------------------- +//0860 by J + +EŽ€_‚ģ‚ņ‚ĖŽč‰šĒŠŦ‚ĖCģ‚ɍ‡‚í‚đ‚ÄMOBƒXƒLƒ‹DB‚ðCģ +(/conf) + mob_skill_db.txt CģB + +-------------------- +//0859 by Ž‚Žqo^.^o +Alchemist warp Cģ(AegisŽQl) +(/conf) + (/warp) + npc_warp_job.txt Cģ + +-------------------- +//0858 by Ž€_ + +EŨ‚Đ‚ĒCģB +EMAX_MOBSKILL‚ð24‚Đ‚į32‚ɕύXB(‚―‚ū­‚ĩ‚Å‚·‚Ђ܂―ƒƒ‚ƒŠ[Žg—p—ƂБ‚͂܂·B) +Eƒvƒƒ{ƒP[ƒVƒ‡ƒ“‚ÅŽæ‚és“Ū‚ðmob_skill_db.txt‚Ėval1(’l1)‚Őݒč‚Å‚Ŧ‚邿‚Ī‚ÉCģB +EŽč‰šĒŠŦ‚Å•Ą”‚ĖŽí—Þ‚ðÝ’čoØ‚邿‚Ī‚ÉCģB(Å‘å5‚‚܂Å) +Eƒƒ^ƒ‚ƒ‹ƒtƒH[ƒVƒX‚ƃgƒ‰ƒ“ƒXƒtƒH[ƒ[ƒVƒ‡ƒ“‚ā•Ą”‚ĖŽí—Þ‚ðÝ’č‚Å‚Ŧ‚邿‚Ī‚ÉCģB + (db/) + skill_db.txt CģB + mob_skill_db.txt CģB + (map/) + skill.c + skill_castend_damage_id()Askill_castend_nodamage_id() CģB + map.h CģB + mob.h CģB + mob.c + mob_readskilldb()Amob_summonslave()Amob_class_change() CģB + +-------------------- +//0857 by J + +EOWN Ragnarok‚ɂ˂Á‚Ăǂ―î•ņ‚ðŒģ‚ÉMOBƒXƒLƒ‹‚ðCģB +Echase(“ËŒ‚)‚ŠŽĀ‘•‚ģ‚ę‚Ăǂ邯‚Ė‚ą‚Æ‚Č‚Ė‚Å“ËŒ‚(?)‚ðchase‚É‚Đ‚Ķ‚Ä +ƒRƒƒ“ƒgƒAƒEƒg‚ð‚Í‚ļ‚ĩ‚Ü‚ĩ‚―B +EŽ€_‚ģ‚ņ‚ŠŽĀ‘•‚ĩ‚―MOBƒXƒLƒ‹‚ðŽg—p‚·‚郂ƒ“ƒXƒ^[‚ðŽëęî•ņ‚ɍڂÁ‚Ä‚éî•ņ‚ðŒģ‚ÉŽĀ‘•B + (/conf) + mob_skill_db.txt + +-------------------- +//0856 by Ž€_ + +EƒoƒOCģ‚ƍŨ‚Đ‚ĒCģB +Ebattle_athena.conf‚Émonster_attack_direction_change’Į‰ÁB +Ebattle_athena.conf‚Ėbasic_skill_check‚ƃJƒvƒ‰‚Ė‘qŒÉ—˜—p‚ð‡‚í‚đ‚Ăǂ܂ĩ‚―‚Š‚Ē‚Â‚Ė‚Ü‚É‚Đ‚Č‚­‚Č‚Á‚―‚Ė‚ÅŽæ‚č–ß‚ĩB(basic_skill_check‚Šno‚Č‚įŠî–{‹@”\ƒXƒLƒ‹ƒŒƒxƒ‹‚ÉŠÖŒW‚Č‚­‘qŒÉ‚ðŽg‚͂܂·B) +EƒsƒA[ƒVƒ“ƒOƒAƒ^ƒbƒN‚ĖŽË’ö‚ð3ƒZƒ‹‚ɕύX‚ĩ‚ċߐڍUŒ‚‚Æ‚ĩ‚Ä”FŽŊ‚·‚邿‚Ī‚ÉCģB +EAŽI‚Å‚ĖƒeƒXƒg‚ŃAƒ“ƒfƒbƒh‚Ė”FŽŊ‚ð‘ېŦ‚É‚æ‚Á‚Ä‚·‚邹‚Æ‚Š‚í‚Đ‚Á‚―‚Ė‚Åundead_detect_type‚ĖƒfƒtƒHƒ‹ƒg‚ð0‚ɕύXB +Eƒƒ^ƒ‚ƒ‹ƒtƒH[ƒVƒX‚âƒgƒ‰ƒ“ƒXƒtƒH[ƒ[ƒVƒ‡ƒ“‚ÅŒĐ‚―–Ú‚ŠƒvƒŒƒCƒ„[‚Č‚į0x1b0ƒpƒPƒbƒg‚ð‘—‚į‚Ȃǂæ‚Ī‚É•ÏXB +Eƒjƒ…[ƒ}ƒoƒO‚͏Cģ‚ĩ‚Ă݂܂ĩ‚―‚ŠƒXƒLƒ‹ƒ†ƒjƒbƒg‚ĖŽžŠÔ‚É‚æ‚éė“ŪŽd—l‚͂܂ū•ŠÍ‚ŠŠŪ‘S‚ķ‚á‚Ȃǂ˂őž‚Ė•s‹ï‡‚Šo‚Ä‚­‚é‚Đ‚ā... + (conf/) + battle_athena.conf CģB + mapflag.txt CģB(•’Ę‚Ėƒ_ƒ“ƒWƒ‡ƒ“‚ŠƒV[ƒYƒ‚[ƒh‚Å‚ ‚é‚Í‚ļ‚Š‚Ȃǂ˂Å) + (conf/npc/) + npc_town_kafra.txt CģB + (db/) + skill_db.txt CģB + (doc/) + conf_ref.txt CģB + script_ref.txt CģB + (map/) + pc.c + pc_modifybuyvalue()Apc_modifysellvalue() CģB + battle.h + battle.c + battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CģB + battle_calc_pc_weapon_attack()Abattle_weapon_attack() CģB + battle_config_read() CģB + skill.c + skill_unitsetting()Askill_castend_damage_id() CģB + skill_castend_nodamage_id() CģB + mob.c + mob_attack() CģB + pet.c + pet_attack() CģB + clif.c + mob_class_change() CģB + +-------------------- +//0855 by asong + +Eƒƒ^ƒ‚ƒ‹ƒtƒH[ƒVƒX‚Å‚o‚b‚Æ‚ĩ‚Ä•\ŽĶ‚·‚é‚l‚n‚a‚ðŽw’č‚ĩ‚―ę‡‘q—Ž‚ŋ‚·‚éƒoƒO‚ðuŽb’čvCģB +E0x1b0ƒpƒP‚Å‚Í–ģ‚­0x7b‚ðŽg‚Ī‚ą‚Æ‚ʼn―‚Æ‚Đ‚ĩ‚Ăǂ܂·B +EŽg‚ǕЂŊ‚ð‚ĩ‚―‚Ē‚Æ‚ą‚ë‚Å‚·‚Š“–•û‚b‚Ė’mŽŊ‚Š–ģ‚­ðŒ•ŠŠō‚ŠãŽč‚­‚Ē‚Ŧ‚Ü‚đ‚ņ‚Å‚ĩ‚―B +E‚ā‚ĩ‚Đ‚ĩ‚―‚įƒvƒp‚Ė›z‰ŧi‰H‰ŧHj‚Š‚Ļ‚Đ‚ĩ‚­‚Č‚Á‚Ä‚é‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņB + (/map) + clif.c + mob_class_change() CģB + +-------------------- +//0854 by Kalen + +E•s‘Ŧ‚ĩ‚Ăǂ―ˆęŽŸE“]EƒNƒGƒXƒg’Į‰Á‹y‚ҁA‚ŧ‚ę‚É”š‚ĪWarpAMobCģ) + (/conf) + (/npc) + npc_job_archer.txt + npc_job_swordman.txt + npc_job_thief.txt(‘䎌CģA“_”ˆ—•ύ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‚ŧ‚ę‚É”š‚ĪNPCCģBƒAƒ}ƒcs‚Ŧ‘D‚Å—ŋ‹ā‚ðŽæ‚į‚ȂЂÁ‚―–â‘čCģ + (/conf) + npc_event_hinamatsuri.txt + npc_town_amatsu.txt + npc_town_guide.txt + npc_town_kafra.txt + —Õ‚č‚ð—LŒø‚É‚·‚邯ƒAƒ}ƒcƒJƒvƒ‰‚ðW‚ɁA + ƒAƒ‹ƒxƒ‹ƒ^“ėƒJƒvƒ‰‚ðíœ‚É‚·‚邿‚΂ɂĩ‚Ăǂ܂·B + +-------------------- +//0853 by Ž€_ + +EƒoƒOCģ‚ÆNPCƒXƒLƒ‹ŠÖŒW‚ĖCģB +Eƒ_[ƒNƒuƒŒƒX‚ðMISCUŒ‚‚ɕύXB(‚―‚ū–―’†”ŧ’č—L‚č) +EƒNƒŠƒeƒBƒJƒ‹ƒXƒ‰ƒbƒVƒ…AƒRƒ“ƒ{ƒAƒ^ƒbƒNAƒKƒCƒfƒbƒhƒAƒ^ƒbƒNAƒXƒvƒ‰ƒbƒVƒ…ƒAƒ^ƒbƒNAƒuƒ‰ƒCƒ“ƒhƒAƒ^ƒbƒNAƒJ[ƒXƒAƒ^ƒbƒNAƒyƒgƒŠƒtƒ@ƒCƒAƒ^ƒbƒNAƒ|ƒCƒYƒ“ƒAƒ^ƒbƒNAƒTƒCƒŒƒ“ƒXƒAƒ^ƒbƒNAƒXƒŠ[ƒvƒAƒ^ƒbƒNAƒXƒ^ƒ“ƒAƒ^ƒbƒNAƒ‰ƒ“ƒ_ƒ€ƒAƒ^ƒbƒNAƒ_[ƒNƒlƒXƒAƒ^ƒbƒNAƒtƒ@ƒCƒAƒAƒ^ƒbƒNAƒOƒ‰ƒEƒ“ƒhƒAƒ^ƒbƒNAƒz[ƒŠ[ƒAƒ^ƒbƒNAƒ|ƒCƒYƒ“ƒAƒ^ƒbƒNAƒeƒŒƒLƒlƒXƒAƒ^ƒbƒNAƒEƒH[ƒ^[ƒAƒ^ƒbƒNAƒEƒBƒ“ƒhƒAƒ^ƒbƒNAƒ}ƒWƒJƒ‹ƒAƒ^ƒbƒNAƒuƒ‰ƒbƒhƒhƒŒƒCƒ“Aƒƒ“ƒ^ƒ‹ƒuƒŒƒCƒJ[‚̓‚ƒ“ƒXƒ^[‚Ė•ŠíŽË’ö‚ɕύXB‚ŧ‚ĩ‚Ä‚ą‚ę‚į‚ĖƒXƒLƒ‹‚ðƒ‚ƒ“ƒXƒ^[‚ĖUŒ‚ŽË’ö‚É‚æ‚Á‚ĉ“‹——ĢUŒ‚‚Ƌߋ——ĢUŒ‚‚ɂȂ邿‚Ī‚É•ÏXB +EƒsƒA[ƒVƒ“ƒOƒAƒ^ƒbƒN‚Í•ŠíŽË’ö+2‚ɕύXB +EƒGƒiƒW[ƒhƒŒƒCƒ“Aƒnƒ‹ƒVƒl[ƒVƒ‡ƒ“‚Í–‚–@ŽË’ö‚ɕύXB +Eƒ_[ƒNƒuƒŒƒbƒVƒ“ƒO‚ĖŽË’ö‚ð4‚ɕύX‚Æ‚Đ‚Đ‚éŠm—Ķ‚ð50+ƒXƒLƒ‹ƒŒƒxƒ‹*5%‚ɕύXB(ˆę‰ž‚ą‚ę‚ā–‚–@‚Č‚Ė‚Å­‚ĩŽË’ö‚ðL‚­‚ĩ‚Ü‚ĩ‚―BŠî–{–‚–@ŽË’ö‚Å‚ ‚é8‚É•Ï‚Ķ‚é‚Ũ‚Ŧ‚Č‚Ė‚Đ‚Į‚Ī‚Đ‚Í”ũ–­...) +EƒKƒCƒfƒbƒhƒAƒ^ƒbƒN‚̓ZƒCƒtƒeƒBƒEƒH[ƒ‹‚ƃjƒ…[ƒ}‚ð–ģŒø‚É‚·‚é•ņ‚Š‚ ‚č‚Ü‚ĩ‚―‚Ė‚ÅƒZƒCƒtƒeƒBƒEƒH[ƒ‹‚ƃjƒ…[ƒ}‚ŠŒø‚Đ‚Č‚Ē‚æ‚Ī‚ÉCģB +EƒfƒBƒtƒFƒ“ƒ_[‚̓GƒtƒFƒNƒg‚ū‚Ŋo‚邿‚Ī‚ÉCģB(ƒXƒLƒ‹‚ĖŽd—l“™‚ð‚í‚Đ‚é•û‚͏î•ņ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·B) +Eƒgƒ‰ƒ“ƒXƒtƒH[ƒ[ƒVƒ‡ƒ“ŽĀ‘•B(ƒƒ^ƒ‚[ƒtƒHƒVƒX‚Æ“Ŋ‚ķ•Ļ‚ū‚ŧ‚΂ł·B‚―‚ū‚ą‚ę‚Í‘S‘RŠÖŒW‚Č‚Ē•Ę‚Ėƒ‚ƒ“ƒXƒ^[‚ɂȂé•Ļ‚į‚ĩ‚ǂł·Bƒjƒtƒ‹ƒwƒCƒ€‚ÉŽg‚Ī‚â‚Â‚Š‚Ē‚é‚Ý‚―‚ǂł·B) +EAthenaŽG’kƒXƒŒƒbƒh ‘ī‚Ė“ó‚Ė80‚ðscript_ref.txt‚Æ‚ĩ‚Ä’Į‰Á‚Æ‚ŋ‚å‚Á‚ƏCģB + (db/) + skill_db.txt CģB + (doc/) + script_ref.txt ’Į‰ÁB + (map/) + battle.c + battle_calc_damage()Abattle_calc_pet_weapon_attack() CģB + battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CģB + battle_calc_magic_attack()Abattle_calc_misc_attack() CģB + skill.c + castend_damage_id()Acastend_nodamage_id()Askill_use_pos() CģB + clif.c + clif_spawnnpc()Aclif_parse_Restart()Aclif_parse_QuitGame() CģB + mob.c + mobskill_castend_id()Amobskill_castend_pos() CģB + mobskill_use_id()Amobskill_use_pos() CģB + +-------------------- +//0852 by ‚Ō‚ī‚Ü‚ņ + +E‹T“‡4FE‹aD2FEƒAƒ}ƒcD1F‚ðƒeƒŒƒ|•s‰ÂAƒV[ƒYƒ‚[ƒh‚ɕύXB +Enosave‚Ėˆø”‚ÉSavePoint‚ŠŽw’č‚Å‚Ŧ‚ĂȂЂÁ‚―‚˂ŒĮ‰ÁB +EPVP‚Ėmapflag‚ðmapflag.txt‚É“‡B + (map/) + npc.c + npc_parse_mapflag() CģB + (conf/) + mapflag.txt CģB + npc/npc_pvp.txt CģB + +-------------------- +//0851 by ŒÓ’ą—– + +EƒƒOƒCƒ“Žž‚ĖˆÃ†‰ŧkey‚Ší‚É“Ŋ‚킯‚ǂΑå‚Ŧ‚Č–â‘肊‚ ‚Á‚―‚Ė‚ÅCģ +EƒƒOƒCƒ“ŠĮ—ŽŌƒƒOƒCƒ“(ladmin‚ÅŽg—p)‚ŃpƒXƒ[ƒh‚ĖˆÃ†‰ŧ‚ɑΉž + (login/) + login.c + login_session_dataėŽAˆÃ†‰ŧkey‚ðƒNƒ‰ƒCƒAƒ“ƒg‚炯‚ÉėŽ‚Č‚Į + (tool/) + ladmin + ver.1.05‚ɁBƒfƒtƒHƒ‹ƒg‚ŃpƒXƒ[ƒh‚ðˆÃ†‰ŧ‚·‚邿‚΂ɁB + ˆÃ†‰ŧ‚Ė‚―‚ß‚ÉDigest::MD5ƒ‚ƒWƒ…[ƒ‹‚ðŽg—p‚ĩ‚Ü‚·B + Digest::MD5‚Š–ģ‚Ēę‡‚̓pƒXƒ[ƒh‚ĖˆÃ†‰ŧ‚ðs‚ǂ܂đ‚ņB + (doc/) + admin_packet.txt + ƒƒOƒCƒ“ƒT[ƒo[ŠĮ—ƒƒOƒCƒ“•”•Š•ÏX + +-------------------- +//0850 by Ž€_ + +ENPCƒXƒLƒ‹ŽĀ‘•B(ƒnƒ‹ƒVƒl[ƒVƒ‡ƒ“AƒL[ƒsƒ“ƒOAƒŠƒbƒNAƒƒ“ƒ^ƒ‹ƒuƒŒƒCƒJ[Aƒvƒƒ{ƒP[ƒVƒ‡ƒ“AƒoƒŠƒ„[Aƒ_[ƒNƒuƒŒƒbƒVƒ“ƒOAƒ_[ƒNƒuƒŒƒX) +EƒXƒLƒ‹ŽĐ”š‚ː§ŒĀ‚Ímob_skill_db.txt‚Å‚â‚ę‚Î‚Ē‚Ē‚ā‚Ė‚Č‚Ė‚ÅŽæ‚č–ß‚ĩB +Ebattle_athena.conf‚Épet_hungry_friendly_decrease’Į‰ÁB +Eƒyƒbƒg‚Ė• ‚ŠŠŪ‘S‚ÉŒļ‚邯Žx‰‡UŒ‚‚𒆎~‚·‚邿‚Ī‚É•ÏXB +E‘ېŦ•ύXƒXƒLƒ‹‚Šė“Ū‚ĩ‚ȂЂÁ‚―–â‘čCģB +Eƒƒ“ƒ^ƒ‹ƒuƒŒƒCƒJ[‚Í10+ƒXƒLƒ‹ƒŒƒxƒ‹*5%‚ĖSP‚ðŒļ‚į‚·B(UŒ‚‚Í’Ęí•ŠíƒXƒLƒ‹UŒ‚) +EƒŠƒbƒN‚Í•K’†‚ÅSP-100AƒXƒ^ƒ“Šm—ĶƒXƒLƒ‹ƒŒƒxƒ‹*5%B(ƒ_ƒ[ƒW‚Í–ģ‚ĩAbNoWeaponDamage‚Å–ģŒø) +Eƒvƒƒ{ƒP[ƒVƒ‡ƒ“‚̓‚[ƒVƒ‡ƒ“‚Š€”õ‚ģ‚ę‚Ä‚Č‚Ēƒ‚ƒ“ƒXƒ^[‚Í“ü‚ę‚Ä‚ā‚Č‚ņ‚ĖŒø‰Ę‚ā‚Č‚ĩB +Eƒ_[ƒNƒuƒŒƒbƒVƒ“ƒO‚Í‚Đ‚Đ‚é‚ÆHP‚Š1‚ɂȂéB‘ϐŦ‚Í–‚–@–hŒä‚Å“K—pB +Eƒ_[ƒNƒuƒŒƒX‚Í500+(ƒXƒLƒ‹ƒŒƒxƒ‹-1)*1000+rand(0,1000)‚Ėƒ_ƒ[ƒWB‰ņ”ð‚Å‚Ŧ‚邊–hŒä–ģŽ‹‚ŋߋ——̕ϗUŒ‚‚ū‚ŠƒZƒCƒtƒeƒBƒEƒH[ƒ‹‚Í–ģŽ‹‚ĩ‚ÄˆÅ‘ŪŦUŒ‚B(–{ŽI‚ĖŒvŽZŽŪ‚É‚ ‚Á‚Ăǂé‰Â”\Ŧ‚Í‚Č‚Ē‚Đ‚āB‚―‚ūƒ_ƒ[ƒW—Ę‚Æ–―’†•âģˆČŠO‚Í–{ŽI‡‚í‚đ) +ENPCƒXƒLƒ‹‚ĖˆÛŽŽžŠÔ‚Í“K“x‚ɐݒčB +Eƒ‚ƒ“ƒXƒ^[‚ˑېŦUŒ‚‚ƃKƒCƒfƒbƒhƒAƒ^ƒbƒN‚ŠƒZƒCƒtƒeƒBƒEƒH[ƒ‹‚ð–ģŽ‹‚·‚邯‚Ė•ņ‚ðŽó‚Ŋ‚―‚˂ł·‚ŠCģ‚·‚é‚Đ‚Į‚Ī‚Đ‚Í‚ŋ‚å‚Á‚Æ”ũ–­B(ƒXƒvƒ‰ƒbƒVƒ…ƒAƒ^ƒbƒN‚āƒZƒCƒtƒeƒBƒEƒH[ƒ‹–ģŽ‹‚Đ‚ā) + (conf/) + battle_athena.conf CģB + (doc/) + conf_ref.txt CģB + (db/) + cast_db.txt CģB + skill_db.txt CģB + (map/) + mob.c + mob_damage() CģB + clif.h CģB + clif.c + clif_skill_estimation()Aclif_damage()Aclif_skill_damage() CģB + clif_skill_damage2()Aclif_pet_performance() CģB + pet.c + pet_performance()Apet_target_check()Apet_hungry() CģB + skill.h CģB + skill.c + skill_additional_effect()Askill_castend_damage_id() CģB + skill_castend_nodamage_id()Askill_status_change_start() CģB + battle.h CģB + battle.c + battle_get_def()Abattle_get_mdef()Abattle_calc_damage() CģB + battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CģB + battle_calc_pc_weapon_attack()Abattle_config_read() CģB + +-------------------- +//0849 by lapis + +EŠX’†‚ĖƒeƒXƒgƒMƒ‹ƒhƒtƒ‰ƒO‚Ė•\ŽĶ‚Š‚Ļ‚Đ‚ĩ‚Đ‚Á‚―‚Ė‚ðCģB +EƒMƒ‹ƒhƒƒ“ƒo[‚ÍŠø‚Đ‚įƒAƒWƒg‚É”ō‚Ũ‚邿‚Ī‚ÉCģB + (conf/gvg) + TEST_prtg_cas01_AbraiJ.txt CģB + +-------------------- +//0848 by huge + +EƒXƒLƒ‹ŽĐ”š‚ðAHP‚Š‘S‰ņ•œ‚ĩ‚Ä‚Ē‚éŽž‚ÍŽg‚͂Ȃǂæ‚ĪCģB +EƒXƒtƒBƒAƒ}ƒCƒ“EƒoƒCƒIƒvƒ‰ƒ“ƒgEEEƒ^[ƒQƒbƒg•ύX‚Å‚Ŧ‚Č‚Ē...B +Emob‚Ƀ^[ƒQƒbƒg–ģŽ‹ID‚ðÝ’č‚Å‚Ŧ‚邿‚΂ɂĩ‚Ü‚ĩ‚―B(Gv—pmob‚ÉŽg‚Ķ‚éH) + (map/) + map.h CģB + mob_data‚É int exclusion_src,exclusion_party,exclusion_guild ’Į‰ÁB + mob.h CģB + mob.c + mob_exclusion_add() ’Į‰ÁB + mob_exclusion_check() ’Į‰ÁB + mob_timer_delete() ’Į‰ÁB + mob_attack() CģB + mob_target() CģB + mob_ai_sub_hard_activesearch() CģB + mob_ai_sub_hard_mastersearch() CģB + mob_ai_sub_hard() CģB + skill.c + skill_castend_damage_id() CģB + skill_castend_pos2() CģB + +-------------------- +//0847 by Ž€_ + +E˜I“XƒoƒOCģB + (map/) + clif.c + clif_vendinglist()Aclif_openvending() CģB + vending.c + vending_openvending() CģB + skill.c + skill_castend_nodamage_id() CģB + +-------------------- +//0846 by Ž€_ + +EƒoƒOCģ‚ƍŨ‚Đ‚ĒCģB +Ebattle_athena.conf‚Ėenemy_str‚Šƒyƒbƒg‚É‚ā“K—p‚·‚邿‚Ī‚É•ÏXB +EbHPDrainRate‚ÆbSPDrainRate‚Åx‚Šƒ}ƒCƒiƒX‚Å‚āė“Ū‚·‚邿‚Ī‚É•ÏXB +EPC‚âNPC‚ĖŽp‚ð‚ĩ‚―ƒ‚ƒ“ƒXƒ^[‚āŽ€‚Ę‚Æ5•bŒãƒ}ƒbƒv‚Đ‚įÁ‚͂邿‚Ī‚É•ÏXB + (map/) + battle.c + battle_calc_pet_weapon_attack()Abattle_weapon_attack() CģB + skill.c + skill_attack()Askill_castend_damage_id() CģB + pc.c + pc_allskillup() CģB + clif.h CģB + clif.c + clif_openvending()Ado_init_clif() CģB + clif_clearchar_delay()Aclif_clearchar_delay_sub() ’Į‰ÁB + mob.c + mob_damage() CģB + +-------------------- +//0845 by ‚Û‚Û‚Û + +Emob_avail.txt‚ÅPCƒOƒ‰ƒtƒBƒbƒN(0`23)‚ðŽw’č‚ĩ‚―ƒyƒbƒg‚ŠoŒŧ‚ĩ‚―‚Æ‚ŦƒNƒ‰ƒCƒAƒ“ƒgƒGƒ‰[‚Ђłé‚Ė‚ðŽb’čCģB +Emob_avail.txt‚Ńyƒbƒg‚É‚āPCƒLƒƒƒ‰‚ːŦ•ʁE”ŊŒ^&FE•ŠíE‚E“Š‘•”õ‚ðŽw’č‚Å‚Ŧ‚邿‚΂ɂĩ‚Ü‚ĩ‚―B +EMOB‚ĖATKŒvŽZ‚ÉSTR‚ð“K—p‚·‚é‚Đ‚Į‚Ī‚ĐÝ’č‰Â”\‚É‚ĩ‚―B + (map/) + clif.c + clif_pet0078()Aclif_pet007b()Aclif_spawnpet()CģB + battle.hCģB + battle.c + battle_config_read()Abattle_calc_mob_weapon_attack()CģB + +-------------------- +//0844 by ‚Û‚Û‚Û + +Emob_avail.txt‚ÅPCƒOƒ‰ƒtƒBƒbƒN(0`23)‚ðŽw’č‚ĩ‚―MOB‚ŠoŒŧ‚ĩ‚―‚Æ‚ŦƒNƒ‰ƒCƒAƒ“ƒgƒGƒ‰[‚Ђłé‚Ė‚ðŽb’čCģB +Emob_avail.txt‚ÅPCƒLƒƒƒ‰‚ːŦ•ʁE”ŊŒ^&FE•ŠíE‚E“Š‘•”õ‚ðŽw’č‚Å‚Ŧ‚邿‚΂ɂĩ‚Ü‚ĩ‚―B +@ƒOƒ‰ƒtƒBƒbƒN‚·‚č‘ւ͐æID‚Š0`23‚ĖŽž‚ū‚Ŋ—LŒø‚ŁAŽw’č•û–@‚Í + MOB-ID,ƒOƒ‰ƒtƒBƒbƒN‚·‚č‘ւ͐æID,Ŧ•Ę(0=female,1=male),”ŊŒ^,”ŊF,•Ší,‚,ã’i“Š‘•”õ,’†’i“Š‘•”õ,‰š’i“Š‘•”õ +@‚Æ‚Č‚č‚Ü‚·B‘•”õ‚Íitem_db‚ĖView—“ŽQÆ‚Ė‚ą‚ÆB + (map/) + clif.c + clif_mob_0078()Aclif_mob007b()Aclif_spawnmob()CģB + mob.hCģB + 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()CģB + +-------------------- +//0843 by Ž€_ + +EƒŠƒtƒŒƒNƒgƒV[ƒ‹ƒhŽĀ‘•B +EƒAƒCƒeƒ€ƒXƒNƒŠƒvƒg‚ÉbShortWeaponDamageReturn‚Æ +bLongWeaponDamageReturn ’Į‰ÁB +E‚ŧ‚Ė‘žƒXƒLƒ‹ŠÖŒW‚⑞‚ĖŠCģB + (db/) + item_db.txt CģB + skill_db.txt CģB + cast_db.txt CģB + const.txt CģB + (doc/) + item_bonus.txt CģB + (map/) + map.h CģB + battle.c + battle_get_def()Abattle_get_def2()Abattle_calc_pet_weapon_attack() CģB + battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CģB + battle_weapon_attack()Abattle_calc_magic_attack() CģB + pc.c + pc_calcstatus()Apc_bonus()Apc_bonus2()Apc_equipitem() CģB + pc_unequipitem()Apc_checkallowskill() CģB + skill.c + skill_attack()Askill_unit_onplace()Askill_status_change_start() CģB + skill_status_change_end()Askill_status_change_timer() CģB + skill_castend_nodamage_id() CģB + clif.c + clif_additem()Aclif_equiplist()Aclif_storageequiplist() CģB + clif_tradeadditem()Aclif_storageitemadded()Aclif_cart_additem() CģB + clif_cart_equiplist()Aclif_vendinglist()Aclif_openvending() CģB + clif_damage()Aclif_skill_damage()Aclif_parse_LoadEndAck() CģB + +-------------------- +//0842 by Ž€_ + +EƒXƒLƒ‹ŠÖŒW‚ĖCģ‚ƍŨ‚Đ‚ĒCģB +EaegisŽI‚ŐFX‚ÆŒŸØ‚ĩ‚―•Ļ‚ð“K—pB +EƒƒeƒI‚Ė”ÍˆÍ‚ð7*7ALoV13*13ASG11*11AFN5*5‚ɏCģB +EƒVƒOƒiƒ€ŽĀ‘•B(‚―‚ūPVP‚ŃvƒŒƒCƒ„[‚ɂЂЂé‚Đ‚Į‚Ī‚Đ‚Š‚í‚Đ‚į‚ȂЂÁ‚―‚˂Š+‚ЂЂé•ûŒü‚ÅŽĀ‘•B)‚ą‚ę‚Å1ŽŸE‹Æ‚ĖƒXƒLƒ‹‚̓NƒŠƒA‚Đ‚ā... +E‘•”õƒXƒNƒŠƒvƒg‚ÉbHPDrainRate‚ÆbSPDrainRate’Į‰ÁB +E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģ­‚ĩB + (doc/) + item_bonus.txt CģB + (db/) + cast_db.txt CģB + item_db.txt CģB + const.txt CģB + (map/) + map.h CģB + skill.c + skill_castend_damage_id()Askill_castend_nodamage_id() CģB + skill_unitsetting()Askill_castend_pos2()Askill_castend_id() CģB + skill_status_change_start()Askill_status_change_timer() CģB + skill_status_change_end()Askill_unit_onplace() CģB + skill_frostjoke_scream()Askill_attack() CģB + skill_attack_area() ’Į‰ÁB + battle.c + battle_calc_magic_attack()Abattle_get_element()Abattle_get_def() CģB + battle_get_def2()Abattle_get_mdef()Abattle_damage() CģB + battle_calc_damage()Abattle_calc_pet_weapon_attack() CģB + battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CģB + battle_weapon_attack() CģB + mob.c + mobskill_castend_id() CģB + pc.c + pc_calcstatus()Apc_bonus2()Apc_attack_timer() CģB + clif.c + clif_spawnmob()Aclif_spawnpet()Aclif_spawnnpc() CģB + clif_parse_ActionRequest() CģB + +-------------------- +//0841 by Kalen + +E…—n‰t‚Šė‚ę‚ȂЂÁ‚―‚˂ŒĮ‰Á + conf/npc/npc_job_magician.txt + +-------------------- +//0840 by Kalen + +E‹SƒCƒxƒ“ƒg’Į‰Á + conf/npc/npc_event_oni.txt + +Emap_athena.confCģ(ƒoƒŒƒ“ƒ^ƒCƒ“ƒRƒƒ“ƒgƒAƒEƒgB‹S’Į‰Á) + conf/map_athena.conf + +-------------------- +//0839 by shuto + +EƒRƒ“ƒƒ“NPC’Į‰Á(ƒJƒ“ ƒ\ƒ“ƒ\ƒ“‚Š”ē‚Ŋ‚Ä‚―) + +-------------------- +//0838 by Ž€_ + +EƒXƒLƒ‹ƒTƒCƒgƒ‰ƒbƒVƒƒ[ŽĀ‘•B +Eƒ‚ƒ“ƒXƒ^[‚ĖƒNƒ[ƒLƒ“ƒO‚ƃ}ƒLƒVƒ}ƒCƒYƒpƒ[‚ÍŽ‘ąŽžŠÔ‚ðƒŒƒxƒ‹*5•b‚ɕύXB +E‚ŧ‚Ė‘žŨ‚Đ‚ĒƒoƒOCģB + (db/) + skill_db.txt CģB + (map/) + skill.c + skill_castend_damage_id()Askill_castend_nodamage_id() CģB + skill_castend_pos2()Askill_unitsetting()Askill_get_unit_id() CģB + skill_status_change_start() CģB + battle.c + battle_calc_magic_attack() CģB + +-------------------- +//0837 by Ž€_ + +EƒXƒLƒ‹ŠÖŒW‚ĖŨ‚Đ‚ĒCģB +EƒtƒƒXƒgƒmƒ”ƒ@‚ðƒ†ƒjƒbƒgÝ’uŽŪ‚ɕύXB +Eƒ[ƒhƒIƒuƒ”ƒ@[ƒ~ƒŠƒIƒ“‚Ė”ÍˆÍ‚ð11*11‚ɏCģ‚Æ40ƒqƒbƒg‚·‚邿‚Ī‚É•ÏXB(ƒ‰ƒOƒiƒQ[ƒg‚Ėî•ņB +13*13ā‚ā‚ ‚č‚Ü‚·‚Š...) +Eƒ†ƒsƒeƒ‹ƒTƒ“ƒ_[‚ĖƒmƒbƒNƒoƒbƒN‚ð2~7‚ɕύXB +EƒXƒg[ƒ€ƒKƒXƒg‚ĖUŒ‚‰ņ”‚ðƒŒƒxƒ‹ˆË‘ķ‚Đ‚į10‰ņ‚ɌŒčB +EƒTƒ“ƒNƒ`ƒ…ƒAƒŠ‚ĖƒmƒbƒNƒoƒbƒN‚ð3‚Đ‚į2‚ɕύXB(aegisŽI‚ŃmƒbƒNƒoƒbƒN‚Š‚ ‚邹‚Ƃ͊m”F‚ĩ‚Ü‚ĩ‚―‚Š‚Į‚ę‚Ū‚į‚Ē‚Č‚Ė‚Đ‚Š•s–ū‚ū‚Á‚―‚Ė‚Å­‚ĩŒļ‚į‚ĩ‚Ă݂܂ĩ‚―B) +Eƒ‚ƒ“ƒXƒ^[‚ˉrĨŽžŠÔ‚Š‘‚­‚Č‚Á‚Ăǂ―–â‘čCģB(dex•âģ‚Š“ü‚Á‚Ä‚ĩ‚Ü‚Á‚―‚đ‚ǂł·B) +E‚ŧ‚Ė‘žƒI[ƒgƒXƒyƒ‹“–‚―‚č‚ĖŨ‚Đ‚ĒCģB + (db/) + skill_db.txt CģB + (map/) + skill.c + skill_castfix()Askill_delayfix()Askill_timerskill() CģB + skill_castend_pos2()Askill_unitsetting()Askill_castend_damage_id() CģB + skill_castend_nodamage_id()Askill_get_unit_id()Askill_attack() CģB + battle.c + battle_calc_magic_attack()Abattle_weapon_attack() CģB + +-------------------- +//0836 by Žß‘ļ + +Eƒ‚ƒ“ƒXƒ^[‚ĖŽæ‚芊‚ŦĒŠŌ‚ĖŠÔŠu‚𒆃{ƒXˆČŠOŠŪ‘SCģB + (db/) + mob_skill_db.txt CģB + +-------------------- +//0835 by (“Ę) + +E”’nŽæ‚č‚Ń|[ƒY‚ð‚Æ‚é‚æ‚΂ɂĩ‚―B +(ƒ|[ƒY‚ū‚Ŋ‚Ȃ˂ŁAŽĀÛ‚ɍUŒ‚‚ðŽó‚ŊŽ~‚ß‚―‚č‚͂łŦ‚Ü‚đ‚ņ) +clif_bladestop()‚ðŒÄ‚Ô‚ą‚Æ‚Å”’nŽæ‚čó‘Ô‚ĖONAOFF‚ĖƒpƒPƒbƒg‚Š‘—‚ę‚Ü‚·B + + (map/) + clif.h CģB + clif,c + clif_bladestop() ’Į‰Á + skill.c + skill_castend_nodamage_id() CģB + +-------------------- +//0834 by Žß‘ļ + +Eƒ‚ƒ“ƒXƒ^[Žæ‚芊‚ŦĒŠŌ‚ĖŠÔŠu‚Š’Z‚·‚ނ邯‚ĖŽ–‚ʼnž‹}ˆ’uB(Ą‰ņ‚͉Ћāåģ‚Ė‚Ý) + (db/) + mob_skill_db.txt CģB + +-------------------- +//0833 by (“Ę) + +Ememo‹ÖŽ~’nˆæ‚Å/memoŽž‚ĖCģB +E‚Â‚Ē‚Å‚Éitem_db‚ðXVB + + (doc/) + client_packet.txt + R 0189 XVB + (db/) + item_db.txt ÅV”ł֍XVB + (map/) + pc.c + pc_memo() CģB + +-------------------- +//0832 by Ž€_ + +EƒR[ƒhÅ“K‰ŧ‚ƍŨ‚Đ‚ĒCģB +EƒI[ƒgƒXƒyƒ‹‚ð’n–Ę–‚–@‚ɑΉžB +EƒTƒ“ƒ_[ƒXƒg[ƒ€‚ƃwƒ”ƒ“ƒYƒhƒ‰ƒCƒu‚ðƒ†ƒjƒbƒgÝ’uŽŪ‚ɕύXB +EƒfƒBƒtƒFƒ“ƒ_[‚ĖUŒ‚‘Ž“x’ቚ‚ð–{ŽI‚É‚ ‚í‚đB +E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģB + (doc/) + item_bonus.txt CģB + (db/) + skill_require_db.txt CģB + cast_db.txt CģB + (map/) + map.h CģB + path.c + calc_index()Apath_search() CģB + skill.c + skill_unitsetting()Askill_castend_pos2()Askill_get_unit_id() CģB + skill_status_change_timer_sub()Askill_castend_nodamage_id() CģB + skill_additional_effect()Askill_frostjoke_scream() CģB + pc.c + pc_calcstatus()Apc_skill()Apc_allskillup() CģB + battle.c + battle_get_speed()Abattle_get_adelay()Abattle_get_amotion() CģB + battle_weapon_attack() CģB + +-------------------- +//0831 by Ž€_ + +E­‚ĩCģB +EƒI[ƒgƒXƒyƒ‹CģB‘•”õ‚É‚æ‚é•Ļ‚ÆƒXƒLƒ‹‚É‚æ‚é•Ļ‚ð•ʁX‚É“K—pA”­“ŪŠm—ĶCģB +E‘•”õ‚É‚æ‚éƒI[ƒgƒXƒyƒ‹‚ÍŽw’č‚ĩ‚―ƒŒƒxƒ‹‚æ‚č2‚‰š‚܂Ŕŧ’č‚ð‚ĩ‚Ü‚·B‚Â‚Ü‚čƒŒƒxƒ‹5‚ðÝ’č‚·‚邯ƒŒƒxƒ‹3‚Đ‚į5‚܂Ŕ­“Ū‚ĩ‚Ü‚·B +Ebattle_athana.conf‚Ėplayer_cloak_check_wallAmonster_cloak_check_wall‚ðplayer_cloak_check_typeAmonster_cloak_check_type‚ɕύXB +EƒAƒCƒeƒ€ƒ‹[ƒgŒ ŒĀŽžŠÔ‚ð–{ŽI‚ɍ‡‚í‚đ‚ďCģB +E‚ŧ‚Ė‘žƒXƒLƒ‹ŠÖŒW‚ĖŨ‚Đ‚ĒCģB + (doc/) + conf_ref.txt CģB + db_ref.txt CģB + item_bonus.txt CģB + (conf/) + battle_athana.conf CģB + (db/) + item_db.txt CģB + (map/) + map.h + map.c + block_free_maxABL_LIST_MAX CģB + skill.h CģB + skill.c + skill_additional_effect()Askill_attack()Askill_castend_damage_id() CģB + skill_castend_nodamage_id()Askill_unit_onplace() CģB + skill_status_change_end()Askill_status_change_start() CģB + skill_initunitgroup()Askill_unitsetting()Askill_castfix() CģB + skill_delayfix()Askill_autospell()Askill_use_id()Askill_use_pos() CģB + skill_check_cloaking()Askill_unit_timer_sub()Askill_check_condition() CģB + battle.h CģB + battle.c + battle_damage()Abattle_get_agi()Abattle_get_speed() CģB + battle_get_adelay()Abattle_get_amotion()Abattle_get_flee() CģB + battle_weapon_attack()Abattle_calc_magic_attack() CģB + battle_config_read() CģB + mob.c + mob_attack()Amob_damage()Amobskill_use_id() CģB + mobskill_use_pos()Amob_spawn()Amob_class_change() CģB + mob_can_move() CģB + pc.c + pc_attack_timer()Apc_checkweighticon()Apc_calcstatus() CģB + pc_damage()Apc_equipitem()Apc_unequipitem() CģB + pc_bonus2()Apc_bonus3()Apc_memo()Apc_authok() CģB + pc_isUseitem() CģB + clif.h CģB + clif.c + clif_changeoption()Aclif_parse_LoadEndAck()Aclif_autospell() CģB + clif_skill_memo() CģB + clif_skill_teleportmessage() ’Į‰ÁB + script.c + buildin_sc_start() CģB + atcommnad.c + atcommand() CģB + +-------------------- +//0830 by huge + +EƒI[ƒgƒXƒyƒ‹‚ŁAŽĐ•Š‚ĖK“ū‚ĩ‚Ă郌ƒxƒ‹‚æ‚č‚ā‚‚ĒƒŒƒxƒ‹‚Å + –‚–@‚Š”­“Ū‚ĩ‚Ăǂ―‚Å‚ ‚ë‚Ī–â‘č‚ðCģB +EƒI[ƒgƒXƒyƒ‹‚Å‚āA‚ŋ‚á‚ņ‚ÆSP‚ŠŒļ‚邿‚Ī‚ÉCģ(‚Į–Y‚ę) + (map/) + battle.c + battle_weapon_attack() CģB + skill.c + skill_autospell() CģB + +-------------------- +//0829 by Kalen + +Emob_dbCģ + ŽĐŽI—p‚Ė‚ÆŠÔˆá‚Á‚ÄUP‚ĩ‚Ä‚ĩ‚Ü‚Á‚―‚æ‚΂ł·B + –{—ˆ‚Ė‚ā‚˂ɒž‚ĩ‚Ü‚ĩ‚―B + +-------------------- +//0828 by đ + +EƒT[ƒo‚ĖSnapshot +EMVPƒ{ƒXŒn‚Đ‚įƒoƒJƒ“ƒXƒ`ƒPƒbƒg‚Š‘å—Ę‚Éo‚Ăǂ―–â‘č‚ðCģB + (common/) + version.h CģB + (db/) + mob_db.txt CģB + +-------------------- +//0827 by J + +EŒÅ’čMOB‚Ė‚Í‚ļ‚ĖƒƒKƒŠƒX‚Ɛl–Ę“Žũ‚Š•ā‚ǂĂǂ―‚Ė‚ðCģB +E“Ž‹Zę‚ĖMOB‚ɃXƒLƒ‹‚ðŽĀ‘•B +EƒpƒTƒi‚ƃtƒ@ƒ‰ƒI‚ŠƒXƒLƒ‹‚ŠÝ’č‚ģ‚ę‚Ä‚Ē‚Č‚Đ‚Á‚―‚Ė‚ðŽĀ‘•B + (db/) + mob_db.txt CģB + mob_skill_db.txt CģB + +-------------------- +//0826 by ‚Ō‚ī‚Ü‚ņ + +Eˆę•”‚ˉ‰‘tƒXƒLƒ‹‚ðŽg‚Ī‚ÆŽI‚Š—Ž‚ŋ‚éƒoƒOCģB +EƒNƒ[ƒLƒ“ƒO’†‚ɃXƒLƒ‹‚ðŽg—p‚Å‚ŦA +@Žg—p‚·‚邯ƒNƒ[ƒLƒ“ƒO‚Š‰ðœ‚ģ‚ę‚邿‚Ī‚ÉCģB +EKalen‚ģ‚ņ‚Ėmob_db.txt‚ð‚܂Ƃ߂܂ĩ‚―B + (map/) + skill.c + skill_unit_onplace()Askill_unit_onout() CģB + skill_status_change_start()Askill_status_change_timer() CģB + skill_use_id()Askill_use_pos() CģB + (db/) + mob_db.txt CģB + +-------------------- +//0825 by Ž€_ + +EŨ‚Đ‚ĒCģB(Ũ‚Đ‚Ē‚ą‚Æ‚Ė‚í‚č‚ɂ͏Cģ‚ĩ‚―Š‚Š‘―‚Ē‚Ŋ‚Į...) +Eƒ[ƒvƒ|[ƒ^ƒ‹‚Ė’†‚ÉŽ~‚Ü‚Á‚―ŽžˆČŠO‚̓[ƒv‚ĩ‚Ȃǂæ‚Ī‚ÉCģB +Ebattle_athena.conf‚Éplayer_skill_nofootsetAmonster_skill_nofootset ’Į‰ÁB +ENPC‚ðƒNƒŠƒbƒN‚ĩ‚―Œã˜I“X‚ðƒNƒŠƒbƒN‚ĩ‚ĘI“X‚ð•‚ķ‚邯“Ū‚Ŋ‚Č‚­‚Č‚éƒoƒOCģB +‚―‚ū˜I“X‚ð•‚ķ‚鎞‰―‚ĖƒpƒPƒbƒg‚ā“]‘—‚ĩ‚Ä‚ą‚Č‚Ē‚Ė‚Å˜I“X‚ðƒNƒŠƒbƒN‚·‚邯NPC‚Ėˆ—‚Đ‚į”ē‚Ŋ‚邿‚΂ɂĩ‚Ü‚ĩ‚―B(–{ŽI‚Å‚ÍNPC‚Ėˆ—‚Š”ē‚Ŋ‚Ȃǂį‚ĩ‚ǂł·‚Š‚ŧ‚ęˆČŠO•û–@‚Š‚Č‚Đ‚Á‚―‚Ė‚Á‚ŁB) +Ekillmonster‚ĖAll‚ÅĒŠŦ‚ģ‚ę‚―ƒ‚ƒ“ƒXƒ^[‚ū‚ŊÁ‚·‚æ‚Ī‚É•ÏXB +Eƒ\[ƒXÅ“K‰ŧ‚âƒXƒLƒ‹ŠÖŒW‚ĖŨ‚Đ‚ĒCģ‘―”B + (doc/) + conf_ref.txt CģB + db_ref.txt CģB + (conf/) + battle_athana.conf CģB + atcommnad_athena.conf CģB + (db/) + item_db.txt CģB + skill_db.txt CģB + (login/) + parse_fromchar() CģB + (map/) + map.h CģB + clif.c + clif_closevendingboard()Aclif_parse_VendingListReq() CģB + clif_mob0078()Aclif_mob007b()Aclif_pet0078()Aclif_pet007b() CģB + skill.h CģB + skill.c + skill_check_condition()Askill_castend_pos2() CģB + skill_castend_damage_id()Askill_castend_nodamage_id() CģB + skill_castend_id()Askill_status_change_start()Askill_castfix() CģB + skill_delayfix()Askill_check_unit_range_sub() CģB + skill_check_unit_range()Askill_castend_pos()Askill_stop_dancing() CģB + skill_unit_onplace()Askill_readdb()Askill_timerskill()Askill_blown() CģB + skill_check_unit_range2_sub()Askill_check_unit_range2() ’Į‰ÁB + skill_get_maxcount() ’Į‰ÁB + mob.c + mobskill_castend_id()Amobskill_castend_pos()Amob_deleteslave() CģB + mob_stop_walking()Amob_walk()Amob_damage() CģB + pc.c + pc_calcstatus()Apc_checkskill()Apc_stop_walking() CģB + pc_walk()Apc_damage() CģB + npc.c + npc_touch_areanpc() CģB + pet.c + pet_stop_walking() CģB + script.c + buildin_killmonster()Abuildin_killmonster_sub() CģB + battle.h + battle.c + battle_calc_magic_attack()Abattle_get_flee()Abattle_get_flee2() CģB + battle_get_adelay()Abattle_get_amotion()Abattle_get_max_hp() CģB + battle_get_hit()Abattle_get_critical()Abattle_get_atk2() CģB + battle_damage()Abattle_config_read() CģB + atcommand.h CģB + atcommand.c CģB + +-------------------- +//0824 by ‚Ō‚ī‚Ü‚ņ + +EƒZƒCƒtƒeƒBƒEƒH[ƒ‹Eƒjƒ…[ƒ}‚Ė‘ŦŒģ’u‚Ŧ‚ЂłŦ‚ȂЂÁ‚―–â‘čCģB +EƒGƒ“ƒyƒŠƒEƒ€‚Ƀq[ƒ‹“™‚ĖŽx‰‡ƒXƒLƒ‹‚ŠŒø‚ǂĂǂ―–â‘čCģB +E“Ž‹Zę‚Ń‚ƒ“ƒXƒ^[ƒŠƒZƒbƒg‚ЂłŦ‚ȂЂÁ‚―–â‘čCģB +@killmonster‚Í"killmonster ,"‚Æ‹Lq‚ĩ‚Ä +@ŠY“–eventname‚ðŽ‚Âƒ‚ƒ“ƒXƒ^[‚ðíœ‚ĩ‚Ü‚·‚Š +@eventname‚ÉAll‚Æ“ü‚ę‚邯ŠY“–MAP‚Ė‘Sƒ‚ƒ“ƒXƒ^[‚ðÁ‹Ž‚·‚邿‚΂ɂĩ‚Ü‚ĩ‚―B + + (map/) + skill.c + skill_check_unit_range_sub()Askill_castend_nodamage_id() CģB + script.c + buildin_killmonster()Abuildin_killmonster_sub() CģB + (conf/npc/) + npc_event_tougijou.txt CģB + +-------------------- +//0823 by Kalen + +E“Ž‹Zęƒf[ƒ^‘ĩ‚Á‚―‚˂ŁAŠŪŽ + conf/npc/npc_event_tougijou.txt + ‚―‚ū‚ĩA‚ą‚ŋ‚į‚Ń`ƒFƒbƒN‚ĩ‚―‚Æ‚ą‚ëkillmonster‚Ђ΂܂­‚Ē‚Đ‚ļA + Žļ”sAŽžŠÔØ‚ę‚ĩ‚―ę‡ƒ‚ƒ“ƒXƒ^[ƒŠƒZƒbƒg‚Šo—ˆ‚Ü‚đ‚ņB + ƒCƒxƒ“ƒg‚ŠÝ’č‚ģ‚ę‚Ä‚Ē‚éƒ‚ƒ“ƒXƒ^[‚͏ˆ—‚Å‚Ŧ‚Č‚Ē‚Ė‚Đ‚ÆŽv‚ǂ܂ĩ‚―‚Š + Agit‚Ė‚Ų‚Ī‚ĖƒGƒ“ƒy‚ĖKillmonster‚Í‚ŋ‚á‚ņ‚Æ“Ū‚Ē‚Ä‚Ü‚·‚ĩc + Œīˆö•Š‚Đ‚é•û‚ĻŠč‚Ē‚ĩ‚Ü‚·<(_ _)> + +Egon_test‚Ėmapflag’Į‰Á + conf/mapflag.txt + +Emob_dbXV + 1419`1491‚ŠŠų‘ķ‚ĖMob‚Ė’č‹`‚΂Ђč‚Ȃ˂ŒĮ‰Á‚ĩ‚Ü‚đ‚ņ‚Å‚ĩ‚―‚ЁA + ’ē‚Ũ‚―Š“Ž‹Zę‚ĖMob‚Ėƒf[ƒ^‚Å‚ ‚邹‚Æ‚Š•Š‚Đ‚č‚Ü‚ĩ‚―(Drop‚ð˜M‚Á‚―‚ā‚Ė) + –{ŽI‚ł͈łč‚ņ‚ē‚Š•ņ‚ģ‚ę‚Ăǂ܂·B‚ЁA‚ą‚ŋ‚į‚ÍDrop‹ó”’‚ŏˆ—‚ĩ‚Ü‚ĩ‚―B + ƒNƒ‰ƒCƒAƒ“ƒgã‚ł͓Ŋ–ž‚Å‚ĩ‚―‚ЁA‹æ•Ƃ˂―‚ßÚ“Š‚ÉG_‚ð‚‚Ŋ‚Ä‹æ•Ę‚ĩ‚Ă܂·B + mob_skill_db‚ ‚肊‚Æ‚Ī‚ē‚ī‚ǂ܂ĩ‚―Ŧ + +-------------------- +//0822 by ‚Ō‚ī‚Ü‚ņ + +E‰‰‘tƒXƒLƒ‹‚ł˕âģ‚ðƒ_ƒ“ƒT[‚É‚ā“K—pB +EƒTƒ“ƒNƒ`ƒ…ƒAƒŠƒoƒOCģB +EKalen‚ģ‚ņ‚ĖMOBƒXƒLƒ‹ƒf[ƒ^ƒx[ƒX‚ð‚܂Ƃ߂ƂŦ‚Ü‚ĩ‚―B + + (map/) + skill.c + skill_status_change_start()Askill_unit_onplace() CģB + battle.c + battle_get_critical()Abattle_get_hit() CģB + pc.c + pc_calcstatus() CģB + +-------------------- +//0821 by huge + +EƒI[ƒgƒXƒyƒ‹‰žŽĀ‘•B +Etimer‚Å”ŧ’č‚ĩ‚æ‚Ī‚Đ‚Æ‚āŽv‚ǂ܂ĩ‚―‚ЁA‘•”õ‚Ė–ģŒĀƒI[ƒgƒXƒyƒ‹‚ĖˆŨ‚Ésc_[].val1‚ÅŒĐ‚Äƒ}ƒXB +Ebonus2 bAutoSpell’Į‰ÁBˆę‰ž‚Į‚ņ‚ČƒXƒLƒ‹‚Å‚āŽw’č‚Å‚Ŧ‚邿‚΂ɂĩ‚Ă܂·‚Š(”ԍ†‚Ískill_treeŽQÆ) + skill_castend_damage_id‚Ėƒ^ƒCƒvˆČŠO‚ĖƒXƒLƒ‹‚ðŽw’č‚ĩ‚Ȃǂł­‚ū‚ģ‚ǁB + ”­“ŪŠm—Ķ‚ÍALv1:50%ALv2:35%ALv3:15%A‚ŧ‚ęˆČã‚Í 5%ŒÅ’č‚Å‚·B + ‚ ‚ƁAƒXƒLƒ‹ƒŒƒxƒ‹‚āŽw’č‚Å‚Ŧ‚Ü‚·‚ЁAŒĀŠE‚ð’ī‚Ķ‚―”Žš‚ð“ü‚ę‚邯’Ä‚ŋ‚é‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņB +Ą‘‚Ŧ•û—áFiƒtƒ@ƒCƒAƒ{ƒ‹ƒgLv3‚ĖŽžjbonus2 bAutoSpell 19,3; + + (db/) + const.txt CģB + (map/) + battle.c + battle_weapon_attack() CģB + clif.h + clif.c + packet_len_table CģB + clif_autospell() ’Į‰ÁB + clif_parse_AutoSpell() ’Į‰ÁB + map.h CģB + pc.c + pc_bonus2() CģB + pc_equipitem() CģB + pc_unequipitem() CģB + skill.h + skill.c + skill_castend_nodamage_id() CģB + skill_autospell() ’Į‰ÁB + skill_status_change_end() CģB + skill_status_change_start() CģB + status_change‚Ė”Ô†ƒe[ƒuƒ‹CģB + +-------------------- +//0820 by ‚Ō‚ī‚Ü‚ņ + +EƒAƒhƒŠƒu‚ĖƒƒbƒZ[ƒW‚Š“ü‚Á‚ĂȂЂÁ‚―‚Ė‚ÅCģ +Eƒo[ƒh‚ˉ‰‘tƒXƒLƒ‹‚ÅŠyŠí‚Ė—ûK‚âŽĐƒXƒe[ƒ^ƒX‚Ė•âģ‚Š“ü‚Á‚ĂȂЂÁ‚―‚Ė‚ðCģB +@struct status_change‚Ėval‚Š3‚•K—v‚ū‚Á‚―‚Ė‚Å(val4‚Í—\–ņ‚ģ‚ę‚Ä‚―‚Á‚Û‚Ē‚Ė‚Å)val5‚ð’Į‰Á‚ĩ‚Ü‚ĩ‚― + (map/) + map.h CģB + skill.c + skill_status_change_start()Askill_castend_nodamage_id() CģB + skill_castfix()Askill_delayfix() CģB + battle.c + battle_get_flee()Abattle_get_max_hp() CģB + battle_get_adelay()Abattle_get_amotion() CģB + battle_calc_misc_attack() CģB + pc.c + pc_calcstatus() CģB + +-------------------- +//0819 by Kalen + +EƒRƒ“ƒƒ“(NPCAWarp)Cģ + conf/npc/npc_town_gonryun.txt(ˆÄ“āˆõ•â[) + conf/npc/npc_event_tougijou.txt + conf/warp/npc_warp_gonryun.txt(h2F‚ÆD2F‚Č‚Į) + +EMOBCģ + conf/mob/npc_monster30.txt(ˆę”―–Ø–Č•s‘Ŧ’Į‰Á) + conf/mob/npc_monster35.txt(ƒRƒ“ƒƒ“Mob’Į‰Á) + +EDBCģ + db/mob_db.txt(ƒRƒ“ƒƒ“[‘S‚Ä]+ƒEƒ“ƒoƒ‰[’č‹`]’Į‰ÁBAspeed“™“K“–‚Å‚·B‚Ü‚Ÿ–ģ‚Ē‚æ‚č‚Ü‚ĩ‚Æ‚Ē‚Ī‚ą‚Æ‚Å) + db/mob_skill_db.txt(î•ņ‚ðŒģ‚ɃRƒ“ƒƒ“‚ĖMob•Š’Į‰Á) + db/item_db.txt(Athena DB Project 2/19 21:10DL•Š) + +-------------------- +//0818 by ‚ ‚ä‚Ý + +EƒeƒŒƒ|[ƒgƒXƒLƒ‹Lv1‚ŁA‘I‘ðƒEƒCƒ“ƒhƒE‚Šo‚Ä‚ą‚Č‚ĒƒoƒO‚ðCģB +Ed—Ę‚Š90“ˆČã‚Ėę‡‚Å‚āAˆę•”‚ĖƒXƒLƒ‹‚ŠŽg—p‰Â”\‚ū‚Á‚―ƒoƒO‚ðCģB +E@allskillƒRƒ}ƒ“ƒh‚ĖCģ‚Æ‚ĐB + + (conf/) + msg_athena.conf CģB + (map/) + atcommand.c + atcommand() CģB + pc.c + pc_allskillup() CģB + skill.c + skill_castend_nodamage_id() CģB + skill_check_condition() CģB + +-------------------- +//0817 by huge + +EƒfƒBƒ{[ƒVƒ‡ƒ“‚Ėˆ—Cģ + EŽ…‚Ėo‚ĩ•û‚̓pƒP‚ð–á‚Á‚―‚˂łłŦ‚Ü‚ĩ‚―‚ЁAƒAƒCƒRƒ“‚Ė•û‚͂܂ū•Š‚Đ‚į‚Ȃǂł·B + E‚ ‚ƁAŽĐ•Š‚ĖŠÂ‹Ŧ‚Å2lˆČã‚É“ŊŽž‚ÉŠ|‚Ŋ‚ę‚ȂЂÁ‚―‚˂ŁA•Ą”l‚ɂЂŊ‚―ę‡ + ‘―•Š0‚Ė—…—ņ‚ĖŠ‚É2l–ځA3l–ځEEE‚ĖID‚Š“ü‚é‚ņ‚ķ‚á‚Č‚Ē‚Đ‚Č‚Ÿ‚Æ‚Ē‚Ī—\‘Ђłâ‚Á‚Ă܂·B +EƒnƒCƒfƒBƒ“ƒO’†A‹y‚ŅƒNƒ[ƒLƒ“ƒO’†‚Ƀ_ƒ[ƒW‚ðŽó‚Ŋ‚邯‰ð‚Ŋ‚邿‚ĪCģB + + (map/) + battle.c + battle_damage() CģB + clif.c + clif_devotion() CģB + pc.c + pc_walk() CģB + skill.c + skill.h + skill_castend_nodamage_id() CģB + skill_devotion() skill_devotion2() CģB + skill_devotion3()skill_devotion_end() CģB + +-------------------- +//0816 by ‚Ō‚ī‚Ü‚ņ +Eƒtƒ@ƒCƒA[ƒEƒH[ƒ‹3–‡§ŒĀŽĀ‘•B +Ed‚Ë’u‚Ŧ‹ÖŽ~‚ðƒvƒŒƒCƒ„[Eƒ‚ƒ“ƒXƒ^[‚É‚ā“K—p‚·‚邿‚Ī‚ÉCģB +EŠĶ‚ĒƒWƒ‡[ƒNEƒXƒNƒŠ[ƒ€‚ĖPvPEGvG‚ŁAŒø‰Ę‚ŠŽĐ•Š‚É‚ā‹y‚ÔƒoƒOCģB +@‚Â‚Ē‚Å‚ÉPTƒƒ“ƒo[‚ɂ͒áŠm—Ķ‚Å‚Đ‚Đ‚é‚Ė‚āŽĀ‘•B +EŠĶ‚ĒƒWƒ‡[ƒNEƒXƒNƒŠ[ƒ€EƒXƒsƒAƒu[ƒƒ‰ƒ“‚ĖƒfƒBƒŒƒCCģB +@ƒ~ƒ…[ƒWƒJƒ‹ƒXƒgƒ‰ƒCƒNE–‚ŋ‚ˉrĨŽžŠÔCģB + (map/) + skill.c + skill_check_condition()Askill_check_unit_range_sub() CģB + skill_check_unit_range()Askill_delunitgroup() CģB + skill_castend_pos2()Askill_frostjoke_scream() CģB + map.h CģB + (db/) + cast_db.txt CģB + +-------------------- +//0815 by Ž€_ + +E0814‚ĖƒoƒOCģ‚ƍŨ‚Đ‚ĒCģB +Emapflag monster_noteleportAnoreturn’Į‰Á‚Ænoteleport‚ĖŽd—l•ύXB +noteleport‚̓vƒŒƒCƒ„[‚ĖƒnƒG‚ƃeƒŒƒ|[ƒgAƒ[ƒvƒXƒLƒ‹‚ː§ŒĀ‚ð‚·‚é‚Š’ą‚͐§ŒĀ‚ĩ‚Ȃǂæ‚Ī‚É•ÏXAmonster_noteleport‚̓‚ƒ“ƒXƒ^[‚ĖƒeƒŒƒ|[ƒg‚ð§ŒĀ‚·‚é•Ļ‚Ånoreturn‚Í’ą‚ĖŽg—p‚ð§ŒĀ‚·‚é•ςł·B‚―‚ūmapflag.txt‚͏Cģ‚ĩ‚Ăǂ܂đ‚ņB(noreturn‚ðÝ’č‚·‚é•K—v‚Š‚ ‚č‚Ü‚·B) +Ebattle_athena.conf‚Ėplayer_auto_counter_type‚Æmonster_auto_counter_type‚Аā–ū’Ę‚č‚É‹@”\‚ĩ‚ȂЂÁ‚―–â‘čCģB +Ebattle_athena.conf‚Éplayer_cloak_check_wall ‚Æmonster_cloak_check_wall ’Į‰ÁB +Eƒ{ƒXƒ‚ƒ“ƒXƒ^[‚Ė”FŽŊ‚ðMVPŒoŒą‚Æmode‚Ė0x20‚ōs‚Č‚Á‚Ăǂ―•Ļ‚ðmode‚ū‚Ŋ‚É‚·‚邿‚Ī‚É•ÏXB(–{ŽI‚ĖƒCƒxƒ“ƒgƒ‚ƒ“ƒXƒ^[‚ÅMVPŒoŒą‚ð‚­‚ę‚邊ó‘ÔˆŲí‚ÉŠ|‚Đ‚é‚â‚Â‚Š‚ ‚Á‚―‚į‚ĩ‚­CģBHP‚Š1‰­‚ā‚ ‚Á‚ēłķ‚á‚Č‚Ē‚Æ“|‚đ‚ȂЂÁ‚―‚į‚ĩ‚ǂ˂Å...) ‚‚܂čMVPŒoŒą‚Š‚ ‚Á‚Ä‚āƒ{ƒXˆĩ‚Ē‚Å‚Í‚Č‚Ēƒ‚ƒ“ƒXƒ^[‚ðė‚邹‚Æ‚ā‰Â”\‚Å‚·B +Eó‘ÔˆŲí‚ÉŠ|‚Đ‚Á‚―ó‘Ô‚ÅÚ‘ąØ’f‚ЂłŦ‚Ȃǂæ‚Ī‚ÉCģB(‚―‚ūƒ^ƒCƒ}[ƒ`ƒFƒbƒN‚Å‚Í‚Č‚­opt1‚Æopt2‚ðƒ`ƒFƒbƒN‚·‚é‚ū‚Ŋ‚Č‚Ė‚ÅŒĐ‚―–Ú‚Š•Ï‚í‚éó‘ÔˆŲí‚ū‚Ŋ‚É“K—p‚ģ‚ę‚Ü‚·B) +EĄ‚ģ‚į‚Å‚·‚А˂ĖyareCVS(2003”N9ŒŽƒo[ƒWƒ‡ƒ“)‚Å“K—p‚ģ‚ę‚Ăǂ―ƒ‰ƒO‚ðŒļ‚į‚·ˆŨ‚Ėˆ—‚ð“ü‚ę‚Ă݂܂ĩ‚―B‚Į‚ņ‚ČŒø‰Ę‚Š‚ ‚é‚Đ‚ÍŽĐ•Š‚Å‚ā‚í‚Đ‚č‚Ü‚đ‚ņB(‚―‚ū“ü‚ę‚Ă݂―‚ū‚Ŋ...) +EƒV[ƒYƒ‚[ƒh‚ÆPVP‚ŋ֎~‘•”õ‚ŠŠO‚ģ‚ę‚Ä‚āŒø‰Ę‚ŠÁ‚Ķ‚Č‚ĒƒoƒOCģB +E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģB +E–ĒƒeƒXƒg‚˕ςā‚ЂȂ肠‚č‚Ü‚·B + (common/) + socket.c + connect_client()Amake_listen_port()Amake_connection() CģB + (conf/) + battle_athena.conf CģB + (doc/) + conf_ref.txt CģB + (map/) + battle.h CģB + battle.c + battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CģB + battle_calc_magic_attack()Abattle_config_read() CģB + skill.c + skill_unit_onplace()Askill_status_change_timer() CģB + skill_castend_nodamage_id()Askill_use_id() CģB + skill_check_unit_range_sub()Askill_timerskill() CģB + skill_additional_effect()Askill_attack()Askill_status_change_start() CģB + skill_check_cloaking() CģB + clif.c + clif_item_identify_list()Aclif_parse_QuitGame()Aclif_GM_kick() CģB + pc.c + pc_attack_timer()Apc_isUseitem()Apc_checkitem CģB + mob.c + mob_warp()Amob_walk()Amob_attack()Amob_target() CģB + mob_ai_sub_hard_activesearch()Amob_ai_sub_hard_mastersearch() CģB + mob_ai_sub_lazy()Amob_damage() CģB + npc.c + npc_parse_mapflag() CģB + map.h CģB + +-------------------- +//0814 by Ž€_ + +EƒoƒOCģ‚ƍŨ‚Đ‚ĒCģB +Ebattle_athena.conf‚Ėplayer_auto_counter_type‚Æmonster_auto_counter_type‚ĖŽd—l‚ð•ύXB(–{ŽI‚ł̓XƒLƒ‹”―Œ‚‚͂łŦ‚Č‚Ē‚Ý‚―‚Ē‚Č‚Ė‚ÅÝ’č‚Å‚Ŧ‚邿‚Ī‚É•ÏXB) +E“łƐΉŧ‚É‚æ‚éHPŒļ­‚ð–{ŽI‚ɍ‡‚í‚đ‚ďCģ‚ÆŠŪ‘SÎ‰ŧ‚Ė‘O‚Å‚Í“Ū‚Ŋ‚邿‚Ī‚É•ÏXB(“Å‚Í1•b‚É3+Å‘åHP‚Ė1.5%(ƒ‚ƒ“ƒXƒ^[‚Í0.5%)AÎ‰ŧ‚Í5•b‚É1%) –ĒƒeƒXƒg +EMVPŒoŒą’l‚Í–{ŽI‚Å‚Ē‚Â‚ā“ü‚邿‚΂ɂȂÁ‚―‚Ė‚ÅCģB +EƒXƒeƒB[ƒ‹‚ĖŠm—Ķ‚ð­‚ĩ‰š‚°B +Eƒ‚ƒ“ƒXƒ^[‚ĖƒnƒCƒfƒBƒ“ƒOAƒNƒ[ƒLƒ“ƒOAƒ}ƒLƒVƒ}ƒCƒYƒpƒ[‚Š‚·‚Ū‚É‰ðœ‚ģ‚ę‚é–â‘čCģB(ƒ‚ƒ“ƒXƒ^[‚É‚ÍSP‚ЂȂǂđ‚ǂł·BŽæ‚čŠļ‚Ķ‚ļƒNƒ[ƒLƒ“ƒO‚̓nƒCƒfƒBƒ“ƒO‚ĖŽžŠÔ‚ð“K—p‚ĩ‚ă}ƒLƒVƒ}ƒCƒYƒpƒ[‚̓EƒGƒ|ƒ“ƒp[ƒtƒFƒNƒVƒ‡ƒ“‚ĖŽžŠÔ‚ð“K—p‚ĩ‚Ü‚·B) –ĒƒeƒXƒg +EƒTƒ“ƒNƒ`ƒ…ƒAƒŠ‚ðl”‚Đ‚į‰ņ”‚ɕύXB +EPVP‚ÅŽĐ•Š‚Ėƒgƒ‰ƒbƒv‚ɍUŒ‚‘ÎÛ‚É‚Č‚é‚æ‚Ī‚É•ÏXB +Evitƒyƒiƒ‹ƒeƒB‚Ė“K—p‚ŏæŽZ–hŒä‚āŒļ‚邿‚Ī‚É•ÏXB(–ĒƒeƒXƒg) +E‚ŧ‚Ė‘žŨ‚Đ‚ĒƒoƒOCģB + (conf/) + battle_athena.conf + (doc/) + conf_ref.txt + (db/) + skill_db.txt + (map/) + map.h CģB + script.c + buildin_itemskill() CģB + mob.c + mob_can_move()Amob_ai_sub_hard()Amob_damage() CģB + skill.c + skill_unitsetting()Askill_unit_onplace()Askill_castend_nodamage_id() CģB + skill_attack()Askill_status_change_start() CģB + skill_status_change_timer()Askill_status_change_timer_sub() CģB + skill_addtimerskill()Askill_cleartimerskill() CģB + skill_check_unit_range_sub() CģB + battle.c + battle_calc_damage()Abattle_check_target() CģB + battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CģB + battle_calc_pc_weapon_attack() CģB + pc.c + pc_steal_item() CģB + clif.c + clif_parse_WalkToXY()Aclif_closevendingboard() CģB + +-------------------- +//0813 by Kalen +EƒRƒ“ƒƒ“NPC’Į‰Á + conf/npc/npc_town_gonryun.txt(ƒNƒGƒXƒg‚Í•s–ū + conf/npc/npc_town_kafra.txt + conf/npc/npc_town_guide.txt + (conf/npc/npc_event_tougijou.txt)ƒf[ƒ^•s‘Ŧ + +E‘SGvGMAP‚ĖMobƒf[ƒ^’Į‰Á + conf/mob/npc_monster_gvg.txt + +ETESTmob‚Đ‚įƒeƒXƒgƒMƒ‹ƒhƒtƒ‰ƒOˆÚ“Ū + conf/gvg/TEST_prtg_cas01_AbraiJ.txt + +-------------------- +//0812 by huge + +EƒfƒBƒ{[ƒVƒ‡ƒ“‚ˉžŽĀ‘• + EƒpƒPƒbƒg‚Š‘S‘R•Š‚Đ‚č‚Ü‚đ‚ņ‚Å‚ĩ‚―‚˂ŁA + Â‚ĒŽ…‚āo‚ȂǂĩAƒAƒCƒRƒ“‚·‚į•\ŽĶ‚Å‚Ŧ‚Ü‚đ‚ņB + Eƒ_ƒˆÚ“Ū‚ū‚Ŋ‚ŁAƒmƒbƒNƒoƒbƒNEƒI[ƒgƒK[ƒh‚Í“K‰ž‚ģ‚ę‚Ü‚đ‚ņB + + (map/) + clif.c + clif.h + clif_devotion() ’Į‰ÁB + skill.c + skill_castend_nodamage_id() CģB + skill_devotion() skill_devotion2() ’Į‰ÁB + skill_devotion3() skill_devotion_end() ’Į‰ÁB + skill_status_change_end() CģB + skill_status_change_start() CģB + skill_brandishspear_first() CģB + skill_brandishspear_dir() CģB + pc.c + pc_authok() CģB + pc_walk() CģB + pc_damage() CģB + battle.c + battle_damage() CģB + map.h + map_session_data{} + struct square dev ’Į‰ÁB + skill.h ‚Ėbrandish‚ðsquare‚ɉü–ž‚ĩA + (common/) mmo.h ‚ÉˆÚ“Ū + +-------------------- +//0811 by ‚Ō‚ī‚Ü‚ņ + +EUé’†‚Í’ą‚ŠŽg‚͂邿‚Ī‚ÉCģ +EŠĶ‚ĒƒWƒ‡[ƒNEƒXƒNƒŠ[ƒ€ŽĀ‘•(PTƒƒ“ƒo[‚É’áŠm—͂ʼn]X‚Í–ĒŽĀ‘•‚Å‚·) +EGVGƒXƒNƒŠƒvƒg‚ðCģ(ŽŽsöŒë‚ĩ‚·‚ނĂĮ‚ą‚ð‚Į‚Ī‚ĩ‚―‚ĐŠo‚͂Ă܂đ‚ņc) +@GVGƒXƒNƒŠƒvƒg‚ÉŠÖ‚ĩ‚Ăł·‚ЁAŠų’m‚ĖƒoƒO‚Š‚ ‚č‚Ü‚· +@‚ŧ‚ę‚́Ač—ĖƒMƒ‹ƒhƒ}ƒXƒ^[ˆČŠO‚ĖPC‚ЁAč—ĖƒMƒ‹ƒhƒ}ƒXƒ^[‚æ‚萿‚ÉNPC‚ɘb‚ĩŠ|‚Ŋ‚邯 +@ƒ}ƒbƒvƒT[ƒo‚Š—Ž‚ŋ‚邯‚ǂ΂ā‚˂ł·B +@‚ą‚ę‚́AgetguildmasterEgetguildname‚ðŽg—p‚ĩ‚ĂǂéƒXƒNƒŠƒvƒg‚·‚Ũ‚ĂɋN‚ą‚č“ū‚邹‚Ƃł ‚č +@æ‚ɐč—ĖƒMƒ‹ƒhƒ}ƒXƒ^[ˆČŠO‚Řb‚ĩŠ|‚Ŋ‚邯Aguild_search‚Љ―ŒĖ‚Đ(ŠY“–ID‚ĖƒMƒ‹ƒh‚Š‚ ‚é‚É‚āŠÖ‚í‚į‚ļ) +@NULL‚ð•Ô‚·Ž–‚É‹Nˆö‚ĩ‚Ü‚·B +@ģ’žƒXƒNƒŠƒvƒgŠÖŒW‚͂悭‚í‚Đ‚Á‚ĂǂȂǂ˂ŁA‚ą‚ę‚ÍŽ„‚Ė‹Zp‚ł͏Cģ‚Ė‚ĩ‚æ‚΂Ђ ‚č‚Ü‚đ‚ņB +@Žb’č“I‚Č‘Îˆ‚Æ‚ĩ‚ÄNULL‚ð•Ô‚ĩ‚ÄMAPŽI‚Š—Ž‚ŋ‚é‚­‚į‚ǂȂį•ķŽš—ņunullv‚ð•Ô‚·‚æ‚΂ɂĩ‚Ü‚ĩ‚―B + + (map/) + skill.c + skill_frostjoke_scream() ’Į‰ÁB + skill_additional_effect()Askill_timerskill() CģB + skill_castend_nodamage_id() CģB + pc.c + pc_isUseitem() CģB + script.c + buildin_getpartyname()Abuildin_getguildname() CģB + buildin_getguildmaster() CģB + (db/) + cast_db.txt CģB + (conf/gvg/) + ev_*.txtˆČŠO‚Ėtxt‘S‚Ä‚ðCģB + +-------------------- +//0810 by đ + +EMVP‚Ėˆ—‚ð•ύXB(Šm—Ķ‚Å10000‚Š‚ ‚Á‚Ä‚āA‘ž‚ĖƒAƒCƒeƒ€‚āo‚邿‚΂ɂĩ‚Ü‚ĩ‚―) +EMVP‚Å‘•”õ‚ð“üŽč‚ĩ‚―ę‡AŠÓ’čÏ‚݂œüŽč‚ĩ‚Ăǂ―–â‘č‚ðCģB +EƒXƒLƒ‹‰rĨ’†‚ɃCƒO—t‚âŠg‘å‹ū‚ðŽg‚Ī‚ÆƒvƒŒ[ƒ„[‚ĖŽg—p‰Â”\‚Č +@‘SƒXƒLƒ‹‚ĖLV‚Š1‚ɌŒč‚ģ‚ę‚Ä‚ĩ‚܂Ζâ‘č‚ðCģB +EƒI[ƒNƒA[ƒ`ƒƒ[“™Aƒ‚ƒ“ƒXƒ^[‚É‚æ‚éãЃXƒLƒ‹‚Ė—LŒøŠúŒĀ‚ŠØ‚ę‚―‚Æ‚Ŧ‚ɁA +@Ý’u—pƒgƒ‰ƒbƒv‚Šo‚é–â‘č‚ðCģB +EƒƒOƒCƒ“ƒGƒ‰[(ƒpƒXƒ[ƒh“ü—̓~ƒX‚âBAN“™)‚ĖƒGƒ‰[ƒƒbƒZ[ƒW‚Š +@ģ‚ĩ‚­ƒNƒ‰ƒCƒAƒ“ƒg‚É’Ę’m‚ģ‚ę‚Ȃǖâ‘č‚ðCģB +E‚ŧ‚Ė‘žŨ‚Đ‚ČCģB + (common/) + version.h CģB + (login/) + login.c + parse_login() CģB + parse_fromchar() CģB + (char/) + int_guild.c + mapif_parse_GuildLeave() CģB + (map/) + itemdb.c + itemdb_read_itemnametable() CģB + atcommand.c + atcommand() CģB + skill.c + skill_unit_timer_sub() CģB + script.c + buildin_itemskill() CģB + mob.c + mob_damage() CģB + +-------------------- +//0809 by Kalen + +E“ŒŒÎéƒ[ƒvƒ|ƒCƒ“ƒgCģ +EƒAƒ}ƒcŽõŽi‰ŪCģ +EƒoƒOƒXƒŒ129‚Ė–â‘čCģH + + +-------------------- +//0808 by ‚Ō‚ī‚Ü‚ņ + +E‘•”õ§ŒĀ‚ŠãŽč‚­“Ūė‚ĩ‚Ä‚Ē‚Č‚Đ‚Á‚―‚Ė‚ðCģB +Eƒ‚ƒ“ƒnƒEƒMƒ‹ƒh‚ÍGvGŠJŽnŽž‚ɍė‚į‚ę‚邿‚Ī‚É•ÏXB +EGvGŠJŽnŽž‚ÉŠY“–ƒ}ƒbƒv‚ɂǂé‘SPC(č—ĖƒMƒ‹ƒhˆõˆČŠO)‚ðƒZ[ƒuƒ|ƒCƒ“ƒg‚É–ß‚·‚æ‚Ī‚ÉCģB +Eƒ‚ƒ“ƒnƒEƒMƒ‹ƒhƒAƒWƒg‚ŃGƒ“ƒy‚ð‰ó‚·‚ƁAƒ‚ƒ“ƒnƒE‚ŠÁ‚͂邿‚Ī‚ÉCģB +@‚ą‚ĖCģ‚É”š‚Á‚Ämaprespawnguildid‚Ėˆø”‚Ėflag‚ĖŽd—l‚ð•ύX‚ĩ‚Ü‚ĩ‚― +@flag‚̓rƒbƒgƒtƒ‰ƒO‚ɂȂčA +@@1ƒrƒbƒg–ځFč—ĖƒMƒ‹ƒhˆõ‚ðƒZ[ƒuƒ|ƒCƒ“ƒg‚É–ß‚·‚Đ +@@2ƒrƒbƒg–ځFč—ĖƒMƒ‹ƒhˆõˆČŠO‚ðƒZ[ƒuƒ|ƒCƒ“ƒg‚É–ß‚·‚Đ +@@3ƒrƒbƒg–ځFƒGƒ“ƒyEƒK[ƒfƒBƒAƒ“ˆČŠO‚ĖMOB‚ðÁ‚·‚Đ +@‚Ē‚ļ‚ę‚āA0=NOA1=YES‚ɂȂč‚Ü‚· + + (conf/gvg/) + ev_agit_aldeg.txt CģB + ev_agit_gefg.txt CģB + ev_agit_payg.txt CģB + ev_agit_prtg.txt CģB + TEST_prtg_cas01_AbraiJ.txt CģB + TEST_prtg_cas01_mob.txt CģB + (map/) + pc.c + pc_checkitem() CģB + script.c + buildin_maprespawnguildid_sub() CģB + buildin_maprespawnguildid() CģB + +-------------------- +//0807 by Ž€_ + +E0805‚ÅFD_SETSIZE‚ðCģ‚·‚鏊‚ðŠÔˆá‚Á‚―‚Ė‚ÅCģ‚ĩ‚Ü‚ĩ‚―B56–žŽ~‚Ü‚č‚ŠŽĄ‚邯Œū‚Ī•ÛØ‚Í‚ ‚č‚Ü‚đ‚ņ‚Š... +Eˆę“x‚É“]‘—‚·‚éƒpƒPƒbƒg‚Ė’·‚ģ‚ð32768bytes‚Đ‚į65536bytes‚ɕύXB + (common/) + mmo.h CģB + socket.h CģB + socket.c CģB + +-------------------- +//0806 by Kalen + +EagitƒtƒHƒ‹ƒ_ĻgvgƒtƒHƒ‹ƒ_‚ֈڍs + ”ˆÓŒĐ‚ ‚邯Žv‚ǂ܂·‚ЁAjRO‚ł͍Uéí‚ðgvg‚ÆŒÄ‚Ô‚ą‚Æ‚Šˆę”Ę“I‚Ȃ˂łą‚ŋ‚į‚É“‡‚ĩ‚Ü‚·B + conf/gvg/ + ###agitƒtƒHƒ‹ƒ_‚ðíœ‚ĩ‚Ä‚­‚ū‚ģ‚Ē###@(Please delete the "agit" folder.) + getmaster‘Ήž + +EƒAƒ}ƒc‚ĖŽõŽi‰ŪƒoƒOCģ‚ƍ€–Ú’Į‰Á(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)‚ɂ͎}AƒeƒŒƒ|‚ŠŽg‚͂܂· + ŽžŠÔ‘O‚ÉŽ}ŽT‚ŦA‚Ü‚ūŽĀ‘•‚ĩ‚Ă܂đ‚ņ‚Е󔠒DŽæ‚ā‰Â”\‚ɂȂé‚Ė‚ÅŽ}AƒeƒŒƒ|‚͏í‚ÉŽg—p•s‰Â‚Å–â‘č‚Č‚Ē‚ÆŽv‚ǂ܂·B + +Œã‘O‰ņ‘‚Ŧ–Y‚ę‚Ü‚ĩ‚―‚ЁAmomotaroƒCƒxƒ“ƒg‚Å‚·‚ЁA‚ŋ‚å‚Á‚Æ•sˆĀ’č‚ȉ”\Ŧ‚Š‚ ‚č‚Ü‚·B +Œīˆö‚Š‚í‚Đ‚į‚Ȃǂ˂ł·‚ЁAƒ‹[ƒv‚ĩ‚Ä‚é‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņBˆę‰žƒRƒƒ“ƒgƒAƒEƒg‚ĩ‚Ä‚ ‚č‚Ü‚· + +-------------------- +//0805 by Ž€_ + +E•ķŽš‰ŧ‚ŊCģB +EƒV[ƒYƒ‚[ƒh‚Å‚ĖƒeƒŒƒ|[ƒg‹ÖŽ~‚âŒÃ–Ø‚ĖŽ}Žg—p‹ÖŽ~‚̓\[ƒXƒŒƒxƒ‹‚Å +ˆ—‚ĩ‚Ăǂé‚Ė‚Åmapflag.txt‚Đ‚įíœB(ˆö‚Ý‚Énopenalty‚āƒ\[ƒXƒŒƒxƒ‹‚Å +ˆ—‚ĩ‚Ăǂ܂·B) +Ebattle_athena.conf‚Ėagit_eliminate_time‚ðgvg_eliminate_time‚ɕύXB +E@ƒRƒ}ƒ“ƒh@GMíœB +EFD_SETSIZE‚Đcygwin‚Å64‚ɐݒč‚ģ‚ę‚Ăǂ―‚Ė‚đ‚Ē‚ÅÅ‘åÚ‘ąl”‚Š56–ž‚ð +‰z‚͂邯ƒ}ƒbƒvŽI‚Š–ģŒĀƒ‹[ƒv‚·‚é–â‘čCģB(‚―‚ūƒeƒXƒg‚ЂłŦ‚ȂЂÁ‚―•ςȂ˂Ŗ{“–‚É‘åä•v‚ɂȂÁ‚―‚Đ‚Į‚Ī‚Đ‚Í•s–ū‚Å‚·B‚ ‚­‚܂łāŽĐ•Ђ˗\‘Ђɂ·‚ނȂǕςł·‚Š...) +E•ķŽš‰ŧ‚Ŋ‚Ė‚đ‚ǂłĮ‚ą‚ð‚Į‚ĪCģ‚ĩ‚―‚ĐŠo‚Ķ‚Ä‚Č‚Ē‚Ė‚ÅCģ‚ĩ‚―ƒtƒ@ƒCƒ‹‚ū‚ŊB + (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 Žß‘ļ + +EƒAƒ‹ƒxƒ‹ƒ^‚˂Ƃǂۂé‚݃Cƒxƒ“ƒg‚Å‚Ī‚ģ‚Ž‚˂Ƃǂۂé‚Ý‚ð‚ ‚°‚邯ƒT[ƒo[‚Š—Ž‚ŋ‚éƒoƒOCģ + + (conf/npc/) + npc_event_doll.txt CģB + +-------------------- +//0803 by ‚Ō‚ī‚Ü‚ņ + + GvG‚ŃGƒ“ƒyƒŠƒEƒ€•ö‰óŽžgvg_eliminate_time‚Ė’l‚ÉŠÖ‚í‚į‚ļ‘ĶĀ‚É‘Þ‹Ž‚ģ‚đ‚į‚ę‚Ăǂ―ƒoƒOCģ + GvG‚ĖƒZƒŠƒt‚ðˆę•”Cģ + interŽI‚Åcastle.txt‚Š‚Č‚Ē‚Æ‹N‚ą‚éFX‚ČƒGƒ‰[‚ðCģ + help.txt‚ðCģ(@gvgstartĻ@agitstart‰]X) + + (conf/) + gvg/TEST_prtg_cas01_AbraiJ.txt CģB + agit/ev_agit_prtgJ.txt CģB + help.txt CģB + (map/) + int_guild.c + inter_guild_init() CģB + +-------------------- +//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 +EƒAƒ}ƒcCģ +@@ŽĀ‘•‘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_flagCģ + [GVGMAP]Ž}AƒeƒŒƒ|‚͏í‚ÉŽg—p•s‰Â +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ŠÔ‚˒ƐMŽd—l•ύX +E0798‚ĖƒRƒ“ƒpƒCƒ‹ƒGƒ‰[Cģ(byƒoƒO•ņƒXƒŒ82ށ) + (login/) + login.c + parse_login() CģB + (map/) + intif.c + packet_len_table[] CģB + intif_parse_GuildCastleInfo() CģB + intif_parse_GuildCastleChange()‚ðintif_parse_GuildCastleChangeErr()‚ɉü–žECģB + intif_parse() CģB + guild.c + guild_read_castledb() CģB + + (char/) + inter.c + inter_send_packet_length[] CģB + int_guild.c + inter_guildcastle_tostr() CģB + inter_guildcastle_fromstr() CģB + mapif_parse_GuildChangeCastle() CģB + mapif_parse_GuildCastleInfo() CģB + mapif_guild_castle_info() CģB + mapif_guild_change_castle()‚ðmapif_guild_change_castle_err()‚ɉü–žECģB + (common/) + mmo.h CģB + version.h CģB + +-------------------- +//0798 by ŒÓ’ą—– + +Elogin-server‚ĖƒƒOƒCƒ“Žļ”sƒpƒPƒbƒg‚Ė’·‚ģ‚Š‚Ļ‚Đ‚ĩ‚Đ‚Á‚―‚Ė‚ðCģ +Elogin-server‚ɃAƒNƒZƒXƒRƒ“ƒgƒ[ƒ‹‹@”\’Į‰Á + Elogin_athena.cnf‚Éorder,allow,deny‚ð‹Lq‚·‚邹‚ƂŁA + IP’PˆĘ(‘O•ûˆę’v)‚ŃAƒNƒZƒX‚ð‹ÖŽ~‚·‚é‹@”\B + EŽw’č•û–@‚Í doc/conf_ref.txt ‚ðŽQÆ + + (doc/) + conf_ref.txt + login_athena.cnf‚Ė•”•ŠCģ + (login/) + login.c + ƒOƒ[ƒoƒ‹•ϐ” access_* ’Į‰Á + parse_login()Cģ,check_ip()’Į‰Á + +EƒAƒJƒEƒ“ƒgėŽ—pCGIƒXƒNƒŠƒvƒg’Į‰Á + EŽĐŒČÓ”C•ÚŨ‚ȉðā–ģ‚ĩAŽŋ–â‚ģ‚ę‚Ä‚āƒXƒ‹[‚·‚é‰Â”\Ŧ—L‚č + EƒGƒfƒBƒ^‚ÅŠJ‚Ē‚―‚į­‚ĩā–ū—L‚č + ECGIÝ’u‚ĖŠî–{‚ģ‚Ķ‚í‚Đ‚ę‚Ζâ‘č‚Č‚Ē‚Í‚ļ + EƒƒbƒZ[ƒW‚͉pŒęA“ú–{Œę—ž‘Ήž + iAccept-Language‚Šja‚Č‚į“ú–{Œę‚ɕϊ·‚ĩ‚Ü‚·j + EŠĮ—ŽŌƒpƒXƒ[ƒh‚Č‚ĩ‚œۂ­‚Ė‚ÅƒZƒLƒ…ƒŠƒeƒB‚ɂ͒ˆÓ(.htaccess‚Č‚Į„§) + + (tool/cgi/) + addaccount.cgi + ƒAƒJƒEƒ“ƒgėŽ—pCGIB + +E‚ŧ‚Ė‘ž + (tool/) + backup + castle.txt‚āƒoƒbƒNƒAƒbƒv‚·‚邿‚Ī‚É + +-------------------- +//0797 by Ž€_ + +E­‚ĩCģB +Ebattle_athena.conf‚Ė€–ڕύXB(lootitem_time íœAitem_first_get_timeA +item_second_get_timeAitem_third_get_timeAmvp_item_first_get_timeA +mvp_item_second_get_timeAmvp_item_third_get_time ’Į‰ÁB) +EƒAƒCƒeƒ€ƒ‹[ƒgŒ ŒĀ‚ðģ‚ĩ‚­ŽĀ‘•BÅ‰UŒ‚‚Å‚Í‚Č‚­—^‚Ķ‚―ƒ_ƒ[ƒW‚Ė +—ʂɂæ‚Á‚ÄŽû“ūŒ ŒĀ‚ð—^‚͂邿‚Ī‚É•ÏXB(Å‰Žû“ūŒ ŒĀ‚Ė‚ÝƒeƒXƒg) +ƒp[ƒeƒB‚Ėę‡ƒp[ƒeƒB‚ĖÝ’č‚ɍ‡‚í‚đ‚é•K—v‚Š‚ ‚č‚Ü‚·‚Ђ܂ūƒpƒPƒbƒg‚Š +•s–ū‚ČŠ‚Š‚ ‚éˆŨ“Ŋ‚ķƒp[ƒeƒB‚Č‚įŽû“ū‚Å‚Ŧ‚邿‚΂ɂȂÁ‚Ăǂ܂·B +Eƒ{ƒEƒŠƒ“ƒOƒoƒbƒVƒ…‚ĖƒoƒOCģB(‘―•ŠCģ‚ģ‚ę‚―‚Í‚ļ...) +E‘•”õƒXƒNƒŠƒvƒgbonus‚ÉbSplashRange‚ÆbSplashAddRange’Į‰ÁB +bSplashRange‚ÆbSplashAddRange‚Í•Ší‚Ń_ƒ[ƒW‚ð—^‚Ķ‚―Žž‚Ė‚Ý”­“ہA’ʏí‚Ė•ŠíUŒ‚ˆĩ‚ǂȂ˂Ŕð‚Ŋ‚į‚ę‚邊(Flee2‚É‚æ‚éŠŪ‘S‰ņ”ð‚Í•s‰Â”\)ƒNƒŠ‚͏o‚Ȃǂæ‚΂ɂȂÁ‚ĂǂĕŠí‚É‚æ‚éó‘ÔˆŲí‚Í”­ķ‚ĩ‚Ü‚đ‚ņB–{ŽIŽd—l‚Č‚ņ‚Ä’m‚č‚Ü‚đ‚ņB +EƒXƒLƒ‹‚Ėd‚Ë’u‚Ŧˆ—‚ð–{ŽI‚ɍ‡‚í‚đ‚ďCģB +Emapflag‚Ėgvg‚Í‚Ē‚Â‚ā‚Č‚Á‚Ăǂé‚í‚Ŋ‚ķ‚á‚Č‚Ē‚Ė‚ÅíœB +E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģB + athena-start CģB + (common/) + mmo.h CģB + (conf/) + mapflag.txt CģB + battle_athena.conf CģB + (db/) + const.txt CģB + item_db.txt CģB + (doc/) + conf_ref.txt CģB + item_bonus.txt CģB + (map/) + mob.c + mob_spawn()Amob_damage()Amob_class_change()Amob_warp() CģB + mob_delay_item_drop()Amob_delay_item_drop2() CģB + mobskill_castend_pos() CģB + pc.c + pc_takeitem()Apc_dropitem()Apc_equipitem() CģB + pc_calcstatus()Apc_bonus() CģB + skill.c + skill_attack()Askill_additional_effect()Askill_castend_damage_id() CģB + skill_castend_nodamage_id()Askill_produce_mix() CģB + skill_arrow_create()Askill_unit_timer_sub()Askill_castend_pos() CģB + map.h CģB + map.c + map_addflooritem() CģB + script.c + buildin_getitem() CģB + pet.c + pet_return_egg()Apet_get_egg()Apet_unequipitem() CģB + battle.h CģB + battle.c + battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CģB + battle_calc_pc_weapon_attack() CģB + battle_weapon_attack()Abattle_config_read() CģB + +-------------------- +//0796 by huge + +EŨ‚Đ‚ĒCģ + (conf/npc/) + npc_event_valentine.txt CģB + + (map/) + pc.c + pc_takeitem() CģB + skill.c + skill_unit_timer_sub() CģB + +-------------------- +//0795 by Kalen + +EŽG’k341‚Ėnpc_warp_niflheim.txt’Į‰Á + conf/warp/npc_warp_niflheim.txt + +Emapflag.txtCģ(GVGMAPÝ’č) + @nosave‚Í‚ĩ‚Ăǂ܂đ‚ņ + +Emap_athena.conf‚ĖCģ + @umbala niflheim“™‚Ė’Į‰Á + @ƒRƒƒ“ƒgƒAƒEƒg‚ĩ‚Ä‚ ‚č‚Ü‚·B + +EƒoƒŒƒ“ƒ^ƒCƒ“ƒXƒNƒŠƒvƒg’Į‰Á + conf/npc/npc_event_valentine.txt + @ƒ`ƒ‡ƒR’B‚ĖDrop‚͘M‚Á‚Ăǂ܂đ‚ņB‚ĻD‚݂łĮ‚Ī‚ž + @ŪAŽčė‚čƒ`ƒ‡ƒR‚ðH‚Ũ‚―‚Æ‚Ŧ‚ĖƒGƒtƒFƒNƒg‚Í + @ÅVƒNƒ‰ƒCƒAƒ“ƒg‚É‚·‚ę‚ÎŒĐ‚Ķ‚Ü‚·B + +EGVGScript’Į‰Á + conf/gvg/ˆČ‰š + @WeissŽž‘ã‚ÉėŽ‚ĩ‚―‚ā‚Ė‚ðAthena—p‚ɃRƒ“ƒo[ƒg&‘䎌Cģ + @prtg_cas01ˆČŠO‚ÍŠø‚Ė‚Ý‚Å‚·B + @GVGDATA‚ÍŽIÄ‹N“Ū‚ÅÁ–Å‚ĩ‚Ü‚·B + @ƒGƒ‰[‚Šo‚邿‚΂ȂįƒRƒƒ“ƒgƒAƒEƒg‚ĩ‚Ä‚­‚ū‚ģ‚ǁB + @MobDataAŽ·Ž–Script‚āprtg_cas01‚Ė‚Ý‚Å‚·B(TestScript) + @‚ ‚­‚܂ŃeƒXƒgƒXƒNƒŠƒvƒg‚Å‚·BGVGŽĀ‘•‚ĖŽQl‚É‚Į‚Ī‚ž + +-------------------- +//0794 by DRG + +Eskillused‚ÅŽw’č‚ĩ‚―IW,QM‚Č‚Į‚ɂ˂Á‚Ä‚éŠÔMOBƒXƒLƒ‹‚ðŽg—p‚·‚邿‚Ī‚É•ÏX +EƒAƒbƒvƒXƒŒ‚R‚Ė7‚Ėathena-start‚ðˆę‰žŠÜ‚߂ƂŦ‚Ü‚ĩ‚― + + athena-start + (map/) + skill.c + skill_unit_onplace() CģB + +-------------------- +//0793 by huge + +EƒT[ƒo[snapshot +EƒT[ƒo[‚ŠƒNƒ‰ƒbƒVƒ…‚·‚éƒoƒO‚ðCģ +E”­“Ū‚đ‚ļ‚ÉãĐ‚ŠÁ‚Ķ‚―‚įAÝ’u—pƒgƒ‰ƒbƒv‚Š•Ô‚Á‚Ä‚­‚邿‚Ī‚ÉCģB +Eƒ‹[ƒgŒ ŒĀ‚ŁA“Ŋ‚ķƒp[ƒeƒB[‚ĖƒLƒƒƒ‰‚Í‚·‚ŪE‚͂邿‚Ī‚ÉCģB +EƒoƒO•ņƒXƒŒ‚R >>54 ‚ĖƒoƒOCģB +EƒƒOƒCƒ“Žž‚ɃT[ƒo[‘Ī‚ÉID‚ð•\ŽĶ‚·‚邿‚΂ɂĩ‚Ü‚ĩ‚―B + (login/) + login.c + parse_login() CģB + (conf/npc/) + npc_event_doll.txt CģB + (map/) + skill.c + skill_unit_timer_sub() CģB + mob.c + mob_spawn_dataset() CģB + mob_damage() CģB + pc.c + pc_additem() CģB + +-------------------- +//0791 by đ + +Eƒ}ƒbƒvƒT[ƒo‚ŠƒNƒ‰ƒbƒVƒ…‚·‚éƒoƒOCģB +EƒCƒO—t‚ðŽg‚Á‚Ä‚āƒWƒFƒ€‚Š•K—v‚ɂȂé–â‘č‚ðCģB +EPvP‹­§‘—ŠŌŽĀ‘•B +EPvP‚ÅƒŠƒUƒŒƒNƒVƒ‡ƒ“‚Šo—ˆ‚ȂЂÁ‚―–â‘č‚ðCģB +E‚ŧ‚Ė‘žŨ‚Đ‚ČCģB + (map/) + guild.c + mob.c + pc.c + skill.c + +-------------------- +//0790 by Ž€_ + +EƒoƒOCģB + (conf/) + battle_athena.conf ŒëŽšCģB + (doc/) + conf_ref.txt ŒëŽšCģB + (common/) + mmo.h CģB + (map/) + itemdb.h CģB + map.h CģB + skill.c + skill_check_condition()Askill_use_pos()Askill_unit_onplace() CģB + +-------------------- +//0789 by huge + +EƒhƒƒbƒvƒAƒCƒeƒ€‚Ƀ‹[ƒgŒ ŒĀ‚ðŽĀ‘•B +EÅ‰‚ɍUŒ‚‚ĩ‚―lˆČŠO‚ŠƒhƒƒbƒvƒAƒCƒeƒ€‚ðE‚Ķ‚é‚Ü‚Å‚ĖŽžŠÔ‚ðÝ’č‚Å‚Ŧ‚邿‚΂ɁB + (/conf) + battle_athena.conf €–Ú’Į‰ÁB + + (/doc) + conf_doc.txt ā–ū’Į‰ÁB + + (/map) + battle.h + Battle_Config{} CģB + battle.c + battle_config_read() CģB + itemdb.h + item_data {} CģB + map.h + flooritem_data {} CģB + mob_data {} CģB + map.c + map_addflooritem() CģB + mob.c + delay_item_drop{} CģB + mob_spawn() CģB + mob_damage() CģB + mob_delay_item_drop() CģB + mob_warp() CģB + pc.c + pc_takeitem() CģB + +-------------------- +//0788 by ‚ ‚ä‚Ý + +EcardƒXƒLƒ‹‚Ėˆ—H‚ðCģB +E@allskillƒRƒ}ƒ“ƒh‚ĖÄCģB + + (map/) + pc.c + pc_skill() CģB + pc_allskillup() CģB + +-------------------- +//0787 by ‚Û‚Û‚Û + +Eƒyƒbƒg‚É‚āmob_avail.txt‚ĖÝ’č‚ð“K—p‚·‚邿‚΂ɂĩ‚―B +EMOBƒXƒLƒ‹‚Ėskillused‚Åval1‚É0‚ð“ü‚ę‚邯‚ ‚į‚ä‚éƒXƒLƒ‹‚ɑ΂ĩ‚Ä”­“Ū‚·‚邿‚΂ɂĩ‚―B +Eskillused‚Å”­“Ū‚ĩ‚―ƒXƒLƒ‹‚Ė‘ÎÛ‚ðA”­“Ū‚ģ‚đ‚―PC‚É‚·‚é‚Đ‚Į‚Ī‚ĐÝ’č‚Å‚Ŧ‚邿‚΂ɂĩ‚―(‘ÎIWƒnƒ‚Č‚ĮH)B + (/map) + clif.c + clif_pet0078()Aclif_pet007b()CģB + mob.c + mobskill_use()CģB + skill.c + skill_attack() Askill_castend_damage_id()CģB + battle.h + battle.c + battle_config_read()CģB + +-------------------- +//0786 by huge + +EBDSCģ + ‘O‚Đ‚į‚Ŧ”ō‚΂ĩ‚čs‚­‚Æ—Į‚­‚Č‚Ē‚Đ‚ā‚ĩ‚ę‚Ȃǂ˂ŁAŒã‚ë‚Đ‚įˆ— + —LŒø”ÍˆÍ‚ĖCģ + + (/map) + + skill.h + skill.c + skill_castend_damage_id() CģB + skill_castend_nodamage_id() CģB + skill_brandishspear_first() CģB + skill_brandishspear_dir() CģB + +-------------------- +//0785 by Ž€_ + +E–{ŽI‚ɍ‡‚í‚đ‚ďCģB(ŠØ‘ˆÆ‚Ėƒpƒbƒ`notice‚ðŽQl‚ĩ‚ďCģ‚ĩ‚Ü‚ĩ‚―B) +EBB‚ÆBS‚ĖƒLƒƒƒXƒeƒBƒ“ƒOŽžŠÔ‚ð0.7•b‚É‚ĩ‚ăfƒBƒŒƒC‚Í0‚ɕύXB +Eghost‚Ė•Ï‚í‚č‚Ƀ}ƒbƒvˆÚ“ŪŒã‚Ė–ģ“GŽžŠÔ‚ðÝ’čB‚ą‚ĖŽžŠÔ‚ĖŠÔ‚Í‚Į‚ņ‚ȍUŒ‚‚āŽó‚Ŋ‚Č‚Ē‚ŠˆÚ“Ū‚âUŒ‚AƒXƒLƒ‹Žg—pAƒAƒCƒeƒ€Žg—p‚Å‚ą‚ĖŽžŠÔ‚͂Ȃ­‚Č‚č‚Ü‚·BƒV[ƒYƒ‚[ƒh‚ł͂ą‚Ė–ģ“GŽžŠÔ‚ð2”{‚Æ‚ĩ‚Ä“K—pB +EƒV[ƒYƒ‚[ƒh‚ÅŽ€‚ņ‚Å‚āŒoŒą‚ŠŒļ‚į‚Ȃǂæ‚Ī‚ÉCģB(mapflag‚Ėnopenalty‚ðÝ’č‚·‚é•K—v‚Í‚ ‚č‚Ü‚đ‚ņB) +EƒXƒLƒbƒh‚ÅŠŠ‚Ũ‚é‹——Ģ‘‰ÁB +EŠų‚É’ū–Ų‚É‚Đ‚Đ‚Á‚Ä‚é‘ΏۂɃŒƒbƒNƒXƒfƒBƒr[ƒi‚ðŽg‚Ī‚Æ’ū–Ų‚Š‰ðœ‚ģ‚ę‚邿‚Ī‚É•ÏXB +EŽô‚Ē‚É‚Đ‚Đ‚é‚ÆˆÚ“Ū‘Ž“x‚āŒļ‚邿‚Ī‚ÉCģB +Ebattle_athena.conf‚ɍ€–ڕύXB +EƒXƒLƒ‹‚Ėd‚Ë’u‚Ŧ‚ð”ŧ’fˆ—‚ð­‚ĩ•ύXB +EHP‚ĖŽĐ‘R‰ņ•œŽžŠÔ‚Š4•b‚Å‚Í‚Č‚­6•b‚ū‚Æ‚í‚Đ‚Á‚―‚Ė‚ÅƒfƒtƒHƒ‹ƒgCģ‚Æbattle_athena.confCģB +E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģ‚âƒoƒOCģB +E–w‚ĮƒeƒXƒg‚ĩ‚Ă܂đ‚ņB + (conf/) + atcommand_athena.conf CģB + battle_athena.conf CģB + (doc/) + conf_ref.txt CģB + (db/) + cast_db.txt CģB + (map/) + atcommand.c CģB + clif.c + clif_mob0078()Aclif_mob007b()Aclif_skill_estimation() CģB + clif_mob_class_change()Aclif_parse_WalkToXY() CģB + clif_parse_ActionRequest()Aclif_parse_LoadEndAck() CģB + clif_parse_UseItem()Aclif_parse_UseSkillToId() CģB + clif_parse_UseSkillToPos()Aclif_parse_UseSkillMap() CģB + mob.h CģB + mob.c + mob_get_viewclass()Amob_attack()Amob_target() CģB + mob_ai_sub_hard_activesearch()Amob_ai_sub_hard() CģB + mobskill_castend_id()Amobskill_castend_pos() CģB + skill.h CģB + skill.c + skill_can_produce_mix()Askill_castend_damage_id() CģB + skill_castend_nodamage_id()Askill_castend_id() CģB + skill_castend_pos()Askill_use_id()Askill_readdb() CģB + skill_check_condition()Askill_unit_onplace()Askill_unitsetting() CģB + skill_additional_effect()Askill_check_unit_range() CģB + skill_check_unit_range_sub()Askill_status_change_end() CģB + skill_status_change_start() CģB + pc.h + pc.c + pc_ghost_timer()Apc_setghosttimer()Apc_delghosttimer() íœB + pc_gvg_invincible_timer() -> pc_invincible_timer()‚ɕύXB + pc_setgvginvincibletimer() -> pc_setinvincibletimer()‚ɕύXB + pc_delgvginvincibletimer() -> pc_delinvincibletimer()‚ɕύXB + pc_authok()Apc_attack_timer()Apc_calcstatus() CģB + pc_setrestartvalue()Apc_damage()Apc_allskillup() CģB + do_init_pc() CģB + battle.h CģB + battle.c + battle_config_read()Abattle_weapon_attack()Abattle_check_target() CģB + battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CģB + battle_calc_pc_weapon_attack()Abattle_get_speed() CģB + map.h CģB + map.c + map_quit() CģB + +-------------------- +//0784 by ‚ ‚ä‚Ý + +EƒJ[ƒhƒXƒLƒ‹‚ðŠo‚͂Ăǂéó‘Ô‚Å@allskillƒRƒ}ƒ“ƒh‚ðŽg—p‚·‚邯map-server‚Š–\‘–‚·‚é–â‘č‚ðCģB + + (map/) + pc.c + pc_allskillup() CģB + +-------------------- +//0783 by huge + +Eƒuƒ‰ƒ“ƒfƒBƒbƒVƒ…ƒXƒsƒA‚ĖCģ + ”͈͎w’čAŽÎ‚ß‚ĖÛ‚ĖŠiŽq”͈́AUŒ‚—ÍŒvŽZ + ‘―•Š‡‚Á‚Ă邯Žv‚Ī‚ņ‚Å‚·‚Ŋ‚ĮAƒCƒ}ƒCƒ`ŽĐM‚ŠŽ‚ĂȂǁEEE + (ŽQl)‚Ý‚·‚Æ‚ę‘ƒ -ƒXƒLƒ‹ŠÖ˜A“Īî•ņ +EƒXƒyƒ‹ƒuƒŒƒCƒJ[‚ð‚ŋ‚å‚Á‚ƏCģ +Eƒvƒƒ{ƒbƒN‚ðMVPmob‚ÉŒø‚Đ‚Č‚Ē‚æ‚ĪCģ +EƒoƒO•ņƒXƒŒ‚R >>8 ‚Å•ņ‚ģ‚ę‚―‚ā‚Ė‚ĖŽæ‚荾‚Ý + + (/db) + create_arrow.txt CģB + skill_db.txt CģB + + (/map) + battle.c + battle_calc_pet_weapon_attack() CģB + battle_calc_mob_weapon_attack() CģB + battle_calc_pc_weapon_attack() CģB + + skill.h + skill.c + skill_brandishspear_first() ’Į‰ÁB + skill_brandishspear_dir() ’Į‰ÁB + skill_castend_nodamage_id() CģB + skill_castend_damage_id() CģB + skill_unit_group() CģB + +-------------------- +//0782 by ‚Ō‚ī‚Ü‚ņ +E@allskillƒRƒ}ƒ“ƒh‚ĖŽg—pðŒ‚ŠŽQÆ‚ģ‚ę‚Ä‚Ē‚Č‚Đ‚Á‚―ƒoƒOCģ + (/map) + atcommand.c + atcommand() CģB + +-------------------- +//0781 by Chunglyeng +Eƒoƒh, ƒ_ƒ“ƒT[‰đŠy‹ïŒŧ + (/map) + skill.c CģB + +-------------------- +//0780 by reia +EƒyƒRƒyƒR‚Ė—‘‚Č‚Į‚Š›z‰ŧ‚·‚邯ƒmƒr‚ɂȂÁ‚Ä‚ĩ‚܂Ζâ‘čCģB +EGMƒRƒ}ƒ“ƒhu@kickallv‚Љ―Žž‚ĖŠÔ‚É‚Đ–ģŒø‚ɂȂÁ‚Ăǂ―‚Ė‚ÅCģB + + (/conf) + atcommand_athena.conf CģB + (db/) + mob_skill_db.txt CģB + (map/) + atcommand.c + atcommand_config_read() CģB + +-------------------- +//0779 by ‚ ‚ä‚Ý + +E‘SƒXƒLƒ‹Žæ“ūƒRƒ}ƒ“ƒh‚Ė’Į‰ÁB + EGM‚Å‘SƒXƒLƒ‹‚ðŠo‚Ķ‚į‚ę‚邿‚΂ɂĩ‚Ăǂéę‡‚âAƒXƒLƒ‹‚ː”‚Š‘―‚ǐE‹Æ‚Íˆę•”‚ĖƒXƒLƒ‹•\ŽĶ‚Š‚Ļ‚Đ‚ĩ‚­‚Č‚č‚Ü‚·B‚ŧ‚Ėę‡‚ÍƒŠƒƒO‚ĩ‚ĉš‚ģ‚ǁB + @allskill : ŒŧÝ‚ːE‹Æ‚ÅŽæ“ū‰Â”\‚Č‘SƒXƒLƒ‹‚ðŽæ“ū‚·‚éB(ƒNƒGƒXƒgƒXƒLƒ‹ŠÜ‚Þ) + + (conf/) + battle_athena.conf CģB + help.txt CģB + (map/) + atcommand.h CģB + atcommand.c + atcommand() CģB + pc.h CģB + pc.c + pc_allskillup() ’Į‰ÁB + (doc/) + conf_ref.txt CģB + help.txt CģB + +-------------------- +//0778 by huge + +EƒXƒyƒ‹ƒuƒŒƒCƒJ[‚ĖCģ + EƒLƒƒƒXƒeƒBƒ“ƒOƒ^ƒCƒ€‚Ė–ģ‚ĒƒXƒLƒ‹‚ɂ͌ø‚Đ‚Č‚Ē‚æ‚Ī‚ÉCģB + EŽg—p‚ģ‚ę‚―‘ŠŽč‚ĖÁ”ïSP‚ĖCģB + + (map/) + skill.c + skill_castend_nodamage_id() CģB + +-------------------- +//0777 by ‚Ō‚ī‚Ü‚ņ + +EƒMƒ‹ƒhUéí‰žŽĀ‘• +@EŠî–{“I‚Č•”•Š‚ū‚Ŋ‚ĩ‚ĐŽĀ‘•‚ĩ‚Ä‚Č‚ĒãA‚Ē‚­‚Â‚Đ‚Ė“_‚Å–{ŽI‚Æ‘Šˆá‚Š‚ ‚č‚Ü‚·B +@EUéíŠJŽn‚ƏI—đ‚Í@ƒRƒ}ƒ“ƒh‚ōs‚ǂ܂· + @gvgstart : UéíŠJŽn + @gvgend : UéíI—đ +@Ebattle_athena.conf‚ɍ€–Ú’Į‰ÁB + (char/) + int_guild.c + inter_guild_init()Ainter_guild_readdb()Ainter_guild_save() CģB + 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() CģB + inter_send_packet_length[]Ainter_recv_packet_length[] CģB + int_guild.h CģB + (map/) + atcommand.c + atcommand()Aatcommand_config_read() CģB + battle.c + battle_config_read() CģB + guild.c + guild_castle_search()Aguild_read_castledb()’Į‰ÁB + do_init_guild() CģB + 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[] CģB + intif_parse_GuildCastleInfo()Aintif_parse_GuildCastleChange() ’Į‰ÁB + intif_guild_castle_info()Aintif_guild_castle_change() ’Į‰ÁB + mob.c + mob_damage() CģB + atcommand.h CģB + battle.h CģB + guild.h CģB + intif.h CģB + mob.h CģB + (common/) + mmo.h CģB + (conf/) + battle_athena.conf CģB + inter_athena.conf CģB + msg_athena.conf CģB + atcommand_athena.conf CģB + (db/) + castle_db.txt ’Į‰ÁB +-------------------- +//0776 by Ž€_ + +ENPCƒXƒLƒ‹›z‰ŧŽĀ‘•B(mob_skill_db.txt‚Ėval1‚ðŽg‚ǂ܂·B) +Emob_skill_db.txt‚ĖŠm—Ķ‚ðį•Š—Ķ‚Đ‚į–œ•Š—Ķ‚É•ÏXB(‚―‚ūmob_skill_db.txt‚ĖCģ‚Í‚ĩ‚Ă܂đ‚ņB) +Eƒ‚ƒ“ƒXƒ^[‚Šƒ_ƒuƒ‹ƒAƒ^ƒbƒN‚·‚é–â‘čCģB(Cģ‚ģ‚ę‚―‚Đ‚Į‚Ī‚Đ‚ĖŽĐM‚Í‚ ‚č‚Ü‚đ‚ņ‚Š...) +E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģB + (db/) + mob_skill_db.txt CģB + skill_db.txt CģB + (map/) + map.h CģB + mob.h CģB + mob.c + mob_spawn_dataset()Amob_spawn() CģB + mob_changestate()Amobskill_use() CģB + mob_class_change() ’Į‰ÁB + npc.c + npc_parse_mob() CģB + battle.c + battle_check_target() CģB + clif.h CģB + clif.c + clif_mob_class_change() ’Į‰ÁB + skill.c + skill_castend_nodamage_id() CģB + +-------------------- +//0775 by Ž€_ + +EƒV[ƒYƒ‚[ƒh‚Ėˆ—CģB +EƒV[ƒYƒ‚[ƒh‚Ė–ģ“GŽžŠÔ‚ĖŠÔ‚Í‚Į‚ņ‚ȍUŒ‚‚āŽó‚Ŋ‚Ȃǂæ‚Ī‚ÉCģB +EƒV[ƒYƒ‚[ƒh‚Ė–ģ“GŽžŠÔ‚ŠŽžŠÔØ‚ę‚ɂȂé‘O‚É‚Í‰ðœ‚ģ‚ę‚Ȃǂæ‚Ī‚ÉCģB +Ebattle_athena.conf‚ɍ€–Ú’Į‰ÁB +E@hide‚â/hide‚É‚æ‚éGMƒnƒCƒfƒBƒ“ƒO’†‚ÍŽĐ•Š‚ÉŽĐ“ŪŽg—p‚ģ‚ę‚éƒXƒLƒ‹ˆČŠO‚ĖƒXƒLƒ‹Žg—p‚âUŒ‚‚ðŽó‚Ŋ‚Ȃǂæ‚Ī‚ÉCģB +EƒnƒCƒfƒBƒ“ƒO’†’n‘ېŦƒXƒLƒ‹ˆČŠO‚ĖUŒ‚‚ðŽó‚Ŋ‚Ȃǂæ‚Ī‚ÉCģB(ƒgƒ‰ƒbƒv‚âƒNƒ@ƒOƒ}ƒCƒA“™‚ĖƒXƒLƒ‹‚͉e‹ŋ‚ðŽó‚Ŋ‚é‚Đ‚Į‚Ī‚Đ•s–ū‚Č‚Ė‚ÅĄ‚܂łƓŊ‚킿‚΂ɉe‹ŋ‚ðŽó‚Ŋ‚邿‚Ī‚Éˆ—B) +Eƒgƒ“ƒlƒ‹ƒhƒ‰ƒCƒu‚ĖˆÚ“Ū‘Ž“x‚ð–{ŽI‚ɍ‡‚í‚đ‚Ü‚ĩ‚―B +E‚ŧ‚Ė‘žƒoƒOCģ‚âŨ‚Đ‚ĒCģB(–w‚Į–ĒƒeƒXƒg) + (conf/) + battle_athena.conf CģB + (doc/) + conf_ref.txt CģB + (map/) + battle.h CģB + battle.c + battle_check_target()Abattle_calc_damage() CģB + battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CģB + battle_calc_pc_weapon_attack()Abattle_calc_magic_attack() CģB + battle_calc_misc_attack() CģB + battle_config_read()Abattle_weapon_attack() CģB + pc.h CģB + pc.c + do_init_pc()Apc_authok() CģB + pc_attack()Apc_attack_timer() CģB + pc_setgvg_ghosttimer()Apc_delgvg_ghosttimer()‚ð + pc_setgvginvincibletimer()Apc_delgvginvincibletimer()‚ɏCģB + pc_gvg_invincible_timer() ’Į‰ÁB + pc_attack_timer()Apc_steal_item()Apc_calcstatus() CģB + clif.c + clif_parse_ActionRequest()Aclif_parse_UseItem() CģB + clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() CģB + clif_parse_UseSkillMap()Aclif_parse_WalkToXY() CģB + map.h CģB + map.c + map_quit() CģB + mob.c + mob_attack()Amob_target()Amob_ai_sub_hard_activesearch() CģB + mob_ai_sub_hard_mastersearch()Amob_ai_sub_hard() CģB + mob_damage()Amobskill_castend_id()Amobskill_castend_pos() CģB + skill.c + skill_castend_damage_id()Askill_attack() CģB + skill_castend_id()Askill_castend_pos()Askill_castend_map() CģB + +-------------------- +//0774 by Ž‚Žqo^.^o +EMonk job bouns Cģ +EƒhƒPƒr Cģ +(db/) + job_db2.txt Cģ + pet_db.txt Cģ + +-------------------- +//0773 by đ + +EŨ‚Đ‚ĒƒoƒOCģ + (map/) + skill.c CģB + battle.c CģB + +-------------------- +//0772 by ‚Ō‚ī‚Ü‚ņ + +EƒV[ƒYƒ‚[ƒh‰š‚ÅˆČ‰š‚Ė“_‚ðCģ +@E˜A‘ą‚ĩ‚čUŒ‚‚Å‚Ŧ‚Č‚­‚Č‚Á‚Ăǂ―ƒoƒOCģ +@Eƒ_ƒ[ƒWŒyŒļ—͂Аģ‚ĩ‚­Ý’č‚Å‚Ŧ‚ȂЂÁ‚―ƒoƒOCģ +@E–ģ“GŽžŠÔŽĀ‘•Bbattle_athena.conf‚Ėgvg_ghost_time‚Őݒč‚Å‚Ŧ‚Ü‚· + +EƒnƒCƒfƒBƒ“ƒO‚Å–‚–@UŒ‚“™‚ð‰ņ”ð‚Å‚Ŧ‚ȂЂÁ‚―ƒoƒOCģ + + (map/) + skill.c + skill_attack()Askill_unit_onplace()Askill_check_condition() CģB + clif.c + clif_parse_ActionRequest()Aclif_parse_UseItem() CģB + clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() CģB + clif_parse_UseSkillMap()Aclif_parse_WalkToXY() CģB + pc.c + do_init_pc()Apc_authok() CģB + pc_attack()Apc_attack_timer() CģB + 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() CģB + battle.h CģB + pc.h CģB + +-------------------- +//0771 by huge + +EƒXƒyƒ‹ƒuƒŒƒCƒJ[ŽĀ‘• + (map/) + skill.c + skill_castend_nodamage_id() CģB + (db/) + skill_db.txt CģB + +-------------------- +//0770 by đ + +EÂ” Œn‚Ėˆ—•ύX +E‚ŧ‚Ė‘žƒoƒOCģ + (map/) + battle.c CģB + itemdb.c CģB + mob.c CģB + script.c CģB + +-------------------- +//0769 by Ž€_ + +EƒV[ƒYƒ‚[ƒhCģB +E–ģ“GŽžŠÔ‚Ė•û‚Íghost_timerˆČŠO‚Ė•û–@‚ÅŽĀ‘•‚·‚é‚‚ā‚č‚Č‚Ė‚ÅĄ‚͍폜‚ĩ‚Ăǂ܂·B +EƒXƒNƒŠƒvƒgviewpoint‚Аģ‚ĩ‚­“Ūė‚ĩ‚Ȃǖâ‘čCģB +Eproduce_db.txt‚ðCģB(“û”Ŧ‚Ískill_require_db.txt‚ŏˆ—‚ĩ‚Ăǂ܂·B‚ŧ‚ĩ‚ăAƒCƒeƒ€‚ː”‚ð0‚É‚·‚ę‚ΏÁ–Õ‚Í‚ģ‚ę‚ȂǂŊ‚Įė‚鎞•K—v‚ČƒAƒCƒeƒ€‚ɂȂč‚Ü‚·B) +E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģB + (conf/) + battle_athena.conf CģB + (doc/) + conf_ref.txt CģB + (db/) + produce_db.txt CģB + (map/) + battle.h CģB + battle.c + battle_calc_damage()Abattle_calc_weapon_attack() CģB + battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CģB + battle_calc_pc_weapon_attack()Abattle_calc_magic_attack() CģB + battle_calc_misc_attack()Abattle_check_target()Abattle_config_read() CģB + skill.c + skill_unit_onplace()Askill_castend_damage_id()Askill_castend_id() CģB + skill_use_id()Askill_use_pos()Askill_check_condition() CģB + skill_can_produce_mix() CģB + pc.c + pc_attack_timer()Apc_attack()Apc_isUseitem()Apc_delitem() CģB + pc_damage() CģB + mob.c + mob_damage()Amobskill_use_id()Amobskill_use_pos() CģB + script.c + buildin_viewpoint()Abuildin_emotion() CģB + makefile CģB + +-------------------- +//0768 by ‚Ō‚ī‚Ü‚ņ + +EƒV[ƒYƒ‚[ƒh‰š‚ŁAˆČ‰š‚Ė“_‚ðCģ +@EŽ€–S‚ĩ‚―‚įƒZ[ƒuƒ|ƒCƒ“ƒg‚É‹­§‘—ŠŌ‚·‚邿‚Ī‚ÉCģ +@E“Á’č‚ĖƒAƒCƒeƒ€‚ŠŽg—p‚Å‚Ŧ‚Ȃǂæ‚Ī‚ÉCģ(ƒAƒ“ƒeƒBƒyƒCƒ“ƒƒ“ƒgEƒnƒG‚ˉH) +@E“Á’č‚ĖƒXƒLƒ‹‚ŠŽg—p‚Å‚Ŧ‚Ȃǂæ‚Ī‚ÉCģ(ƒ[ƒvƒ|[ƒ^ƒ‹EƒoƒbƒNƒXƒeƒbƒvEƒCƒ“ƒeƒBƒ~ƒfƒCƒgEƒeƒŒƒ|[ƒgEƒCƒ“ƒfƒ…ƒA) +@E“Ŋ–ŋƒMƒ‹ƒh‚ɂ͖ģðŒ‚ōUŒ‚‚Å‚Ŧ‚Ȃǂæ‚Ī‚ÉCģ +@E“G‘΃Mƒ‹ƒh‚ɂ͖ģðŒ‚ōUŒ‚‚Å‚Ŧ‚邿‚Ī‚ÉCģ +@E–ģ“GŽžŠÔ’†‚Í—žŽŌ‚Æ‚āUŒ‚‚Å‚Ŧ‚Ȃǂæ‚Ī‚ÉCģ + +ƒ\[ƒXƒŒƒxƒ‹‚ŃeƒŒƒ|AƒnƒG‚ĖŽg—p‚ð‹Ö‚ķ‚Ä‚Ē‚é‚―‚ߍUéíMAP‚Ėmapflag‚Énoteleport‚Í•K—v‚ ‚č‚Ü‚đ‚ņ +‚Ü‚―A–ģ“GŽžŠÔ‚Íghost_timerˆË‘ķ‚Å‚·B‚‚܂čbattle_athena.conf“ā‚Ėghost_time‚Š–ģ“GŽžŠÔ‚ɂȂč‚Ü‚· + + (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 + +Eƒtƒ@[ƒ}ƒV[‚ŁAŧ‘Ē‚Ė‘‚ŠŒļ‚é–â‘č‚ðCģ +E•Šíŧ‘ĒDB‚ŁA‚Ē‚­‚‚Дē‚Ŋ‚Ăǂ―‚Ė‚ðCģ + + (map/) + skill.c CģB + (db/) + produce_db.txt CģB + +-------------------- +//0766 by ‚Ō‚ī‚Ü‚ņ + +EƒV[ƒYƒ‚[ƒh‰š‚ŁAˆČ‰š‚Ė“_‚ðCģ +@Eģ‹KƒMƒ‹ƒhģ”F‚Š‚Č‚Ē‚ÆƒGƒ“ƒyƒŠƒEƒ€‚ɍUŒ‚‚ŠŒø‚Đ‚Č‚Ē‚æ‚Ī‚ÉCģ +@EƒGƒ“ƒyƒŠƒEƒ€‚ɑ΂·‚éƒXƒLƒ‹UŒ‚‚ŠŒø‚Đ‚Č‚Ē‚æ‚Ī‚ÉCģ +@E–‚–@UŒ‚A‰“‹——ĢUŒ‚AãĐ‚Ėƒ_ƒ[ƒW•âģ‚ðŽĀ‘• +@@–‚–@UŒ‚F50%@‰“‹——ĢUŒ‚F75%@ãЁF60% +@@‚ą‚ę‚͐l‚É‚āƒGƒ“ƒyƒŠƒEƒ€‚É‚ā“K—p‚ģ‚ę‚Ü‚· + (map/) + battle.c + #include "guild.h" ’Į‰Á + battle_calc_damage()Abattle_calc_weapon_attack() Cģ + +-------------------- +//0765 by ‚Ō‚ī‚Ü‚ņ + +E‘•”õ§ŒĀŽĀ‘• +E‘•”õ§ŒĀ‚Š‚Đ‚Đ‚Á‚―‘•”õ•i‚ÍŠY“–ƒ}ƒbƒv‚ÉˆÚ“Ū‚ĩ‚―Û‚ÉŽĐ“Ū“I‚É‘•”õ‚ŠŠO‚ęA +@Ä‘•”õ‚ā‚Å‚Ŧ‚Č‚­‚Č‚č‚Ü‚· +E§ŒĀ‚Å‚Ŧ‚é‚Ė‚Í‘•”õ•i‚Ė‚Ý‚Å‚·BƒJ[ƒ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 Ž€_ + +E‘S‚Ä‚Ėƒ_ƒ[ƒW‚Š1‚ɂȂé–hŒä‚ð10000‚Đ‚į1000000‚ɕύXB +Ebattle_athena.conf‚ɍ€–Ú’Į‰ÁB +Eƒ‚ƒ“ƒXƒ^[‚Đ‚įŒoŒą’l‚ð–á‚Īˆ—‚ð–{ŽI‚Ė‚æ‚Ī‚ÉCģB +EƒXƒLƒ‹ƒXƒ[ƒ|ƒCƒYƒ“ŽĀ‘•B +EŒðŠ·ƒoƒOCģB +E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģB +EƒeƒXƒg‚Í–w‚Į‚ĩ‚Ă܂đ‚ņB + (db/) + mob_db.txt CģB + skill_db.txt CģB + (doc/) + conf_ref.txt CģB + db_ref.txt CģB + (conf/) + battle_athena.conf CģB + (map/) + makefile CģB + battle.h CģB + battle.c + battle_get_def()Abattle_get_mdef() CģB + battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CģB + battle_calc_pc_weapon_attack()Abattle_calc_magic_attack() CģB + battle_calc_misc_attack()Abattle_config_read() CģB + skill.h CģB + skill.c + skill_castend_nodamage_id()Askill_castend_damage_id() CģB + skill_check_condition()Askill_status_change_timer() CģB + skill_status_change_end()Askill_status_change_start() CģB + skill_additional_effect()Askill_produce_mix()Askill_unit_timer_sub() CģB + skill_check_unit_sub()‚ð skill_check_unit_range_sub()‚ɕύXB + skill_check_unit_range() ’Į‰ÁB + skill_castend_pos()Askill_area_sub_count() CģB + mob.c + mobskill_castend_pos()Amob_damage() CģB + clif.c + clif_parse_TradeRequest()Aclif_parse_TradeAck() CģB + clif_parse_TradeAddItem()Aclif_parse_TradeOk() CģB + clif_parse_TradeCansel()Aclif_parse_TradeCommit() CģB + map.h CģB + map.c + do_init() CģB + pc.c + pc_calc_skilltree()Apc_calcstatus() CģB + tarde.c + trade_tradeack() CģB + +-------------------- +//0763 by ŒÓ’ą—– + +EƒT[ƒo[snapshot + ƒtƒHƒ‹ƒ_‚ðŪ—‚ĩ‚―‚˂ŒˆÓ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB + ˆČ‘O‚ĖƒZ[ƒuƒf[ƒ^(account.txt‚Č‚Į)‚ÍsaveƒtƒHƒ‹ƒ_‚É’u‚ǂĂ­‚ū‚ģ‚Ē + cnfƒtƒ@ƒCƒ‹‚ÍŠeŽíƒtƒ@ƒCƒ‹‚ĖƒpƒX‚Š•Ï‚í‚Á‚Ä‚é‚˂ŁA + ‚ą‚ĖŒÃ‚Ē‚ā‚Ė‚ðƒRƒs[‚Å‚Í‚Č‚­AV‚ĩ‚­‘‚ŦŠ·‚͂Ȃςĩ‚Ä‚­‚ū‚ģ‚ǁB + +EƒtƒHƒ‹ƒ_Ū— + confƒtƒHƒ‹ƒ_ + NPCŠÖ˜A‚ðconf/npc/AMOB”z’uŠÖ˜A‚ðconf/mob/AWARPŠÖ˜A‚ðconf/warp/ + ƒeƒXƒg‚âƒTƒ“ƒvƒ‹‚ðconf/sample/‚ÉˆÚ“Ū‚ĩ‚Ü‚ĩ‚―B + dbƒtƒHƒ‹ƒ_ + sampleƒtƒHƒ‹ƒ_‚˂΂ŋdbŠÖŒW‚ð db/sample‚ÉˆÚ“Ū‚ĩ‚Ü‚ĩ‚―B + help.txt/motd.txt + confƒtƒHƒ‹ƒ_‚ÉˆÚ“Ū‚ĩ‚Ü‚ĩ‚― + account.txt/athena.txt/guild.txt/party.txt/pet.txt/storage.txt + saveƒtƒHƒ‹ƒ_‚ÉˆÚ“Ū‚ĩ‚Ü‚ĩ‚― + tool/backup + ƒpƒXCģ + +Emotd.txt/help.txt‚ĖƒpƒX‚ðmap_athena.cnf‚ÅŽw’č‚Å‚Ŧ‚邿‚Ī‚É + map.h/map.c/atcommand.c/atcommand.hCģ + +Eathena-start‚ÉrestartƒIƒvƒVƒ‡ƒ“’Į‰Á + ./athena-start restart‚ÅAthena‚ðÄ‹N“Ū‚ĩ‚Ü‚· + +-------------- +//0761 by ‚Û‚Û‚Û + +EMOB‚ĖMDEF‚É10000ˆČãŽw’č‚ĩ‚Ä‚āƒtƒ@ƒCƒAƒsƒ‰[‚Å•’Ę‚Éƒ_ƒ[ƒW‚ð—^‚͂Ăĩ‚܂΂˂ðCģB + (map/) + battle.c + +-------------- +//0760 by ll3y + +E•ķŽš‰ŧ‚ŊCģ + (map/) + script.c + +-------------- +//0759 by Ž‚Žqo^.^o +EƒXƒsƒAƒNƒCƒbƒPƒ“ 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)‚ŃRƒ“ƒpƒCƒ‹‚ВƂ邿‚Ī‚ÉCģ + Interop Systems(http://www.interopsystems.com/)‚æ‚čgmake‚Æzlib‚ðŽæ‚Á‚Ä‚­‚é‚ЁA + ŽĐ‘O‚ÅInterix—p‚ð—pˆÓ‚·‚é•K—v‚Š‚ ‚č‚Ü‚·B + (common/) + socket.h CģB + +-------------- +//0755 by Ž€_ + +EƒoƒOCģ‚Ɛā–ū’Į‰ÁB(•ņ‚ģ‚ę‚―‚Ė‚Í‘―•Š‘S‚ďCģ‚ģ‚ę‚―‚Ė‚Đ‚Æ...) +E0751‚ŃXƒLƒ‹‚ĖÅ‘åƒŒƒxƒ‹‚ð100‚܂Őݒč‚Å‚Ŧ‚邿‚΂ɂĩ‚Ü‚ĩ‚―B +Ecast_db.txt‚É“ü‚Á‚Ăǂéó‘ÔˆŲí‚ĖˆÛŽŽžŠÔ‚ÍŽĐ•Š‚Š“K“x‚É“ü‚ę‚―•ςł·B–{ŽI‚ĖŽd—l‚Č‚ņ‚Ä’m‚č‚Ü‚đ‚ņ‚˂ŁB + (doc/) + db_ref.txt CģB + (db/) + cast_db.txt CģB + skill_db.txt CģB + (map/) + skill.h CģB + skill.c + skill_check_unit_sub()Askill_castend_id()Askill_use_id() CģB + skill_status_change_end()Askill_status_change_start() CģB + skill_castend_map() CģB + mob.c + mobskill_castend_id()Amobskill_castend_pos() CģB + pc.c + pc_calcstatus() CģB + 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‚Ė”­ķƒ|ƒCƒ“ƒg‚ðŽw’č‚·‚邯ƒƒeƒI‚ĖƒGƒtƒFƒNƒg‚ŠˆęØo‚Č‚­‚Č‚é +@–â‘肊•œŠˆ‚ĩ‚Ăǂ―‚Ė‚ÅCģB +Ewarning‚ðo‚Ȃǂæ‚Ī‚ÉƒR[ƒhCģB + (map/) + skill.c + skill_castend_pos2() CģB + chrif.h + +-------------- +//0752 by ‚Ō‚ī‚Ü‚ņ + +EchangesexƒXƒNƒŠƒvƒgŽĀ‘•BŦ•Ę‚ð”―“]‚ģ‚đ‚邹‚Æ‚Š‚Å‚Ŧ‚Ü‚· +@Ŧ•Ę”―“]ŽŒũŒã‚́A‚ŧ‚ĖƒvƒŒƒCƒ„[‚Í‹­§“I‚ɐڑą‚ðØ’f‚ģ‚ę‚Ü‚· +@‚Ü‚―Aƒ_ƒ“ƒT[Eƒo[ƒh‚ĖŒÝŠ·Ŧ‚͂ЂȂč‰ö‚ĩ‚ǂł· +@ƒ_ƒ“ƒT[Eƒo[ƒh‚ŠƒXƒƒbƒg“ā‚Į‚ą‚Ђɋ‚éƒAƒJƒEƒ“ƒg‚ł˔―“]‚́AˆČ‰š‚Ė“_‚É’ˆÓ‚ĩ‚ĉš‚ģ‚Ē +@E•K‚ļ”―“]‚ģ‚đ‚é‘O‚É‚ŧ‚ĖƒLƒƒƒ‰ƒNƒ^[‚ðƒXƒLƒ‹ƒŠƒZƒbƒg‚ĩ‚Ä‚­‚ū‚ģ‚Ē +@@‚ŧ‚˂܂ܔ―“]‚ģ‚đ‚邯A‹Ī’Ę‚·‚éƒXƒLƒ‹(ŠyŠí‚Ė—ûK“™)‚ĩ‚ĐŽc‚į‚Č‚­‚Č‚Á‚Ä‚ĩ‚܂ǂ܂· +@Eƒ_ƒ“ƒT[Eƒo[ƒhę—p•Ší‚ð‘•”õ‚ĩ‚Ăǂéę‡‚́AŠO‚ĩ‚Ä‚Đ‚į”―“]‚ģ‚đ‚Ä‚­‚ū‚ģ‚Ē +@@‚ŧ‚˂܂ܔ―“]‚ģ‚đ‚邯A‚ŧ‚ĖƒLƒƒƒ‰ƒNƒ^[‚ĖŠJŽnŽž‚É +@@ƒNƒ‰ƒCƒAƒ“ƒgƒGƒ‰[‚Šo‚Ü‚·io‚é‚ū‚Ŋ‚ŁA—Ž‚ŋ‚邹‚Æ‚Í‚Č‚Ē‚Ė‚Å‚·‚Ёcj +Eƒf[ƒ^ƒx[ƒXCģ 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.txt‚Æcast_db.txt‚Ė•ÏX‚Æskill_require_db.txt‚Ė’Į‰ÁB +E“Å‚É‚Đ‚Đ‚é‚ÆHP‚ŠŒļ‚邿‚Ī‚É•ÏXBHP‚Í1•b‚ɍőåHP‚Ė1%Œļ‚č‚Ü‚·B(–ĒƒeƒXƒg) +EÎ‰ŧ‚ðis’†‚Ė•Ļ‚ÆŠŪ‘S‚ȕςɕЂŊ‚ÄHP‚ŠŒļ‚邿‚Ī‚É•ÏXB(1•b‚ɍőåHP‚Ė1%)ƒuƒŒƒbƒVƒ“ƒO‚ÅŠŪ‘SÎ‰ŧ‚ū‚ŊŽĄ‚đ‚邿‚Ī‚ÉCģB(–ĒƒeƒXƒg) +Eƒnƒ“ƒ^[‚Ėƒgƒ‰ƒbƒv‚ɃGƒtƒFƒNƒgŽĀ‘•B‚―‚ūƒ‰ƒ“ƒhƒ}ƒCƒ“‚ƃVƒ‡ƒbƒNƒEƒF[ƒu‚Í”š”­ƒGƒtƒFƒNƒg‚Šo‚Ȃǂæ‚΂ł·Bƒ‰ƒ“ƒhƒ}ƒCƒ“‚̓tƒ@ƒCƒAƒsƒ‰[‚Ė”š”­ƒGƒtƒFƒNƒg‚Šo‚邿‚Ī‚É•Ï‚Ķ‚Ä‚Ē‚Ü‚·B +EƒI[ƒgƒJƒEƒ“ƒ^[‚Ė•ûŒüƒ`ƒFƒbƒN‚ð‚·‚é‚æ‚Ī‚É•ÏX‚Æ–{ŽIŽd—l‚ɍ‡‚í‚đ‚Ü‚ĩ‚―B +EƒoƒbƒNƒXƒ^ƒu‚ā•ûŒüƒ`ƒFƒbƒN‚ð‚·‚é‚æ‚Ī‚É•ÏXB +EƒCƒ“ƒeƒBƒ~ƒfƒCƒg‚Ėˆ—•ύXB +EƒfƒBƒtƒFƒ“ƒ_[‚ĖˆÚ“Ū‘Ž“xŒļ­‚ð–{ŽI‚ɍ‡‚í‚đ‚Ü‚ĩ‚―BASPD‚͏ŸŽč‚ȂЂį +(30 - (skilllv*5))%‚ŠŒļ‚邿‚΂ɂĩ‚Ü‚ĩ‚―‚Š–{ŽI‚łǂ­‚į’öŒļ‚é‚Ė‚Đ‚Ėî•ņ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·B +Eƒgƒ“ƒlƒ‹ƒhƒ‰ƒCƒuLV1‚ÅˆÚ“Ū‘Ž“x‚Š150‚Đ‚į312‚ɂȂé‚Ė‚ŠŠm”F‚ģ‚ę‚ÄŒvŽZ‚ð•ύX‚ĩ‚Ü‚ĩ‚―‚ŠƒŒƒxƒ‹‚É‚æ‚Á‚Ä‚Į‚ę‚Ū‚į‚Ē‘‰Á‚·‚é‚Ђ͕s–ū‚Å‚·Bî•ņ‚ð‹‚ß‚Ü‚·B(Ą‚ĖŒvŽZŽŪ‚Í“K“x‚ɍė‚Á‚―•ςł·B) +Eƒ|[ƒVƒ‡ƒ“ŧ‘Ē‚ĖŒvŽZŽŪ•ύX‚Æ‚ŋ‚å‚Á‚ƏCģB +Eˆę•”’n–ĘƒXƒLƒ‹‚Ėd‚Ë’u‚Ŧ‚ð‹ÖŽ~B +EbNoMagicDamage‚Å–‚–@‚É‚æ‚éˆŲí‚âƒXƒe[ƒ^ƒXƒAƒbƒvŒø‰Ę‚Šo‚Ȃǂæ‚Ī‚ÉCģB(ƒŠƒUƒŒƒNƒVƒ‡ƒ“ˆČŠO‚Ė–‚–@‚Í–ģŒø‚ɂȂč‚Ü‚·B) +Ebattle_athena.conf‚ɍ€–Ú’Į‰ÁB +E‚ŧ‚Ė‘žFX‚ƏCģB +E•ύX‚ģ‚ę‚―skill_db.txtAcastdb.txt‚Æ’Į‰Á‚ģ‚ę‚―skill_require_db.txt‚Ė\‘Ē‚ÍĄ‚ĖŠŽĐ•Š‚ĩ‚Đ’m‚į‚Ȃǂ˂Ådb_ref.txt‚ɐā–ū‚ð’Į‰Á‚·‚é—\’č‚Ȃ˂łŧ‚ę‚܂ł͂ą‚ę‚į‚Ė•ÏX‚͍T‚͂Ă­‚ū‚ģ‚ǁB + (char/) + int_guild.c CģB + (conf/) + battle_athena.conf CģB + (doc/) + conf_ref.txt CģB + (db/) + skill_db.txt CģB + skill_require_db.txt CģB + cast_db.txt CģB + (map/) + battle.h CģB + battle.c + battle_counttargeted()Abattle_calc_pet_weapon_attack() CģB + battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CģB + battle_weapon_attack()Abattle_config_read() CģB + skill.h CģB + skill.c + skill_attack()Askill_castend_damage_id() CģB + skill_castend_nodamage_id()Askill_status_change_start() CģB + skill_check_condition()Askill_castend_pos() CģB + skill_use_id()Askill_use_pos() CģB + skill_status_change_timer()Askill_status_change_start() CģB + skill_check_unit_sub() ’Į‰ÁB + pc.h CģB + pc.c + pc_damage()Apc_counttargeted()Apc_counttargeted_sub() CģB + mob.h CģB + mob.c + mob_countslave()Amob_counttargeted()Amob_counttargeted_sub() CģB + mobskill_use()Amob_can_move()Amob_damage() CģB + mobskill_use_id()Amobskill_use_pos()Amobskill_castend_id() CģB + mobskill_castend_pos() CģB + map.c + map_quit() CģB + +-------------- +//0750 by CHRIS + +EƒXƒLƒ‹ŠÖŒW‚ĖDB‚ð’ēŪ + (db/) + skill_db.txt + cast_db.txt + skill_require_db.txt + +-------------- +//0749 by Ž€_ + +EFX‚ƕύX‚ƏCģB +EƒXƒLƒ‹‚ĖŽd—l•ύX‚âŽĀ‘•Aó‘ÔˆŲí‚ĖŽd—l•ύX‚âŽĀ‘•B +EƒXƒLƒ‹‚ĖŽg—pðŒ‚ðdb‚ɐݒč‚Å‚Ŧ‚邿‚Ī‚É•ÏXB +Eskill_db.txt‚Æcast_db.txt‚ĖŽd—l•ύXB +Eƒ}ƒbƒvŽI‚Ė–ģŒĀƒ‹[ƒv‰Â”\Ŧ‚Š‚ ‚é•”•Š‚ðCģB(‚ ‚­‚܂łā‰Â”\Ŧ‚Š +‚ ‚Á‚―‚ū‚Ŋ‚˕ςł·B–ģŒĀƒ‹[ƒv‚ĖŒīˆö‚Ƃ͒fŒū‚Å‚Ŧ‚Ü‚đ‚ņB) +Eƒgƒ‰ƒbƒv‚Ė”­“ŪŽĀ‘•B(‚―‚ūŽĀÛ‚É“Ūė‚͂܂ūCģ‚ĩ‚Ăǂ܂đ‚ņB +ŒĐ‚―–Ú‚Š•Ï‚í‚Á‚―‚ū‚Ŋ‚Å‚·B) +Ebattle_athena.conf‚ɍ€–Ú’Į‰Á‚ðíœB +E0748‚ĖCģíœ‚Æ•ķŽš‰ŧ‚ŊCģB +Eskill_db.txtAcast_db.txtAskill_require_db.txt‚Ė•û‚Ђ܂ūŠŪŽ‚ģ‚ę‚ĂǂȂǂ˂Š+‚ЂȂč‚Ė—Ę‚ĖƒXƒLƒ‹‚Аģ‚ĩ‚­“Ūė‚ĩ‚Ü‚đ‚ņB(db_ref.txt‚ɐݒč•û–@‚ð“ü‚ę‚Č‚Ē‚Æ + ‚Ŋ‚Ȃǂ˂ł·‚ŠŽžŠÔ‚Š‚Č‚Đ‚Á‚―‚Ė‚Å...) ‚ŧ‚ĩ‚ďCģ‚Í‚ĩ‚Ü‚ĩ‚―‚ŠƒeƒXƒg‚Í +–w‚ņ‚Į‚ĩ‚Ă܂đ‚ņ‚˂ŒˆÓ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB + (char/) + char.c CģB + int_party.h CģB + int_party.c CģB + int_guild.h CģB + int_guild.c CģB + int_pet.h CģB + int_pet.c CģB + int_storage.h CģB + int_storage.c CģB + char‚Ė•û‚Í‘å‚ĩ‚―Cģ‚Í‚ĩ‚Ă܂đ‚ņB + (conf/) + battle_athena.conf CģB + (doc/) + conf_ref.txt CģB + (db/) + skill_db.txt CģB + cast_db.txt CģB + skill_require_db.txt ’Į‰ÁB + produce_db.txt CģB + (map/) + map.h CģB + map.c + map_check_dir() ’Į‰ÁB + map_readmap()Amap_addblock()Amap_delblock() CģB + map_foreachinarea()Amap_foreachinmovearea() CģB + map_addflooritem() CģB + pc.h CģB + pc.c + pc_spiritball_timer()Apc_addspiritball()Apc_delspiritball() CģB + pc_steal_item()Apc_steal_coin()Apc_calcstatus() CģB + pc_checkallowskill()Apc_jobchange()Apc_checkweighticon() CģB + pc_damage()Apc_equipitem()Apc_walk()Apc_stop_walking() CģB + pc_authok()Apc_counttargeted()Apc_counttargeted_sub() CģB + pc_damage()Apc_setpos() CģB + skill.h CģB + skill.c + skill_get_range()Askill_get_sp()Askill_get_num() CģB + skill_get_cast()Askill_get_delay() CģB + 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() CģB + skill_attack()Askill_castend_damage_id() CģB + skill_castend_nodamage_id()Askill_castend_id() CģB + skill_castend_pos()Askill_unit_onplace() CģB + skill_unit_timer_sub_onplace()Askill_unitsetting() CģB + skill_use_id()Askill_use_pos()Askill_check_condition() CģB + skill_status_change_end()Askill_status_change_timer() CģB + skill_status_change_start()Askill_can_produce_mix() CģB + skill_produce_mix()Askill_gangsterparadise() CģB + skill_gangster_out()Askill_gangster_in() CģB + skill_gangster_count() ’Į‰ÁB + skill_readdb() CģB + battle.h CģB + battle.c + distance()Abattle_counttargeted()Abattle_get_range() ’Į‰ÁB + battle_get_dir() ’Į‰ÁB + battle_get_maxhp()Abattle_get_str()Abattle_get_agi() CģB + battle_get_vit()Abattle_get_dex()Abattle_get_int() CģB + battle_get_luk()Abattle_get_flee()Abattle_get_hit() CģB + battle_get_flee2()Abattle_get_critical()Abattle_get_baseatk() CģB + battle_get_atk()Abattle_get_atk2()Abattle_get_def() CģB + battle_get_def2()Abattle_get_mdef()Abattle_get_speed() CģB + battle_get_adelay()Abattle_get_amotion()Abattle_get_party_id() CģB + battle_get_guild_id()Abattle_get_size() CģB + battle_check_undead() ’Į‰ÁB + battle_check_target()Abattle_addmastery() CģB + battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CģB + battle_calc_pc_weapon_attack()Abattle_weapon_attack() CģB + clif.h CģB + clif.c + clif_skillinfo()Aclif_skillinfoblock()Aclif_skillup() CģB + clif_item_skill()Aclif_changeoption()Aclif_parse_LoadEndAck() CģB + clif_01ac() ’Į‰ÁB + clif_parse_WalkToXY()Aclif_parse_ActionRequest() CģB + clif_parse_TakeItem()Aclif_parse_DropItem() CģB + mob.h CģB + mob.c + mobskill_castend_id()Amobskill_castend_pos() CģB + mobskill_use_id()Amobskill_use_pos()Amob_heal() CģB + mob_spawn()Amob_damage()Amob_walk() CģB + mob_stop_walking()Amob_warp()Amob_counttargeted() CģB + mob_counttargeted_sub()Amob_countslave() CģB + mob_attack()Amob_target()Amob_ai_sub_hard_activesearch() CģB + mob_ai_sub_hard_mastersearch()Amob_ai_sub_hard() CģB + script.c + buildin_sc_start() CģB + path.c + can_move() CģB + pet.c + pet_data_init()Apet_stop_walking() CģB + npc.c + npc_parse_warp()Anpc_parse_shop()Anpc_parse_script() CģB + +-------------- +//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 đ +Eƒyƒbƒg‚ŠƒGƒ‚‚ðo‚·‚Æmap-server‚Š—Ž‚ŋ‚邹‚Æ‚Š‚ ‚Á‚―–â‘č‚ðCģB + (map/) + clif_parse_SendEmotion() CģB + +-------------- +//0746 by Michael + (map/) + script.c + Add Script command - checkoption(type); + Attach a npc_testchkoption.txt npc script! + +-------------- +//0745 by ‚Ō‚ī‚Ü‚ņ +EƒMƒƒƒ“ƒOƒXƒ^[ƒpƒ‰ƒ_ƒCƒXŽĀ‘• +EPvPƒGƒŠƒA‚Ėmapflag‚ðCģ(“ŊŽm“Ē‚ŋ‚Š–ģ‚­‚Č‚Á‚―‚Đ‚ÆŽv‚ǂ܂·) +EƒV[ƒYƒ‚[ƒh‚ŃmƒbƒNƒoƒbƒN‚Š‚ ‚Á‚―ƒoƒO‚ðCģ +EƒCƒ“ƒeƒBƒ~‚Ė’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 đ + +EƒAƒCƒXƒEƒH[ƒ‹AƒƒeƒIƒXƒg[ƒ€‚ĖƒRƒ“ƒ{‚сƒeƒIƒXƒg[ƒ€‚ĖƒGƒtƒFƒNƒg‚Š•\ŽĶ‚ģ‚ę‚Č‚­‚Č‚é–â‘č‚ðCģB +EHP‹zŽûƒXƒLƒ‹‚ĖƒGƒtƒFƒNƒgCģB +Ebattle_athena.conf‚ɍ€–Ú’Į‰ÁB +EƒpƒPŽü‚č‚ĖŨ‚Đ‚ĒCģB + (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‚ÉŽ—‚đ‚éˆŨ‚ĖCģB +@‚ ‚Æ–{ŽI‘ŠˆáƒXƒŒ‚É‚ ‚Á‚―ƒSƒXƒŠƒ“‚ĖŽæ‚芊‚Ŧ‚ðCģB +@ƒfƒŠ[ƒ^[‚ˋ󂯒n‚ĖƒXƒLƒ‹‚Š‹t‚ɂȂÁ‚Ăǂ―‚Ė‚ðCģB + (db/) + mob_skill_db.txt Cģ + +-------------- +//0742 by ‚Ō‚ī‚Ü‚ņ + +EƒCƒ“ƒeƒBƒ~ƒfƒCƒg‚ðŽĀ‘• +@UŒ‚‚ƃ[ƒv‚˕ЕƂЂ΂܂­‚Ē‚Đ‚Č‚Đ‚Á‚―‚˂Š+@SC_INTIMIDATE‚ðŽg‚Á‚Ä’x‰„ˆ—‚ð‚ĩ‚Ü‚ĩ‚― +Eskill_db‚ĖŒëŽš“™‚ðCģ + (map/) + skill.c + skill_additional_effect()Askill_castend_map()Cģ + skill_castend_nodamage_id()ACģ + 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 ‚Û‚Û‚Û +EPC‚ŠMOB‚Ƀ^ƒQ‚į‚ę‚―‚Æ‚Ŧ3•C–Ú‚Đ‚į–hŒä‚Ɖņ”ð‚ŠŒļ‚邿‚΂ɂĩ‚―B +@1•C‚ɂ‚Ŧ‰ņ”ð‚Í10%A–hŒä‚Í5%Œļ‚č‚Ü‚·B + (map/) + pc.h + pc.c + pc_counttargeted()Apc_counttargeted_sub()’Į‰Á + battle.c + battle_get_flee()Abattle_get_def()Abattle_get_def2()CģB + +-------------- +//0739 by đ +Eƒtƒ@ƒCƒA[ƒEƒH[ƒ‹“™‚ĖÝ’uŒnƒXƒLƒ‹‚Аģ‚ĩ‚­•\ŽĶ‚ģ‚ę‚Ȃǖâ‘č‚ðCģB +Eƒ}ƒŠƒ“ƒXƒtƒBƒA‚ŠŽĐ”š‚·‚é‚ÆƒTƒ“ƒ_[ƒXƒg[ƒ€“™‚Ėƒ_ƒ[ƒW‚Š•\ŽĶ‚ģ‚ę‚Č‚­‚Č‚é–â‘č‚ðCģB +EHP‹zŽûŒnƒXƒLƒ‹‚Å“G‚Љņ•œ‚ĩ‚Ä‚éƒGƒtƒFƒNƒg‚Šo‚邿‚ĪCģB + (map/) + skill.c + skill_castend_damage_id() CģB + battle.c + battle_calc_misc_attack() CģB + clif.c + clif_getareachar_skillunit() CģB + clif_skill_setunit() CģB + +-------------- +//0738 by ‚Ō‚ī‚Ü‚ņ +EƒXƒg[ƒ€ƒKƒXƒg‚ðŠŪ‘S‚É–{ŽIŽd—l‚ɏCģ(3‰ņ‚Őâ‘Γ€Œ‹•“€Œ‹ó‘Ô‚Ė“G‚ÍSG‚ð‚­‚į‚í‚Č‚Ē) +EƒTƒtƒ‰ƒMƒEƒ€‚ŠŽĐ•Š‚É‚Đ‚Ŋ‚į‚ę‚éƒoƒOCģ + (map/) + skill.c + skill_additional_effect()Askill_attack()Cģ + skill_castend_nodamage_id()Cģ + map.h Cģ + +-------------- +//0737 by ‚Û‚Û‚Û +EƒAƒ“ƒNƒ‹‚Š•ā‚ǂĂǂé“G‚ÉŒø‚ЂȂĒ&•Ą”‚Ė“G‚ÉŒø‚­‚Ė‚ðCģB + (map/) + skill.c + skill_unit_onplace()Askill_unit_onout()Cģ + mob.c + mob_stop_walking()Cģ + +-------------- +//0736 by ‚Ō‚ī‚Ü‚ņ +Eó‘ÔˆŲí‘ϐŦ‚ŠŒø‰ĘŽžŠÔ‚É‚ā‹y‚Ô—l‚ɏCģB”­“Ū—Ķ‚Æ“Ŋ—Ķ‚ÅŒø‰ĘŽžŠÔ‚ŠŠ„‚čˆø‚Đ‚ę‚Ü‚· +EƒXƒg[ƒ“ƒJ[ƒX‚ĖŒø‰ĘŽžŠÔ‚ð‰i‹v‚Đ‚įƒ}ƒWƒXƒŒƒeƒ“ƒvƒŒ€‹’‚É +EUŒ‚‚ðŽó‚Ŋ‚―Žž‚Ƀyƒbƒg‚ĖŽx‰‡UŒ‚‚ðŽó‚Ŋ‚į‚ę‚Ȃǂæ‚ĪCģ(ƒRƒƒ“ƒgƒAƒEƒg‚ĩ‚―‚ū‚Ŋ) +@‚ą‚ę‚ÍVITŒ^‚Ƀyƒbƒg‚ð•t‚Ŋ‚Ä•ú’u‚·‚é‚ū‚Ŋ‚ÅŽĐ“Ū‚ÅƒŒƒxƒ‹ã‚°‚ЂłŦ‚é‚Ė‚ð +@–h‚Ū‚―‚ß‚ĖŽb’č“I‚ȏˆ’u‚Å‚· + (map/) + skill.c + skill_castend_nodamage_id()Askill_addisional_effect()Cģ + skill_status_change_start()Cģ + pc.c + pc_damage() Cģ + +-------------- +//0735 by ‚Û‚Û‚Û + +E“G‚ð“|‚ĩ‚ăŒƒxƒ‹‚Šã‚Š‚Á‚―‚Æ‚ŦPTŒö•―”ÍˆÍ‚Ėƒ`ƒFƒbƒN‚ð‚·‚é‚æ‚΂ɂĩ‚―B +EƒI[ƒgƒJƒEƒ“ƒ^[‰žŽĀ‘•B +@Œü‚Ŧ‚âŽË’öƒ`ƒFƒbƒN‚Í‚ĩ‚Ăǂ܂đ‚ņB‚Ü‚―ƒ^ƒCƒ~ƒ“ƒO‚Š‚Ļ‚Đ‚ĩ‚Ē‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņB +@MOBƒXƒLƒ‹‚Æ‚ĩ‚ÄŽg‚Ī‚Æ‚Ŧ‚̓^[ƒQƒbƒg‚ðself‚É‚ĩ‚Ä‚­‚ū‚ģ‚ǁB + (conf/) + battle_athena.conf€–Ú’Į‰Á + (doc/) + conf_refCģ + (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ģ‚ƍŨ‚Đ‚ĒCģB +Eplayer_skillup_limit‚Šyes‚Ėę‡skill_tree.txt‚Őݒč‚ģ‚ę‚Ä‚é‚ŧ‚ˉšˆĘE‹Æ‚Ė +ƒXƒLƒ‹ƒcƒŠ[‚ðŽg‚ǂ܂·‚˂łŧ‚ːE‹Æ‚Å‚Í–ģ‚­‚Č‚é‚Í‚ļ‚ĖƒXƒLƒ‹‚Šo‚邹‚Æ‚Š +‚ ‚č‚Ü‚·‚Š‚ą‚ę‚ÍŽd—l‚Å‚ ‚čƒoƒO‚ł͂ ‚č‚Ü‚đ‚ņBƒoƒO•ņ‚ģ‚ę‚Ä‚ā–ģŽ‹‚ĩ‚Ü‚·B + (doc/) + conf_ref.txt CģB + (char/) + char.c + mmo_char_sync_timer()Ado_init() CģB + inter.c + inter_init() CģB + inter_save_timer() íœB + (map/) + pc.c + pc_calc_skilltree() CģB + pc_resetskill() CģB + +-------------- +//0733 by Ž€_ + +EƒoƒOCģ‚ƍŨ‚Đ‚ĒCģB +EŽ€‚ņ‚ūŒã‚É‚·‚Ū‚ÉƒZ[ƒuƒ|ƒCƒ“ƒg‚É–ß‚į‚ļ‚É‚ĩ‚Î‚į‚­•ú’u‚ĩ‚Ă邯A +•ú’u‚ĩ‚Ă鎞ŠÔ‚É‚æ‚Á‚ÄŒoŒą’l‚ŠŒļ­‚·‚éƒoƒOCģB(–ĒƒeƒXƒg) +Emob_availe.txt‚Őݒč‚ĩ‚―ƒ‚ƒ“ƒXƒ^[‚Ƀ‚ƒ“ƒXƒ^[î•ņ‚ðŽg‚Ī‚ŋˆÆ—Ž‚ŋ‚·‚é–â‘čCģB +Ebattle_athena.conf‚ɍ€–Ú’Į‰ÁB +E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģB + (conf/) + battle_athena.conf CģB + (doc/) + conf_ref.txt CģB + (map/) + clif.c + clif_skill_estimation()Aclif_parse_Restart() CģB + pc.c + pc_setrestartvalue()Apc_makesavestatus() CģB + pc_read_gm_account()Apc_calc_skilltree() CģB + pc_calc_skillpoint() ’Į‰ÁB + map.c + map_quit() CģB + mob.c + mob_damage() CģB + skill.c + skill_unit_timer_sub()Askill_unit_timer() CģB + battle.h CģB + battle.c + battle_config_read() CģB + +-------------- +//0732 by Kalen + +Enpc_town_kafra.txt‚Ė‘S–ĘŒĐ’ž‚ĩ + ƒJƒvƒ‰—˜—pŒ”‚Ė”pŽ~ + ‘qŒÉ—˜—p—ŋ‚ð–{ŽI(jRO)‚Æ“Ŋˆę‰ŋŠi‚É’ēŪ + ƒJ[ƒgŽg—p—ŋ‚ð–{ŽI(jRO)‚Æ“Ŋˆę‰ŋŠi‚É’ēŪ + ƒ|ƒCƒ“ƒgŽQÆ•ύX + ƒWƒ…ƒm[‚ĖƒZ[ƒuƒ|ƒCƒ“ƒgCģ + ƒAƒ}ƒc‚ĖƒZ[ƒuƒ|ƒCƒ“ƒgCģ + +-------------- +//0731 by ‚Û‚Û‚Û + +E•ž‚ːF‚ð•Û‘ķ‚·‚é‚Đbattle_athena.conf‚Å‘I‘ð‚Å‚Ŧ‚邿‚΂ɁB +@•ūŠQ‚Š‚ ‚é‚Ė‚Å•Û‘ķ‚ĩ‚Ȃǂæ‚Ī‚É‚Æ‘‚ǂĂ ‚Á‚―‚Ė‚ÅƒfƒtƒHƒ‹ƒg‚ł͕ۑķ‚ĩ‚Ü‚đ‚ņB +EƒXƒNƒŠƒvƒg’Į‰Á +@strcharinfo(1) ŽĐ•Š‚Ėƒp[ƒeƒB[–ž‚ðŽæ“ū‚ĩ‚Ü‚·B +@strcharinfo(2) ŽĐ•Š‚ĖƒMƒ‹ƒh–ž‚ðŽæ“ū‚ĩ‚Ü‚·B +@getcharid(1) ŽĐ•Š‚Ėƒp[ƒeƒB[ID‚ðŽæ“ū‚ĩ‚Ü‚·B +@getcharid(2) ŽĐ•Š‚ĖƒMƒ‹ƒhID‚ðŽæ“ū‚ĩ‚Ü‚·B +@getpartyname(ID) ID‚ÅŽw’č‚ĩ‚―ƒp[ƒeƒB[‚Ė–ž‘O‚ðŽæ“ū‚ĩ‚Ü‚·B +@getguildname(ID) ID‚ÅŽw’č‚ĩ‚―ƒMƒ‹ƒh‚Ė–ž‘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 ‚Ō‚ī‚Ü‚ņ + +EƒXƒg[ƒ€ƒKƒXƒg‚Ė“€Œ‹ŽžŠÔ‚ð–{ŽI‚É‚ ‚í‚đ‚ďCģ(ƒXƒLƒ‹ƒŒƒxƒ‹‚ÉŠÖŒW‚Č‚­ˆę’č‚Ė“€Œ‹ŽžŠÔ(10•b)‚ɂȂč‚Ü‚·) +EƒXƒ^ƒ“AˆÃˆÅA’ū–؁A“Å‚Ėó‘ÔˆŲíŽžŠÔ‚ˁuŒp‚Ž‘Ŧ‚ĩv‚ЂłŦ‚Ȃǂæ‚Ī‚ÉCģ +Eó‘ÔˆŲí‚ŠŠ|‚Đ‚č‚É‚­‚·‚ނĂ―‚Ė‚ÅMOB‚Ėó‘ÔˆŲí‘ϐŦ‚ðŠÉ˜a(‚Ü‚―’ēŪ‚·‚é‚Đ‚ā) + (map/) + skill.c + skill_castend_nodamage_id()Askill_addisional_effect()Cģ + skill_status_change_start()Cģ + +-------------- +//0729 by DRG + +EƒJ[ƒgƒŒƒ{ƒŠƒ…[ƒVƒ‡ƒ“‚ŠƒJ[ƒg‚Č‚ĩ‚ÅŽg‚Ķ‚―•s‹ï‡‚ĖCģ +EƒJ[ƒgƒŒƒ{ƒŠƒ…[ƒVƒ‡ƒ“‚ŠJOBLV30‚ÅŠo‚Ķ‚ę‚―‚Ė‚ðCģ + (conf/) + npc_event_skillget.txt + ƒJ[ƒgƒŒƒ{ƒŠƒ…[ƒVƒ‡ƒ“€Cģ + (map/) + skill.c + skill_check_condition()Cģ + +-------------- +//0728 by ‚Û‚Û‚Û + +EE‚Š•Ï‚í‚Á‚Ä‚āƒMƒ‹ƒh‚ːE‹Æ—“‚ŠXV‚ģ‚ę‚ȂǕs‹ï‡‚ĖCģB + + (char/) + inter.c + ƒpƒPƒbƒg’·ƒŠƒXƒgCģB + 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•ŠíŒĪ‹†ƒXƒLƒ‹‚É‚æ‚Á‚ăzƒ‹ƒOƒŒƒ“‚Č‚Į‚ːļ˜BNPC‚Š +@ģí‚É“Ūė‚ĩ‚Ȃǖâ‘č‚ðCģB + + (map/) + pc.c + pc_percentrefinery() CģB + +-------------- +//0726 by ŒÓ’ą—– + +Emob_skill_db2.txt‚Š‚ ‚ę‚Îmob_skill_db.txt‚ðƒI[ƒo[ƒ‰ƒCƒh‚·‚邿‚Ī‚ÉCģ + ƒIƒŠƒWƒiƒ‹‚ĖMOBŽg—pŽž‚âAŒŧsMOB‚ĖŽg—pƒXƒLƒ‹‚ð•ύX‚ĩ‚―‚Ēę‡‚ɁB + +Emob_skill_db.txt‚Åmob_id‚ĖŽŸ‚Ėƒ_ƒ~[•ķŽš—ņ‚Š"clear"‚ū‚Á‚―ę‡A + ‚ŧ‚ĖMOB‚ĖƒXƒLƒ‹‚ð‰Šú‰ŧ‚·‚é‹@”\’Į‰ÁB + Emob_skill_db2.txt‚Å‚ ‚éMOB‚ĖƒXƒLƒ‹‚ðŠŪ‘S‚ɏ‘‚ŦŠ·‚͂邯‚Ŧ‚ÉŽg—p‚ĩ‚Ä + ‚­‚ū‚ģ‚ǁB + Eclear‚ĩ‚ȂЂÁ‚―ę‡‚Ímob_skill_db.txt‚Ė‚ā‚˂ɒĮ‰Á‚ģ‚ę‚Ü‚·B + + mob.c + mob_readskilldb()Cģ + + +EƒAƒCƒeƒ€–ž/MOB–ž‚Š‘SŠp12•ķŽši24ƒoƒCƒgj‚ ‚éƒAƒCƒeƒ€/MOB‚ЁA + @ƒRƒ}ƒ“ƒh‚ÅŽæ‚čŠņ‚đ/ĒŠŦ‚Å‚Ŧ‚Ȃǖâ‘čCģB + mob.c + mobdb_searchname()Cģ + itemdb.c + itemdb_searchname_sub()Cģ + +EŒŧÝŽž‚ŃCƒxƒ“ƒg‚ð‹N‚ą‚·uŽžŒvƒCƒxƒ“ƒgv‹@”\‚ð’Į‰Á + EOnInit‚Æ“Ŋ‚킿‚΂ɂŧ‚ꂞ‚ę‚ĖNPC‚ŁAOn`‚ÅŽn‚܂郉ƒxƒ‹‚ð’č‹`‚ĩ‚Ü‚·B + OnMinute?? F–ˆŽžA??•Š‚ÉƒCƒxƒ“ƒg‚ð‹N‚ą‚ĩ‚Ü‚·B(0-59) + OnHour?? F–ˆ“úA??Žž‚ɃCƒxƒ“ƒg‚ð‹N‚ą‚ĩ‚Ü‚·B(0-23) + OnClock???? F–ˆ“úA??Žž??•Š‚ÉƒCƒxƒ“ƒg‚ð‹N‚ą‚ĩ‚Ü‚·B + OnDate???? F–ˆ”NA??ŒŽ??“ú‚ɃCƒxƒ“ƒg‚ð‹N‚ą‚ĩ‚Ü‚·B + EÚ‚ĩ‚­‚Í npc_test_ev.txt ‚ðŽQÆ + + (conf/) + npc_test_ev.txt + “ā—e’Į‰Á + (map/) + npc.c + FXCģ + +E‚ŧ‚Ė‘ž + clif.c + ƒRƒ“ƒpƒCƒ‹Œx‚Šo‚Ȃǂæ‚Ī‚ÉCģ + +-------------- +//0725 by Ž€_ + +EŽI—Ž‚ŋƒoƒOCģB +Eƒ‚ƒ“ƒXƒ^[‚ɃCƒxƒ“ƒg‚ŠÝ’č‚ģ‚ę‚Ä‚Ē‚ÄŽĐŽE‚â‚Č‚É‚Đ‚Åƒ_ƒ[ƒW‚ð—^‚Ķ‚― +•Ļ‚Š‚Č‚Ēę‡ŽI—Ž‚ŋŠm’č‚Ȃ˂łŧ‚Ėƒ}ƒbƒv‚É‚ ‚éƒvƒŒƒCƒ„[‚ð—˜—p‚ĩ‚Ä +ƒCƒxƒ“ƒgƒXƒNƒŠƒvƒg‚ðŽĀs‚·‚邿‚Ī‚É•ÏXB + (map/) + makefile CģB + mob.c + mob_timer()Amob_damage() CģB + +-------------- +//0724 by Ž€_ + +EƒoƒOCģ‚ÆˆĀ’č‰ŧ‚ĖˆŨ‚ĖCģB +Eƒyƒbƒg‚ĖUŒ‚‚ŃCƒxƒ“ƒg‚Šˆ—‚ģ‚ę‚ļŽI—Ž‚ŋ‚ɂȂé–â‘čCģB(–ĒƒeƒXƒg) +Eƒ‚ƒ“ƒXƒ^[‚Ė‘å—Ę”­ķ‚ÅŽI‚Š—Ž‚ŋ‚é–â‘čCģB(ƒ‚ƒ“ƒXƒ^[‚ð10000•C‚ðŒÄ‚ņ‚Å +–‚–@‚Å“|‚·‚ą‚Æ‚ð5‰ņ’öƒeƒXƒgB‚―‚ū“Ū‚Đ‚Č‚Ē‚â‚Â‚Ė‚ÝB) +EŽæ‚芊‚Ŧ‚Šƒ{ƒX‚Æˆę‚ÉŽ€‚ĘŽžƒAƒCƒeƒ€‚𗎂Ƃģ‚Ȃǂæ‚Ī‚É•ÏXB(–ĒƒeƒXƒg) +Ebattle_athena.conf‚Ėpc_skillflee‚ðplayer_skillfree‚ɕύX‚ĩ‚ďˆ—‚ð•ύXB +EƒAƒCƒXƒEƒH[ƒ‹‚Éskill_unit_setting‚ðŽg‚ĪƒXƒLƒ‹‚ōUŒ‚‚Å‚Ŧ‚Ȃǂæ‚Ī‚ÉCģB +E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģ­‚ĩBˆĀ’č‰ŧ‚ģ‚ę‚―‚Đ‚Į‚Ī‚Đ‚Í‚Ü‚ū‚í‚Đ‚č‚Ü‚đ‚ņ‚ŠXP1800+A512MAƒ‚ƒ“ƒXƒ^[”z’u50%‚Å10000•CĒŠŦ‚ĩ‚ÄˆŲí‚ȂЂÁ‚―‚˂őåä•v‚ɂȂÁ‚―‚ÆŽv‚ǂ܂·B‘åä•v‚ķ‚á‚Č‚­‚Ä‚āÓ”C‚͂Ƃę‚Ü‚đ‚ņ‚Š... + (conf/) + battle_athena.conf CģB + (doc/) + conf_ref.txt CģB + (map/) + mob.h CģB + mob.c + mob_timer()Amob_deleteslave_sub()Amob_damage() CģB + npc.c + npc_event() CģB + skill.c + skill_area_sub()Askill_unit_onplace()Askill_castend_nodamage_id() CģB + clif.c + clif_parse_GMKick() CģB + battle.h + battle.c + battle_damage()Abattle_check_target()Abattle_config_read() CģB + pc.c + pc_calc_skilltree()Apc_checkskill() CģB + map.h CģB + map.c + map_foreachinarea()Amap_foreachinmovearea() CģB + map_foreachobject() CģB + +-------------- +//0723 by DRG + +E0719‚ĖCģ + (map/) + pc.c pc_calc_skilltree()Cģ + +-------------- +//0722 by ƒpƒCƒ“ + +Egcc 2.29Œn—ņ‚Å‚āƒRƒ“ƒpƒCƒ‹‚ВƂ邿‚Ī‚ÉCģB +@‚ą‚ę‚ÍˆČ‘O‚É‚ā’ž‚ĩ‚―‚Í‚ļ‚Ȃ˂ł·‚ЁA‚Č‚š‚ĐŒģ‚É–ß‚Á‚Ăǂ܂ĩ‚―‚˂Š+@ŠF‚ģ‚ņ’ˆÓ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·B +@‚ ‚ƁAgcc3Œn—ņ‚Č‚į’萔‚Í‚Į‚ą‚ɏ‘‚ǂĂā–â‘č‚Ȃǂ˂ł·‚ЁA +@gcc2.29Œn—ņ‚ł́u•K‚ļƒuƒƒbƒN—v‘f‚Ėˆę”ԍŏ‰v‚ɏ‘‚Đ‚Č‚Ē‚ÆƒRƒ“ƒpƒCƒ‹‚Š +@’Ę‚č‚Ü‚đ‚ņ‚˂łą‚ŋ‚į‚ā‚ē’ˆÓŠč‚ǂ܂·B + +ƒRƒ“ƒpƒCƒ‹‚Š’Ę‚é—á +void hoge() { + const char booboo = 1; + c + +ƒRƒ“ƒpƒCƒ‹‚Š’Ę‚į‚ȂǗá +void hoge() { + c + const char booboo = 1; + c + + (map/) + skill.h ƒ}ƒNƒ‚ðCģ + skill.c skill_addisional_effect()Cģ + +-------------- +//0721 by đ + +Eƒ{ƒX‚ɃŒƒbƒNƒXƒfƒr[ƒi‚ŠŒø‚Ē‚―–â‘č‚ðCģB +Eƒ{ƒX‚ɃJ[ƒh‚É‚æ‚éó‘ÔˆŲí‚ŠŒø‚ЂȂЂÁ‚―–â‘č‚ðCģB +@–{ŽI‚ł̓}ƒŠƒiƒJ[ƒh“™‚ŃI[ƒNƒq[ƒ[‚Č‚Į‚ð‰Ģ‚é‚ÆŽžX“€Œ‹‚ĩ‚Ü‚·B +@(Œ‹\”ũ–­‚ČŽĀ‘••û–@‚Ȃ˂ŁA‰―‚Đ–â‘肊‚ ‚Á‚―ę‡ +@ ‚ŧ‚Ė•ÓÚ‚ĩ‚Ē•û‚Ļ‚č‚Ü‚ĩ‚―‚įCģ‚ĩ‚Ä‚â‚Á‚Ä‚­‚ū‚ģ‚Ē(^^; )) + +-------------- +//0720 by ŒÓ’ą—– + +EPC‚ÉIW‚ðd‚Ë‚é‚ÆMOB‚ŠUŒ‚‚ĩ‚Ä‚ą‚Ȃǖâ‘č‚ðCģ + EIW‚ɏd‚Č‚Á‚ĂǂĂāA—ŨÚ‰Â”\‚Č‚įMOB‚Š‹ßŠņ‚Á‚Ä‚Ŧ‚Ü‚· + E‚Į‚ņ‚Č’nŒ`‚ɂǂĂāA—ŨÚ‚ĩ‚Ăǂé‚Č‚įUŒ‚‰Â”\‚ɂȂč‚Ü‚· + E‚―‚ū‚ĩAMOB‚Љ“‹——ĢUŒ‚‰Â”\‚ŁAUŒ‚”͈͓ā‚ÉPC‚ЂǂĂāA + —ŨÚ•s‰Â”\‚Č‚įUŒ‚‚ĩ‚Ä‚Ŧ‚Ü‚đ‚ņB‚ą‚ę‚Ė‰ðŒˆ‚Í‚Đ‚Č‚č–Ę“|‚Ȃ˂ŁB + + mob.c + mob_can_reach()Cģ + battle.c + battle_check_range()Cģ + +-------------- +//0719 by DRG + +E‰šˆĘƒXƒLƒ‹‚Š‚Č‚Ēę‡‚͏ãˆĘƒXƒLƒ‹‚Ђӂę‚Ȃǂæ‚΂ɂĩ‚Ü‚ĩ‚―B +@battle_athena.conf‚Ėskillflee‚Őݒč‰Â”\‚Å‚·B +@‰šˆĘƒXƒLƒ‹‚Š‚Č‚Ē‚Ü‚ÜãˆĘƒXƒLƒ‹‚ð‚Ó‚Á‚―ó‘ԂŁA‚ą‚ĖƒIƒvƒVƒ‡ƒ“‚ðŽg‚Īę‡‚̓XƒLƒ‹ƒŠƒZƒbƒg‚·‚é•K—v‚Š‚ ‚č‚Ü‚·B +@ˆę”ĘƒAƒJ‚ɃXƒLƒ‹ƒŠƒZƒbƒg‚ð‰ð•ú‚ĩ‚―‚Ē‚Æ‚Ŧ‚ÉŽg‚Á‚Ä‚â‚Á‚ĉš‚ģ‚ǁB + (conf/) + battle_athena.conf + (map/) + battle.c + battle.h + pc.c pc_calc_skilltree(),pc_checkskill()Cģ + +-------------- +//0718 by Ž€_ + +EFX‚ƏCģB +E“łɂæ‚Á‚Ä–hŒä‚ŠŒļ‚邿‚Ī‚É•ÏXB(HP‚͂܂ūŒļ‚č‚Ü‚đ‚ņB) +EƒAƒCƒXƒEƒH[ƒ‹‚ɍUŒ‚‚Å‚Ŧ‚邿‚Ī‚É•ÏXB(Ą‚Í‘S‚Ä‚ĖUŒ‚‚É“–‚―‚č‚Ü‚·B) +‚―‚ūˆÆ‚ĖƒoƒO‚į‚ĩ‚­ƒAƒCƒXƒEƒH[ƒ‹‚ðƒNƒŠƒbƒN‚·‚邯ˆÆ‚Đ‚į0x89ƒpƒPƒbƒg‚Š30‰ņˆČã˜A‘ą‚Å‘—‚Á‚Ä‚­‚邹‚Æ‚Š‹N‚ą‚č‚Ü‚·‚ŠŒīˆö‚Í•s–ū‚Å‚·B‘―•ŠˆÆ‚ĖƒoƒO‚ū‚ÆŽv‚ǂ܂·‚Š...) +Eí“Ž‚ÉŠÖ‚í‚éŒvŽZ“™‚ðCģB +Eƒ[ƒj‚Š‘‚Ķ‚éƒoƒOCģB(‘―•Š‚ą‚ę‚Å‚ą‚ĖƒoƒO‚͂Ȃ­‚Ȃ邯Žv‚ǂ܂·‚Š‚Į‚Ī‚Č‚Ė‚Đ•ņ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·B) +E“ņ“—Ž‚ĖķŽč•Ší‚ĖŽí‘°A‘ېŦASize‚Ėƒ_ƒ[ƒW•âģ‚ð‰EŽč•Ší‚É“K—p‚·‚é‚Đ‚Į‚Ī‚Đ‚ðÝ’č‚Å‚Ŧ‚邿‚Ī‚É•ÏXB +E‚ŧ‚Ė‘žCģ‚Í‚ĩ‚―‚Í‚ļ‚Å‚·‚ŠŠo‚͂Ă܂đ‚ņB(Cģ‚ĩ‚ĂȂǕς₠‚č‚Ü‚·‚Šdiff“–‚Ă˓r’†‚Å‚Į‚ę‚ðė‹Æ‚ĩ‚―‚Ė‚Đ‚ð–Y‚ę‚―‚Ė‚Å...) + (common/) + mmo.h CģB + (conf/) + battle_athena.conf CģB + (doc/) + conf_ref.txt CģB + (map/) + battle.h CģB + battle.c + battle_get_baseatk()Abattle_get_speed()Abattle_get_adelay() ’Į‰ÁB + battle_get_amotion() Abattle_calc_pet_weapon_attack() CģB + battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CģB + battle_get_atk()Abattle_get_atk_()Abattle_get_atk2() CģB + battle_get_attack_element()Abattle_get_attack_element2() CģB + battle_get_str()Abattle_get_agi()Abattle_get_vit()Abattle_get_int() CģB + battle_get_dex()Abattle_get_luk()Abattle_get_flee() CģB + battle_get_flee2()Abattle_get_hit()Abattle_get_critical() CģB + battle_get_def()Abattle_get_def2()Abattle_get_mdef() CģB + battle_get_element()Abattle_check_target()Abattle_check_range() CģB + battle_weapon_attack()Abattle_config_read() CģB + clif.c + clif_skill_estimation()Aclif_mob0078()Aclif_mob007b() CģB + pc.c + pc_attack_timer()Apc_attack()Apc_calcstatus()Apc_payzeny() CģB + pc_getzeny() CģB + npc.c + npc_buylist()Anpc_selllist() CģB + pet.c + pet_attack()Apet_randomwalk()Apet_ai_sub_hard() CģB + mob.h CģB + mob.c + calc_next_walk_step()Amob_attack()Amobskill_castend_id() CģB + mobskill_use_id()Amobskill_use_pos()Amob_ai_sub_hard() CģB + mob_damage()Amob_changestate() CģB + mob_get_adelay()Amob_get_speed() íœB + skill.h CģB + skill.c + skill_unitsetting()Askill_unit_ondamaged()Askill_unit_timer_sub() CģB + skill_unit_timer()Askill_area_sub()Askill_unit_onplace() CģB + skill_status_change_start() CģB + chat.c CģB + makefile CģB + chrif.c CģB + guild.c CģB + itemdb.c CģB + map.c CģB + party.c CģB + script.c CģB + path.c CģB + +-------------- +//0717 by đ + +E‘å—Ę‚Éƒ‚ƒ“ƒXƒ^[‚ðĒŠŌ‚ĩ‚Ĉę“x‚É“|‚·‚Æmap-server‚Š—Ž‚ŋ‚é–â‘č‚ðCģB +@(ƒJƒz‚ð100‘Ė‚ļ‚ÂĒŠŌ‚ĩ‚Ä50‰ņƒeƒXƒg‚ð‚ĩ‚―‚˂ŋ°‚į‚­‘åä•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 đ + +Eļ˜BŽŒũ—Ķ‚É‘Î‚ĩ‚ÄBS‚Ė•ŠíŒĪ‹†‚Аģ‚ĩ‚­“K—p‚ģ‚ę‚Ä‚Ē‚Č‚Đ‚Á‚―–â‘č‚ðCģB + (map/) + pc.c + pc_percentrefinery() CģB + +-------------- +//0715 by Ž€_ + +Eƒ}ƒbƒvƒT[ƒo[‚Đ‚į•\ŽĶ‚ģ‚ę‚é•Ļ‚ð•\ŽĶ‚·‚é‚Đ‚Į‚Ī‚Đ‚ĖÝ’č‚Š‚Å‚Ŧ‚邿‚΂ɂĩ‚Ü‚ĩ‚―BƒXƒLƒ‹•\ŽĶ‚ū‚Ŋ‚Å‚ā‚Č‚­‚ĩ‚Ä‚â‚邯ƒT[ƒo[‚Š‚Đ‚Č‚čŠy‚ɂȂÁ‚―‚č‚ā‚ĩ‚Ü‚·B +ŠJ”­‚âƒoƒOƒgƒŒ[ƒX‚ĖŽž‚Í•\ŽĶ‚·‚邹‚Æ‚ð‚ĻŠĐ‚ß‚ĩ‚Ü‚·B +E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģB +ECģ‚ĩ‚―Š‚ð‘S‚ď‘‚Ŋ‚Č‚Ē‚Ė‚Åƒtƒ@ƒCƒ‹‚ū‚ŊB + (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Ũ‚Đ‚ĒCģB +EƒV[ƒ‹ƒhƒu[ƒƒ‰ƒ“‚ŏ‚‚Ėd—Ę‚Æļ˜B‚É‚æ‚Á‚ă_ƒ[ƒW‚Š‘‚͂邿‚Ī‚ÉCģBļ˜Bƒ_ƒ[ƒW‚ð‘Ŧ‚·Žž“K—p‚Ń_ƒ[ƒW+d—Ę+‚ļ˜B*4(‚ą‚Ė4‚Írefine_db.txt‚Ė–h‹ï‚Ė‰ßčļ˜Bƒ{[ƒiƒX‚ðŽg‚Á‚Ä‚é‚Ė‚Å•ÏX‰Â”\‚Å‚·B)‚ɂȂč‚Ü‚·B +EƒXƒLƒ‹‚É‚æ‚鐁‚Ŧ”ō‚΂ĩˆ—‚Å0x88ƒpƒPƒbƒg‚ðŽg‚Á‚Ăǂ܂ĩ‚―‚Š‚ŧ‚ĖƒpƒPƒbƒg‚Ė—Dæ‡ˆĘ‚Š‚Đ‚Č‚č’á‚Ē‚į‚ĩ‚­Œã‚Å—ˆ‚éƒpƒPƒbƒg‚É‚æ‚Á‚Ä–ģŽ‹‚ģ‚ę‚邹‚Æ‚ā‚ ‚邿‚Ī‚Č‚Ė‚ÅƒvƒŒƒCƒ„[‚ū‚Ŋ‚É“K—p‚ĩ‚ă‚ƒ“ƒXƒ^[‚É‚Í0x78‚ðŽg‚Ī‚æ‚Ī‚É•ÏX‚ĩ‚Ü‚ĩ‚―B +‚Å‚āˆĘ’u‚ļ‚ę‚ÍŠŪ‘S‚ɂȂ­‚Č‚į‚Ȃǂæ‚΂ł·B(‹°‚į‚­ˆÆ‚ĖƒoƒO‚ū‚ÆŽv‚ǂ܂·BŽI‚Ė +Ā•W‚ðŠm”F‚ĩ‚Ă݂܂ĩ‚―‚ŠŽI‚Ė•û‚Í–â‘肊‚ ‚č‚Ü‚đ‚ņ‚Å‚ĩ‚―B) +ƒvƒŒƒCƒ„[‚Ėę‡0x78(PACKETVER‚Š4ˆČã‚Č‚į0x1d8)‚ŠŽg‚͂܂đ‚ņB•Аg‚ðė‚Á‚Ä‚ĩ‚܂΂˂Å... +EƒoƒO•ņƒXƒŒƒbƒh2 ‚Ė47‚ðŽæ‚čž‚݂܂ĩ‚―B +E‚ŧ‚Ė‘žCģ‚ĩ‚―Š­‚ĩ‚ ‚čB + (db/) + refine_db.txt CģB + item_db.txt CģB + (map/) + battle.c + battle_stopattack()Abattle_stopwalking() CģB + battle_get_attack_element2()Abattle_calc_pc_weapon_attack() CģB + battle_weapon_attack() CģB + path.c + path_blownpos() CģB + pc.h CģB + pc.c + pc_stop_walking()Apc_damage() CģB + pc_getrefinebonus() ’Į‰ÁB + mob.c + mob_damage() CģB + pet.c + pet_target_check()Apet_stop_walking()Apet_performance() CģB + skill.c + skill_attack()Askill_blown()Askill_status_change_start() CģB + skill_castend_damage_id() CģB + makefile CģB + +-------------- +//0713 by ‚Û‚Û‚Û + +Emob_avail.txt’Į‰ÁBitem_avail.txt‚Æ“Ŋ—l‚ĖŽw’č‚Ń‚ƒ“ƒXƒ^[‚ĖŒĐ‚―–ڂ𑞂ĖID‚Ė‚ā‚Ė‚É•ÏX‚ĩ‚Ü‚·B +@ƒ‚ƒ“ƒXƒ^[‚ĖIDˆČŠO‚ðŽw’č‚ĩ‚―‚č‚·‚邯PC‚âNPC‚ĖŽp‚ð‚ĩ‚―MOB‚Ɉę•û“I‚ɍUŒ‚‚ģ‚ę‚éę‡‚Š‚ ‚é‚˂ŒˆÓB + (db/) + mob_avail.txt ’Į‰ÁB + (map/) + clif.c + clif_mob0078()Aclif_mob007b() CģB + mob.h CģB + mob.c + mob_readdb_mobavail()Amob_get_viewclass()’Į‰ÁB + do_init_mob()Amob_readdb() CģB + +-------------- +//0712 by Ž€_ + +EƒV[ƒ‹ƒhƒ`ƒƒ[ƒWAƒV[ƒ‹ƒhƒu[ƒƒ‰ƒ“ŽĀ‘•B +EƒI[ƒgƒK[ƒh‚Í‚Æ‚č‚ ‚Ķ‚ļƒGƒtƒFƒNƒg‚Šo‚邿‚Ī‚É•ÏX‚ĩ‚Ü‚ĩ‚―B +E0708‚ŏ‘‚Ŧ–Y‚ęBƒfƒBƒtƒFƒ“ƒ_[‚ðŽg‚Á‚―ŽžASPD‚ÆˆÚ“Ū‘Ž“x‚Í20%’ቚ‚ĩ‚Ü‚·B +–{ŽI‚Œቚ‚·‚é‚Ė‚ÍŠm‚Đ‚Ė‚æ‚΂ł·‚Š‚Į‚ę‚Ū‚į‚Ē‰š‚Š‚é‚Ė‚Đ‚Í‚ģ‚Á‚Ï‚č‚í‚Đ‚č‚Ü‚ņ‚Ė‚Å... +E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģB + (db/) + cast_db.txt CģB + skill_db.txt CģB + (map/) + battle.h CģB + battle.c + battle_calc_damage()Abattle_calc_pet_weapon_attack() CģB + battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CģB + battle_calc_magic_attack()Abattle_calc_misc_attack() CģB + skill.c + skill_additional_effect()Askill_attack()Askill_castend_nodamage_id() CģB + skill_check_condition()Askill_status_change_start() CģB + skill_castend_damage_id() CģB + pc.h CģB + pc.c + pc_calcstatus()Apc_checkallowskill()Apc_unequipitem() CģB + +-------------- +//0711 by npc + +EzÎŧ‘ĒƒGƒtƒFƒNƒg‚ĖCģ +EƒXƒNƒŠƒvƒg–„‚ߍž‚ݕϐ”‚ÉHp,MaxHp,Sp,MaxSp‚ð’Į‰Á(“Į‚ݍž‚Ý‚Ė‚Ý) + (map/) + skill.c + skill_produce_mix()CģB + pc.c + pc_readparam()CģB + (db/) + const.txt CģB + +-------------- +//0710 by ŒÓ’ą—– + +E–ž‘O‚É”žŠpƒXƒy[ƒX‚Š“ü‚Á‚―ƒp[ƒeƒB[‚ðėŽ‚ĩ‚―‚Æ‚ŦA‚Ļ‚æ‚ҁA + ”žŠpƒXƒy[ƒX‚Š“ü‚Á‚―–ž‘O‚ĖPC‚ðƒp[ƒeƒBƒƒ“ƒo‚É‚ĩ‚―‚Æ‚ŦA + party.txt‚Аģ‚ĩ‚­“Į‚ݍž‚߂Ȃ­‚Č‚é–â‘č‚ðCģ + + (char/) + int_party.c + inter_party_fromstr()Cģ + +EMessage of the Day ‹@”\’Į‰Á + EƒƒOƒCƒ“‚ĩ‚―ƒ†[ƒU[‚ÉMOTD‚ð•\ŽĶ‚ģ‚đ‚邹‚Æ‚Šo—ˆ‚Ü‚·B + Emap-server.exeŽĀsŽž‚ĖƒJƒŒƒ“ƒgƒfƒBƒŒƒNƒgƒŠihelp.txt‚Æ“Ŋ‚ķ + ƒfƒBƒŒƒNƒgƒŠj‚Émotd.txt‚ðė‚邯•\ŽĶ‚ĩ‚Ü‚·B + EMOTD‚Š•\ŽĶ‚ģ‚ę‚éƒ^ƒCƒ~ƒ“ƒO‚́A + uƒ}ƒbƒvƒT[ƒo[‚ɃƒOƒCƒ“‚ĩ‚―’žŒã‚ˁAƒ}ƒbƒvƒ[ƒhŠŪ—𮾁v‚Å‚·B + ‚‚܂čAƒƒOƒCƒ“’žŒãAƒLƒƒƒ‰ƒZƒŒ’žŒã‚Ļ‚æ‚ҁA + ƒ}ƒbƒvƒT[ƒo[ŠÔˆÚ“Ū‚ĖŽž(ƒ}ƒbƒvƒT[ƒo[‚Ė•ŠŽU‚ðs‚Á‚Ăǂéę‡‚Ė‚Ý) + ‚Ėƒ}ƒbƒvƒ[ƒh‚ŠI‚í‚Á‚―Žž‚É•\ŽĶ‚ģ‚ę‚Ü‚·B + E•\ŽĶ•û–@‚Íhelp.txt‚Æ“Ŋ‚ķ‚Å•’Ę‚ĖƒƒbƒZ[ƒW‚Æ‚ĩ‚Ä‘—M‚ĩ‚Ü‚·B + iƒMƒ‹ƒh’mƒƒbƒZ[ƒW‚Í•ķŽš”§ŒĀ‚Š‚ ‚čAGMƒAƒiƒEƒ“ƒX‚Í’·ŽžŠÔ + ‰æ–Ę‚Ėã•”‚É•\ŽĶ‚ģ‚ę‚Ä‚ĩ‚܂΂―‚߁j + E‰ï˜b‚Æ‹æ•Ę‚Š‚Â‚­‚æ‚΂ɁA"< Message of the Day >"A"< End of MOTD >" + ‚Ė•ķ‚ŏ㉚‚ðˆÍ‚ǂ܂·B + + (map/) + pc.c + pc_authok()Cģ + + +-------------- +//0709 by ‚Û‚Û‚Û + +EƒXƒNƒŠƒvƒg‚Éemotion’Į‰Á +@emotion n;‚ÆŽg‚Ī‚ÆNPC‚ŠƒGƒ‚‚ðo‚ĩ‚Ü‚·Bn‚Í0`33‚ŠŽg—p‰Â”\B +Eļ˜B‚ÆŠXƒKƒCƒh‚ĖNPC‚ð–{ŽI‚Ė‘äŽŒ‚ɍ‡‚í‚đ‚ďCģB + (conf/) + npc_town_refine.txtAnpc_town_guide.txt CģB + (map/) + script.c + buildin_emotion() ’Į‰ÁB + +-------------- +//0708 by Ž€_ + +EƒXƒLƒ‹ƒLƒƒƒXƒgƒLƒƒƒ“ƒZƒ‹AƒfƒBƒtƒFƒ“ƒ_[AƒI[ƒgƒK[ƒhŽĀ‘•B +EƒI[ƒgƒK[ƒh‚Ėę‡ƒK[ƒh‚ĩ‚Ä‚āƒGƒtƒFƒNƒg‚͏o‚Ü‚đ‚ņBƒ~ƒX‚ɂȂé‚ū‚Ŋ‚Å‚·B–{ŽI‚Ė•û‚Í•\ŽĶ‚ģ‚ę‚é‚Đ‚Į‚Ī‚Đ‚ā‚í‚Đ‚į‚ȂǂĩƒpƒPƒbƒgî•ņ‚ā‚Ȃǂ˂Å... +EƒfƒBƒtƒFƒ“ƒ_[‚Í–ĒƒeƒXƒgBbLongAtkDef‚ðŽg‚Á‚Ä‚é‚Ė‚Åƒzƒ‹ƒ“ƒJ[ƒh‚Ė‚æ‚Ī‚ÉbLongAtkDef‚ðã‚°‚é•Ļ‚ð‘•”õ‚ĩ‚ÄŽg‚Ī‚Æ‰“‹——̕ϗUŒ‚‚ð‘S‚Ä–ģŒø‚ɂłŦ‚Ü‚·B(‚ą‚ę‚ā–{ŽI‚ĖŽd—l‚Š‚Į‚Ī‚Č‚Ė‚Đ‚Í‚í‚Đ‚č‚Ü‚đ‚ņB) +E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģB + (db/) + cast_db.txt CģB + (map/) + map.h CģB + map.c + map_quit() CģB + skill.h CģB + skill.c + skill_castend_nodamage_id()Askill_use_id()Askill_check_condition() CģB + skill_castend_id()Askill_castend_nodamage_id()Askill_castcancel() CģB + pc.c + pc_calcstatus()Apc_setpos()Apc_damage() CģB + battle.c + battle_calc_damage()Abattle_damage() CģB + clif.c + clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() CģB + mob.c + mob_damage() CģB + itemdb.c + itemdb_searchrandomid() CģB + +-------------- +//0707 by Ž€_ + +E0705‚ĖˆĒC—…”e–PŒ‚ĖƒoƒOCģB + (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 +ECģ + conf/npc_warp_umbala.txt + +-------------- +//0705 by Ž€_ + +EFX‚ƏCģB +EƒvƒŒƒCƒ„[‚ĖƒNƒŠƒeƒBƒJƒ‹ŒvŽZ‚ɃoƒO‚Š‚ ‚Á‚―‚Ė‚ÅCģB +E”š—ô”g“Ū‚Ėˆ—CģB +Eƒ‚ƒ“ƒN‚ĖƒRƒ“ƒ{‚ðCģB +EˆĒC—…”e–PŒ‚ĖŽg—p‚É‚æ‚Á‚ă}ƒbƒvŽI‚Ė–ģŒĀƒ‹[ƒvƒoƒOCģB(‚ą‚ę‚ЂȂč’v–―“I‚ȕςū‚Á‚―‚æ‚΂ł·B) +EƒRƒ“ƒ{‚ÅŽg‚ĪˆĒC—…”e–PŒ‚Í“G‚ðƒNƒŠƒbƒN‚·‚é•K—v‚ЂȂǂæ‚Ī‚ÉCģB +E–Ō—īŒ‚Å“G‚𐁂Ŧ”ō‚΂·‹——Ģ‚ð5ƒZƒ‹‚ɕύXB‚æ‚Á‚ăRƒ“ƒ{‚ÅŽg‚ĪˆĒC—…”e–PŒ‚Í‹——Ģƒ`ƒFƒbƒN‚ð‚ĩ‚Ü‚đ‚ņB5ƒZƒ‹”ō‚΂ģ‚ę‚―“G‚ÍˆĒC—…”e–PŒ‚ĖŽË’ö‚Đ‚į—Ģ‚ę‚―‚í‚Ŋ‚Ȃ˂ŋ——Ģƒ`ƒFƒbƒN‚Č‚ĩ‚Å”­“Ū‚ĩ‚Ü‚·B(–{ŽI‚ĖŽd—l‚Č‚ņ‚Ä’m‚č‚Ü‚đ‚ņB) +Eƒ}ƒbƒv‚Ė–ž‘O‚ð16byte‚Đ‚į24bytes‚ɕύXB(‘å‚ĩ‚―ˆÓ–Ą‚Í‚ ‚č‚Ü‚đ‚ņ‚ŠˆĀ‘S‚ĖˆŨ‚˕ςł·B) +EƒEƒFƒfƒBƒ“ƒOƒLƒƒƒ‰‚É‚æ‚éˆÆ—Ž‚ŋ‚ð–h‚ŪˆŨ‚ɏCģB +E‚ŧ‚Ė‘ž­‚ĩCģB(ƒeƒXƒg‚Í–w‚ņ‚Į‚ĩ‚Ă܂đ‚ņB) + (conf/) + battle_athena.conf CģB + (db/) + skill_db.txt CģB + (common/) + mmo.h CģB + (doc/) + conf_ref.txt CģB + item_bonus.txt CģB + (map/) + battle.h CģB + battle.c + battle_get_flee2()Abattle_calc_pet_weapon_attack() CģB + battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CģB + battle_weapon_attack()Abattle_calc_magic_attack() CģB + battle_config_read() CģB + skill.h CģB + skill.c + skill_status_change_start()Askill_castend_damage_id() CģB + skill_check_condition()Askill_use_id()Askill_blown() CģB + skill_castend_map()Askill_unit_onlimit()Askill_attack() CģB + pc.c + pc_attack_timer()Apc_setpos()Apc_setsavepoint() CģB + pc_movepos()Apc_calcstatus()Apc_bonus() CģB + clif.h CģB + clif.c + clif_set0078()Aclif_set007b() CģB + clif_updatestatus()Aclif_initialstatus()Aclif_parse_UseSkillToId() CģB + clif_skillinfo() ’Į‰ÁB + map.h CģB + map.c + map_setipport()Amap_addmap() CģB + ‚ŧ‚Ė‘ž”ē‚Ŋ‚―Š­‚ĩ‚ ‚čB + +-------------------- +//0704 by kalen + +EUmbala Warp’Į‰Á + conf/npc_warp_umbala.txt + +-------------------- +//0703 by ‚Ē‚Į + +EƒT[ƒo[snapshot + +-------------- +//0702 by ‚Û‚Û‚Û + +Eƒtƒ@[ƒ}ƒV[‚ĖƒGƒtƒFƒNƒg‚ð–{—ˆ‚Ė‚ā‚Ė‚É•ÏX +EƒXƒNƒŠƒvƒg‚ł˖„‚ߍž‚ݕϐ”‚ÉBaseExp,JobExp,NextBaseExp,NextJobExp’Į‰Á + (map/) + skill.c + skill_produce_mix() CģB + pc.c + pc_readparam()Apc_setparam() CģB + (db/) + const.txt CģB + +-------------- +//0701 by ‚Ō‚ī‚Ü‚ņ + +EƒXƒe[ƒ^ƒXˆŲí”ŧ•ĘŽŪ“ą“üBŠeƒXƒe[ƒ^ƒXˆŲí‚Ė”­“Ū—Ķ‚ŠVIT/INT/MDEF‚ɉe‹ŋ‚·‚邿‚΂ɂȂč‚Ü‚·BŽ‘ąŽžŠÔ’Zk‚͂܂―Ą“x‚Å_|P|› +E•sŽ€‚É“€Œ‹‚ŠŒø‚Ē‚―ƒoƒOCģB + (map/) + skill.c + skill_additional_effect()Askill_castend_nodamage_id() CģB + +-------------- +//0700 by “ė + +E697‚ĖƒoƒOCģB +@@@@(db/) + mob_db.txt + +-------------- +//0699 by Ž€_ + +E‘•”õ‚Ėƒ{[ƒiƒXƒNƒŠƒeƒBƒJƒ‹‚ÍŽĐ•Š‚ĖŠÔˆá‚Ē‚ū‚Á‚―‚Ė‚ÅbCriticalRate‚ðbCritical‚ɕύXB‚ŧ‚悯0695‚ŏ‘‚Ŧ–Y‚ę‚Å‚·‚ŠASPD‚ðã‚°‚éƒJ[ƒh‚â‘•”õ‚Ėˆę•”‚ðbAspdAddRate‚Đ‚įbAspdRate‚ɕύX‚ĩ‚Ü‚ĩ‚―B‚Ý‚·‚Æ‚ę‘ƒ‚ĖƒVƒ~ƒ…ƒŒ[ƒ^[‚É‚æ‚邯ƒhƒbƒyƒ‹ƒJ[ƒh‚Í•Ą”‚Å‚āˆę‚‚ĩ‚Đ“K—p‚ģ‚ę‚Č‚Ē‚Ý‚―‚Ē‚ū‚Á‚―‚˂ŁB + (db/) + item_db.txt + +-------------- +//0698 by Ž€_ + +Eˆę•”‚ĖƒLƒƒƒ‰‚ɏd—ƂЂO‚ɂȂÁ‚ăJƒvƒ‰‚Č‚Į‰―‚ā‚o‚bC‚m‚b‚o‚Š•\ŽĶ‚ģ‚ę‚Č‚­‚Č‚éƒoƒOCģB(‚ŧ‚ę‚ū‚Ŋ) + (common/) + mmo.h CģB + (map/) + clif.c + clif_updatestatus() CģB + pc.c + pc_calcstatus() CģB + +-------------- +//0697 by “ė + +Emob_dbCģ +@ƒhƒƒbƒv‚𒆐S‚ɏCģB +@@@@(db/) + mob_db.txt + +-------------- +//0696 by Ž€_ + +EƒoƒOCģB +EƒeƒŒƒ|[ƒg‚⃏[ƒv“™‚ĖŽžƒXƒLƒ‹ƒ†ƒjƒbƒg‚Đ‚į”ē‚Ŋ‚鏈—‚Š“ü‚Á‚Ä +‚ȂЂÁ‚―‚Ė‚ÅSAFETYWALL“™‚É‚æ‚Á‚ÄŽI—Ž‚ŋ‚Š‹N‚ą‚Á‚―‚æ‚΂ł·B(Šm‚Đ•ņ‚ā +‚ ‚Á‚―‚ÆŽv‚ǂ܂·‚Š...) ‚æ‚Á‚ďCģ‚Í‚ĩ‚Ü‚ĩ‚―‚ŠŠm”F‚Í‚ĩ‚Ă܂đ‚ņB•ņ‚ð +‚ĻŠč‚Ē‚ĩ‚Ü‚·B +EƒXƒLƒ‹‚É‚æ‚鐁‚Ŧ”ō‚΂ĩˆ—‚ð‚ŋ‚å‚Á‚ƏCģ‚ƃ‚ƒ“ƒXƒ^[‚ĖƒR[ƒh‚ð­‚ĩCģB +‘―•Š•Ï‚É‚Č‚Á‚―‚ą‚Æ‚Í‚Č‚Ē‚ÆŽv‚ǂ܂·‚Š•Ï‚ū‚Á‚―‚į•ņ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB +E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģB + (map/) + skill.h CģB + skill.c + skill_blown()Askill_attack()Askill_unit_move() CģB + skill_castend_nodamage_id()Askill_castend_damage_id() CģB + skill_unit_out_all()Askill_unit_out_all_sub() ’Į‰ÁB + mob.c + mob_stop_walking()Amob_spawn()Amob_warp() CģB + mob_can_move()Amob_changestate() CģB + map.h CģB + pc.c + pc_setpos() CģB + battle.c + battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CģB + battle_calc_pc_weapon_attack() CģB + +-------------- +//0695 by Ž€_ + +E­‚ĩCģB +EƒvƒŒƒCƒ„[‚ĖŠî–{ƒpƒ‰ƒ[ƒ^‚ð2byte‚ÉŠg’́B +Eitem_db.txt‚ðƒ‰ƒOƒiƒQ[ƒg‚ːā–ū‚ɍ‡‚í‚đ‚ďCģB +EbAddEff‚ÆbResEff‚ĖŠm—Ķ‚ð•S•Š—Ķ‚Đ‚į–œ•Š—Ķ‚É•ÏXB +EƒXƒNƒŠƒvƒgstatusup‚Æstatusup2’Į‰ÁB +statusup bStr; ‚Ė‚æ‚Ī‚ÉŽg‚Á‚Ä‹@”\‚̓Xƒe[ƒ^ƒXƒ|ƒCƒ“ƒg‚ðŒļ‚į‚ĩ‚Ä +Šî–{ƒpƒ‰ƒ[ƒ^‚ð1ã‚°‚éB +statusup2 bInt,n; ‚Ė‚æ‚Ī‚ÉŽg‚Á‚Ä‹@”\‚̓Xƒe[ƒ^ƒXƒ|ƒCƒ“ƒg‚ðŒļ‚į‚ģ‚ļ‚É +Šî–{ƒpƒ‰ƒ[ƒ^‚ðnã‚°‚éB +E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģB + (conf/) + battle_athena.conf CģB + (db/) + item_db.txt CģB + const.txt CģB + (doc/) + item_bonus.txt CģB + conf_ref.txt CģB + (common/) + mmo.h CģB + (char/) + char.c + mmo_char_send006b()Aparse_char() CģB + (map/) + map.h CģB + clif.h CģB + clif.c + clif_initialstatus()Aclif_updatestatus() CģB + pc.h CģB + pc.c + pc_bonus()Apc_calcstatus()Apc_equippoint()Apc_equipitem() CģB + pc_jobchange()Apc_checkbaselevelup()Apc_statusup() CģB + pc_statusup2() ’Į‰ÁB + battle.h CģB + battle.c + battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() CģB + battle_calc_pc_weapon_attack()Abattle_config_read() CģB + skill.c + skill_additional_effect()Askill_status_change_start() CģB + script.c + buildin_statusup()Abuildin_statusup2() ’Į‰ÁB + atcommnad.c CģB + +-------------- +//0694 by Ž€_ + +EƒoƒOCģ‚ƍŨ‚Đ‚ĒCģB +EbCriticalRate‚Аģ‚ĩ‚­“K—p‚ģ‚ę‚ȂЂÁ‚―–â‘čCģB +Eƒyƒbƒg‚É‚æ‚éƒXƒe[ƒ^ƒXƒ{[ƒiƒX’Į‰ÁBƒXƒe[ƒ^ƒXƒ{[ƒiƒX‚Í‘•”õ‚Ė +ƒXƒNƒŠƒvƒg‚É‚æ‚Á‚Đݒč‚ĩ‚Ü‚·B‚―‚ūƒyƒbƒg‚É‚æ‚éƒ{[ƒiƒX‚̓J[ƒh‚É‚æ‚é•Ļ‚Æ“Ŋ‚ķˆĩ‚Ē‚ð‚ĩ‚Ü‚·B‚ŧ‚ĩ‚đېŦ‚Ė“K—p‚͈ę”Ô—Dæ‡ˆĘ’á‚ǂł·BĄ‚͉―‚ā“ü‚Á‚Ă܂đ‚ņ‚Š... + (conf/) + battle_athena.conf CģB + (db/) + const.txt CģB + pet_db.txt CģB + (doc/) + item_bonus.txt CģB + conf_ref.txt CģB + db_ref.txt CģB + (map/) + map.h CģB + map.c + map_quit() CģB + battle.h CģB + battle.c + battle_calc_pc_weapon_attack()Abattle_weapon_attack() CģB + battle_calc_magic_attack()Abattle_calc_misc_attack() CģB + battle_config_read() CģB + pc.c + pc_calcstatus()Apc_bonus()Apc_setpos()Apc_authok() CģB + pc_damage()Apc_autosave_sub() CģB + pet.h CģB + pet.c + pet_hungry()Apet_birth_process()Apet_recv_petdata()Apet_food() CģB + pet_return_egg()Apet_ai_sub_hard()Aread_petdb() CģB + clif.c + clif_sendegg()Aclif_parse_LoadEndAck() CģB + atcommand.c CģB + makefile CģB + +-------------- +//0693 by ŒÓ’ą—– + +ESC_*‚Ė—ņ‹“•\‚ðƒŠƒiƒ“ƒoƒŠƒ“ƒO + ƒNƒ‰ƒCƒAƒ“ƒg‚É’Ę’m‚·‚é‚Ė‚ð64–Ē–ž‚Đ‚į128–Ē–ž‚É‘‚â‚ĩ‚― + ƒpƒPƒbƒgî•ņ‚ɍ‡‚Ī‚æ‚Ī‚ÉƒŠƒiƒ“ƒo[ + StatusChange‚Ė”z—ņ‚ð128‚Đ‚į192‚É‘‚â‚ĩ‚―‚Ė‚Åƒƒ‚ƒŠŽg—p—ƂБ‚͂܂·B + + (db/) + const.txt + SC_* ‚ː”’l‚ð•ύX + (map/) + skill.h + SC_* ‚Ė—ņ‹“‚ː”’l‚ð•ύX + map.h + MAX_STATUSCHANGE‚ð128‚Đ‚į192‚É‘‚â‚ĩ‚― + skill.c + skill_status_change_start(),skill_status_change_end(), + skill_status_change_clear()‚Ė’Ę’mˆ—‚ð•ύX + +E‰‰‘t/ƒ_ƒ“ƒX‚Ėˆ—‚ð•ύX + ‰‰‘t/ƒ_ƒ“ƒX’†‚Đ‚Į‚Ī‚Đ‚ðSC_DANCING‚Å”ŧ’č‚·‚邿‚Ī‚É•ÏX + i”ŧ’čˆ—‚Š‘―­‚‘މŧ‚ģ‚ę‚―‚Í‚ļj + ƒ[ƒv(ƒ}ƒbƒvˆÚ“Ū‚â”ˆ‚Č‚Į)‚·‚邯‰‰‘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 + ‘‚Ŧ‘đ‚ķ‚Š‚ ‚é‚Đ‚āEE + pc.c + pc_calcstatus(),pc_setpos(),pc_damage()•ύX + +E•s‹Ķ˜a‰đƒXƒLƒ‹‚ĖCģ + (db/) + skill_db.txt + •s‹Ķ˜a‰đƒXƒLƒ‹‚ĖHIT”Cģ + (map/) + skill.c + skill_status_change_timer()•ύX + battle.c + battle_calc_misc_attack()Cģ + +-------------- +//0692 by ŒÓ’ą—– + +EƒAƒhƒŠƒuƒXƒLƒ‹‚ŠŽg—p‚Å‚Ŧ‚Ȃǖâ‘čCģiskill_db‚Ė“Y•t‚ĩ–Y‚ęj + (db/) + skill_db.txt + ƒAƒhƒŠƒu‚ĖÁ”ïSP‚ð1‚ɏCģ + +Emob_db2.txt‚Š‚ ‚ę‚Îmob_db.txt‚ɃI[ƒo[ƒ‰ƒCƒh‚·‚邿‚Ī‚É + ƒIƒŠƒWƒiƒ‹mob‚ðė‚Á‚Ä‚él‚ÍŽg‚Ī‚Æ•Ö—˜‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņB + + mob.c + mob_readdb() + +EŽI—Ž‚ŋƒoƒO•ņŽž‚Ė‚―‚ß‚ĖƒXƒ^ƒbƒNƒoƒbƒNƒgƒŒ[ƒXƒƒOŠ“ū•û–@‚ðÐ‰î + ŽI—Ž‚ŋƒoƒO‚Ė•ņŽž‚ɁA‚ą‚Ėî•ņ‚ðƒRƒsƒy‚·‚邯ŠJ”­ŽŌ‚ŠŠė‚҂܂·B + Cygwin‚Åcore‚Ė“f‚Đ‚đ‚é•û–@‚āÐ‰î‚ĩ‚Ă܂·B + + (doc/) + coredump_report.txt + +-------------- +//0691 by ŒÓ’ą—– + +Eitem_db2.txt‚Š‚ ‚ę‚Îitem_db.txt‚ɃI[ƒo[ƒ‰ƒCƒh‚·‚邿‚Ī‚É + ƒIƒŠƒWƒiƒ‹ƒAƒCƒeƒ€‚ðė‚Á‚Ä‚él‚ÍŽg‚Ī‚Æ•Ö—˜‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņB + + itemdb.c + itemdb_readdb()Cģ + +E‰‰‘t/ƒ_ƒ“ƒXŒnƒXƒLƒ‹‰žŽĀ‘• + E‰‰‘t/ƒ_ƒ“ƒX’†‚ÍˆÚ“Ū‚Š’x‚­AƒXƒLƒ‹‚āŽg‚͂Ȃǂæ‚΂ɂȂč‚Ü‚ĩ‚― + EƒAƒhƒŠƒuƒXƒLƒ‹‚ʼn‰‘t/ƒ_ƒ“ƒX‚ð’†’f‚Å‚Ŧ‚邿‚΂ɂȂč‚Ü‚ĩ‚― + E‰‰‘t/ƒ_ƒ“ƒX‚͐Ήŧ‚Č‚Į‚ĖˆŲíAMHP‚Ė1/4ˆČã‚Ėƒ_ƒ[ƒW‚Å’†’f‚ĩ‚Ü‚· + EƒLƒƒƒ‰ƒNƒ^[ƒOƒ‰ƒtƒBƒbƒN‚͉‰‘t/ƒ_ƒ“ƒX‚ĩ‚Ü‚đ‚ņ + E‰‰‘t/ƒ_ƒ“ƒX’†‚ĖSPÁ”ï‚Í–ĒŽĀ‘•‚Å‚· + EˆÚ“Ū‚ĩ‚Ä‚āŒø‰Ę”ÍˆÍ‚Í‚Â‚Ē‚Ä‚Ŧ‚Ü‚đ‚ņ + Ed•Ą‚ĩ‚Ä‚ā•s‹Ķ˜a‰đ‚Č‚Į‚ɕωŧ‚ĩ‚Ü‚đ‚ņ + EƒGƒtƒFƒNƒg‚Šo‚Ä‚āŒø‰Ę‚Í–ĒŽĀ‘•‚Ė‚ā‚˂Ђ ‚č‚Ü‚· + E‚Ų‚Æ‚ņ‚Į–ĒƒeƒXƒg‚Ȃ˂ő―”‚Ė•s“s‡‚Š‚ ‚邯Ž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 ”g˜Q + +EŨ‚Đ‚ĒCģ + (db/) + item_db.txt ‚ƃƒMƒ“ƒMƒ‡ƒ‹ƒh‚Ėbonus‚ðCģB + (doc/) + item_bonus.txt CģB + +-------------- +//0689 by Ž€_ + +E‘qŒÉƒoƒOCģ‚ƍŨ‚Đ‚ĒCģB + (map/) + pc.c + pc_modifybuyvalue()Apc_modifysellvalue() CģB + storage.c + storage_storageopen() CģB + storage_storage_quit()Astorage_storage_save() CģB + +-------------- +//0688 by đ + +EƒfƒBƒXƒJƒEƒ“ƒgAƒRƒ€ƒpƒ‹ƒVƒ‡ƒ“ƒfƒBƒXƒJƒEƒ“ƒgAƒI[ƒo[ƒ`ƒƒ[ƒW‚Š“K—p‚ģ‚ę‚ȂЂÁ‚―–â‘č‚ðCģB + (map/) + pc.c + pc_modifybuyvalue() CģB + pc_modifysellvalue() CģB + +-------------- +//0687 by Ž€_ + +E­‚ĩCģB +Ebattle_athena.conf‚ɍ€–Ú’Į‰ÁB(Ú‚ĩ‚Ē‚ą‚Æ‚Íconf_ref.txt‚Å) +Eitem_avail.txt‚Ėˆ—‚ð•ύXBƒAƒCƒeƒ€ID‚ĖŒã‚É0‚ð“ü‚ę‚邯Ą‚܂ŒƂč‚ÉŽg—p•s‰Â”\‚ɂȂ邊0ˆČŠO‚ː”’l‚ð“ü‚ę‚邯Žg—p•s‰Â”\‚Å‚Í‚Č‚­‚ŧ‚ː”’l‚ðƒAƒCƒeƒ€‚ĖID‚Æ‚ĩ‚ÄŒĐ‚―–Ú‚ū‚Ŋ‚ð‚ŧ‚ę‚ɕύX‚ĩ‚Ü‚·B‚æ‚Á‚ÄˆÆ—Ž‚ŋƒAƒCƒeƒ€‚ð•Ƃ˕ςɕ\ŽĶ‚ĩ‚ÄˆÆ—Ž‚ŋ‚ð–h‚Ū‚ą‚Æ‚ЂłŦ‚Ü‚·B(•\ŽĶ‚ū‚Ŋ•Ï‚Ķ‚ÄŽI‚Ėˆ—‚Í–{“–‚ĖƒAƒCƒeƒ€ID‚Ė•Ļ‚Æ‚ĩ‚Ä”FŽŊ‚ĩ‚Ü‚·BCģ‚Í‘S‚Ä‚ĩ‚―‚ÆŽv‚ǂ܂·‚Š”ē‚Ŋ‚―Š‚Š‚ ‚é‚Đ‚ā’m‚č‚Ü‚đ‚Ė‚ÅŒĐ‚―–ڕύX‚ĩ‚―ƒAƒCƒeƒ€‚ÅˆÆ—Ž‚ŋ‚Š‹N‚ą‚Á‚―‚į•ņ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB) ŽI‚Ėˆ—‚Í‚ą‚ꂊŒĀŠE‚Å‚·B(­‚Č‚­‚Æ‚āŽĐ•ЂɂÍ) ƒAƒCƒeƒ€‚Š“Ŋ‚ķ•ςГņ‚•\ŽĶ‚ģ‚ę‚ÄŠÔˆá‚ĒˆĀ‚Ē‚Æ‚Đ‚Į‚Ī‚ą‚Ī‚Æ‚Đ‚Ė•ķ‹å‚ðŒū‚Ē‚―‚ǐl‚͈ƍė‚悿BˆČãB +EƒWƒ‹ƒ^ƒX‚ƃAƒŠƒX‚ĖƒRƒ}ƒ“ƒgƒAƒEƒg‰ðœBitem_avail.txt‚Å—‘‚ðƒ‹ƒr[‚ƃAƒNƒAƒ}ƒŠƒ“‚Å•\ŽĶ‚ĩ‚ĕߊlƒAƒCƒeƒ€‚ā‘ž‚˕ςɕ\ŽĶ‚·‚邿‚Ī‚É•ÏX‚ĩ‚Ăǂ܂·B +Eƒ_ƒ[ƒWŒvŽZ‚ĖƒoƒOCģB(‘å‚ĩ‚―•Ļ‚ķ‚á‚ ‚č‚Ü‚đ‚ņ‚Š‹|‚ū‚Ŋ‚ŋ‚å‚Á‚Æ–â‘肊‚ ‚Á‚―‚æ‚΂ł·B) +EÂ” “™‚ĖƒAƒCƒeƒ€‚Å“ū‚―‘•”õ•i‚Í–ĒŠÓ’č‚ɂȂ邿‚Ī‚É•ÏXB +E‘•”õƒ{[ƒiƒX‚˓╔ˆ—Cģ‚Ə­‚ĩ•ύXB(Ú‚ĩ‚Ē‚ą‚Æ‚Íitem_bonus.txt‚Å) +EƒLƒƒƒ‰ŽI‚Ƀe[ƒ^‚𑗂鎞ƒLƒƒƒ‰A‘qŒÉAƒyƒbƒg‚Ėƒe[ƒ^‚ð“ŊŽž‚É‘—‚邿‚Ī‚É•ÏXB(ƒLƒƒƒ‰ŽI‚ƃ}ƒbƒvŽI‚ĖŠÔ‚Ė“]‘——ƂБ‚Ķ‚é‚Đ‚ā’m‚č‚ę‚Ü‚đ‚ņ‚Šƒf[ƒ^‚ð“ŊŠú‰ŧ‚ĖˆŨ‚Å‚·B) +EFW‚Ė“ŪėŠÔŠu‚ð0.25•b‚Đ‚į0.1•b‚ɕύXB(‚ą‚ę‚Ő ‚č”ē‚͏­‚ĩŒļ‚é‚Í‚ļ‚Å‚·B) +EƒJ[ƒgƒŒƒ{ƒŠƒ…ƒVƒ‡ƒ“‚Å‚Į‚ņ‚ȏó‘ÔˆŲí‚ā‚ЂЂį‚Ȃǂæ‚Ī‚É•ÏXB + (conf/) + battle_athena.conf CģB + (db/) + const.txt CģB + item_avail.txt CģB + pet_db.txt CģB + (doc/) + conf_ref.txt CģB + item_bonus.txt CģB + (map/) + map.h CģB + map.c + map_quit() CģB + battle.h CģB + battle.c + battle_calc_pc_weapon_attack()Abattle_calc_mob_weapon_attack() CģB + battle_calc_pet_weapon_attack()Abattle_calc_magic_attack() CģB + battle_get_dmotion()Abattle_config_read() CģB + pc.c + pc_calcstatus()Apc_bonus()Apc_bonus3()Apc_setpos() CģB + pc_makesavestatus()Apc_autosave_sub()Apc_modifybuyvalue() CģB + pc_modifysellvalue()Apc_stop_walking() CģB + skill.c + skill_additional_effect()Askill_unitsetting() CģB + clif.c + clif_buylist()Aclif_selllist()Aclif_set009e()Aclif_set0078() CģB + clif_set007b()Aclif_additem()Aclif_itemlist()Aclif_equiplist() CģB + clif_storageitemlist()Aclif_storageequiplist()Aclif_changelook() CģB + clif_arrow_create_list()Aclif_useitemack()Aclif_tradeadditem() CģB + clif_storageitemadded()Aclif_getareachar_item() CģB + clif_skill_produce_mix_list()Aclif_cart_additem()Aclif_cart_itemlist() CģB + clif_cart_equiplist()Aclif_vendinglist()Aclif_openvending() CģB + clif_produceeffect()Aclif_sendegg()Aclif_pet_equip()Aclif_mvp_item() CģB + clif_pet0078()Aclif_pet007b() CģB + itemdb.h CģB + itemdb.c + itemdb_searchrandomid()Aitemdb_search()Aitemdb_readdb() CģB + itemdb_read_itemavail()Aitemdb_read_itemvaluedb() CģB + itemdb_equippoint() íœB + storage.h CģB + storage.c + storage_storage_quitsave() ->storage_storage_quit()‚ɕύX‚ƏCģB + storage_storageclose() CģB + atcommand.c CģB + pet.c + pet_change_name()Apet_equipitem()Apet_unequipitem() CģB + pet_birth_process()Apet_return_egg() CģB + script.c + buildin_getitem() CģB + mob.c + mob_stop_walking() CģB + makefile CģB + +-------------- +//0686 by đ + +EŨ‚Đ‚ĒCģB + (map/) + pc.h CģB + +-------------- +//0685 by ”g˜Q + +E0683A0684‚Å‚Ėbonus‚Ė’Į‰Á‚ɂƂā‚Č‚Á‚Äitem_db.txt‚ðCģ +E‘žFXCģ + (db/) + item_db.txt CģB + (doc/) + item_bonus.txt CģB + +-------------- +//0684 by Ž€_ + +EŨ‚Đ‚ĒCģB +EŽ€‚ņ‚ū‚Ó‚č‚ĖŽžƒXƒLƒ‹‚ƃAƒCƒeƒ€‚ŠŽg‚͂Ȃǂæ‚Ī‚É•ÏXB +EbInfiniteEndure’Į‰ÁB‹@”\‚Í–ģŒĀƒCƒ“ƒfƒ…ƒAB +Eƒ_ƒ[ƒW•\ŽĶ‚Ėˆ—­‚ĩ•ύXB + (db/) + const.txt CģB + (doc/) + item_bonus.txt CģB + (map/) + map.h CģB + pc.c + pc_calcstatus() CģB + pc_equipitem()Apc_unequipitem() CģB + clif.c + clif_parse_UseItem()Aclif_parse_UseSkillToId() CģB + clif_parse_UseSkillToPos()Aclif_parse_UseSkillMap() CģB + clif_damage()Aclif_skill_damage()Aclif_skill_damage2() CģB + clif_parse_LoadEndAck() CģB + skill.c + skill_status_change_timer() CģB + +-------------- +//0683 by Ž€_ + +EƒoƒOCģ‚Æbonus’Į‰ÁB +E‘qŒÉƒoƒOA‘ېŦƒoƒOCģ‚Æ‚ŧ‚Ė‘ž‚ĖƒoƒOCģB +EƒXƒNƒŠƒvƒgbonus3’Į‰ÁBĄ‚ÍbAddMonsterDropItem‚ū‚Ŋ‚Š‘Î‰ž‚ɂȂÁ‚Ăǂ܂·B +Ebonus bRestartFullRecover;n;“™‚Ån‚Í–ģˆÓ–Ą‚ū‚Ŋ‚ĮÁ‚·‚Ė‚Í‚ŋ‚å‚Á‚Ƃ܂ļ‚ǂł·‚Ė‚Å0‚É‚ĩ‚Ä“ü‚ę‚―•û‚Ђǂǂł·Bbonus‚Í2‚Â‚Ė”’l‚Š•K—v‚ČƒXƒNƒŠƒvƒg‚Ȃ˂ŁB +EbDefRatioAtk‚ð–hŒä–ģŽ‹‚ɕύXB +E0677‚ŏ‘‚Ŧ–Y‚ęB +E•Ší‚ˑېŦ“K—p—Dæ‡ˆĘ‚ðŧ‘Ē>ƒJ[ƒh>•Ší‚ɕύXBŧ‘Ē‚ŠÅ—Dæ‚Å‚·B(‘ېŦ‚Š‚ ‚鎞‚ɘb‚Å‚·B‘ېŦ‚Š‚Č‚Ēę‡‘ېŦ‚ ‚é•Ļ‚Éã‘‚Ŧ‚ģ‚ę‚―‚č‚Í‚ĩ‚Ü‚đ‚ņB) +E‘•”õ‚Å“K—p‚ģ‚ę‚éŒø‰Ę‚Ė—Dæ‡ˆĘ‚ð‰EŽč>ķŽč>‘Ė>“Šã>“Š’†>“Љš>ƒ[ƒu>ŒC>ƒAƒNƒZƒTƒŠ[1>ƒAƒNƒZƒTƒŠ[2>–î‚ɐݒčB(–{ŽIŽd—l‚Š‚Į‚Ī‚Č‚Ė‚Đ•Š‚Đ‚é‚ą‚Æ‚Š‚Å‚Ŧ‚ŧ‚΂ȕςłā‚Č‚Ē‚Ė‚ÅƒAƒeƒi‚ĖŽd—l‚ÆŒū‚Ī‚ą‚Æ‚ŁB) ‰EŽč‚ŠÅ—Dæ‚Å‚·B +E•Ší‚ĖŽË’ö‚ð‰EŽč‚ƍķŽč‚Ė•Ší‚Ė’†‚Å’·‚Ǖςð“K—p‚·‚邿‚Ī‚É•ÏXB + (db/) + const.txt CģB + (doc/) + item_bonus.txt CģB + (map/) + map.h CģB + battle.c + battle_calc_pc_weapon_attack()Abattle_calc_mob_weapon_attack() CģB + battle_calc_pet_weapon_attack()Abattle_calc_magic_attack() CģB + battle_damage() CģB + pc.c + pc_autosave_sub()Apc_calcstatus() CģB + pc_bonus()Apc_bonus2() CģB + pc_bonus3() ’Į‰ÁB + script.c + buildin_bonus3() ’Į‰ÁB + mob.c + mob_once_spawn()Amob_damage() CģB + storage.h CģB + storage.c + storage_storage_save() ’Į‰Á + atcommand.c CģB + +-------------- +//0682 by đ + +EƒXƒs[ƒhƒAƒbƒvƒ|[ƒVƒ‡ƒ“Œn‚ĖƒoƒOCģ + (map/) + pc.c + pc_calcstatus() CģB + +-------------- +//0681 by Ž€_ + +E‘•”õƒoƒOCģB + (map/) + pc.c + pc_equipitem() CģB + +-------------- +//0680 by đ + +EŨ‚Đ‚ĒCģB +Eu@monstervƒRƒ}ƒ“ƒh‚Ń‚ƒ“ƒXƒ^[ID‚ĖŽw’č‚Ɂu-1vAu-2v“™‚ðŽw’č‚·‚邯 +@ƒ‚ƒ“ƒXƒ^[‚ðƒ‰ƒ“ƒ_ƒ€‚ÅĒŠŌ‚Å‚Ŧ‚é‹@”\‚ð’Į‰ÁB + (map/) + mob.c + atcommand.c + +-------------- +//0679 by ”g˜Q + +E0676‚ŐV‚ĩ‚ĒƒAƒCƒeƒ€Œø‰Ę‚ŠŽĀ‘•‚ģ‚ę‚―‚˂ŁAitem_db.txt‚ðCģ(bonus bAddMonsterDropItem,n,x; ‚́AŽí‘°”ŧ’肊‚Å‚Ŧ‚Č‚Ē‚Ė‚Å‚Æ‚č‚ ‚Ķ‚ļ•Û—Ŋ‚ĩ‚Ü‚ĩ‚―B) +E‘žFXCģ + (db/) + item_db.txt + job_db1.txt + (doc/) + item_bonus.txt + +-------------- +//0678 by đ + +EĒŠŌŠÖ˜A‚ĖŨ‚Đ‚ĒCģB + (map/) + mob.c + mob_once_spawn_area() CģB + +-------------- +//0677 by Ž€_ + +EŨ‚Đ‚ĒCģB +EƒAƒCƒeƒ€”„”ƒ‚É‚æ‚Á‚Ä“ū‚į‚ę‚éŒoŒą’l‚ðƒJ[ƒh‚É‚æ‚éƒXƒLƒ‹‚ł͓ū‚į‚ę‚Ȃǂæ‚Ī‚ÉCģB +E“łɊ|‚Đ‚é‚ÆŽĐ‘R‰ņ•œ‚Å‚Ŧ‚Ȃǂæ‚Ī‚ÉCģB +E0676‚ŏ‘‚Ŧ–Y‚ęBŧ‘Ē•Ší‚Ėę‡ŧ‘ǂɂæ‚Á‚Ä—^‚Ķ‚―‘ېŦ‚Š•Ší‚ˑېŦ‚æ‚č—Dæ‚ĩ‚Ä“K—p‚ģ‚ę‚邿‚Ī‚É•ÏXB(ŧ‘Ē•Ší‚Š–ģ‘ېŦ‚Ėę‡‚Í“K—p‚ģ‚ę‚Ü‚đ‚ņB) + (doc/) + item_bonus.txt ŒëŽšCģB + (map/) + npc.c + npc_buylist()Anpc_selllist() CģB + pc.c + pc_calcstatus()Apc_natural_heal_sub() CģB + +-------------- +//0676 by Ž€_ + +EFX‚ƏCģB +Ebattle_athena.conf‚ɍ€–Ú’Į‰ÁB(Ú‚ĩ‚Ē‚ą‚Æ‚Íconf_ref.txt‚Å) +E‚Ý‚·‚Æ‚ę‘ƒ‚ðŽQl‚ĩ‚ă_ƒ[ƒWŒvŽZ‚ð­‚ĩCģB +E‘•”õbonus‚ɐFX‚Æ’Į‰ÁB(Ú‚ĩ‚Ē‚ą‚Æ‚Íitem_bonus.txt‚Å) +EŽĐ“ŪƒZ[ƒu‚·‚鎞(ƒLƒƒƒ‰ŽI‚Ƀf[ƒ^‚𑗂鎞)‘qŒÉ‚Ėƒf[ƒ^‚ā‘—‚邿‚Ī‚É•ÏXB +E0667‚ÅŒū‚Ē–Y‚ęBƒJ[ƒg‚ðŠO‚ĩ‚Ä‚āƒAƒCƒeƒ€‚ŠÁ‚͂Ȃǂæ‚Ī‚É•ÏXB(–{ŽI‚ŏÁ‚Ķ‚é‚Ė‚ŠŽd—l‚ū‚ÆŽv‚Á‚Ăǂ―‚Ŋ‚ĮCģ‚ģ‚ę‚―‚Ý‚―‚ǂȂ˂ŁB) +EŽæˆø—vŋ‚ðŽó‚Ŋ‚é‘Ī‚ÍŠî–{ƒXƒLƒ‹‚ðƒ`ƒFƒbƒN‚ĩ‚Ȃǂæ‚Ī‚ÉCģB(Žó‚Ŋ‚é‘Ī‚ĖŠî–{ƒXƒLƒ‹ƒ`ƒFƒbƒN‚ÍŽĐ•Š‚Š“ü‚ę‚―•Ļ‚Å‚Í‚Č‚Ē‚Å‚·B‚Ē‚Â‚ĖŠÔ‚É‚Đ“ü‚Á‚Ăǂ―‚Ė‚Åíœ‚ĩ‚Ü‚ĩ‚―B) +E–h‹ï‚ːļ˜Bƒ{[ƒiƒX‚ð’[”–ģŽ‹‚ɕύXB(‚ą‚ꂊ–{ŽI‚ĖŽd—l‚Ý‚―‚ǂȂ˂Å) +EƒAƒ“ƒNƒ‹‚Ėˆ—­‚ĩ•ύXB(‚ЂЂį‚Č‚Ē‚ÆŒū‚Ī•ņ‚Š‚ ‚č‚Ü‚ĩ‚―‚Ė‚Å...) +EƒvƒŒƒCƒ„[‚ĖƒXƒe[ƒ^ƒXŒvŽZ‚Å–â‘č‚ ‚č‚ŧ‚Ī‚ČŠCģB +EƒJ[ƒh‚ĖID‚Å‹@”\‚ŠŒˆ‚Ü‚Á‚Ăǂ―ƒJ[ƒh‚āƒXƒNƒŠƒvƒg‚É‚æ‚Á‚Ä•Ï‚Ķ‚é‚ą‚Æ‚Š‚Å‚Ŧ‚邿‚Ī‚É•ÏXB(Ú‚ĩ‚Ē‚ą‚Æ‚Íitem_bonus.txt‚Å) +EaspdŒvŽZ•û–@­‚ĩ•ύXB +E–î‚ÉbCriticalAbAtkEleAbHitAbAddEleAbAddRaceAbAddSizeAbAddEff‚ð“K—p‚Å‚Ŧ‚邿‚Ī‚É•ÏXB–î‚ðŽg‚ĪƒXƒLƒ‹‚â‹|‚É‚æ‚éUŒ‚‚ū‚Ŋ‚É–î‚ĖbCriticalAbAtkEleAbHitAbAddEleAbAddRaceAbAddSizeAbAddEff‚Š“K—p‚ģ‚ę‚邿‚Ī‚ÉCģB +EƒLƒŠ‚ĖŽĀ‘•‚ɈŨ‚ɏCģ‚Í‚ĩ‚Ü‚ĩ‚―‚ŠƒLƒŠ‚Š–hŒä–ģŽ‹‚Č‚Ė‚Đ‚Į‚Ī‚Đ‚Š‚í‚Đ‚į‚ȂЂÁ‚―‚˂ŖhŒä–ģŽ‹‚Í‚ĩ‚Ȃǂæ‚΂ɂȂÁ‚Ăǂ܂·B +EƒeƒXƒg‚ĩ‚―•Ļ‚ÍbAddMonsterDropItem‚ÆbGetZenyNum‚ū‚Ŋ‚Ȃ˂Őģí‚É“Ūė‚·‚é‚Đ‚Į‚Ī‚Đ‚Ė•ņ‚Š—~‚ĩ‚ĒŠ‚Å‚·B(‚Â‚Ē‚Å‚Éitem_db‚ĖCģ‚ā...‚ą‚ę‚Å‹zŽûŒn‚ƃI[ƒgƒXƒyƒ‹ŒnˆČŠO‚Í–w‚ĮŽĀ‘•‚Å‚Ŧ‚é‚Í‚ļ‚Å‚·B‘―•Š...) +E‚ŧ‚Ė‘ž‚ÍŠo‚͂ĂȂǂŊ‚ĮCģ‚ĩ‚―Š‚Š­‚ĩ‚ ‚é‚Đ‚ā... + (conf/) + battle_athena.conf CģB + (doc/) + conf_ref.txt CģB + item_bonus.txt CģB + (db/) + const.txt CģB + (char/) + inter.c + inter_init() CģB + int_storage.c + mapif_parse_SaveStorage() CģB + (map/) + trade.c + trade_traderequest() CģB + pc.h CģB + pc.c + pc_autosave_sub()Apc_calcstatus() CģB + pc_bonus()Apc_bonus2() CģB + pc_setrestartvalue()Apc_setequipindex() CģB + pc_check_equip_wcard()Apc_check_equip_dcard()Apc_check_equip_card() íœ + ‚ŧ‚Ė‘žCģB + skill.h CģB + skill.c CģB + skill_castend_nodamage_id()Askill_unit_onplace() CģB + skill_check_condition()Askill_additional_effect() CģB + skill_attack()Askill_status_change_start() CģB + map.h CģB + battle.h CģB + battle.c + battle_get_def()Abattle_get_mdef2() CģB + battle_weapon_attack()Abattle_damage() CģB + battle_calc_magic_attack()Abattle_calc_pc_weapon_attack() CģB + battle_calc_mob_weapon_attack()Abattle_calc_pet_weapon_attack() CģB + battle_calc_misc_attack()Abattle_config_read() CģB + mob.c + mob_damage() CģB + pet.c + pet_target_check() CģB + clif.c + clif_set0078()Aclif_set007b()Aclif_changelook() CģB + atcommand.c CģB + +-------------- +//0675 by ”g˜Q + +EŠØŽI‚Å‘šģ‚ĖŒø‰Ę‚Š•ÏX‚ģ‚ę‚―‚˂ŕņ‚ðŒģ‚Éitem_db.txt‚ðCģ +Ejob_db1.txt‚ðCģ + (db/) + item_db.txt + job_db1.txt + +-------------- +//0674 by npc + +Eƒtƒ@[ƒ}ƒV[‚ˉžŽĀ‘•B + (db/) + produce_db.txt + (map/) + skill.c + +-------------- +//0673 by “ė + +EW’†—ÍŒüã‚É‘•”õ•i‚Ė•âģ‚Š“ü‚Á‚Ä‚Ē‚Č‚Đ‚Á‚―‚Ė‚ðCģB +@@@@@(map/)@@@ +@@@@@ pc.c + +-------------- +//0672 by “ė + +EW’†—ÍŒüã‚É‘•”õ•i‚Ė•âģ‚Š“ü‚Á‚Ä‚Ē‚Č‚Đ‚Á‚―‚Ė‚ðCģB +@@@@@(map/)@@@ +@@@@@ pc.c + +-------------- +//0672 by đ + +Eƒ‚ƒ“ƒXƒ^[Œn‚ĖƒoƒOCģ(‚·‚݂܂đ‚ņA‚Ü‚ūŽc‚Á‚Ă܂ĩ‚―(^^; ) + (map/) + mob.c + +-------------- +//0671 by đ + +EIDƒ`ƒFƒbƒN”ÍˆÍ‚ĖCģ‘žB +E@monster‚Ő”‚ðŽw’č‚ĩ‚Č‚­‚Ä‚āĒŠŌ‚Å‚Ŧ‚邿‚Ī‚ÉCģB + (map/) + atcommand.c + battle.c + battle.h + mob.c + pet.c + (conf/) + battle_athena.conf + (doc/) + conf_ref.txt + +-------------- +//0670 by RR + +Eƒ‚ƒ“ƒXƒ^[ƒhƒƒbƒv—Ķ‚ðCģ(–{ŽI€‹’ADB‚Å‚ĖÝ’č+1/10000)B +E—މš—Ķ‚O‚ɐݒč‚ĩ‚―ƒAƒCƒeƒ€‚𗎂Ƃ·‚Đ‚Į‚Ī‚Đ‚ðbattle_athena.conf‚Őݒč‰Â”\‚ɁB + (map/) + mob.c + mob_damage() CģB + battle.c + battle.h + (conf/) + battle_athena.conf + +-------------- +//0669 by đ + +Eƒ‚ƒ“ƒXƒ^[ƒhƒƒbƒv‚ĖCģB + (map/) + mob.c + mob_damage() CģB + +-------------- +//0668 by đ + +Eƒ‚ƒ“ƒXƒ^[ID‚Ė”ÍˆÍƒ`ƒFƒbƒN‚ðCģB + (map/) + mob.c + mob_dbAmob_once_spawn()Amob_once_spawn_area()A + mob_summonslave()Amob_read_randommonster()Amob_readdb() CģB + +-------------- +//0667 by Ž€_ + +EÅ‘åHPŒvŽZŽŪ‚ðƒ~ƒXƒgƒŒ‘ƒ‚ðŽQl‚ĩ‚ďCģB(‘―•Š‚ą‚ę‚Å–{ŽI‚É‚ ‚Á‚Ăǂ邯Žv‚ǂ܂·B) +E–h‹ï‚ːļ˜Bƒ{[ƒiƒX‚ð0.7‚ɕύXB(Ą‚Í’[”‚ðŽlŽĖŒÜ“ü‚ĩ‚Ăǂ܂·‚Š–{ŽI‚Š’[”–ģŽ‹‚Č‚įCģ‚ĩ‚ĂςŦ‚Ü‚·B) +E@refineƒRƒ}ƒ“ƒh‚Å‘•”õęŠID‚É0‚ð“ü‚ę‚邯‘•”õ‚ĩ‚Ăǂé‘S‚Ăˑ•”õ‚ðļ˜B‚·‚邿‚Ī‚É•ÏXB +E‚ŧ‚Ė‘žŨ‚Đ‚ĒCģB + (db/) + item_db.txt + 7140A7142‚ðŒģ‚É–ß‚ĩ‚Ä0666‚Ė•Ļ‚ÍƒRƒ}ƒ“ƒgƒAƒEƒg‚ĩ‚Ü‚ĩ‚―B + job_db1.txt CģB + refine_db.txt CģB + (map/) + mob.c + mob_once_spawn() CģB + itemdb.c + itemdb_read_randomitem() CģB + pet.c + pet_food() CģB + pc.c + pc_readdb()Ado_init_pc()Apc_calcstatus()Apc_setoption() CģB + pc_calc_sigma() ’Į‰ÁB + ‚ŧ‚Ė‘žCģB + map.h CģB + battle.c + battle_calc_magic_attack()Abattle_calc_misc_attack() CģB + atcommand.c CģB + +-------------- +//0666 by đ + +Eƒ‰ƒ“ƒ_ƒ€ƒAƒCƒeƒ€‚ĖŨ‚Đ‚ĒCģB +Ebattle_athena.conf‚Ė€–Ú’Į‰ÁB +EŒÃ–Ø‚ĖŽ}‚ÅĒŠŌ‚·‚郂ƒ“ƒXƒ^[‚ĖŠm—Ķ‚ðÝ’čo—ˆ‚邿‚΂ɂĩ‚Ü‚ĩ‚―B +Eƒ‚ƒ“ƒXƒ^[ĒŠŌƒAƒCƒeƒ€‚ð•Ą”ė‚鎖‚Šo—ˆ‚邿‚΂ɂĩ‚Ü‚ĩ‚―B +EĒŠŌƒAƒCƒeƒ€‚ĖƒTƒ“ƒvƒ‹‚Æ‚ĩ‚Ä +@ķ–―‚ĖŽíŽq‚ðƒ|ƒŠƒ“ŒnĒŠŌA +@ƒGƒ“ƒuƒŠƒI‚ðMVPƒ{ƒXŒnĒŠŌ‚É‚ĩ‚Ă݂܂ĩ‚―B +@‚ ‚Ü‚č‚Ē‚ĒƒTƒ“ƒvƒ‹‚ðŽv‚Ē‚Â‚Đ‚Č‚Đ‚Á‚―‚˂ŁA +@‰―‚Đ‚Ē‚ĒˆÄ‚ðŽv‚Ē‚Â‚Ē‚―l‚͏‘‚ŦŠ·‚͂Ăâ‚Á‚Ä‚­‚ū‚ģ‚Ē(^^; + (conf/) + battle_athena.conf + (doc/) + conf_ref.txt + (map/) + mob.h + mob_db CģB + mob.c + mob_once_spawn()Amob_makedummymobdb()Amob_readdb() CģB + mob_readbranch() -> mob_read_randommonster()‚ɕύXB + battle.h + battle_config CģB + battle.c + battle_config_read() CģB + itemdb.c + itemdb_read_randomitem() CģB + (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‚ĖŽæ‚芊‚Ŧ‚ŠƒJƒuƒL”EŽŌ‚ɂȂÁ‚Ăǂ―‚Ė‚ðŽð“V‹į‚ɏCģB +EƒIƒbƒg[‚ɃtƒFƒCƒNƒGƒ“ƒWƒFƒ‹‚Šo‚·‚Í‚ļ‚ĖŽæ‚芊‚Ŧ‚Š‚Â‚Ē‚Ä‚―‚Ė‚ðCģB + (db/) + mob_skill_db.txt + +-------------- +//0664 by đ + +Eļ˜BŽļ”sŽž‘ž‚ĖƒvƒŒ[ƒ„[‚É‚āƒGƒtƒFƒNƒg‚Š•\ŽĶ‚ģ‚ę‚邿‚Ī‚ÉCģB + (map/) + script.c + buildin_failedrefitem() CģB + +-------------- +//0663 by lide + +Eƒuƒ‰ƒ“ƒfƒBƒbƒVƒ…ƒXƒsƒACģ + (map/) + battle.c + skill.c + +-------------- +//0662 by Ž€_ + +EŨ‚Đ‚ĒCģ‚ƃoƒOCģB +Eƒvƒƒ{ƒbƒN‚É‚æ‚Á‚ă‚ƒ“ƒXƒ^[‚͏æŽZ–hŒä‚ÆŒļŽZ–hŒä‚ŠŒļ‚邿‚Ī‚ÉCģ‚ĩ‚ăvƒŒƒCƒ„[‚ÍŒļŽZ–hŒä‚ū‚ŊŒļ‚邿‚Ī‚ÉCģB +EƒXƒNƒŠƒvƒggetgmlevel’Į‰ÁB‹@”\‚Í‚ŧ‚ĖNPC‚Ƙb‚ĩ‚ĂǂéƒvƒŒƒCƒ„[‚ĖGMƒŒƒxƒ‹‚ð•Ô‚ĩ‚Ü‚·B +E0659‚Ė‘‚Ŧ–Y‚ę‚Å‚·‚Šƒyƒbƒg‚ĖƒpƒtƒHƒ}ƒ“ƒX‚ĖŽí—Þ‚Še–§“x‚É‚æ‚Á‚Ä‘‚͂邿‚Ī‚É•ÏX‚ĩ‚Ü‚ĩ‚―B + (map/) + clif.c + pc.c + script.c + +-------------- +//0661 by Ž€_ + +EŨ‚Đ‚ĒCģB +EÚ‘ą‚ĩ‚―Žž‚Ėƒyƒbƒg‚ĖƒƒbƒZ[ƒW‚ðe–§“x‚Š‚Ŧ‚í‚߂Đe‚ĩ‚Ē‚ĖŽž‚Ė‚Ý‚Éo‚邿‚Ī‚É•ÏXB +E0659‚ŏ‘‚Ŧ–Y‚ę‚Å‚·‚Šƒyƒbƒg‚ĖŽx‰‡UŒ‚‚͐e–§“x‚Š‚Ŧ‚í‚߂Đe‚ĩ‚Ē‚ĖŽž‚Ė‚Ý‚É”­ķ‚ĩ‚Ü‚·B(‚ŧ‚悯e–§“x‚É‚æ‚Á‚ÄŽx‰‡UŒ‚Šm—Ķ‚Š­‚ĩ•ωŧ‚ĩ‚Ü‚·B) +EƒWƒ‹ƒ^ƒX‚ƃAƒŠƒX‚Ė—‘‚ĖID‚ðitem_db.txt‚ɍ‡‚í‚đ‚Ü‚ĩ‚―B(ŽĐ•Š‚Šė‚Á‚―pet_db.txt‚Ė•û‚ŠŽĐ•ŠŸŽč‚ɐݒč‚ĩ‚Ăǂ―•ςłĩ‚―‚˂ŁB‚ÄŒū‚Ī‚Đ–ĒŽĀ‘•ƒAƒCƒeƒ€‚ū‚Đ‚į”ԍ†‚Š‚í‚Đ‚į‚ȂЂÁ‚―‚ū‚Ŋ‚Å‚·‚Š...) +Epet_db.txt‚Ėattack_rate‚Аģ‚ĩ‚­“K—p‚ģ‚ę‚ȂЂÁ‚―ƒoƒOCģB + (db/) + pet_db.txt + (map/) + clif.c + clif_parse_LoadEndAck() CģB + pc.c + pc_attack_timer() CģB + +-------------------- +//0660 by ‚Ē‚Į + +EƒT[ƒo[snapshot + +-------------- +//0659 by Ž€_ + +Eƒyƒbƒg‚ðFX‚ƏCģB(ƒyƒbƒg‚ĖƒR[ƒh‚ð‚Ų‚Æ‚ņ‚Į•Ï‚Ķ‚Ü‚ĩ‚―B) +EŽč“Ū“I‚ū‚Á‚―ƒyƒbƒg‚˓ۂŦ‚ðƒ‚ƒ“ƒXƒ^[‚Ė‚æ‚Ī‚ÉAI‚Æ‚ĩ‚ďˆ—B +EÚ‘ą‚ĩ‚―Žž‚Ėƒyƒbƒg‚ĖƒƒbƒZ[ƒWŽĀ‘•B(–{ŽI‚Í‚Į‚Ī‚Č‚Ė‚Đ‚í‚Đ‚č‚Ü‚đ‚ņ‚Š +Athena‚ÍÚ‘ą‚·‚邯100%˜b‚·‚æ‚΂ɂȂÁ‚Ăǂ܂·B) +Eƒyƒbƒg‚ĖƒXƒyƒVƒƒƒ‹ƒpƒtƒHƒ}ƒ“ƒXŽĀ‘•B(‚―‚ū‘䎌‚Š‚ŋ‚å‚Á‚ƕςł·B‚Ē‚­‚į’T‚ĩ‚Ä‚āŠY“–‚·‚éƒpƒPƒbƒg‚ŠŒĐ‚Â‚Đ‚į‚ȂЂÁ‚―‚˂ŁB) +Eƒyƒbƒg‚Ė‘äŽŒ‚ð‘ž‚Ėƒyƒbƒg‚Ė•Ļ‚É•ÏX‚·‚é‹@”\’Į‰ÁB(Ú‚ĩ‚Ē‚ą‚Æ‚Ídb_ref.txt‚Æpet_db.txt‚ŁB) +Eƒyƒbƒg‚É‚æ‚éŽx‰‡UŒ‚•ύXBpet_db.txt‚ōUŒ‚‚·‚鎞‚ƍUŒ‚‚ðŽó‚Ŋ‚―Žž‚ĖŽx‰‡UŒ‚ +Šm—Ķ‚ð•ʁX‚ɐݒč‚Å‚Ŧ‚Ü‚·BUŒ‚‚·‚鎞‚Ėę‡UŒ‚‚·‚é“x‚Ƀ`ƒFƒbƒN‚ð‚ĩ‚Ü‚·‚˂Š+UŒ‚‘Ž“x‚Š‘Ž‚Ē‚ÆŽx‰‡UŒ‚‚ðŽó‚Ŋ‚â‚·‚­‚Č‚č‚Ü‚·BUŒ‚‚ðŽó‚Ŋ‚―Žž‚ā“Ŋ‚ķ‚Å‚·B(‚ą‚ŋ‚į‚̓_ƒ[ƒW‚ð‹ō‚į‚Ī“x‚ɂȂč‚Ü‚·‚ЁB) Žx‰‡UŒ‚Šm—Ķ‚Íƒ\ƒq[AƒWƒ‹ƒ^ƒXAƒAƒŠƒX‚ū‚ŊŽĐ•ŠŸŽč‚ɐݒč‚ĩ‚Ăǂ܂·B(‘ž‚Ė‚Í‘S•”1%‚ɁBƒyƒbƒg‚ĖŽx‰‡UŒ‚‚Í“Ŋ‚ķƒ‚ƒ“ƒXƒ^[‚ɂ͂łŦ‚Ȃǂæ‚΂ɂȂÁ‚Ăǂ܂·B‚ŧ‚ĩ‚ăyƒbƒg‚Ėí“Ž”\—͂̓‚ƒ“ƒXƒ^[‚Æ“Ŋ‚ķ‚Å‚·B) +E/hideƒRƒ}ƒ“ƒhŽĀ‘•B +Eƒvƒƒ{ƒbƒN‚É‚æ‚Á‚ďæŽZ–hŒä‚āŒļ‚邿‚Ī‚ÉCģB +EƒtƒŠ[ƒLƒƒƒXƒg‚ĖƒoƒOCģB +Eƒm[ƒrƒX‚ĖƒXƒe[ƒ^ƒXƒ{[ƒiƒXíœB +Ebattle_athena.conf‚Ė€–Ú’Į‰Á‚ƍ폜B +ECģ‚ĩ‚―ƒtƒ@ƒCƒ‹‚ū‚ŊB–ĒƒeƒXƒg‚ĩ‚―•Ļ‚ā‚ЂȂ肠‚č‚Ü‚·‚˂Ŗâ‘肊‚ ‚Á‚―‚į•ņ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·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 + +Eƒyƒbƒg‚Š‚Æ‚Į‚ß‚ð‚ģ‚·‚ƁAŽ”‚ĒŽå‚ÉŒoŒą’l‚Š“ü‚邿‚΂ɂĩ‚Ü‚ĩ‚―B +EŒÅ’č’lƒ_ƒ[ƒW‚ķ‚á–Ą‚Š–ģ‚ǂ˂ÅATK1`ATK2‚ĖŠÔ‚Å—”‚ðŽæ‚é‚æ‚΂ɂĩ‚Ü‚ĩ‚―B +E‚ ‚ƁAƒyƒbƒg‚Š‚Æ‚Į‚ß‚ð‚ģ‚·‚Đ‚Į‚Ī‚Đ‚ĖÝ’č‚ðAbattle_athena.conf‚ɉÁ‚͂܂ĩ‚―B + + (conf/) + battle_athena.conf pet_finish’Į‰ÁB + (map/) + battle.c + battle_config_read() CģB + battle.h CģB + pet.c + pet_attack() CģB + (doc/) + conf_ref.txt ā–ū’Į‹LB + +-------------- +//0657 by huge + +Eƒyƒbƒg‚É‚æ‚éUŒ‚‚ðŽĀ‘•B +Eƒyƒbƒg‚ðŽ‚Á‚ĂǂāAƒyƒbƒg‚Š‘•”õ•i‚ð‚‚Ŋ‚ĂāA‚ģ‚į‚Ƀ‰ƒ“ƒ_ƒ€‚É‚æ‚é”ŧ’č‚Å”­“Ū‚ĩ‚Ü‚·B +E‚―‚ū‚Ė—V‚ҐS‚Å‚·‚— +Ebattle_athena.conf‚Å•p“x‚ðÝ’č‚Å‚Ŧ‚Ü‚·BÚŨ‚Ídoc‚ŁB + + (conf/) + battle_athena.conf pet_attack’Į‰ÁB + + (map/) + battle.c + battle_config_read() CģB + battle.h CģB + pc.c + pc_attack_timer() CģB + pet.c + pet.h + pet_attack() ’Į‰ÁB + (doc/) + conf_ref.txt ā–ū’Į‹LB + + ‚Æ‚č‚ ‚Ķ‚ļAƒyƒbƒg‚ГۂǂĂé‚Č‚Ÿ‚Á‚ÄŠī‚킯Aƒ_ƒ‰ņ”‚𑝂â‚ĩ‚―’ö“x‚Å‚·B + +-------------- +//0656 by Ž€_ + +EƒOƒ‰ƒ“ƒhƒNƒƒX‚ĖCģB(‚ςǂςlj―“x–Ú‚ū...) +EƒOƒ‰ƒ“ƒhƒNƒƒXŒvŽZŽŪŠÔˆá‚Ē‚ÅCģB(€3‚Ђ܂ļ‚Đ‚Á‚―‚Ý‚―‚ǂł·B) +‚Å‚ā‚Ü‚ū”―ŽËƒ_ƒ[ƒW‚Š‚Ý‚·‚Æ‚ę‘ƒ‚æ‚č‚ŋ‚å‚Á‚ƍ‚‚ǂł·B(10‚Ū‚į‚Ē‚ū‚Đ‚į +ŠÖŒW‚Č‚Ē‚Đ‚ā) +Eƒ‚ƒ“ƒN‚Ė‹C‹…‚ð•K’†‚ɏCģB(ŽĐ•Š‚ĖŠÔˆá‚ǂ˂æ‚΂ł·‚Ė‚Å...) + (map/) + skill.c CģB + battle.c CģB + +-------------- +//0655 by Ž€_ + +EƒOƒ‰ƒ“ƒhƒNƒƒX‚ĖCģB +EŽĐ•ЂȂč‚ɏî•ņ‚ðŽûW‚ĩ‚Ă݂―Œ‹‰ĘƒOƒ‰ƒ“ƒhƒNƒƒX”―ŽËƒ_ƒ[ƒW‚Í +ƒvƒŒƒCƒ„[ƒLƒƒƒ‰‚Š‚ŧ‚ĖƒLƒƒƒ‰ŽĐg‚ɃOƒ‰ƒ“ƒhƒNƒƒX‚ðŽg‚Á‚―Žž‚Ė +ƒ_ƒ[ƒW‚ū‚ŧ‚Ī‚Č‚Ė‚ÅCģ‚ĩ‚Ü‚ĩ‚―B(‚Ý‚·‚Æ‚ę‘ƒ‚ĖŒvŽZ‚Æ‚Í‚Đ‚Č‚čˆá‚Ī‚æ‚Ī‚Č +‹C‚ā‚ĩ‚Ü‚·‚Š...) +E–‚–@‚ƃgƒ‰ƒbƒvA‘é‚ĖUŒ‚‚É‚ā‘ېŦ‘ϐŦ‚ÆŽí‘°‘ϐŦ‚ð“K—p‚·‚邿‚Ī‚ÉCģB +(–{ŽI‚ĖŽd—l‚É‚ ‚Á‚Ăǂé‚Đ‚Į‚Ī‚Đ‚Í•s–ū‚Å‚·‚Š“K—p‚ĩ‚―•û‚Аģ‚ĩ‚Ē‚ÆŽv‚Á‚―‚˂Š+Cģ‚ĩ‚Ü‚ĩ‚―B) + (map/) + skill.c CģB + map.h CģB + battle.c CģB + +-------------- +//0654 by Ž€_ + +EƒOƒ‰ƒ“ƒhƒNƒƒX‚ĖCģ‚ƍŨ‚Đ‚ĒCģB(ŒvŽZŽŪŠÔˆá‚Ē‚ÅCģB) +E0653‚ŏ‘‚Ŧ–Y‚ęB‹CŒũ‚É‚æ‚é’Į‰Áƒ_ƒ[ƒW‚Í•K’†‚Å‚Í‚Č‚Ē‚į‚ĩ‚ǂ˂Š+C—û‚ˉÁŽZ‚Æ“Ŋ‚ķŠ‚ÉŒvŽZ‚·‚邿‚Ī‚É•ÏX‚ĩ‚Ü‚ĩ‚―B +EƒJ[ƒg‚ɃoƒO‚Š‚ ‚č‚ŧ‚Ī‚ū‚Á‚―‚˂łŋ‚å‚Á‚ƏCģB +Eƒ_ƒ[ƒWŒvŽZ‚ð‚Ų‚ņ‚Ė­‚ĩCģB(ƒ_ƒ[ƒW—Ę‚Š•Ï‚í‚Á‚―‚č‚Í‚ĩ‚Ü‚đ‚ņB) + (map/) + battle.c + battle_calc_magic_attack() CģB + battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CģB + skill.c + pc_damage_feedback() -> skill_damage_feedback()‚ɕύXB + skill_unit_timer() CģB + pc.c + pc_setoption() CģB + atcommand.c CģB + +-------------- +//0653 by Ž€_ + +E0652‚ĖCģ‚ƍŨ‚Đ‚ĒCģBĄ‚܂ŒƂč–ĒƒeƒXƒg‚ā‘―‚ǂł·B +EƒOƒ‰ƒ“ƒhƒNƒƒX‚Ėˆ—CģB(–{ŽI‚É‚ ‚Á‚Ăǂé‚Đ‚Į‚Ī‚Đ‚ĖŽĐg‚Í‚ ‚č‚Ü‚đ‚ņB) +ƒ‰ƒOƒi[ƒQ[ƒg‚ːā–ū‚É‚æ‚邯Žn‚߂ɌŧÝHP‚Ė20%‚ŠÁ–Õ‚ģ‚ę‚Ä‚ŧ‚ĖŒã“G‚É—^‚Ķ‚― +ƒ_ƒ[ƒW‚Ė’†‚ňę”ԍ‚‚ǕςЖ߂Á‚Ä‚­‚邿‚΂ł·B‚ŧ‚ĩ‚Ä‚ŧ‚Ė–ß‚Á‚Ä‚Ŧ‚― +ƒ_ƒ[ƒW‚͐đ‚ˑېŦ‚ðŽ‚ŋƒgƒ‰ƒXƒg‚É‚æ‚Á‚Đđ‚Ė‘ÏŦ‚Š50%‚ɂȂÁ‚Ăǂé‚˂Š+”ž•Š‚ð‹ō‚į‚Ī‚ą‚Æ‚ɂȂ邿‚΂ł·B(đ‚Ė‘ÏŦã‚Ђ鑕”õ‚ð‚ĩ‚Ăǂę‚Ζ߂Á‚Ä‚­‚é +ƒ_ƒ[ƒW‚ÍŽó‚Ŋ‚Ȃǂæ‚΂ł·B) +–â‘č‚Č‚Ė‚ÍƒvƒŒƒCƒ„[‚Ė–hŒä‘ېŦ‚ðŒvŽZ‚·‚é‚Đ‚Į‚Ī‚Đ‚Å‚·BĄ‚Í–hŒä‘ېŦŒvŽZ‚Ė +Œã‚Őđ‚ˑېŦ‚ðŒvŽZ‚ĩ‚Ăǂ܂·B‚ŧ‚ĩ‚Ä–ß‚Á‚Ä‚­‚éƒ_ƒ[ƒW‚ÍHPƒo[‚ÍŒļ‚é‚Ŋ‚Į +•\ŽĶ‚Í‚ģ‚ę‚Ü‚đ‚ņB–{ŽI‚Ė•û‚Š‚Į‚Ī‚Č‚Ė‚Đ•s–ū‚Ȃ˂Å... +‚ŧ‚悯ˆę‰žƒ‚ƒ“ƒXƒ^[‚āƒOƒ‰ƒ“ƒhƒNƒƒX‚ĖŽg—p‚Š‰Â”\‚Å‚·B‚―‚ūƒ‚ƒ“ƒXƒ^[‚Ėę‡ +ŒŧÝHP‚Ė20%Á–Õ‚ĖŒã‚Ėƒ_ƒ[ƒW‚ÍŽó‚Ŋ‚Ü‚đ‚ņB(ƒ‚ƒ“ƒXƒ^[‚ŠŽg‚Ī +ƒOƒ‰ƒ“ƒhƒNƒƒX‚ĖƒeƒXƒg‚Í‚ĩ‚Ă܂đ‚ņB) +Eƒ_ƒ[ƒW‚É‚æ‚éƒfƒBƒŒƒC’†‚ɂ܂―ƒfƒBƒŒƒC‚Š‚Đ‚Đ‚į‚Ȃǂæ‚Ī‚ÉCģB(‘å‚ĩ‚―ˆÓ–Ą‚Í‚Č‚Ē‚Đ‚ā...) +E’l’i‚Šƒ[ƒ‚ĖƒAƒCƒeƒ€‚┄‚ę‚邿‚Ī‚É•ÏXB +E@ƒRƒ}ƒ“ƒhheal‚Ėˆ—­‚ĩCģB +EˆÚ“ŪƒR[ƒh­‚ĩCģB + (map/) + clif.c + clif_selllist() CģB + battle.c + battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CģB + battle_calc_magic_attack()Abattle_calc_misc_attack() CģB + skill.c + skill_additional_effect()Askill_unit_onplace() CģB + skill_status_change_start()Askill_unit_onplace() CģB + skill_castend_damage_id()Askill_castend_id()Askill_attack() CģB + skill_unitsetting()Askill_check_condition() CģB + skill_use_id()Askill_use_pos() CģB + npc.c + npc_parse_script() CģB + pc.h CģB + pc.c + pc_walk()Apc_walktoxy_sub()Apc_stop_walking() CģB + map.h CģB + mob.h CģB + mob.c + mob_stop_walking()Amob_changestate()Amob_walk() CģB + pet.c + pet_changestate() CģB + atcommand.c CģB + (db/) + skill_db.txt ƒOƒ‰ƒ“ƒhƒNƒƒXCģB + cast_db.txt ƒOƒ‰ƒ“ƒhƒNƒƒXCģB + +-------------- +//0652 by ŒŽ‰r‚Ý + +EƒOƒ‰ƒ“ƒhƒNƒƒX‚ð‰žŽĀ‘• + (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 ”g˜Q + +Eitem_db.txt‚ðCģ + (db/) + item_db.txt + ‘•”õ•i‚ĖƒAƒCƒeƒ€Œø‰Ę‚ðCģ + +-------------- +//0650 by Ž€_ + +EŽO’iķ‚Ė”­“ŪðŒ‚ð‹|‚Æ“ņ“—ŽˆČŠO‚ɕύXB +E•\ŽĶ‚ð‚đ‚ļ‚ɓ╔‚ŏˆ—‚ū‚Ŋ‚·‚éNPC‚ĖCLASS‚ð111‚Đ‚į32767‚ɕύXB +EŨ‚Đ‚ĒCģB + (map/) + clif.c + clif_getareachar_npc()Aclif_spawnnpc()Aclif_pcoutsight() CģB + npc.h CģB + battle.c + battle_calc_pc_weapon_attack()Abattle_calc_mob_weapon_attack() CģB + +-------------- +//0649 by ”g˜Q + +EDB‚ÆDOCCģ + (db/) + item_db.txt + ƒOƒ“ƒOƒj[ƒ‹‚ÍLV4•Ší‚Ȃ˂ŁAŠØ‘‚Ėƒf[ƒ^‚É‚ ‚í‚đ‚Ä•—‘ېŦ‚Å‚Í‚Č‚­‚ĩ‚Ü‚·B + mob_db.txt + size_fix.txt + ŠyŠí‚Í‘åŒ^‚ɑ΂ĩ‚Ä75%‚ū‚ŧ‚΂ł·B + (doc/) + item_bonus.txt + +-------------- +//0648 by Ž€_ + +EƒVƒ‡ƒbƒv‚Ė’l’i‚É-‚ð“ü‚ę‚邯ŽI‚Š—Ž‚ŋ‚é–â‘čCģB(itemdb‚Ė‰Šú‰ŧ‚ðnpc‚æ‚č +æ‚É‚·‚邿‚Ī‚É•ÏXB) ‚ŧ‚ę‚ū‚Ŋ‚Å‚·B + (map/) + map.c + do_init() + +-------------- +//0647 by nini + +Eitem_dbCģ +EƒXƒiƒbƒ`ƒƒ[Žd—l•ύXB‹|ˆČŠO‚Ė‚·‚Ũ‚Ă˕Ší‚ŏo‚邿‚΂ɂȂÁ‚Ă܂·B + (/map/) + battle.c + ŽO’iķ‚Ė”­“ŪðŒ’Į‰Á + skill.c + ƒXƒiƒbƒ`ƒƒ[‚Ė”­“ŪðŒ’Į‰Á + (/db/) + item_db.txt + ƒVƒ‹ƒNƒnƒbƒg‚ÉSPãļ’Į‰Á + +-------------- +//0646 by last + +Eitem_db.txt‚ĖCģ(‘ېŦŠÖ˜A) + (/db/) + item_db.txt + +-------------- +//0645 by ‚é‚é‚éi•ree_ronj + +Eitem_value_db.txt‚ɃfƒBƒXƒJƒEƒ“ƒg•ƒI[ƒo[ƒ`ƒƒ[ƒW“™‚ĖƒXƒLƒ‹‚É‚æ‚é‰ŋŠi•Ï“Ū‚ðŽó‚Ŋ‚é‚Đ‚Į‚Ī‚Đ‚Ėƒtƒ‰ƒOƒƒ“ƒg‚ð’Į‰ÁB +@ŽĀÛ‚ĖŒ`ŽŪ‚̓Tƒ“ƒvƒ‹‚Æ‚ĩ‚Ä—pˆÓ‚ĩ‚―item_value_db.sample.txt‚ðŒĐ‚Ä‚­‚ū‚ģ‚ǁBiÝ’č‰ŋŠi‚ÍŠŪ‘S‚ɓƒf‚Æ•ÎŒĐ‚Å‚·j +@“Ŋ—l‚ĖƒTƒ“ƒvƒ‹‚Æ‚ĩ‚Ä‚m‚o‚bÝ’uƒXƒNƒŠƒvƒg‚ā“Y•t‚ĩ‚ĂςŦ‚Ü‚·B +Eitem_value_db.txt‚ĖƒAƒCƒeƒ€‰ŋŠiÝ’肣A”„’l‚Æ”ƒ’l‚ĖÝ’č‚ð“Æ—§Biitem_db.txt‚͏]—ˆ‚Į‚Ļ‚č”ƒ’l‚Í”„’l‚Ė”žŠz‚Æ‚ĩ‚ÄŽĐ“Ūˆ—j +E‚m‚o‚bƒVƒ‡ƒbƒv‚ɂāA‚P‚m‚o‚b‚ňĩ‚Ķ‚éƒAƒCƒeƒ€”‚ðÅ‘å64‚Đ‚įÅ‘å100‚ɕύXBiƒNƒ‰ŽĐ‘Ė‚Í120‚Ū‚į‚Ē‚Ü‚Å‰Â”\‚Å‚·‚Ёj + (/db) + item_value_db.txt + ƒJƒ‰ƒ€”‚ðŪ—‚ĩ‚―‚ū‚Ŋ‚Å‚·B“ā—e‚͂܂Á‚―‚­•ύ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‚Å‚·BŽŸ‰ņSnapShot‚É‚ÍŠÜ‚Ü‚Č‚Ē‚Å‹X‚ĩ‚ǂł·B + +ƒRƒƒ“ƒg +ŒīŒ^‚ÍŽ„‚Ė—Flree_ron‚Šs‚ǁAŽ„‚ŠX‚ɍŨ‚Đ‚Ēƒ~ƒX‚ð’ž‚ĩ‚―‚ū‚Ŋ‚Å‚·‚ЁAƒeƒXƒg‚Í‚ĩ‚Ü‚ĩ‚―‚˂őåä•v‚Å‚ĩ‚å‚΁B +ŒģX‚ą‚Ėˆ—‚ð“ą“ü‚·‚闝—R‚Æ‚ĩ‚āA“Á’čƒAƒCƒeƒ€‚Ė”„’l‚Š1zŒÅ’č‚ɂłŦ‚Ȃǂā‚Ė‚ĐA‚Æ‚Ē‚Ī“_‚ū‚Á‚―‚Đ‚į‚Å‚·B +‚ŧ‚ĩ‚Ä‚â‚Á‚Ăǂ­‚Ī‚ŋ‚ɁA‚m‚o‚bƒVƒ‡ƒbƒv‚ð—˜—p‚ĩ‚―ƒŒƒAƒAƒCƒeƒ€‚˔˔„‚Æ‚Đ‚Å–{ŽI˜I“X‚É‹ß‚Ē‚ą‚Æ‚Šo—ˆ‚é‚Ė‚Å‚Í‚Č‚Ē‚ĐA +‚Æ‚Ē‚Ī‚ą‚Æ‚Š”ŧ‚Á‚Ä‚Ŧ‚―‚í‚Ŋ‚Å‚·B +‚ŧ‚ę‚Åˆę‰ž‚̓f[ƒ^‚ð—pˆÓ‚ĩ‚Ü‚ĩ‚―‚ЁA‚ ‚­‚܂łāƒTƒ“ƒvƒ‹‚Æ‚ĩ‚Ä—˜—p‚ĩ‚Ä‚­‚ū‚ģ‚ǁB‚ā‚ĩ‰Â”\‚Č‚į‚΁A +‚ģ‚į‚ɏCģ‚ð‰Á‚Ķ‚ÄƒAƒeƒi“ÆŽĐ‚Æ‚ĩ‚Ä–{Ė—p‚Æ‚ĩ‚―ƒf[ƒ^‚ðƒpƒbƒ`ƒAƒbƒv‚ĩ‚Ä‚­‚ę‚ę‚΂ƂāŽv‚ǂ܂·‚Š‚— + + +-------------- +//0644 by nini + +EDB‚ĖŠÔˆá‚ǁA643‚Å’Į‰Á‚ģ‚ę‚―ƒXƒNƒŠƒvƒg’Į‰ÁB + (/db/) + item_db.txt + cast_db.txt + ƒ`ƒƒ[ƒWƒAƒ[‚ĖƒLƒƒƒXƒg’Į‰ÁB + exp_guild.txt + 46-50‚܂łĖexp”ē‚Ŋ‚É’Į‰ÁB + size_fix.txt + ŠyŠíA•ځAƒiƒbƒNƒ‹‚ĖƒTƒCƒY•âģCģB + +-------------- +//0643 by Ž€_ + +EFX‚ƏCģB +EbMVPaddAtkRateíœBbAddRace‚ŏˆ—‚·‚邿‚Ī‚É•ÏXB +EbIgnoreDefEle‚ÆbIgnoreDefRace’Į‰ÁB +bonus bIgnoreDefEle,n; n‘ېŦ‚Ė“G‚Ė–hŒä–ģŽ‹ +bonus bIgnoreDefRace,n; nŽí‘°‚Ė“G‚Ė–hŒä–ģŽ‹ +EbMatkRate’Į‰ÁB–‚–@UŒ‚—Í‚ð+n%ã‚°‚Ü‚·B‚æ‚Á‚Äbattle.c‚ÅŒvŽZ‚ĩ‚Ăǂ―ƒƒbƒh‚É‚æ‚é–‚–@UŒ‚—Í‘•‚ĖŒvŽZ‚͂Ȃ­‚ĩ‚Ü‚ĩ‚―BƒXƒe[ƒ^ƒX‰æ–Ę‚Éã‚Š‚Á‚―”’l‚Í•\ŽĶ‚ģ‚ę‚Ü‚đ‚ņBƒ_ƒ[ƒWŒvŽZ‚ĖŽž‚É“K—p‚ĩ‚Ăǂ܂·B +EbCriticalDef‚É-‚ð“ü‚ę‚邯ƒNƒŠƒeƒBƒJƒ‹‚ð‹ō‚į‚ĪŠm—Ķ‚Šã‚Š‚邿‚Ī‚É•ÏXB +ENPC”ԍ†111‚Í“§–ūNPC‚Å‚·‚Š—Ž‚Æ‚ĩŒŠ“™‚Ė‚ą‚Æ‚ðl‚͂ĕ\ŽĶ‚ðˆęØ‚đ‚ļ‚É +“ā•”‚ŏˆ—‚ū‚Ŋ‚·‚邿‚Ī‚É•ÏXB(flag‚ðŽg‚Ī‚Æ‰―‚Æ‚Đ‚Č‚č‚ŧ‚΂ł·‚Š‚ŧ‚Ė +ˆ—‚Š‘S‘R‚í‚Đ‚į‚ȂЂÁ‚―‚˂œ§–ūNPC‚ɃNƒŠƒbƒN‚â–ž‘O‚Ė•\ŽĶ‚ā‚Å‚Ŧ‚Ȃǂæ‚Ī‚É•ÏX‚ĩ‚Ü‚ĩ‚―B) +EƒVƒ‡ƒbƒv‚Ė’l’i‚É-‚ð“ü‚ę‚邯item_db.txt‚ā‚ĩ‚­‚Íitem_value_db.txt‚˕ςðŽg‚Ī‚æ‚Ī‚É•ÏXB +EƒXƒLƒ‹ƒ‹ƒAƒt‚ĖƒGƒtƒFƒNƒg‚ŠƒTƒCƒg‚Æ“Ŋ‚ķ‚ū‚Á‚―‚Ė‚ÅCģB‚Â‚Ē‚Å‚Éƒ‹ƒAƒt‚Ė +ƒ_ƒ[ƒW‚āCģB +E‚Ý‚·‚Æ‚ę‘ƒ‚É‚æ‚邯ƒ‚ƒ“ƒXƒ^[î•ņ‚Å•\ŽĶ‚ģ‚ę‚é–hŒä‚Æ–‚–@–hŒä‚͏æŽZ‚Å‚Í‚Č‚­ŒļŽZ‚Ý‚―‚Ē‚Č‚Ė‚ÅCģB +E‘ž—Í–{Šč‚Å‚·‚Šitem_db.txt‚ĖCģ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·B(‘S‚Ä‚Ėƒƒbƒh‚Ébonus bMatkRate,15; ‚ð“ü‚ę‚é•K—v‚Š‚ ‚č‚Ü‚·B‚ŧ‚Ė‘ž‚ĖCģ‚ā•K—v‚Å‚·B) +EƒeƒXƒg‚ĩ‚ĂǂȂǕςā‚ЂȂ肠‚č‚Ü‚·‚˂Ŗâ‘肊‚ ‚Á‚―‚į•ņ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB + (map/) + map.h CģB + map.c + map_quit() CģB + pc.h CģB + pc.c + pc_walk()Apc_stop_walking()Apc_setpos()Apc_authok() CģB + pc_calcstatus()Apc_bonus()Apc_natural_heal_sub() CģB + npc.h CģB + npc.c + npc_touch_areanpc()Anpc_parse_shop() CģB + clif.c + clif_quitsave()Aclif_getareachar_npc()Aclif_spawnnpc() CģB + clif_skill_estimation() CģB + battle.c + battle_calc_magic_attack()Abattle_calc_pc_weapon_attack() CģB + battle_calc_mob_weapon_attack() CģB + mob.c + mobskill_use() CģB + skill.c + skill_status_change_end()Askill_status_change_timer() CģB + skill_status_change_start() CģB + (db/) + const.txt CģB + (doc/) + item_bonus.txt CģB + +-------------- +//0642 by Ž€_ + +E‘•”õƒoƒOCģB(‚ŧ‚ę‚ū‚Ŋ) + (map/) + pc.c + pc_authok()Apc_checkitem() CģB + +-------------- +//0641 by Ž€_ + +EbAspdRate‚ÆbSpeedRate‚ĖƒoƒOCģB(‚ŧ‚ę‚ū‚Ŋ)0640‚ÅŒvŽZ‚ð‚ŋ‚å‚Á‚Æ•Ï‚Ķ‚ÄŒĐ‚Ü‚ĩ‚―‚Š‚ŧ‚ꂊ‚Ü‚ļ‚Đ‚Á‚―‚Ý‚―‚ǂł·BĄ“x‚āŒvŽZŽŪ‚ð•Ï‚Ķ‚Ü‚ĩ‚―‚Š‚ā‚Ī‘åä•v‚ū‚ÆŽv‚ǂ܂·B(‘―•Š) + (map/) + pc.c + pc_calcstatus()Apc_bonus()Apc_delitem() + +-------------- +//0640 by Ž€_ + +EƒoƒOCģ‚Ə­‚ĩCģB +E‚Ý‚·‚Æ‚ę‘ƒ‚ðŽQl‚ĩ‚ă_ƒ[ƒWŒvŽZ‚ð­‚ĩCģB +Ebattle_athena.conf‚ɍ€–Ú’Į‰ÁB(Ú‚ĩ‚Ē‚ą‚Æ‚Íconf_ref.txt‚Å) +EƒLƒƒƒ‰‚ĖHP‚ÆSP‚ð2byte‚Đ‚į4byte‚ɕύXB(ƒeƒXƒg‚Í‚ĩ‚Ăǂ܂·‚ŠƒoƒO‚Šo‚é +‰Â”\Ŧ‚ā‚ЂȂ肠‚č‚Ü‚·B‚―‚ūƒLƒƒƒ‰ƒZƒŒƒNƒg‰æ–Ę‚ÅHP‚âSP‚Š32768‚ð‰z‚Ķ‚éŽž +•\ŽĶ‚Í32768‚ɂȂé‚Ŋ‚Į“ā•”‚Ėˆ—‚͐ģí‚ɓۂŦ‚Ü‚·‚˂łŧ‚ę‚̓oƒO‚ł͂ ‚č‚Ü‚đ‚ņB +ƒpƒPƒbƒg‚Ė’·‚ģ‚Ė‚đ‚ǂłŧ‚ęˆČŠOŽč’i‚Š‚Č‚Đ‚Á‚―‚Ė‚Å...) +EbCriticalDef(ƒNƒŠƒeƒBƒJƒ‹‚ð‹ō‚į‚í‚Č‚ĒŠm—Ķ+n%)‚Ėˆ—•ύXB100‚É‚·‚ę‚Î +ƒNƒŠƒeƒBƒJƒ‹‚ð‹ō‚į‚í‚Ȃǂæ‚΂ɂȂč‚Ü‚·B) +EbInnerAtk‚ðbBaseAtk‚ɕύXB‚Ý‚·‚Æ‚ę‘ƒ‚ŃJ[ƒh‚ĖUŒ‚‚ÍŠî–{UŒ‚—Í‚Ė•û‚É‘Ŧ‚ģ‚ę‚邯‚ ‚č‚Ü‚ĩ‚―‚Ė‚Å•ÏX‚ĩ‚Ü‚ĩ‚―BĄ“x‚͏り‚Á‚―UŒ‚—Í‚Š•\ŽĶ‚ģ‚ę‚Ü‚·B +EbDoubleRate‚Ėˆ—•ύXBŠm—Ķ‚ð‘Ŧ‚ģ‚ļ‚Ɉę”ԍ‚‚Ǖςū‚Ŋ“K—p‚ĩ‚Ü‚·B‚ŧ‚悯ķŽč +‘•”õ‚Ėę‡–ģŽ‹‚·‚邿‚Ī‚É•ÏX‚ĩ‚Ü‚―B(ķŽč‚̓_ƒuƒ‹‚Š“K—p‚ģ‚ę‚Ü‚đ‚ņ‚Ė‚Å) +EbDoubleAddRate’Į‰ÁB‹@”\‚̓_ƒuƒ‹ƒAƒ^ƒbƒNŠm—Ķ+n%(•Ší–ģŽ‹)‚Å‚·B +ķŽč‘•”õ‚Í–ģŽ‹‚ģ‚ę‚Ü‚·B +E0635‚ōUŒ‚—Í•\ŽĶ‚ð–{ŽI‚É‚ ‚í‚đ‚Ü‚ĩ‚―B‚ŧ‚ĩ‚襓x‚Í‹|‚ū‚Ŋ‚Å‚Í‚Č‚­ +ŠyŠí‚ƃ€ƒ`‚ādex‚É‚æ‚Á‚čUŒ‚—Í‚Šã‚Š‚邿‚Ī‚É•ÏX‚ĩ‚Ü‚ĩ‚―B +E‘•”õ‚ĩ‚―•Ší‚ŠÁ‚Ķ‚éƒoƒOCģ‚ĖˆŨ‚ɏ­‚ĩCģ‚Í‚ĩ‚Ü‚ĩ‚―‚Š–{“–‚É +‘åä•v‚Č‚Ė‚Đ‚Í•s–ū‚Å‚·B•ņ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·B + (conf/) + battle_athena.conf CģB + (db/) + const.txt CģB + item_db.txt CģB + (doc/) + item_bonus.txt CģB + conf_ref.txt CģB + (map/) + map.h CģB + pc.c + pc_calcstatus()Apc_bonus()Apc_equipitem() CģB + battle.h CģB + battle.c + battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() CģB + battle_config_read() CģB + clif.c + clif_updatestatus()Aclif_parse_LoadEndAck()Aclif_party_hp() CģB + (common/) + mmo.h CģB + (char/) + char.c + mmo_char_send006b()Aparse_char() CģB + +-------------- +//0639 by ŒÓ’ą—– + +Eladmin‚ĖCģ‚Č‚Į + Eƒvƒƒ“ƒvƒg‚Ė“ü—Í‚ÉTerm::ReadLine‚ðŽg‚Ī‚æ‚΂ɂĩ‚― + @i“ü—Í—š—ð‚âƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚Ė•ŌW‚Š‰Â”\‚Ɂj + EPOSIXŠÖŒW‚Ėˆ—‚Ė—áŠOƒGƒ‰[‚ðƒgƒ‰ƒbƒv‚·‚邿‚΂ɂĩ‚Ü‚ĩ‚― + @iPOSIX‚Š‘S‚­Žg‚Ķ‚Č‚ĒŠÂ‹Ŧ‚Å‚āÅ’áŒĀA“Ū‚­‚æ‚΂ɂȂÁ‚―‚Đ‚ā‚ĩ‚ę‚Ȃǁj + EŨ•”Cģ + + (tool/) + ladmin + Ver.1.04‚ɁB + +EMODƒo[ƒWƒ‡ƒ“‚Š‚Ļ‚Đ‚ĩ‚Ē–â‘č‚ðCģ + (common/) + version.h + ATHENA_MOD_VERSION‚Š‚Wi”‚Å‹Lq‚ģ‚ę‚Ăǂé–â‘č‚ðCģ + ”Žš‚˓ЂÉ0‚ð‚‚Ŋ‚邯‚Wi”‚ɂȂé‚˂ŒˆÓ‚ĩ‚Ä‚­‚ū‚ģ‚Ē + +-------------- +//0638 by ”g˜Q + +E0635E0637‚ŐV‚ĩ‚­ƒAƒCƒeƒ€Œø‰Ę‚ŠŽĀ‘•‚ģ‚ę‚―‚˂ŁA‚ŧ‚ę‚É”š‚Á‚Äitem_db.txt‚ðCģ +Eitem_bonus.txt‚ðCģ + (db/) + item_db.txt Cģ + (doc/) + item_bonus.txt Cģ + +-------------- +//0637 by Ž€_ + +E0635‚ĖƒoƒOCģB +Ebattle_athena.conf‚ɍ€–Ú’Į‰ÁB(Ú‚ĩ‚Ē‚ą‚Æ‚Íconf_ref.txt‚ðŒĐ‚Ä‚­‚ū‚ģ‚ǁB) +EŽžŠÔ‚Š’x‚·‚Ž‚Ä0635‚Őā–ū‚ĩ‚ĂȂЂÁ‚―‚Å‚·B(Q•s‘Ŧ‚ū‚Á‚―‚Ė‚Å...) +‚Ü‚ļŽd—l‚Š•Ï‚í‚Á‚―‚Ė‚Í“ņ“—Ž‚Ėƒ_ƒ[ƒW‚𕐊í•Ę‚ÉŠŪ‘S‚ɕЂŊ‚čs‚Ī‚æ‚Ī‚É +•ύX‚ƃAƒTƒVƒ“‚ķ‚á‚Č‚­‚Ä‚āķŽčC—û‚ðŠo‚͂Ăǂę‚Γņ“—Ž‚ðŽg‚͂邿‚Ī‚É +•ύX‚ĩ‚Ü‚ĩ‚―B‚ŧ‚悯ƒ_ƒ[ƒW‚ĖŒvŽZ‚ð‚ŋ‚å‚Á‚ƏCģB +‚ŧ‚ĩ‚Äbonus‚É’Į‰Á‚ģ‚ę‚―‚Ė‚Í +bonus bInnerAtk,n; “ā•”UŒ‚—Í+n +ƒJ[ƒh‚Ėˆø‚Ŧã‚°ƒ_ƒ[ƒW—p‚Å‚·B•\ŽĶ‚Í‚ģ‚ę‚ȂǂŊ‚Įƒ_ƒ[ƒW‚ÉŒvŽZ‚ģ‚ę‚Ü‚·B +bonus bSpeed,n; ˆÚ“Ū‘Ž“x+n +ˆÚ“Ū‘Ž“x‚ðnã‚°‚Ü‚·B +bonus bAspd,n; UŒ‚‘Ž“x+n +UŒ‚‘Ž“x‚ðnã‚°‚Ü‚·B +bonus bSpeedRate,n; ˆÚ“Ū‘Ž“x+n% +ˆÚ“Ū‘Ž“x‚ðn%ã‚°‚Ü‚·B +bonus bAspdRate,n; UŒ‚‘Ž“x+n% +UŒ‚‘Ž“x‚ðn%ã‚°‚Ü‚·B +bonus bHPrecovRate,n; HPŽĐ“Ū‰ņ•œ—Ķ+n% +ŽĐ“Ū‰ņ•œ‚·‚éHP‚Ė—Ę‚ðn%ã‚°‚Ü‚·BƒXƒLƒ‹‚É‚æ‚é‰ņ•œ‚ɂ͉e‹ŋ‚Š‚ ‚č‚Ü‚đ‚ņB–{ŽI‚ĖŽd—l‚Æ‚ ‚Á‚Ăǂé‚Ђ͕s–ū‚Å‚·B +bonus bSPrecovRate,n; SPŽĐ“Ū‰ņ•œ—Ķ+n% +ŽĐ“Ū‰ņ•œ‚·‚éSP‚Ė—Ę‚ðn%ã‚°‚Ü‚·BƒXƒLƒ‹‚É‚æ‚é‰ņ•œ‚ɂ͉e‹ŋ‚Š‚ ‚č‚Ü‚đ‚ņB–{ŽI‚ĖŽd—l‚Æ‚ ‚Á‚Ăǂé‚Ђ͕s–ū‚Å‚·B +bonus bCriticalDef,n; ƒNƒŠƒeƒBƒJƒ‹‚ð‹ō‚į‚í‚Č‚ĒŠm—Ķ+n% +ƒNƒŠƒeƒBƒJƒ‹‚Ė‘ÏŦ‚ðnã‚°‚Ü‚·B10000ˆČã‚É‚·‚邯ƒNƒŠƒeƒBƒJƒ‹‚ð‹ō‚į‚ǂ܂đ‚ņB +bonus bMVPaddAtkRate,n; MVPƒ‚ƒ“ƒXƒ^[‚Én%‚Ė’Į‰Áƒ_ƒ[ƒW +ƒ{ƒXƒ‚ƒ“ƒXƒ^[‚Én%‚Ė’Į‰Áƒ_ƒ[ƒW‚ð—^‚͂܂·B[•̂ˋRŽmƒJ[ƒh—pB +bonus bNearAtkDef,n; ‹ß‹——ĢUŒ‚‚Ėƒ_ƒ[ƒW‚ðn%‚ĖŒļ‚į‚· +‘S‚ċߋ——ĢUŒ‚‚Ėƒ_ƒ[ƒW‚ðn%‚ĖŒļ‚į‚ĩ‚Ü‚·B(–‚–@‚ƃgƒ‰ƒbƒvA‘é‚ðœ‚­) +bonus bLongAtkDef,n; ‰“‹——ĢUŒ‚‚Ėƒ_ƒ[ƒW‚ðn%‚ĖŒļ‚į‚· +‘S‚ĉ“‹——ĢUŒ‚‚Ėƒ_ƒ[ƒW‚ðn%‚ĖŒļ‚į‚ĩ‚Ü‚·B(–‚–@‚ƃgƒ‰ƒbƒvA‘é‚ðœ‚­) +bonus bDoubleRate,n; ƒ_ƒuƒ‹ƒAƒ^ƒbƒNŠm—Ķ+n%(•Ší–ģŽ‹) +•Ší‚ÉŠÖŒW‚Č‚­”­“Ū‚·‚éƒ_ƒuƒ‹ƒAƒ^ƒbƒNŠm—Ķ‚ðn%ã‚°‚Ü‚·B +ƒ_ƒuƒ‹ƒAƒ^ƒbƒNƒXƒLƒ‹‚Æ•Ę‚Ė”ŧ’č‚ðs‚ĪˆŨƒ_ƒuƒ‹ƒAƒ^ƒbƒNƒXƒLƒ‹‚Š +‚ ‚Á‚Ä‚āƒXƒLƒ‹‚É‚æ‚éƒ_ƒuƒ‹ƒAƒ^ƒbƒNŠm—Ķ‚Šã‚Š‚é‚í‚Ŋ‚ł͂ ‚č‚Ü‚đ‚ņB +ƒTƒCƒhƒƒCƒ“ƒ_[ƒJ[ƒh—pB + (map/) + pc.c + pc_bonus()Apc_calcstatus() CģB + pc_natural_heal_sub() CģB + battle.h + struct Battle_Config {} CģB + battle.c + battle_calc_pc_weapon_attack()Abattle_calc_mob_weapon_attack() CģB + battle_config_read() CģB + (db/) + skill_db.txt + ƒXƒeƒB[ƒ‹‚ĖSP‚ð10‚ɏCģB + (conf/) + battle_athena.conf CģB + (doc/) + conf_ref.txt CģB + +-------------- +//0636 by Sin + +EƒfƒoƒbƒO—pƒ|ƒ^Žq‚ģ‚ņƒXƒNƒŠƒvƒg(npc_pota.txt)‚ĖƒAƒ}ƒcEƒRƒ“ƒƒ“‚Ö‚Ė‘Î‰žB +@‚·‚Å‚ÉŽĐ—ÍŽĀ‘•‚ģ‚ę‚Ăǂį‚Á‚ĩ‚á‚é•ûX‚ā‘―‚Ē‚Đ‚ÆŽv‚ǂ܂·‚ЁcB +@ƒRƒ“ƒƒ“ƒ_ƒ“ƒWƒ‡ƒ“‚Ė–ž‘O‚Š‚í‚Đ‚į‚Ȃǂ―‚߁u›Ā›ÄD1v‚Č‚Į‚Æ‚ģ‚đ‚Ăǂ―‚ū‚ǂĂǂ܂·B + (conf/) npc_pota.txt + +-------------- +//0635 by Ž€_ + +Ebattle_athena.conf‚ɍ€–Ú’Į‰ÁB(Ú‚ĩ‚Ē‚ą‚Æ‚Íconf_ref.txt‚ðŒĐ‚Ä‚­‚ū‚ģ‚ǁB) +Ebonus‚ÉbInnerAtk(ƒJ[ƒh“™‚Å•\ŽĶ‚Í‚ģ‚ę‚ȂǂŊ‚ĮŽĀÛ‚ɂ͍UŒ‚—͂ɔ―‰f‚ģ‚ę‚é•Ļ—p‚Å‚·B)“™‚ð’Į‰ÁB‘ž‚Ė‚Íitem_bonus.txt‚ðŒĐ‚Ä‚­‚ū‚ģ‚ǁB(’Į‰Á‚Í‚ĩ‚―‚Ŋ‚Įitem_db.txt‚Í–w‚ņ‚ĮCģ‚ĩ‚Ă܂đ‚ņB) +E‚ŧ‚Ė‘žƒoƒOCģ‚âŽd—l•ύX‚ā‚â‚č‚Ü‚ĩ‚―‚ŠˆęX‘‚­ŽžŠÔ‚ЂȂǂ˂Å... + (map/) + makeile CģB + pc.c CģB + map.h CģB + clif.c CģB + battle.h CģB + battle.c CģB + itemdb.c CģB + (conf/) + battle_athena.conf CģB + (doc/) + conf_ref.txt CģB + item_bonus.txt CģB + (db/) + const.txt CģB + item_db.txt CģB + +-------------- +//0634 by Ž€_ + +EweddingƒNƒ‰ƒX‚ɂ͓]E‚Å‚Ŧ‚Ȃǂæ‚Ī‚ÉCģB +EƒX[ƒp[ƒm[ƒrƒX‚ĖˆŨ‚Éexpƒe[ƒuƒ‹‚ðbase 4‚Âjob 4‚‚Ɋg’́B +exp.txt‚Š•Ï‚í‚čƒX[ƒp[ƒm[ƒrƒX‚ū‚Ŋ‚ĖŒoŒą’l‚ðÝ’č‚Å‚Ŧ‚Ü‚·B(exp.txt‚Ė +4‚Â–Ú‚ŠƒX[ƒp[ƒm[ƒrƒX‚Ėbase exp‚Å8‚–ڂŠjob exp‚Å‚·BĄ‚Í2ŽŸE‹Æ‚˕ςð +ƒRƒs[‚ĩ‚―•ςɉ߂ނ܂đ‚ņ‚ЁB) exp.txt‚ĖÝ’č•û–@‚ā’m‚į‚ȂǕû‚Í‚Ē‚Č‚Ē‚Æ +Žv‚ǂ܂·‚˂Őā–ū‚ÍČ—Š‚ĩ‚Ü‚·B +EƒX[ƒp[ƒm[ƒrƒX‚Í“]ķ‚ĖƒeƒXƒg‚ĖˆŨ‚Ɋ؍‘ƒTƒNƒ‰ƒC‚ū‚ŊŽĀ‘•‚ĩ‚Ăǂé•Ļ‚Æ +Žv‚í‚ę‚Ü‚·‚Š(“]ķ‚ŠŽĀ‘•‚ģ‚ę‚ę‚΂Ȃ­‚Ȃ邯—\‘Š‚ĩ‚Ăǂ܂·B)‚ŧ‚ę‚ð +ŽĀ‘•‚ĩ‚Ä‚Ē‚Ē‚Ė‚Đ‚ÆŽv‚Á‚―‚č‚ā‚ĩ‚Ü‚·‚Š... +EŒ‹ĨˆßÖ‚ÍŠų‚É0629‚ÅŽĀ‘•‚ĩ‚Ăǂé‚˂ɂ܂―ƒpƒbƒ`‚Æ‚ĩ‚Ä +ƒAƒbƒv‚ģ‚ę‚é‚Ė‚ā‚ŋ‚å‚Á‚Æ•Ï(H)‚Å‚·‚ˁB‚ŧ‚Ī‚Ē‚Ķ‚Îā–ū‚ĩ‚ĂȂЂÁ‚―‚ņ‚Å‚·‚ˁB +E‘•”õę—pƒXƒNƒŠƒvƒg‚Å‚ ‚échangebase‚Ė’Į‰Á‚É‚æ‚Á‚ă^ƒLƒV[ƒh‚Æ +ƒEƒFƒfƒBƒ“ƒOƒhƒŒƒX‚ŠŽĀ‘•‚ĩ‚Ăǂ܂·B‚ą‚ę‚͐E‹Æ‚ð•ύX‚đ‚ļ‚ÉŒĐ‚―–Ú‚ū‚Ŋ +•Ï‚Ķ‚é•ςł·BweddingƒNƒ‰ƒXˆČŠO‚Ė“K—p‚ā‰Â”\‚ŕϑ•ƒZƒbƒg‚Æ‚Đ‚āė‚ę‚é +‚í‚Ŋ‚Å‚·‚Г╔ˆ—‚͕ύX‚đ‚ļ‚ÉŒĐ‚―–Ú‚ū‚Ŋ•Ï‚Ķ‚Ä‚Ē‚é‚Ė‚Å0631‚Őā–ū‚ĩ‚―‚æ‚Ī‚É +‘•”õ‚Å‚Ŧ‚Č‚Ē•Ļ‚ð‘•”õ‚ĩ‚Ăǂéę‡ˆÆ—Ž‚ŋ‚Š‹N‚ą‚é‰Â”\Ŧ‚Š‚ ‚č‚Ü‚·‚˂Š+‘ž‚ːE‹Æ‚ÅŽg‚Ī‚Ė‚Í‚ĻŠĐ‚ß‚ĩ‚Ü‚đ‚ņB‰žŽĀ‘•‚Č‚Ė‚ÍĄ‚ĖŽd—l‚̓^ƒLƒV[ƒh‚Æ +ƒEƒFƒfƒBƒ“ƒOƒhƒŒƒX‚ð‘•”õ‚·‚é‚ū‚Ŋ‚ÅŒĐ‚―–Ú‚Š•Ï‚í‚é‚Đ‚į‚Å‚·BŠØ‘ƒTƒNƒ‰ƒC‚Ė +•û‚ł͉―‚Đ‚ĖðŒ‚Š•K—v‚ū‚ÆŽv‚Á‚Ăǂé‚˂łŧ‚ĖðŒ‚Š‚Ü‚ūŽĀ‘•‚ģ‚ę‚Ē‚Č‚Ē‚Đ‚į +‰žŽĀ‘•‚Å‚·B‚ŧ‚ę‚ÉweddingƒNƒ‰ƒX‚ðE‹Æ‚É‚ĩ‚Ä‚ĩ‚Ü‚Ī‚ÆŒ‹Ĩ‚·‚邯ƒXƒLƒ‹“™‚Š +ƒŠƒZƒbƒg‚ģ‚ę‚é‚Đ•Ï‚É‚Č‚é‚Đ‚Ė‚Į‚ŋ‚į‚Č‚Ė‚Å•Ï‚ū‚ÆŽv‚Á‚ĂȂЂÁ‚―‚˂łĩ‚å‚Ī‚ĐH + help.txt CģB + (db/) + job_db1.txt CģB + exp.txt CģB + (map/) + pc.c + pc_jobchange()Apc_readdb() CģB + pc_nextbaseexp()Apc_nextjobexp() CģB + +-------------- +//0633 by ”g˜Q + +E‘•”õ‚ĖÝ’čCģBŒ‹ĨˆßÖ‚ːE‚́AŽĀÛ‚É“]E‚·‚é‚Ė‚Å‚Í‚Č‚­ƒyƒRƒiƒCƒg(13)AƒyƒRƒNƒ‹ƒZ(21)‚Ė‚æ‚Ī‚É‰æ‘œ‚ðŽg‚Ī‚ū‚Ŋ‚ū‚ÆŽv‚΂˂Š+@‰―‚ā‘•”õ‚Å‚Ŧ‚Č‚ĒÝ’č‚É‚ĩ‚Ü‚ĩ‚―BƒXƒpƒmƒr‚̓mƒr‚Š‘•”õ‚Å‚Ŧ‚é‚ā‚Ė‚ū‚ŊÝ’č‚ĩ‚Ü‚ĩ‚―B +EŒÃ–Ø‚ĖŽ}‚ĖoŒŧƒ‚ƒ“ƒXƒ^[‚ð’Į‰Á +EƒAƒ}ƒc‚Ėƒ‚ƒ“ƒX‚˕͂Ŧ‹ï‡‚ð–{ŽI‚ɋ߂­‚Ȃ邿‚Ī‚ÉCģ(‚Ü‚ū‚Ü‚ūˆá‚ǂ܂·‚ЁEEE) + (conf/) + npc_monster.txt ƒ‚ƒ“ƒX–žCģ + npc_monster_amatsu.txt Cģ + (db/) + item_avail.txt ˆÆ—Ž‚ŋƒAƒCƒeƒ€’Į‰Á + item_db.txt ‘•”õÝ’č‚ðCģA‘ž‘―” + mob_branch.txt Cģ + mob_db.txt ƒ‚ƒ“ƒX–žCģ + skill_tree.txt Cģ + +-------------- +//0632 by nini + +E@jobchange‚ÅŒ‹ĨˆßÖ‚ƃX[ƒp[ƒm[ƒrƒX‚ɂȂę‚邿‚΂ɁB(’ˆÓFŠØ‘ũˆäƒNƒ‰ƒCƒAƒ“ƒg‚Ė‚Ý) +ESƒmƒr‚ĖƒXƒeAƒXƒLƒ‹‚Č‚Į‚āŽb’č’Į‰ÁB(ƒm[ƒrƒX‚ĖƒRƒs[‚Å‚·‚Š) +@‚Æ‚č‚ ‚Ķ‚ļŒĐ‚―–Ú‚ū‚Ŋ‚Æ‚Ē‚Ī‚ą‚Æ‚ŁAŒ‹ĨˆßÖ‚Å‚āUŒ‚‚Å‚Ŧ‚Ü‚·‚Š(‚―‚ū‚ĩƒm[ƒ‚[ƒVƒ‡ƒ“)A–{—ˆ‚͂łŦ‚Ü‚đ‚ņB +Eã‚É‚ ‚í‚đ‚Äitem_db•ŌWB +@Œ‹ĨˆßÖ‚Å•Ší‚ā‚‚ÆactAsprƒGƒ‰[o‚·‚˂ŁAŒ‹ĨˆßÖ‚ł͕Ší‚ðŽ‚Ä‚Č‚Ē‚æ‚΂ɂĩ‚―(‚Í‚ļ)B + (db/) + job_db1.txt + job_db2.txt + item_db.txt + Œ‹ĨˆßÖASƒmƒr‚Ėƒf[ƒ^ + skill_tree.txt + Sƒmƒr‚ĖƒXƒLƒ‹ + (map/) + map.h + MAX_PC_CLASS‚É’Į‰Á + +-------------- +//0631 by Ž€_ + +EŨ‚Đ‚ĒCģB +Eƒ^ƒLƒV[ƒh‚ƃEƒFƒfƒBƒ“ƒOƒhƒŒƒX‚Ė•\ŽĶ‚ðbattle_athena.conf‚Őݒč‚Å‚Ŧ‚é +‚æ‚Ī‚É•ÏXB +E•ŠíƒOƒ‰ƒpƒbƒ`‚É‚Â‚Ē‚Ä‚Å‚·‚Šƒpƒbƒ`‘O‚ÍŽg‚͂ȂǐE‹Æ‚Š‘•”õ‚ð‚ĩ‚Ä‚ā•\ŽĶ‚Í +‚ģ‚ę‚Ȃǂū‚Ŋ‚ÅˆÆ—Ž‚ŋ‚܂ł͋N‚ą‚į‚ȂЂÁ‚―‚Ŋ‚Į•ŠíƒOƒ‰ƒpƒbƒ`‚ĖŒã‚Í‚ŧ‚Ė•Ší‚ð +‘•”õ‚·‚邹‚Æ‚Š‚Å‚Ŧ‚ȂǐE‹Æ(–{ŽI‚Å)‚Š‘•”õ‚ĩ‚Ä‚ĩ‚Ü‚Á‚―ę‡ˆÆ—Ž‚ŋ‚Š‹N‚ą‚é +‚ą‚Æ‚Š‚ ‚č‚Ü‚·‚˂ŒˆÓ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB + (db/) + item_db.txt + 1161A2338A7170 CģB + (conf/) + battle_athena.conf CģB + (doc/) + conf_ref.txt CģB + (map/) + battle.h + struct Battle_Config‚Éwedding_modifydisplay ’Į‰ÁB + battle.c + battle_config_read() CģB + pc.h + pc_cart_delitem() CģB + pc.c + pc_jobchange()Apc_additem()Apc_delitem()Apc_cart_delitem() CģB + pc_checkitem()Apc_getitemfromcart() CģB + clif.c + clif_changelook()Aclif_send()Aclif_parse_GlobalMessage() CģB + script.c + buildin_changebase() CģB + storage.c + storage_storageaddfromcart() CģB + vending.c + vending_purchasereq() CģB + +-------------- +//0630 by ˆø‘ސl + +EƒMƒ‹ƒh’E‘ÞŽž‚ÉcharƒT[ƒo‚Š—Ž‚ŋ‚邹‚Æ‚Š‚ ‚é‚Ė‚ðCģ +Ewater_height.txt‚ðXV +E0627‚ÉŠÖ˜A‚ĩ‚ÄmodifydisplayŠÖ˜A‚ðíœ + (char/) + int_guild.c + mapif_guild_leaved()‚Ėƒoƒbƒtƒ@—e—ƂБŦ‚č‚ȂЂÁ‚―‚˂ŁA + unsigned char buf[64]; -> unsigned char buf[128]; + ‚ƏCģB + (conf/) + battle_athena.conf + equip_modifydisplay‚ðíœ + water_height.txt + prt_fild04.gat‚Æmoc_fild01.gat‚˕Ђð’Į‰Á + (doc/) + conf_ref.txt + equip_modifydisplay‚ːā–ū‚ðíœ + (map/) + battle.h + struct Battle_Config ‚Đ‚įequip_modifydisplay‚ðíœ + +-------------- +//0629 by Ž€_ + +E0627‚ĖƒoƒOˆę•”Cģ‚ƐV‚ĩ‚ĒˆÚ“ŪƒpƒPƒbƒg‚ɑΉžB(ŽĐ•Š‚ĖŠÔˆá‚ǂłĩ‚―B +ƒ‚ƒ“ƒXƒ^[‚âNPC‚āV‚ĩ‚ĒˆÚ“ŪƒpƒPƒbƒg‚ðŽg‚Ī‚ÆŽv‚Á‚Ăǂ―‚˂ł·‚Š +V‚ĩ‚ĒˆÚ“ŪƒpƒPƒbƒg‚̓vƒŒƒCƒ„[‚Ė‚Ý‚Ė‚æ‚΂ł·B) +Eƒ^ƒLƒV[ƒh‚ƃEƒFƒfƒBƒ“ƒOƒhƒŒƒX‰žŽĀ‘•B(ŠØ‘‚ĖƒTƒNƒ‰ƒCˆÆ‚ķ‚á‚Č‚Ē‚Æ +ˆÆ—Ž‚ŋ‚ģ‚ę‚Ü‚·BŽg—p‚·‚鎞‚Íitem_db.txt‚ĖƒRƒ}ƒ“ƒgƒAƒEƒg‚ģ‚ę‚Ăǂé +2338‚Æ7170‚ð‰ðœ‚ĩ‚ÄŽg‚Á‚Ä‚­‚ū‚ģ‚ǁB) +ESP‰ņ•œƒAƒCƒeƒ€‚āint‚É‚æ‚Á‚ÄŒø‰Ę‚Š‘‚͂邿‚Ī‚É•ÏXB +E0627‚ŏ‘‚Ŧ–Y‚ę‚Å‚·‚ŠƒJ[ƒg‚ĖƒAƒCƒeƒ€ŒvŽZ‚Æitemdb_‚ðŒÄ‚Ô‚Ė‚ðÅŽ‰ŧ‚·‚é +ˆ—‚ð“ü‚Á‚Ä‚é‚đ‚Ē‚Åpc_additem()Apc_delitem()Apc_cart_additem()Apc_cart_delitem()ˆČŠO‚Ė•û–@‚ŃJ[ƒgƒAƒCƒeƒ€‚âƒAƒCƒeƒ€‚É•Ï“Ū‚Š‚ ‚éę‡ +ģí‚É“Ūė‚·‚é•ÛØ‚Š‚Č‚Ē‚Ė‚ÅCģ‚Ė‚ģ‚Ē‚É‚Í’ˆÓ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB + readme0754‚ðreadme0574‚ɏCģB + makefile CģB + (map/) + map.h CģB + clif.c CģB + pc.c CģB + battle.c CģB + mob.c CģB + script.c CģB + (db/) + item_db.txt CģB + class_equip_db.txt CģB + skill_db.txt CģB(ŒëŽš‚ðŽĄ‚ĩ‚―‚ū‚Ŋ‚Å‚·B) + (conf/) + npc_event_doll.txt CģB(—Ž˜Ql‚ģ‚ņ‚ ‚肊‚Æ‚Ī‚ē‚ī‚ǂ܂·B) + +-------------- +//0628 by NOCTURNE + +Esnapshot +Esnapshot‚Đ‚įsnapshot‚܂łĖReadme•ŠŠ„ +E—v–]‚Š‘―‚Đ‚Á‚―‚Ė‚ÅsnapėŽiƒvƒƒOƒ‰ƒ€“I‚Č•ÏX“_‚Í–ģ‚ĩ + +-------------- +//0627 by Ž€_ + +EƒR[ƒh‚ĖÅ“K‰ŧ‚Ə­‚ĩCģB(­‚ĩ‚ÍŒy‚­‚Ȃ邯Žv‚ǂ܂·B) +E @modifydisplayƒRƒ}ƒ“ƒhíœB +EV‚ĩ‚ĒˆÚ“ŪƒpƒPƒbƒg‚ɑΉž‚ū‚ÆŽv‚Á‚―‚į0x1d8A0x1d9A0x1daƒpƒPƒbƒg‚Ėˆę•”‚Š +0x78A0x79A0x7b‚ƕςí‚Á‚Ä‚é‚Ý‚―‚ǂł·B‚Â‚Ü‚čĄ‚Ė‚Ü‚Ü‚Å‚Í‘Î‰ž‚Å‚Ŧ‚Ü‚đ‚ņB +X,Y‚ĖĀ•W‚Ė•”•Š‚Ė‘ŽŪ‚Š•Ï‚í‚Á‚―‚Ė‚Đ‚Æ—\‘Š‚Í‚ĩ‚Ăǂ܂·‚Š... +î•ņ‚ð‹‚Ý‚Ü‚·B(makefile‚ĖDPACKETVER‚ð4‚É‚·‚ę‚Î0x1d8A0x1d9A0x1da‚ð +Žg‚ǂ܂·‚ŠĀ•W‚Š‚ļ‚ę‚―‚į‚ĩ‚­‰―‚ā•WŽĶ‚ģ‚ę‚Ü‚đ‚ņB) +E100000‚Đ‚į‚ū‚Á‚―char_id‚ð150000‚Đ‚į‚ɕύXB(ƒyƒbƒg‚Ė—‘‚Ė–â‘č‚Å•Ší‚Ė–ž‘O‚Š‚ŋ‚å‚Á‚Æ•Ï‚É‚Č‚Á‚―‚Ė‚ÅCģ‚ĩ‚Ü‚ĩ‚―B) +Eƒyƒbƒg‚ĖƒR[ƒh­‚ĩCģB(pet_id‚ðcard[2]‚Æcard[3]‚Đ‚įcard[1]‚Æcard[2]‚ɕύX‚ĩ‚Ü‚ĩ‚―B‚æ‚Á‚Ä‘O‚ɍė‚Á‚―—‘‚ÍŽg‚͂܂đ‚ņBˆÆ‚Åcard[3]‚Ė‹@”\‚Š•Ï‚í‚Á‚―‚˂Š+Žd•û‚Č‚­Cģ‚ĩ‚Ü‚ĩ‚―BĄ“x‚Íconvertƒc[ƒ‹‚Š‚ ‚č‚Ü‚đ‚ņBė‚鎞ŠÔ‚Š‚Č‚Đ‚Á‚―‚Ė‚Å...) +EÅ“K‰ŧ‚ĖˆŨ‚ɏCģ‚ĩ‚―Š‚Š‘―‚ǂł·‚Š‘S‚Đģí“Ūė‚·‚é•ۏ؂͂ ‚č‚Ü‚đ‚ņB +ŽI—Ž‚ŋƒoƒO‚Š”­ķ‚ĩ‚―‚į•ņ‚ĻŠč‚Ē‚ĩ‚Ü‚·B(batte.c‚͂܂ūÅ“K‰ŧ‚ĩ‚Ă܂đ‚ņB) +ƒJ[ƒg‚ĖƒAƒCƒeƒ€ŒvŽZ‚âƒAƒCƒeƒ€‚Ėd—Ę‚ĖŒvŽZ‚ðÅ‰‚É‚ū‚Ŋ‚·‚邿‚΂ɂĩ‚Ăǂé‚˂ŕ\ŽĶ‚ɏ­‚ĩ–â‘肊‚ ‚é‚Đ‚ā... +ECģ‚ĩ‚―ƒtƒ@ƒ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 + +EƒpƒPƒbƒg’·ƒe[ƒuƒ‹iVˆÚ“ŪƒpƒPƒbƒg‚Č‚ĮjCģ + (doc/) + client_packet.txt ƒpƒPƒbƒg‰ðÍƒXƒŒ M‚ģ‚ņ‚Ėî•ņ‚ð”―‰f + conf_ref.txt 0624‚ɍ‡‚í‚đ‚ďCģ + (map/) + clif.c + packet_len_table[] client_packet.txt‚ɍ‡‚í‚đ‚ďCģ + +-------------- +//0625 by ˆø‘ސl + +E@hide“§–ū‰ŧ‚ðBOSS‚Č‚Į‚ÉŒĐ”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)!=0j‚ÅŽ€l‚Æ“Ŋ—l‚É”ŧ’č‚ģ‚ę‚邿‚Ī‚ÉCģ + (conf/) + npc_cTower.txt Cģithx to holyzard‚ģ‚ņj + +-------------- +//0624 by ‚é‚é‚é + +E•Ší‰æ‘œ•\ŽĶˆ—‚ĖˆęViVˆÚ“ŪƒpƒPƒbƒgŽg—pj +Eã‚ÆŠÖ˜A‚ĩ‚āA@modifydisplayƒRƒ}ƒ“ƒh‚ðÝ‚Ŋ‚― +@@@@‹@”\‚Æ‚ĩ‚ẮAŒŧÝ‚ĖƒAƒTƒVƒ“•Ší‚Č‚Į‚Ė‚Š‚Ļ‚Đ‚ĩ‚Ēę‡‚ɁA‚Ü‚―‚Í‹C‚É“ü‚į‚Č‚Ē‚Æ‚Đ‚ÅA +@@@@ƒLƒƒƒ‰–ˆ‚É‹ŒƒpƒP‚ðŽg—p‚·‚邿‚΂ɂĩ‚ĂǂéB + + (map/) + atcommand.c + atcommand() @modifydisplayƒRƒ}ƒ“ƒ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[ƒ[ƒhumodifydisplayv‚ŃT[ƒ`‚·‚ę‚Î‚Ų‚Ú‚í‚Đ‚é‚Đ‚ÆB + +ƒRƒƒ“ƒgF‚ā‚Ī‚ą‚ę‚Å–â‘č‚Í–ģ‚Ē‚Í‚ļBŽĀ‚Í‘å‚ǂȂéŠĻˆá‚Ē‚ð‚ĩ‚Ä‚―ŒÂŠ‚Š‚ ‚Á‚―‚Ė‚Í“āiƒ}ƒew + +-------------- +//0623 by ˆø‘ސl + +E@hide‚Å“§–ū‰ŧiŒĐ‚į‚ę‚Ȃǁ•MOB‚Ƀ^ƒQ‚į‚ę‚Ȃǁj‚·‚邿‚Ī‚ÉCģ‚Č‚Į + (map/) + atcommand.c + @hide‚ĖoptionÝ’č‚ð0x04‚Đ‚į0x40‚ɕύX + mob.c + mob_attack() + mob_target() + mob_ai_sub_hard_activesearch() + mob_ai_sub_hard_mastersearch() + mob_ai_sub_hard() + option”ŧ’č‚ð0x06‚Đ‚į0x46‚ɏCģ + (conf/) + npc_event_potion.txt MORISON_MEATCģithx to holyzard‚ģ‚ņj + +-------------- +//0622 by ˆø‘ސl + +Emob‚ŠƒXƒLƒ‹Žg—p‚ÉŽļ”s‚ĩ‚―ę‡A’ʏíUŒ‚‚·‚邿‚Ī‚É + (map/) + mob.c + mobskill_use_id() ƒXƒLƒ‹Žg—pŽļ”s‚Å0AŽŒũ‚Å1‚ð•Ô‚·‚æ‚Ī‚ÉCģ + mobskill_use_pos() ƒXƒLƒ‹Žg—pŽļ”s‚Å0AŽŒũ‚Å1‚ð•Ô‚·‚æ‚Ī‚ÉCģ + mobskill_use() ã‹L‚ð”―‰f‚ĩ‚ÄŽļ”sŽž‚É‚Í0‚ð•Ô‚·‚æ‚Ī‚ÉCģ + +-------------- +//0621 by ŒÓ’ą—– + +EƒAƒCƒeƒ€ƒ`ƒFƒbƒN‚ðs‚Ī‚Đ‚Į‚Ī‚Đconf/battle_athena.cnf‚ɏ‘‚Ŋ‚邿‚Ī‚É +EƒAƒCƒeƒ€ƒ`ƒFƒbƒN‚Å•sģ‚Æ”ŧ’f‚·‚é‚Đ‚Į‚Ī‚Đ‚ðdb/item_avail.txt‚ɏ‘‚Ŋ‚邿‚Ī‚É +E@itemcheck‚Å–ūŽĶ“I‚ɃAƒCƒeƒ€ƒ`ƒFƒbƒN‚Å‚Ŧ‚邿‚Ī‚É + + ƒfƒoƒO‚âƒeƒXƒg‚Č‚Į‚ŐFX‚ČƒAƒCƒeƒ€ID‚ðŽg—p‚ĩ‚―‚Ēę‡‚Í + ƒAƒCƒeƒ€ƒ`ƒFƒbƒN‚ð–ģŒø‚É‚ĩ‚ĉš‚ģ‚ǁB(item_check: off) + –ģŒø‚É‚ĩ‚―ę‡‚Å‚ā@itemcheckƒRƒ}ƒ“ƒh‚Ń`ƒFƒbƒN‚·‚邹‚Æ‚Šo—ˆ‚Ü‚·B + cnfƒtƒ@ƒCƒ‹‚Í—pˆÓ‚ĩ‚ĂȂǂ˂ŕK—v‚Č‚įŠeŽĐ“K“–‚ɏ‘‚ŦŠ·‚͂Ă­‚ū‚ģ‚ǁB + + (db/) + item_avail.txt + V‹K’Į‰ÁB•sģƒAƒCƒeƒ€‚Ė—ņ‹“‚ÉŽg—pB–ĒŠŪŽB‘ž—Í–{ŠčB + item_db.txt‚É’č‹`‚ģ‚ę‚Ă邊ŽĀÛ‚ɂ͎g—p‚Å‚Ŧ‚Č‚ĒƒAƒCƒeƒ€‚ð‘‚­B + (doc/) + conf_ref.txt + battle_athena.cnf‚Æatcommand_athena.cnf‚ːā–ūCģ + (map/) + itemdb.c/itemdb.h + itemdb_availableƒ}ƒNƒ’Į‰Á + itemdb_read_itemavail()’Į‰Á + itemdb_readdb()‚Åavailable=1‚É‚·‚邿‚Ī‚É + itemdb_search()‚Å‘ķÝ‚ĩ‚Č‚ĒID‚Íavailable=0‚Ńf[ƒ^‚ðė‚邿‚Ī‚É + do_init_itemdb()‚Åitemdb_read_itemavail()‚ðŒÄ‚Ô‚æ‚Ī‚É + pc.c/pc.h + pc_checkitem()‚ðƒGƒNƒXƒ|[ƒg + pc_checkitem()‚Åavailable‚Æbattleconfig‚ðƒ`ƒFƒbƒN‚·‚邿‚Ī‚É + atcommand.c/atcommand.h + @item‚Åbattleconfig‚ðƒ`ƒFƒbƒN‚·‚邿‚Ī‚É + @itemcheckƒRƒ}ƒ“ƒh’Į‰Á + atcommandconfig‚Éitemcheckƒƒ“ƒo’Į‰Á + battle.c/battle.h + battle_config‚Éitem_checkƒƒ“ƒo’Į‰Á + +Eladmin‚ĖCģ‚Č‚Į + ƒAƒJƒEƒ“ƒg’Į‰ÁAƒpƒXƒ[ƒh•ύX‚ĖÛ‚ÉƒpƒXƒ[ƒh‚ðČ—Š‚·‚邯A + ƒpƒXƒ[ƒh—p‚ĖƒGƒR[‚ĩ‚Ȃǐę—pƒvƒƒ“ƒvƒg‚Å“ü—͂łŦ‚Ü‚·i•“ü—ÍŠm”FjB + ’Į‰Á‚ĖÛ‚ÉƒpƒXƒ[ƒh‚Š•\ŽĶ‚ģ‚ę‚―‚įĒ‚éę‡‚Č‚Į‚ɁB + ƒpƒXƒ[ƒh“ü—Í’†‚ÍCtrl+C‚ŠŒø‚Đ‚Č‚Ē‚Ė‚Å’ˆÓ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB + + ƒpƒXƒ[ƒh‚Ė•sģ•ķŽš‚Ė•\ŽĶ‚ЁA‰―•ķŽš–Ú‚Đ‚Å•\ŽĶ‚·‚邿‚΂ɂȂč‚Ü‚ĩ‚―B + ‚ŧ‚Ė‘ž”ũ–­‚Ƀ`ƒFƒbƒN’Į‰Á‚Č‚ĮB + + Cygwin‚Å‚ĩ‚Đ“ŪėŠm”F‚ĩ‚Ăǂ܂đ‚ņBPOSIXƒ‚ƒWƒ…[ƒ‹‚ðŽg‚Á‚Ăǂé‚˂ŁA + POSIX‚łȂĒ(•ƒGƒ~ƒ…ƒŒ[ƒVƒ‡ƒ“‚ā‚Å‚Ŧ‚Č‚Ē)ƒvƒ‰ƒbƒgƒtƒH[ƒ€‚ū‚Æ + “Ū‚Đ‚Č‚Ē‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņB + UNIXŒn‚Å‚Ínkf‚Č‚Į‚ʼnüsƒR[ƒh‚ð•ÏŠ·‚ĩ‚Č‚Ē‚Æ‚ū‚߂ЂāH + + (tool/) + ladmin + Ver.1.03‚ɁB + +------------- +//0620 by ŒŽ‰r‚Ý + +Eƒz[ƒŠ[ƒNƒƒXŽĀ‘• + + (db) + skill_db.txt Cģ + (map) + skill.c + skill_additional_effect()Cģ(ƒRƒƒ“ƒg‚Ė‚Ý) + battle.c + Damage battle_calc_weapon_attack()Cģ + +------------- +//0619 by ‚é‚é‚é + +Eƒpƒbƒ`0617‚˂łâ‚č–Y‚悯”ũ–­‚ȏCģ + + clif.c + clif_movechar(),clif_parse_LoadEndAck() Cģ + +-------------- +//0618 by nini + +EƒŠƒUƒŒƒNƒVƒ‡ƒ“‚ˉrĨAƒfƒBƒŒƒC’Į‰ÁB‰ņ•œ—ʏCģB +EÁ”ïSPCģ +EƒAƒ[ƒVƒƒƒ[‚Ė”ÍˆÍ‚ð5*5‚É‚ĩ‚Ä2ƒZƒ‹‚Ŧ”ō‚΂ĩB +Eƒ`ƒƒ[ƒWƒAƒ[‚ĖŽg—p•ŠíðŒ–ģ‚ĩB +EƒXƒsƒAƒXƒ^ƒu‚Ė”ō‹——Ģ‚ð6ƒZƒ‹‚Ɂ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‚Æ‚č‚ ‚Ķ‚ļvCģ +EŒC•\ŽĶ‚ĖƒpƒPƒbƒg‚𑗐M’âŽ~iŒŧŽž“_‚ł̓€ƒ_BƒRƒƒ“ƒg‚ĩ‚―‚ū‚Ŋ‚Å‚·‚Ёj + clif.c + clif_spawnpc(),clif_getareachar_pc(),clif_fixpcpos(),clif_changelook()Cģ + pc.c + clif_changelook()‚Š‚ ‚é•”•Š‚ðCģi•Ší[„‚‚Ə‡‚ɂȂ邿‚Ī‚Éˆ—‚Ė“ü‚ę‘ւ́j + +ƒRƒƒ“ƒgB +Vƒ}ƒbƒvˆÚ“ŪƒpƒP(0x1d8`0x1daj‚ðFX‚Æ‚â‚Á‚―‚ЁA‚ŧ‚ĖƒpƒP‚P‚‚ŕŠí•\ŽĶ‚АVŽŪ‚Ė‚É‘Î‰ž‚ĩ‚Ä‚é +‚Æ‚Ē‚Ī‚í‚Ŋ‚Å‚Í‚Č‚Ē‚Á‚Û‚ĒB‹ŒˆÚ“ŪƒpƒP‚ū‚ÆŽĐ•ŠˆČŠO‚ĖƒLƒƒƒ‰‚ŠˆÚ“Ū‚·‚邯‹ŒŽŪ•\ŽĶ‚ɂȂÁ‚Ä‚ĩ‚Ȃ΁B +X‚ɁAV•Ší•\ŽĶƒpƒP‚Í•Ší‚Ə‚‚Ė“ŊŽžˆ—‚Šo—ˆ‚ĂȂǁB‚Ļ‚ŧ‚į‚­ƒNƒ‰ƒCƒAƒ“ƒg‚Ė–â‘č‚ū‚ÆŽv‚΁B +‚Æ‚č‚ ‚Ķ‚ļAƒLƒƒƒ‰‚Гۂ­‚―‚҂ɐV•ŠíƒpƒP„‹Œ‚ƒpƒP‚Ė‚Q‚Â‚Ė‘•”õƒpƒP‚ð‘—‚é‚ą‚Æ‚Å‰ðŒˆ‚ģ‚đ‚ĂǂéB +–{ŽI‚ł͂Į‚Ī‚Č‚Ė‚Đ‚ĖŽĀÛ‚Ė‚Æ‚ą‚ë‚Ėƒf[ƒ^‚Š–ģ‚Ē‚―‚߁A‚ą‚ęˆČã‚Ė‚ą‚Æ‚̓€ƒŠB + +-------------- +//0616 by ŒÓ’ą—– + +Ewater_height.txt‚ð“Į‚ņ‚Å‚Ē‚Č‚Ē‚ÆƒT[ƒo[‚Š—Ž‚ŋ‚éƒoƒOCģ + map.c + map_waterheight()Cģ + +EPC‚Ėƒ}ƒbƒvˆÚ“ŪŽž‚ĖƒAƒCƒeƒ€ƒ`ƒFƒbƒN‚ŃAƒCƒeƒ€ID‚Ė‘ķÝ‚ðƒ`ƒFƒbƒN‚·‚邿‚Ī‚ÉCģ +Eˆę•”‚ˁ—ƒRƒ}ƒ“ƒh‚ŃAƒCƒeƒ€ID‚Ė‘ķÝ‚ðƒ`ƒFƒbƒN‚·‚邿‚Ī‚ÉCģ + pc.c + pc_checkitem()Cģ + pc_authok()Cģ pc_checkitem()’Į‰Á + clif.c + clif_parse_LoadEndAck()Cģ + itemdb.c + itemdb_exists()’Į‰Áiitemdb_search‚Æ“Ŋ‚ķ‚ū‚ЁAdb‚É‘ķÝ‚ĩ‚Č‚Ē + ę‡‚͐V‚ĩ‚Ēƒf[ƒ^‚ðė‚į‚ļ‚É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 + @itemCģ itemdb_search=>itemdb_exists + @produceCģ itemdb_exists‚Ń`ƒFƒbƒN‚·‚邿‚Ī‚É + +-------------- +//0615 by ”g˜Q + +EƒAƒCƒeƒ€DATA‘啝Cģ +@Žå‚ȏCģ‰ÓŠ‚́A‰ņ•œƒAƒCƒeƒ€‚ˉņ•œ—Ę‚ĖCģAÁ”ïƒAƒCƒeƒ€‚ðclass_equip_db.txt–ģ‚ĩ‚Å‚āŽg—p‚Å‚Ŧ‚é—l‚ɏCģA +@‘•”õ•i‚Ė‘•”õ‰Â”\E‚ð‘S‚ďCģAƒJ[ƒhŒø‰Ę‚ðCģAetcEEE‚Å‚·B + +-------------- +//0614 by Nikita + +EƒAƒCƒeƒ€DATA‚ĖCģiŽå‚ɉņ•œ—ʁj +EƒXƒLƒ‹‰ð“Å‚ĖŽË’öCģ +E0612‚ĖŨ‚Đ‚ĒCģ + (conf/) + npc_town_prontera.txt Cģ + (db/) + item_db.txt Cģ + skill_db.txt Cģ + +-------------- +//0613 by ˆø‘ސl +EcheckweightCģ + (conf/) + npc_event_making.txt checkweight•”•Š‚ðCģ + npc_event_potion.txt ƒ|[ƒVƒ‡ƒ“AƒWƒ…[ƒXNPC‚ĖcheckweightCģ + +-------------- +//0612 by nini + +EƒAƒCƒeƒ€DATACģ + (db/) + item_db.txt Cģ + (conf/) + npc_town_***.txt Cģ + R.O.M776‚ģ‚ņ‚ðŽQÆ‚ĩ‚Ü‚ĩ‚―B + +-------------- +//0611 by Ž€_ + +EƒAƒCƒeƒ€Žg—pðŒ‚Š‚ ‚í‚Č‚ĒŽž0xa8ƒpƒPƒbƒg‚ð‘—‚é‚æ‚Ī‚É•ÏXB(ƒoƒO•ņƒXƒŒƒbƒh 243‚Ėno name‚ģ‚ņî•ņ’ņ‹Ÿ‚ ‚肊‚Æ‚Ī‚ē‚ī‚ǂ܂·B) +EQM‚ŏW’†—ÍŒüã‚Æ‘Ž“xãļAƒAƒhƒŒƒiƒŠƒ“ƒ‰ƒbƒVƒ…Aƒ‰ƒEƒhƒ{ƒCƒXAƒXƒsƒAƒNƒCƒbƒPƒ“Aƒc[ƒnƒ“ƒhƒNƒCƒbƒPƒ“‚ð‰ðœ‚·‚邿‚Ī‚ÉCģB +E‘Ž“xãļ‚Æ‘Ž“xŒļ­‚Å‹t‚ĖƒXƒLƒ‹‚Š‰ðœ‚ģ‚ę‚邿‚Ī‚ÉCģB +E0609‚ŏ‘‚Ŧ–Y‚ęBƒ‚ƒ“ƒXƒ^[‚ŠQM‚Ė”ÍˆÍ‚Đ‚į”ē‚Ŋ‚Ä‚āŒø‰Ę‚ŠˆÛŽ‚·‚邿‚Ī‚É +•ύX‚ƃuƒŒƒbƒVƒ“ƒO‚ÅŽô‚Ē‚ÆÎ‰ŧ‚Š‰ðœ‚ģ‚ę‚邿‚Ī‚ÉCģB + clif.c + clif_useitemack() CģB + skill.c + skill_status_change_start() CģB + pc.c + pc_insert_card() CģB(‚ą‚ę‚̓J[ƒhƒoƒO‚Ƃ͊֌W‚Č‚ĒCģ‚Å‚·B‚ŧ‚ĖƒoƒO‚ĖCģ‚ÍŽĐ•Š‚Š05xx“–‚―‚č‚ŏCģ‚ĩ‚Ü‚ĩ‚―‚˂ŁB) + +-------------- +//0610 by ”g˜Q + +EƒAƒCƒeƒ€DATACģ + (db/) + item_db.txt Cģ + +-------------- +//0609 by Ž€_ + +EFX‚ƏCģB +Eƒ‚ƒ“ƒXƒ^[‚ŠŽ~‚܂邿‚΂ɓۂ­–â‘čCģB +EŽw’e‚ĖƒfƒBƒŒƒCCģB +E–îėŽ‚ĖƒR[ƒh•Еt‚ŊB +E“G‚ŠƒXƒLƒ‹”ÍˆÍ‚Đ‚į“Ķ‚°‚―ę‡ƒXƒLƒ‹‚ŠŽļ”s‚·‚邿‚Ī‚É•ÏXB +Eclass_equip_db.txt‚ĖŽd—l•ύXB + Ŧ•Ę‚Æ‘•”õƒŒƒxƒ‹‚āÝ’č‰Â”\‚ɕύX‚ÆŽg—pƒAƒCƒeƒ€‚ĖŽg—pE‹ÆAŦ•Ę‚ÆŽg—p + ƒŒƒxƒ‹‚ĖÝ’č‚Š‚Å‚Ŧ‚邿‚Ī‚É•ÏXB(‚―‚ūƒf[ƒ^‚Š‘―‚Ē‚đ‚Ē‚ÅCģ‚ĩ‚― + class_equip_db.txt‚̓Tƒ“ƒvƒ‹’ö“x‚˕ςł·B–„‚߂Ă­‚ū‚ģ‚ǁB‘ž—Í–{Šč‚Å‚·‚Š...) + ‚ŧ‚悯ƒAƒCƒeƒ€Žg—pðŒ‚Š‚ ‚í‚Č‚Ē‚ÆƒAƒCƒeƒ€‚ŠŽg‚í‚Ȃǂæ‚΂ɂĩ‚Ä‚Í + ‚ǂ܂·‚Š01c8ƒpƒPƒbƒg‚Ė‚ð0‚É‚ĩ‚Ä‚āƒAƒCƒeƒ€‚ðŽg—p‚ĩ‚―Žž‚Æ“Ŋ‚ķ + ƒGƒtƒFƒNƒg‚Šo‚Ü‚·B–{ŽI‚ĖƒAƒCƒeƒ€Žg—pƒpƒPƒbƒg‚Š•Š‚Đ‚į‚Ȃǂ܂܂ķ‚á + ‚ą‚Ī‚·‚é‚ĩ‚ЂȂЂÁ‚―‚˂ł·‚Š... +Ebattle_athena.conf‚ɍ€–Ú’Į‰ÁB +E‚ŧ‚Ė‘žƒXƒLƒ‹­‚ĩCģ‚ƍŨ‚Đ‚ĒCģB +ECģ‚ĩ‚―Š‚ð‘S‚ÄŠo‚͂Ă܂đ‚ņ‚Ė‚Åƒtƒ@ƒCƒ‹‚ū‚ŊB + (map/) + clif.c CģB + mob.c CģB + mob.h CģB + pc.c CģB + map.h CģB + skill.c CģB + skill.h CģB + itemdb.c CģB + battle.c CģB + battle.h CģB + (conf/) + battle_athena.conf CģB + (db/) + cast_db.txt CģB + skill_db.txt CģB + create_arrow_db.txt CģB + class_equip_db.txt CģB + item_db.txt CģB + (doc/) + client_packet.txt CģB + conf_ref.txt CģB + +-------------- +//0608 by sk +EƒAƒ}ƒcNPC’Į‰Á + (conf/) + npc_town_amatsu.txt é“āNPC’Į‰Á + npc_warp_amatsu.txt é“āƒ[ƒvƒ|ƒCƒ“ƒg’Į‰Á + +-------------- +//0607 by J +EƒAƒTƒ‹ƒgƒ^[ƒgƒ‹‚ĖŽč‰šĒŠŦ‚ĖƒoƒOCģ(•ņ‚ ‚肊‚Æ‚Ī‚ē‚ī‚ǂ܂· ‚é‚é‚é‚ģ‚ņ) + (db/) + mob_skill_db.txt ƒAƒTƒ‹ƒg‚ĖCģ‚Â‚Ē‚Å‚ÉƒeƒŒƒ|‚ðŽg‚ĪMOB‚ĖƒXƒLƒ‹ƒfƒBƒŒƒC‚āCģ + +-------------- +//0606 by ˆø‘ސl +EƒXƒLƒ‹ƒŒƒxƒ‹Å‘å’lˆČã‚ɃNƒŠƒbƒN‚ĩ‚―Žž“_‚Å‘žƒXƒLƒ‹‚Šã‚°‚į‚ę‚Č‚­‚Č‚éƒoƒO‚ðCģiThanx to 227‚ģ‚ņj + (map/) + clif.c + clif_skillup() + ƒXƒLƒ‹ƒŒƒxƒ‹‚ŠÅ‘å’l‚Ė‚Æ‚ŦAƒpƒPƒbƒg––”ö‚ð0‚É‚·‚邿‚Ī‚ÉCģ + +-------------- +//0605 by ‚é‚é‚é + +E•Ší‘ېŦ•t—^ƒXƒLƒ‹‚Ė•s“s‡Cģ + •Ší‚ðŽ‚ŋ‘Ö‚Ķ‚―‚čŠO‚ĩ‚―‚č‚ĩ‚―ę‡‚āA‘ېŦ•t—^‚ð‰ðœ‚·‚邿‚΂ɂĩ‚Ü‚ĩ‚―B + ’A‚ĩA‘fŽč„•Ší‘•”õ‚Ė‚Ýó‘ÔˆÛŽ‚ĩ‚Ü‚·B +EƒXƒsƒAƒNƒCƒbƒPƒ“‚ĖƒXƒe[ƒ^ƒXƒAƒCƒRƒ“‚ðģ‚ĩ‚­•\ŽĶ +E‚Q‚g‚pAƒXƒsƒAƒNƒCƒbƒPƒ“AƒAƒhƒŒƒiƒŠƒ“ƒ‰ƒbƒVƒ…‚ÅŠY“–ˆČŠO‚Ė•ŠíŽ‚ŋ‘Ö‚Ķ‚Åó‘ԏÁ–Å + ƒXƒsƒAƒNƒCƒbƒPƒ“‚Í–ĒŠm”F‚Å‚·‚ЁA‚Q‚g‚p‚ÍŠmŽĀ‚Ȃ˂łQ‚g‚p‚Æ•sŒö•―‚ČŽd—l‚Æ‚Í + l‚͂ɂ­‚ǂ˂œŊ—l‚Čƒpƒ^[ƒ“‚Æ‚ĩ‚Ü‚ĩ‚―B–{ŽI‚Æ‘Šˆá‚Š‚ ‚éę‡‚Í•ņŠč‚ǂ܂·B +E“G‚Ė‚p‚l‚ŏW’†—ÍŒüã‚Æ‘Ž“xãļ‚ð‰ðœ + ‚p‚l‚ʼne‹ŋ‚·‚éƒXƒLƒ‹‚Í‚ą‚ę‚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 +EMOBƒXƒLƒ‹ÄCģ +EMOBDBCģ + (db/) + mob_skill_db.txt + ƒA[ƒNƒGƒ“ƒWƒFƒŠƒ“ƒO‚ƃ^[ƒgƒ‹ƒWƒFƒlƒ‰ƒ‹‚Š1‰ņ‚É2Ží—ނ܂łĩ‚Đ + MOB‚ðo‚ģ‚ȂЂÁ‚―‚Ė‚ðCģ + mob_db.txt + ƒ[ƒhƒIƒuƒfƒX‚Ėƒhƒƒbƒv‚ŃGƒ‰[‚Šo‚é‚Ė‚ðCģ(–ĒŠm”F) + ‰…—땐Žm‚Ėƒhƒƒbƒv‚ÆMVP‚ð’Į‰Á(–ĒŠm”F) +-------------- +//0603 by ˆø‘ސl +EV‹KƒAƒCƒeƒ€Žž‚É‚āŠŽ‰Â”\ŒÂ”ƒ`ƒFƒbƒN‚ð‚·‚é‚æ‚Ī‚ÉCģ + (map/) + pc.c + pc_checkadditem() + V‹KƒAƒCƒeƒ€Žž‚ÉMAX_AMOUNT‚ð’ī‚͂Ăǂ―‚į + ADDITEM_OVERAMOUNT‚ð•Ô‚·‚æ‚Ī‚ÉCģ + +-------------- +//0602 by ˆø‘ސl +EGeffen’b–č‰Ū‚Å—Ž‚ŋ‚é–â‘č‚ðCģ + (conf/) + npc_town_geffen.txt if (!checkweight(,)) ‚Đ‚į if (!(checkweight(,))) ‚ɏCģ + +-------------- +//0601 by J +EMOBƒXƒLƒ‹‚ĖŠë‚Č‚ĒŠ‚ð‚Ē‚­‚į‚ЏCģ +EŠoÁ‚Æ‹ķ‹C‚ĖŽg‚Ķ‚éE‚ðCģ +EƒQƒtƒFƒjƒAƒ_ƒ“ƒWƒ‡ƒ“‚Ė”z’u‚ðƒJƒ{ƒ`ƒƒƒCƒxƒ“ƒg‚Å“ü‚ę‚―‚Æ‚Ŧ‚Ė”z’u‚ɏCģ + ‚―‚ū‚ĩƒ{ƒX‚ŠDOP2‘Ė‚Å‚Í‚Č‚­ƒhƒ‰ƒLƒ…ƒ‰‚É‚ĩ‚Ăǂ܂·B + (conf/) + npc_monster.txt ƒ‚ƒ“ƒXƒ^[”z’u”ũ•ύX + (db/) + mob_skill_db.txt ‰ö‚ĩ‚ĒÝ’č‚Č‚Į‚ĖCģ + item_db.txt ‘‘ŽPOT‚ĖCģ + +-------------- +//0600 by ˆø‘ސl +Eƒvƒƒ“ƒeƒ‰ļ˜BŠ‚ˉĄ‚Ėƒtƒ@ƒ“‚ɘb‚ĩŠ|‚Ŋ‚邯ŒÅ‚Ü‚é–â‘č‚ðCģ +EMOBƒXƒLƒ‹Žæ‚荾‚݁iThanx to J‚ģ‚ņj + (conf/) + npc_event_skillget.txt ƒtƒ@ƒ“‚ĖLabel‚ðCģ + npc_town_prontera.txt ƒtƒ@ƒ“‚Šd•Ą‚ĩ‚Ăǂ―‚Ė‚Åíœ + (db/) + mob_skill_db.txt ƒWƒ…ƒm[ˆČ~‚ĖMOBƒXƒLƒ‹’Į‰Á + +-------------- +//0599 by ‚é‚é‚é + +EƒZ[ƒW‚Ė•Ší‘ېŦ•t—^ƒXƒLƒ‹‚Ė•s“s‡Cģ‚ƃXƒe[ƒ^ƒXƒAƒCƒRƒ“•\ŽĶ + ƒAƒXƒyƒ‹ƒVƒI‚ƃGƒ“ƒ`ƒƒƒ“ƒgƒ|ƒCƒYƒ“‚Ƃő―d‚ɂЂЂÁ‚Ä‚ĩ‚Ü‚Á‚Ä‚―‚˂ŁA + ÅŒã‚É•t—^‚ĩ‚―‚ā‚Ė‚P‚Â‚É‚Č‚é‚æ‚΂ɂĩ‚Ü‚ĩ‚―B + ‚ŧ‚Ė‚Â‚Ē‚Å‚ÉƒXƒe[ƒ^ƒXƒAƒCƒRƒ“‚ā•\ŽĶ‚·‚邿‚΂ɂā‚ĩ‚Ü‚ĩ‚―B + i–ĒƒeƒXƒg‚Å‚·‚ЁAƒAƒCƒRƒ“o‚ȂЂÁ‚―ƒXƒsƒAƒNƒCƒbƒPƒ“‚ā‚Å‚é‚Í‚ļ‚Å‚·Bj +EƒAƒCƒeƒ€DB‚ɂāA‘‘Žƒ|[ƒVƒ‡ƒ“‚ĖŽg—p§ŒĀ‚ð’Į‰Á + Jazz‚ģ‚ņ’ņ‹Ÿ‚Å‚·B + ‚ŧ‚悯ބ‚ĖŽï–Ą‚щƒOƒiƒƒNTƒVƒƒƒc‚ðƒAƒŒƒiƒj‚ĩ‚Ü‚ĩ‚―‚Š‚—@‹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‚ɑΉž + ˆę‰ž‚ȂЂįƒNƒ‹ƒZƒCƒ_[‚Ė—žŽč‘„‚Æ‚ĐƒvƒŠ[ƒXƒg‚Ė“ÝŠí‚Æ‚Đ‚ÍƒeƒXƒg‚ĩ‚Ü‚ĩ‚―‚ЁA + ‘S‚ĂːE‚ðƒ`ƒFƒbƒN‚Í‚Ē‚Ü‚đ‚ņB‚Ü‚―‚ą‚ĖŽž“_‚ł̓Nƒ‰ƒCƒAƒ“ƒgŽĐ‘˂˕\ŽĶƒf[ƒ^‚É + –â‘č‚Ė—L‚é‚˂Б―‚ǂ˂ā•t‚Ŋ‰Á‚͂ĂςŦ‚Ü‚·B + ‚ ‚ƁAŒC‚āˆę‰ž‚͑Ήž‚ĩ‚Ü‚ĩ‚―B’A‚ĩ‚ą‚ę‚ÍŒŧŽž“_‚ł͖{ŽI‚·‚į‚ā–Ē‘Î‰ž‚Ȃ˂ł·‚ЁB + •\ŽĶ‚Љŧ‚Ŋ‚ÄŒ™‚ū‚Æ‚Ē‚Īę‡‚͏]—ˆ‚Ė‚â‚č•û‚āo—ˆ‚Ü‚·B + + (conf/) + battle_athena.conf + ƒIƒvƒVƒ‡ƒ“ 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 ”g˜Q + +EƒAƒ}ƒc‚ÉŠÖ‚·‚éCģ•”ũCģ + (conf/) + npc_mob_job.txt + npc_monster.txt + npc_monster30.txt + ƒ‚ƒ“ƒX–žCģ + npc_monster_amatsu.txt + ’Į‰Áiƒ‚ƒ“ƒX”‚Š‚Đ‚Č‚čŽč”ē‚Ŧ‚Å‚·EEE + npc_town_amatsu.txt + ƒVƒ‡ƒbƒvNPC‚𓝍‡inpc_shop3.txt‚ðÁ‚ĩ‚Ä‚āOK‚Å‚· + (db/) + mob_db.txt + ƒAƒ}ƒc‚Ėƒ‚ƒ“ƒXƒf[ƒ^‚ðŒŧÝ•Š‚Đ‚é”͈͂ŏCģ•‘‚Æ‚Ŧ‚Ė‚ą‚Ėdef,mdef‚ðCģ + +-------------- +//0596 by Ž€_ + +E0595‚ĖCģ‚ƍŨ‚Đ‚ĒCģB +EƒtƒŠ[ƒLƒƒƒXƒg‚ŃLƒƒƒXƒg‚ĩ‚ĂǂéŠÔ‚͍UŒ‚‰Â”\‚Å‚·‚ŠƒLƒƒƒXƒg‚ĩ‚―Œã‚Ė +ƒfƒBƒŒƒCƒ^ƒCƒ€‚ł͍UŒ‚‚Å‚Ŧ‚Ȃǂæ‚΂ɂȂÁ‚Ăǂ܂·B–{ŽI‚ĖŽd—l‚Š‚Į‚Ī‚Č‚Ė‚Đ‚Í +‚í‚Đ‚č‚Ü‚đ‚ņB +E“ۂǂĂǂéPC‚Ƀ‚ƒ“ƒXƒ^[‚ŠUŒ‚‚Å‚Ŧ‚Ȃǖâ‘čCģB(ƒeƒXƒg‚ĩ‚Ă܂đ‚ņ‚Š +‘―•Š‚ą‚ę‚Å‘åä•v‚Đ‚ÆB) + (map/) + skill.h + SC_FREECAST íœB + skill.c + skill_use_id()Askill_use_pos() CģB + skill_castend_id()Askill_castend_pos() CģB + ‚ŧ‚Ė‘ž­‚ĩCģB + pc.c + calc_next_walk_step()Apc_attack_timer()Apc_calcstatus() CģB + clif.c + clif_parse_ActionRequest()Aclif_parse() CģB + map.h + struct map_session_data‚Éprev_speed’Į‰ÁB + mob.c + mob_ai_sub_hard()Amob_changestate()Amob_attack() CģB + +-------------- +//0595 by PRevEv +EƒtƒŠ[ƒLƒƒƒXƒgCģAŽĀ‘•(ƒLƒƒƒXƒeƒBƒ“ƒO’†UŒ‚‚ā‚Å‚Ŧ‚Ü‚·B) + (/map) + pc.c + pc_calcstatus() CģB + calc_next_walk_step() CģB + pc_attack_timer() CģB + skill.c + skill_castend_id()Askill_castend_pos()Askill_use_id()Askill_use_pos() CģB + +-------------- +//0594 by Ž€_ + +EŠØ‘ˆÆ‚Ėƒp[ƒeƒB–â‘čCģ‚ƍŨ‚Đ‚ĒCģB +E@partyƒRƒ}ƒ“ƒhCģ‚Æ@guildƒRƒ}ƒ“ƒh’Į‰ÁB +Ebattle_athena.conf‚Éguild_emperium_check’Į‰ÁB +EƒXƒLƒ‹Žg—p‚ŠŽļ”s‚ĩ‚Ä‚āƒfƒBƒŒƒC‚Š‚Đ‚Đ‚é–â‘čCģB + help.txt CģB + (map/) + clif.c + clif_parse_CreateParty2() ’Į‰ÁB + clif_parse_ItemIdentify() CģB + ‚ŧ‚Ė‘ž­‚ĩCģB + atcommand.hAatcommand.c CģB + battle.h + struct Battle_Config‚Éguild_emperium_check’Į‰ÁB + battle.c + battle_config_read() CģB + guild.c + guild_create()Aguild_created() CģB + skill.c + skill_castend_id()Askill_castend_pos() CģB + Makefile CģB + (doc/) + client_packet.txt + ƒpƒPƒbƒg0x01e8 ’Į‰ÁB + conf_ref.txt CģB + (conf/) + atcommand_athena.conf CģB + battle_athena.conf CģB + +-------------- +//0593 by Ž€_ + +EƒƒeƒI‚ƃoƒ~ƒŠƒIƒ“‚Ėƒ_ƒ[ƒWCģ‚ƍŨ‚Đ‚ĒCģB +EƒƒeƒI‚ĖčĶÎ‚Š—Ž‚ŋ‚Ä‚­‚é”͈͂ð7*7‚Đ‚į5*5‚ɕύXB(‚ą‚ę‚Å’†‰›‚Í‘S‚Ä‚ĖčĶÎ‚Ė +ƒ_ƒ[ƒW‚ðŽó‚Ŋ‚邹‚Æ‚É‚Č‚č‚Ü‚·B) +EŽĐ“Ū‰ņ•œŒvŽZŽŪ•ύXB + ƒXƒLƒ‹ƒŒƒxƒ‹*5 + (max_hp/50)‚Đ‚į + ƒXƒLƒ‹ƒŒƒxƒ‹*5 + (max_hp*ƒXƒLƒ‹ƒŒƒxƒ‹/500)‚ɕύXB(SP‚Æ‘§‚ā“Ŋ‚킿‚Ī‚É•ÏXB) +EGM‰EƒNƒŠƒbƒN–―—߁uŽg—pŽŌ‹­§I—đv‚Åatcommand_athena.conf‚Ėkick‚Ė +ƒŒƒxƒ‹‚ðƒ`ƒFƒbƒN‚·‚邿‚Ī‚É•ÏXB + (db/) + skill_db.txt + ƒXƒLƒ‹‹CŒũ‚Ėsp‚ð10‚Đ‚į8‚ɏCģB + (map/) + map.c + NO_WATER‚ð100‚Đ‚į1000000‚ɕύXB + battle.c + battle_calc_magic_attack() CģB + skill.c + skill_castend_pos2() CģB + pc.c + pc_natural_heal_hp()Apc_natural_heal_sp()Apc_spirit_heal() CģB + clif.c + clif_parse_GMKick() CģB + (doc/) + conf_ref.txt CģB + +-------------- +//0592 by ˆø‘ސl + +E…ę‚Ė—L‚č–ģ‚ĩ‚ðwater_height.txt‚ū‚Ŋ‚ÅŒˆ‚߂邿‚Ī‚É•ÏXBnpc_water.txt‚Í•s—v‚ɁB +EƒJ[ƒhƒXƒLƒ‹‚ł̓Œƒxƒ‹ã‚°‚Å‚Ŧ‚Ȃǂæ‚΂ɂȂÁ‚―‚―‚ß•s—v‚ɂȂÁ‚―ˆ—‚ðíœB + (conf/) + map_athena.conf + npc: conf/npc_water.txt Á‹Ž + water_height.txt + ƒfƒtƒHƒ‹ƒg‚‚ģ3‚Ėƒ}ƒbƒv•Š‚ð’Į‰Á•all_water‚ð‚‚ģ-100‚Æ‚ĩ‚ăRƒƒ“ƒg‚Å’Į‰Á + (map/) + map.c + waterlist‚Ímap_readwater()“ā‚сƒ‚ƒŠŠm•Û + gatÝ’čŒã‚Í•s—v‚Ȃ˂Åmap_readallmap()‚сƒ‚ƒŠŠJ•ú‚ĩ‚Ăǂ܂· + map.h + struct map_data‚Ėflag‚Đ‚įwater_flag‚ðÁ‹Ž + npc.c + npc_parse_mapflag() + ƒ}ƒbƒvƒtƒ‰ƒOwater‚Æall_water‚ðÁ‹Ž + pc.c + pc_skillup() + — ‚ŃXƒLƒ‹LvUP‚Å‚Ŧ‚Č‚­‚Č‚Á‚―‚Ė‚Åskill[id].flag‚Ė•Š‚ÍÁ‹Ž + skill.c + skill_check_condition() + map_getcell‚Ő…ę”ŧ’č‚·‚邿‚Ī‚ÉCģ + +-------------- +//0591 by CHRIS + +Eƒ‚ƒ“ƒN‚ŠŸ†’e‚ð‚ā‚Á‚Ăǂ邯‚ŦAŸ†’e*3‚Ė•K’†ƒ_ƒ[ƒW‚Š“ü‚é—l‚ɂȂč‚Ü‚ĩ‚―B„Ÿ@battle.cCģ +Eƒ‚ƒ“ƒNƒXƒLƒ‹uŽw’ev‚Ɓu”­™Īv‚Ɓu‹CEv‚ˉrĨŽžŠÔ‚Аģ‚ĩ‚­Cģ‚ģ‚ę‚Ü‚ĩ‚―B„Ÿ@cast_db.txtCģ + +-------------- +//0590 by Ž€_ + +Egrf-files.txt‚âconfƒtƒ@ƒCƒ‹Aaccount.txtƒtƒ@ƒCƒ‹‚Ė–ž‘O‚ÆˆĘ’u‚ð•Ï‚Ķ‚é‚æ‚Ī‚É•ÏXB +Eƒ}ƒbƒvˆÚ“Ū‚É‚æ‚éŽI—Ž‚ŋ‚ð–h‚ŪˆŨ‚ɏCģB(ƒ}ƒbƒv‚Š“ņ“xƒ[ƒh‚ģ‚ę‚ÄŽI—Ž‚ŋ‚Š +‹N‚ą‚Á‚―‚Æ‚Ė•ņ‚ðŽó‚Ŋ‚―‚˂ŁB) +E0586‚ð‚ŋ‚å‚Á‚ƏCģB‘•”õ‚É‚æ‚éƒXƒLƒ‹‚Ėę‡ƒŒƒxƒ‹ã‚°‚ЂłŦ‚Ȃǂæ‚Ī‚ÉCģB +‚―‚ū‘•”õ‚É‚æ‚éƒXƒLƒ‹‚ðƒXƒLƒ‹ƒ|ƒCƒ“ƒg‚ðŽg‚Á‚ďグ‚鎞‚Í‘•”õ‚ðŠO‚·•K—v‚Š +‚ ‚č‚Ü‚·B +E@party‚ŋ‚å‚Á‚ƏCģB(–ž‘O‚ɋ󔒂Ђ ‚Á‚Ä‚ā‘åä•v‚Č‚æ‚΂ɁB) +E…ę‚Ė‚‚ģ‚ðwater_height.txt‚Å“Į‚ݍž‚Þ‚æ‚Ī‚É•ÏXB +Econfƒtƒ@ƒCƒ‹‚ÅÝ’č‚·‚é•Ļ‚ðƒtƒ@ƒCƒ‹‚ĖƒpƒX‚ɋ󔒂Ђ ‚Á‚Ä‚ā‘åä•v‚Č +‚æ‚Ī‚É•ÏXB +EGM‰EƒNƒŠƒbƒN–―—߁uŽg—pŽŌ‹­§I—đv‚Ń‚ƒ“ƒXƒ^[‚ð“|‚đ‚邿‚Ī‚É•ÏXB +(Œīˆö‚Í•s–ū‚Å‚·‚Š‚ą‚ę‚Ń‚ƒ“ƒXƒ^[‚ðŽE‚·‚ÆŽI‚Ђ߂ŋ‚á‚­‚ŋ‚á‚É’x‚­‚Ȃ邹‚Æ‚Š +‚ ‚č‚Ü‚·B) +E‚ŧ‚Ė‘ž­‚ĩCģB +EƒeƒXƒg‚Í–w‚ņ‚Į‚ĩ‚Ă܂đ‚ņ‚˂ŒˆÓ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB + athena-start CģB + (map/) + pc.c + pc_skill()Apc_resetskill()Apc_setpos()Apc_read_gm_account() CģB + pc_set_gm_account_fname() ’Į‰ÁB + pc.h + pc_set_gm_account_fname() ’Į‰ÁB + clif.c + clif_skillinfoblock()Aclif_parse_LoadEndAck()Aclif_parse_GMKick() CģB + clif_changemap() CģB + atcommand.c + @partty CģB + skill.c + skill_castend_nodamage_id() CģB + map.c + map_config_read()Amap_readwater() CģB + script.c + script_config_read()Ado_init_script() CģB + script.h + script_config_read() ’Į‰ÁB + (common/) + version.h CģB + grfio.h + grfio.c + grfio_init() CģB + mmo.h + GRF_PATH_FILENAME ’Į‰ÁB + (conf/) + map_athena.conf CģB + npc_water.txt CģB + water_height.txt ’Į‰ÁB + login_athena.conf CģB + (login/) + login.c + login_config_read()Aread_gm_account() CģB + (char/) + char.c + do_init() CģB + char_config_read() ’Į‰ÁB + inter.c + inter_config_read() CģB + (doc/) + conf_ref.txt CģB + +-------------- +//0589 by ŒÓ’ą—– + +EGM‚ˉEƒNƒŠƒbƒN‚Őؒf‚ģ‚ę‚é–â‘č‚ðCģ + ‚Æ‚č‚ ‚Ķ‚ļ01dfƒpƒPƒbƒg‚ð–ģŽ‹‚·‚邿‚΂ɂĩ‚Ü‚ĩ‚―B + ‚Č‚ņ‚Æ‚Č‚­‚ą‚ĖƒpƒPƒbƒg‚̓`ƒƒƒbƒg‹ÖŽ~‰ņ”‚Ƃ͊֌W–ģ‚Ē‚æ‚΂ȋC‚ācc + + clif.c + clif_parse_GMReqNoChatCount()’Į‰Á + +Estart‚ðathena.sh‚łȂ­athena-start‚ðŽg‚Ī‚æ‚Ī‚É•ÏX + start + athena.sh => athena-start start‚É’u‚ŦŠ·‚Ķ‚ĩ‚―‚ū‚Ŋ + +-------------- +//0588 by Kalen + +EAmatsuNPC’Į‰Á + +-------------- +//0587 by ŒÓ’ą—– + +EloginƒT[ƒo[‚ĖŠĮ—ƒpƒPƒbƒg‚ĖŽd—l‚ð•ύXi0579‚ĖƒƒOƒCƒ“‹‘”ۏî•ņ‚ɑΉžj + (login/) + login.c + ƒAƒJƒEƒ“ƒgƒoƒ“ó‘ԕύXƒpƒPƒbƒg’Į‰Á(7936,7937) + ƒAƒJƒEƒ“ƒgƒŠƒXƒgŠ“ūƒpƒPƒbƒgCģ(7921) + (doc/) + admin_packet.txt + +Eladmin‚Ė‹@”\’Į‰Á + Eƒoƒ“ó‘Ô‚ð•ύX‚·‚éƒRƒ}ƒ“ƒh’Į‰Á + EƒŠƒXƒg•\ŽĶ‚ÆŒŸõ‚Ńoƒ“ó‘Ô‚ā•\ŽĶ‚ģ‚ę‚邿‚΂ɂȂÁ‚― + E"?"‚Å‚āƒwƒ‹ƒv‚Šo‚邿‚Ī‚ÉCģ + EƒVƒ“ƒ{ƒŠƒbƒNƒŠƒ“ƒN‚Éstateaccount‚Š’Į‰Á‚ģ‚ę‚Ü‚ĩ‚―B + Žg‚ΐl‚Íladmin‚Ė--makesymlink‚ð‚ā‚Īˆę“xŽĀs‚ĩ‚Ä‚­‚ū‚ģ‚Ē + + (tool/) + ladmin + ‹@”\’Į‰Á + +-------------- +//0586 by ˆø‘ސl +EƒJ[ƒhƒXƒLƒ‹‚ðCģ + (/map) + pc.c + pc_calc_skilltree() + pc_skill() + Šo‚Ķ‚į‚ę‚Č‚ĒƒXƒLƒ‹‚Č‚įskill[id].flag=1‚Æ‚·‚é + ‚Ü‚―‚Ískill[id].flag‚É–{—ˆ‚Ėlv‚ð+2‚ĩ‚Ä‹L‰Ŋ + pc_skillup() + skill[id].flag‚ā‘‚â‚· + clif.c + clif_skillinfoblock() + skill[id].flag==1‚Č‚įŠo‚Ķ‚į‚ę‚Č‚ĒƒXƒLƒ‹ + (/char) + char.c + mmo_char_tostr() + skill[id].flag‚Đ‚į–{—ˆ‚Ėlv’l‚ð•Û‘ķ‚·‚é + +-------------- +//0585 by kalen +EscriptCģ + npc_town_guid.txt ŠOŒĐ•ύX + +-------------- +//0584 by ˆø‘ސl +EƒJ[ƒhƒXƒLƒ‹‚ðCģ + (/map) + pc.c + pc_calc_skilltree() cardƒXƒLƒ‹‚ð–Y‚ę‚ģ‚đ‚鏈—‚ð’Į‰Á + pc_skill() Ū— + +-------------- +//0583 by kalen +EscriptCģ + npc_event_doll.txt ”ē‚Ŋ‚Ăǂ―•”•Ђˉï˜b’Į‰Á + npc_town_guid.txt ’Ž‚ĖˆÄ“ā—vˆõ‚Ė‰æ‘œ‚ð•\ŽĶ‚Å‚Ŧ‚邿‚Ī‚ÉCģ + Šî–{“I‚ɍŐVjRO‚Å–â‘č‚Č‚ĩ‚Å‚·B + +-------------- +//0582 by PRevEv +E580‚ĖƒoƒOCģB + (/map) + skill.c + skill_use_pos() CģB +-------------- +//0581 by ˆø‘ސl +E…ę‚‚ģÝ’čŠÖ˜A‚ð­‚ĩCģ + (/map) + map.c + map_waterheight() + map_readwater() + map_readmap() + waterlist[512] -> *waterlist‚É‚ĩ‚āAmalloc‚сƒ‚ƒŠŠm•Û‚·‚邿‚Ī‚ÉCģB + map_readallmap() + free(waterlist);’Į‰Á + +EƒoƒO•ņƒXƒŒƒbƒh‚ĖCģƒpƒbƒ`‚ðŽæ‚čž‚Ý + (conf/) + npc_town_refine.txt ƒZƒ~ƒRƒƒ“”ē‚ŊCģ + (db/) + item_db.txt 1161,ƒoƒ‹ƒ€ƒ“Cģ + +-------------- +//0580 by PRevEv +EƒtƒŠ[ƒLƒƒƒXƒg‰žŽĀ‘•(ƒLƒƒƒXƒeƒBƒ“ƒO’†UŒ‚‚Í•s‰Â”\) + (/map) + clif.c + clif_parse_WalkToXY() CģB + pc.c + pc_calcstatus() CģB + skill.c + skill_castend_id()Askill_castend_pos()Askill_use_id()Askill_use_pos() CģB +-------------- +//0579 by A‚ːl +EƒƒOƒCƒ“‚ð’e‚­ˆ—‚ð‰žŽĀ‘• + conf/login.c + auth_dat\‘Ǒ˂Éstate‚ð’Į‰Á + mmo_authŠÖ”Cģ + mmo_auth_newŠÖ”Cģ + mmo_auth_syncŠÖ”Cģ + mmo_auth_initŠÖ”Cģ + + ‚ą‚Ė’l‚ð•ύX‚·‚éƒc[ƒ‹A‰ü‘PôB‘ž—Í–{Šč‚Å‚·i„ƒG +-------------- +//0578 by ˆø‘ސl +EƒoƒO•ņƒXƒŒƒbƒh‚ĖCģƒpƒbƒ`‚ðŽæ‚čž‚݂ȂĮithanx to ‚é‚é‚é‚ģ‚ņ,Athefans‚ģ‚ņ,sage‚ģ‚ņ,zupport‚ģ‚ņj + 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,ƒ‰ƒtƒŒƒVƒA...Cģ + +-------------- +//0577 by ‚é‚é‚é +E@ƒRƒ}ƒ“ƒh‚ð’Į‰Á•Cģ + atcommand.c + atcommand() @itemresetƒRƒ}ƒ“ƒh’Į‰Á @goƒRƒ}ƒ“ƒhCģiƒAƒ}ƒcEƒRƒ“ƒƒ“‚ð’Į‰Áj + atcommand_config_read() ã‚ɍ‡‚í‚đ‚ÄitemresetŽg—pƒŒƒxƒ‹Žw’č‚ð’Į‰Á + + doc/conf_ref.txt + conf/atcommand_athena.conf itemresetŽg—pƒŒƒxƒ‹Žw’č‚ð’Į‰Á + help.txt @itemreset‚ːā–ū’Į‰Á‚Æ@go‚ːā–ūCģ + +------------- +//0576 by V&S +EƒS[ƒXƒgƒŠƒ“ƒOƒJ[ƒh‚ƃo[ƒXƒŠ[ƒJ[ƒh‚ĖŒø‰Ę‚Š‹t‚ɂȂÁ‚Ăǂ―‚Ė‚ðCģ + { bonus bDefEle,7; }ĻƒS[ƒXƒgƒŠƒ“ƒOƒJ[ƒh(”O) + { bonus bDefEle,8; }Ļƒo[ƒXƒŠ[ƒJ[ƒh(ˆÅ) + Š‚ū‚Á‚―‚Ė‚ðŦ‚ɏCģ + { bonus bDefEle,7; }Ļƒo[ƒXƒŠ[ƒJ[ƒh(ˆÅ) + { bonus bDefEle,8; }ĻƒS[ƒXƒgƒŠƒ“ƒOƒJ[ƒh(”O) + + |“S‚Ėd—Ę‚ðCģ + +-------------- +//0575 by ˆø‘ސl +E…ęƒtƒ@ƒCƒ‹‚Š"conf/npc_water.txt"ŒÅ’č‚ū‚Á‚―‚Ė‚ðCģ +iconf/map_athena.conf‚Ėnpc:‚ɏ‘‚Đ‚ę‚Ăǂéƒtƒ@ƒCƒ‹‚ð‚݂Đ…ę‚‚ģÝ’č‚·‚邿‚΂Ɂj + map.c + struct waterlist[512]; V‹K’Į‰ÁBƒ}ƒbƒvƒtƒ@ƒCƒ‹–ž‚Ɛ…ę‚‚ģ‚ð‹L‰ŊB + map_waterheight() V‹K’Į‰ÁB…ę‚Ė‚‚ģ‚ð•Ô‚·B + map_readwater() …ęƒtƒ@ƒCƒ‹‚ð‚Ý‚Äwaterlist‚ðÝ’č‚·‚邿‚Ī‚ÉCģB + map_readmap() map_waterheight()‚ðŒÄ‚Ô‚æ‚Ī‚ÉCģB + map_config_read() "npc"‚Åmap_readwater(w2);’Į‰ÁB + +-------------- +//0574 by ‚Ē‚Į + +EƒT[ƒo[Snapshot +Econf/shop_*.txt‚Ė“ā—e‚ðconf/npc_town_*.txt‚É“‡ + +-------------- +//0573 by Jazz + +Emap‚Ė penalty, nomemo, noteleport, nobranch‚Ė option‚ðÝ’čB +Emap ƒT[ƒo[‚Š cpu‚ð–ģŒĀč—L‚·‚邹‚Æ‚ðŒŸļ‚·‚é‚―‚ß‚Ė script “Y•t. cygwinŠÂ‹Ŧ‚ÅėŽ‚ÆŽĀŒą‚ð‚ĩ‚Ü‚ĩ‚―. + (/conf) + mapflag.txt ’Į‰ÁB + (/tool) + mapcheck.sh ’Į‰ÁB + +-------------- +//0572 by ˆø‘ސl +E"conf/npc_water.txt"‚Ė‘æ4—ņ‚Ő…ę‚‚ģÝ’č +@i‚ŋ‚á‚ņ‚Æ‚ĩ‚―…ę”ŧ’肊ŽĀ‘•‚ģ‚ę‚é‚Ü‚Å‚Ė‚Â‚Č‚Ž‚Æ‚ĩ‚āEEEj + (/conf) + npc_water.txt ƒTƒ“ƒvƒ‹CģB + E‘æ4—ņ‚Ő…ę‚Ė‚‚ģ‚ðÝ’č‚ĩ‚Ü‚·B + E‚‚ģ‚ð‘‚Đ‚Č‚Đ‚Á‚―ę‡‚ĖƒfƒtƒHƒ‹ƒg’l‚Í3‚ɂȂč‚Ü‚·B + (/map) + map.c + E…ę‚‚ģÝ’čŠÖ” map_readwater() ’Į‰ÁB + +-------------- +//0571 by code +“V’ÃtƒB[ƒ‹ƒh‚ĖMOB‚Ė”z’u‚ƃ[ƒvƒ|ƒCƒ“ƒg‚ĖÝ’č‚ĖCģ +“V’Ãpƒbƒ`‚É›Ā›Ä‚ŠŠÜ‚Ü‚ę‚Ăǂé‚Ė‚ðŠm”F‚ĩ‚―‚Ė‚Å›Ā›Ä‚Ėƒ[ƒv‚Æmob‚ð”z’u + +conf/npc_monster35.txt + mob‚Ė”z’u + +conf/npc_warp_amatsu.txt +@@ “V’Ãwarp point‚ĖÝ’u + +conf/npc_warp_gonryun.txt + ›Ā›Äwarp point‚ĖÝ’u + +conf/npc_town_amatsu.txt +@@ Žb’č“I‚Ƀvƒƒ“ƒeƒ‰•ސ…‘OĐĻ“V’Í`^ƒvƒƒ“ƒeƒ‰•ސ…‘OĐĻ›Ā›Ä‚ĖÚ‘ąNPC + +-------------- +//0570 by code +“V’ÃtƒB[ƒ‹ƒh‚ĖMOB‚Ė”z’u‚ƃ[ƒvƒ|ƒCƒ“ƒg‚ĖÝ’č‚Å‚·B +conf/npc_monster35.txt + mob‚Ė”z’u + +conf/npc_warp_amatsu.txt +@@ warp point‚ĖÝ’u + +conf/npc_town_amatsu.txt +@@ Žb’č“I‚Ƀvƒƒ“ƒeƒ‰•ސ…‘OĐĻ“V’Í`‚ĖÚ‘ąNPC + +-------------- +//0569 by Ž€_ + +E0561‚Ė@jobcange ‚Å‚ĖŠƒo[ƒh•‰ƒ_ƒ“ƒT[‚É‚æ‚éˆÆ—Ž‚ŋ–hŽ~‚ðpc_jobchange()‚Å‚·‚邿‚Ī‚É•ÏXB +E@ƒRƒ}ƒ“ƒh@party’Į‰ÁBƒp[ƒeƒB‚ðė‚é–―—߂ł·BŠØ‘ˆÆ‚ðŽg‚Ī‚Æƒp[ƒeƒB‚ðė‚鎞Ž~‚Ü‚é‚Ė‚Å—ÕŽž“I‚É‚ą‚ę‚ðŽg‚Á‚ăp[ƒeƒB‚ðė‚Á‚Ä‚­‚ū‚ģ‚ǁB +E…‚Ė”ŧ’fˆ—CģB +Eƒ}ƒbƒvƒtƒ‰ƒO‚Éwater‚Æall_water’Į‰ÁBÚ‚ĩ‚­‚Ínpc_water.txt‚ðŽQl‚ĩ‚Ä‚­‚ū‚ģ‚ǁB +iz_dun0x‚ū‚Ŋ“ü—Í‚ĩ‚Ăǂ܂·‚˂őž‚Ė‚Í–„‚߂Ă­‚ū‚ģ‚ǁBƒ}ƒbƒvƒtƒ‰ƒOwater‚Đall_water‚Š“ü‚Á‚Ä‚Č‚Ē‚ÆƒZƒ‹‚Ėtype‚Š3‚ł␅‚Æ‚ĩ‚Ä”FŽŊ‚ĩ‚Ü‚đ‚ņB‚ŧ‚ĩ‚Đ…‚ū‚į‚Ŋ‚Ėiz_dun02‚Đ‚į04‚܂ł͑S‚Đ…‚Æ‚ĩ‚Ä”FŽŊ‚·‚邿‚Ī‚Éall_water‚ð“ü‚ę‚Ăǂ܂·B(‚ą‚ęˆČŠO‚Í•û–@‚Š‚Č‚Đ‚Á‚―‚Ė‚Å...) +Ebattle_athena.conf‚ɍ€–Ú’Į‰ÁBˆę•”‚ÍWeiss‚ðŽQl‚ĩ‚čė‚Á‚―•ςł·B +EƒeƒXƒg‚ĩ‚Ä‚Č‚Ē•Ļ‚ā­‚ĩ‚ ‚č‚Ü‚·B + (/conf) + atcommand_athena.conf CģB + battle_athena.conf CģB + map_athena.conf CģB + npc_water.txt ’Į‰ÁB + (/doc) + conf_ref.txt CģB + (/map) + atcommand.hAatcommand.c CģB + battle.h CģB + battle.c + battle_config_read() CģB + pc.c + pc_jobchange()Apc_stop_walking() CģB + npc.c + npc_parse_warp()Ado_init_npc()Anpc_parse_mapflag() CģB + mob.c + mob_ai_sub_hard() CģB + pet.c + pet_food() CģB + skill.c + skill_check_condition() CģB + map.h + struct map_data CģB + +-------------- +//0568 by ˆø‘ސl + +EƒAƒNƒAƒxƒlƒfƒBƒNƒ^…ę”ŧ’č‚Č‚Į +EƒEƒH[ƒ^[ƒ{[ƒ‹…ę”ŧ’čiread_gat(m,x,y)==3‚Ő…ę‚Æ”ŧ’čj + skill.c + skill_castend_nodamage_id() + case AL_HOLYWATER: ƒAƒNƒAƒxƒlƒfƒBƒNƒ^iđ…Žæ“ūj + skill_check_condition() + case AL_HOLYWATER: ƒAƒNƒAƒxƒlƒfƒBƒNƒ^i…ę”ŧ’čj + case WZ_WATERBALL: ƒEƒH[ƒ^[ƒ{[ƒ‹i…ę”ŧ’čj + +-------------- +//0567 by ‚é‚é‚é + +EƒAƒRƒ‰ƒCƒg‚ĖƒAƒNƒAƒxƒlƒfƒBƒNƒ^‚ð‰žŽĀ‘•i…ęŒĀ’čŽg—p‚Ė‚Ý–ĒŽĀ‘•j +EƒvƒŠ[ƒXƒg‚ĖƒAƒXƒyƒ‹ƒVƒIAƒZ[ƒW‚ĖƒtƒŒƒCƒ€ƒ‰ƒ“ƒ`ƒƒ[‚ŃXƒLƒ‹Žg—pŽž‚ɃAƒCƒeƒ€Á”ï +Eƒ~ƒXƒgƒŒƒXƒJ[ƒh‘•”õŽž‚ɃZ[ƒW‚ˑېŦŒīÎ•ƒnƒ“ƒ^[‚ĖãĐ‚ŠÁ”ï‚ģ‚ę‚Č‚ĒƒoƒO‚ðCģ + + (/map) + skill.c + skill_check_condition() Cģ + +-------------- +//0566 by ƒpƒCƒ“ + +E0563‚ĖƒXƒLƒ‹‰ðœðŒ‚ŠŠÔˆá‚Á‚Ăǂ―‚Ė‚ÅCģB•Ší‚ð‚Í‚ļ‚·&•Ší‚ð•Ï‚Ķ‚―ę‡‚Í +@–ģðŒ‚Å‰ðœ‚·‚邿‚΂ɂĩ‚―B + +# pc_checkallowskill ‚É‚Â‚Ē‚Ä(‘O‰ņā–ū‘‚­‚Ė‚ð–Y‚ę‚Ăǂ―‚˂Łc) +@ˆę‰žĄŒã‚ĖŠÜ‚Ý‚Æ‚ĩ‚Äreturn‚ð•Ô‚·‚æ‚΂ɂĩ‚Ăǂ܂·‚ЁAŒŧÝ‚Í(–߂萿‚Å‚Í)Žg‚Á‚Ăǂ܂đ‚ņB +@ĄŒŧÝ‚Í‹RŽmEƒNƒ‹ƒZƒCƒ_[‚­‚į‚Ē‚ĩ‚ĐƒXƒLƒ‹Žg—pŽž‚Ė•Ší§ŒĀ‚Š‚ ‚č‚Ü‚đ‚ņ‚ЁAĄŒão‚Ä‚ą‚Č‚Ē +@‚Æ‚āŒĀ‚į‚Ȃǂ˂ŁA‚ā‚ĩ(2ŽŸãˆĘ‚Đ3ŽŸH)o‚Ä‚Ŧ‚―‚į‚ą‚ą‚Ń`ƒFƒbƒN‚ĩ‚Ä‚­‚ū‚ģ‚ǁB + + (/map) + pc.c + pc_checkallowskill() Cģ + +-------------- +//0565 by ˆø‘ސl + +Eƒ}ƒbƒvˆÚ“ŪŽž‚É–î‘•”õ‚ŠŠO‚ę‚Ȃǂæ‚Ī‚ÉCģ +EƒƒOƒCƒ“Žž‚É–î‘•”õ‚Š•\ŽĶ‚ģ‚ę‚邿‚Ī‚ÉCģ + (/common) + mmo.h + i–î‘•”õ‚Í0x8000‚Ȃ˂Łjshort‚ū‚Æint‚Ö‚ĖƒLƒƒƒXƒgŽž‚Č‚Į‚É + •‰’l‚Æ‚Č‚Á‚Ä‚ĩ‚܂΂―‚ßunsigned short‚ɏCģ + struct item + short equip; -> unsigned short equip; + (/map) + clif.c + clif_itemlist() ƒAƒCƒeƒ€ƒŠƒXƒg‚Ė–î‚Ė‚Â‚Ē‚Å‚É–î‘•”õ‚āƒ`ƒFƒbƒN + clif_arrowequip() ƒVƒ“ƒvƒ‹‰ŧ + pc.c + pc_equipitem() Cģ + +-------------- +//0564 by g—t + +E@model‚Ė•žõ‚ß•s‰Â”\”ŧ’čCģB +E@model‚ŁA‘I‚Ũ‚éƒnƒY‚Ė”ŊŒ`‚ɕύXo—ˆ‚ȂЂÁ‚―•”•Š‚ðCģB +@ã‹L•ύX“_‚ɍ‡‚í‚đ‚Ähelp.txt‚ĖCģB + +-------------- +//0563 by ƒpƒCƒ“ + +EMOB‚ĖˆÃˆÅƒXƒLƒ‹‚ðH‚į‚Á‚―Œã‚ɉņ•œ‚ĩ‚Ȃǂ˂ðCģBc‚Č‚ņ‚ū‚Ŋ‚ĮA“Kģ‚Č’l‚Š•Š‚Đ‚į‚Ȃǂ˂Š+@“Å‚â’ū–Ų‚Æ“Ŋ‚ķŽžŠÔ‚É‚ĩ‚Ä‚ ‚č‚Ü‚· +@ĄŒãA‚Ü‚―Žč‚ð‰Á‚Ķ‚é‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņB +E2HQ‚ƃXƒsƒAƒNƒCƒbƒPƒ“‚ðŽg—p’†‚É•Ší‚ð•Ï‚Ķ‚―ę‡‚Í‰ðœ‚·‚邿‚Ī‚É•ÏXB + + (/map) + skill.c + skill_castend_damage_id() CģB + skill_status_change_timer() CģB + pc.c + pc_checkallowskill() VÝB + pc_equipitem() CģB + pc.h + pc_checkallowskill() VÝB + +-------------- +//0562 by huge + +E–î‚ð‹|‘•”õŽžˆČŠO‚ł⑕”õ‚Å‚Ŧ‚邿‚΂ɖ߂ĩ‚Ü‚ĩ‚―B +E–î‚ˑېŦ‚ð“K—p‚·‚é‚Ė‚ð‹|‘•”õŽž‚Ė‚Ý‚ÉCģB + + pc.c + pc_equipitem() CģB + pc_calcstatus() CģB + +-------------- +//0561 by ˆø‘ސl + +ELinux‚Å‚āƒRƒ“ƒpƒCƒ‹‚Å‚Ŧ‚邿‚Ī‚É + (/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‚ɐŦ•Ęƒ`ƒFƒbƒN’Į‰Á + +// ƒiƒiƒX‚ģ‚ņCģ +Eclif.c“ā‚Åatcommand.h‚ð‚Q“xinclude‚ĩ‚Ăǂ―‚Ė‚Åˆę‚폜B +Eƒp[ƒeƒB[‰ï˜bAƒMƒ‹ƒh‰ï˜b‚Å‚ā@ƒRƒ}ƒ“ƒh‚ðƒ`ƒFƒbƒN‚·‚邿‚Ī‚ÉCģB + (/map) + clif.c + clif_parse_PartyMessage()Aclif_parse_GuildMessage CģB + +-------------- +//0560 by ƒpƒCƒ“ + +E0559 ‚Ė athena-start ‚ð Unix Like OS ‚Å‚ā“Ū‚­‚æ‚Ī‚ÉƒŠƒtƒ@ƒCƒ“B + +-------------- +//0559 by rowla + +Eathena.sh‚ð‘S–Ę“I‚ɏ‘‚Ŧ’ž‚ĩAathena-start‚ɁBathena-start start‚ÅŠJŽnAathena-start stop‚ŃT[ƒo[’âŽ~Bcygwin‚ŃeƒXƒgA*BSD|Linux‚Å‚Í–ĒƒeƒXƒg(ŠÂ‹Ŧ‚ЂȂǂ―‚ß)B + +-------------- +//0558 by Ž€_ + +EƒuƒŠƒbƒcƒr[ƒg‚ðŽĐ“Ū‚ū‚Ŋ‹|‚ð‘•”õ‚ĩ‚Ä‚Ē‚Č‚Ē‚Æ”­“Ū‚Å‚Ŧ‚Ȃǂæ‚Ī‚É•ÏXB(Žč“Ū‚Í•Ší‚ÉŠÖŒW‚Č‚­Žg‚͂܂·B) –ĒƒeƒXƒgB +Eƒgƒ‰ƒbƒv‚Ėd‚ģCģB(‰―ŒĖ‚Ђ͒m‚į‚ȂǂŊ‚Į100‚ɂȂÁ‚Ăǂ―‚Ė‚ð10‚ɏCģBˆö‚݂ɑq‚Ė•\ŽĶ‚Í100‚Š10‚Å10‚Š1‚Å‚·B) +E‹|‚ÅŽg‚ĪƒXƒLƒ‹‚Ėę‡–Œļ‚į‚Č‚Ē‚Ė‚ŠŽd—l‚ū‚Á‚―‚ÆŠo‚͂Ăǂé‚˂Ŗî‚ðƒ`ƒFƒbƒN‚ĩ‚Ȃǂæ‚Ī‚ÉCģB +Eƒ‚ƒ“ƒNƒXƒLƒ‹ŽO’iķ‚Ė•\ŽĶ‚ðƒpƒbƒVƒu‚ɕύXB +Eƒ}ƒbƒvƒtƒ‰ƒO‚ðƒZƒbƒg‚·‚鎞dummy‚ЂȂ­‚Ä‚āƒZƒbƒg‚Å‚Ŧ‚邿‚Ī‚ÉCģB +(mapflag nomomo dummy‚Đ‚įmapflag nomemo‚Å‚ā‘åä•v‚Č‚æ‚Ī‚É•ÏXB) +–ĒƒeƒXƒgB + (/db) + item_db.txt CģB + skill_db.txt CģB + (/map) + skill.c + skill_check_condition()Askill_additional_effect() CģB + skill_status_change_start() CģB + npc.c + do_init_npc() CģB + +-------------- +//0557 by huge + +E–î‚ðA‹|‘•”õŽž‚Ė‚Ý‘•”õ‚Å‚Ŧ‚邿‚Ī‚ÉCģB +E‹|‚ð‘•”õ‚Đ‚įŠO‚ĩ‚―‚įA–î‚āŠO‚ę‚邿‚Ī‚ÉCģB +E–î‚ðÁ”ï‚·‚éƒXƒLƒ‹‚ð‚Ē‚­‚Â‚ĐCģB +E‘é‚ðA‹|‚ð‘•”õ‚ĩ‚Ăǂ邯‚Ŧ‚Ė‚Ý”­“Ū‚·‚邿‚Ī‚ÉCģB(–ĒƒeƒXƒg) + + pc.c + pc_equipitem() CģB + pc_unequipitem() CģB + skill.c + skill_additional_effect() CģB + skill_check_condition() CģB + +-------------- +//0555 by Ž€_ + +EŨ‚Đ‚ĒCģ‚ƃvƒŒƒ[ƒ“ƒgƒ{ƒbƒNƒXAŒÃ‚ĒŠŠ•Ļ‚ĖƒoƒOCģB +E@ƒRƒ}ƒ“ƒh@refineA@produce­‚ĩCģB +EƒT[ƒo[‚ĖIP‚ÉDNS–ž‚ðŽg‚͂邿‚Ī‚É•ÏXB(Ą‚ģ‚į‚Å‚·‚ŠYare‚Đ‚į +Ž‚Á‚Ä‚Ŧ‚―•ςł·B) +EƒXƒeƒB[ƒ‹ŒvŽZŽŪ•ύX‚ÆMVPƒAƒCƒeƒ€ˆ—•ύXB +E“XNPC‚ð—˜—p‚É‚æ‚éƒWƒ‡ƒuŒoŒą’lŠl“ūŒvŽZŽŪ•ύXB + Šl“ūƒWƒ‡ƒuŒoŒą’l = ln(‹ā*ƒXƒLƒ‹ƒŒƒxƒ‹) * shop_exp / 100 +E‚Ų‚Æ‚ņ‚ĮƒeƒXƒg‚ĩ‚Ä‚Č‚Ē‚Ė‚ÅƒoƒO‚Ė‰Â”\Ŧ‚Š‚ ‚č‚Ü‚·B + help.txt CģB + (/conf) + atcommand_athena.conf CģB + battle_athena.conf CģB + (/db) + item_db.txt CģB + (/doc) + conf_ref.txt CģB + (/char) + char.c + do_init()Acheck_connect_login_server() Cģ‚Ə­‚ĩCģB + (/map) + mob.c + mob_damage() CģB + pc.c + pc_getitemfromcart()Apc_steal_item() CģB + pet.c + pet_return_egg()Apet_get_egg()Apet_unequipitem() CģB + script.c + buildin_getitem() CģB + skill.c + skill_produce_mix() CģB + storage.c + storage_storageget() CģB + atcommand.c CģB + map.c + map_config_read() Cģ‚Ə­‚ĩCģB + chrif.c + check_connect_char_server()Ado_init_chrif()Achrif_setip() Cģ‚Ə­‚ĩCģB + npc.c + npc_buylist()Anpc_selllist() CģB + +-------------- +//0554 by NOCTURNE +EƒT[ƒo[SnapShot +Etoo/addaccount‚Ėíœ +Ehelp.txt‚ĖXV + +-------------- +//0553 by ŒÓ’ą—– + +Eladmin‚ĖƒoƒOCģ‚Æ‹@”\’Į‰Á + EƒL[ƒ[ƒh‚É‚æ‚éƒAƒJƒEƒ“ƒgŒŸõ‹@”\’Į‰Á + EƒVƒFƒ‹ƒRƒ}ƒ“ƒh‚Æ‚ĩ‚ÄŽg—p‚Å‚Ŧ‚邿‚Ī‚Éƒvƒƒ“ƒvƒg‚ðŽg‚í‚Č‚Ēƒ‚[ƒh’Į‰Á + E’Į‰Á‹@”\‚É‚Â‚Ē‚Ä‚Íladmin‚ðŒĐ‚Ä‚­‚ū‚ģ‚Ē + E ladmin‚Ė--makesymlink‚É‚æ‚čAƒVƒ“ƒ{ƒŠƒbƒNƒŠƒ“ƒN‚Æ‚ĩ‚Äaddaccount‚ð + ėŽ‚·‚é‚―‚߁AˆČ‘O‚Ėaddaccount‚͍폜‚·‚é•K—v‚Š‚ ‚č‚Ü‚·B + ‚ą‚ę‚į‚ĖƒVƒ“ƒ{ƒŠƒbƒNƒŠƒ“ƒN(Cygwin‚ł̓Vƒ‡[ƒgƒJƒbƒg)‚ƁA + ŒÃ‚Ēaddaccount‚ÍŽIsnapshot‚É‚ÍŠÜ‚Ü‚Č‚Ē‚Å‰š‚ģ‚ǁB + + (tool/) + ladmin + ‹@”\’Į‰Á‚ƏCģ + +E—ŦƒAƒJƒEƒ“ƒg‚ĩ‚ĐėŽ‚Å‚Ŧ‚Č‚ĒƒoƒOCģ +EladminAcheckversionŽg—pŽžloginƒT[ƒo[‚Š–\‘–‚·‚éƒoƒOCģ +EGMƒAƒJƒEƒ“ƒgŽü•Ó‚ĖID‚ð”ð‚Ŋ‚é‚―‚ß‚ÉSTART_ACCOUNT_NUM‚ð•ύX + (Šų‚ÉGMƒAƒJƒEƒ“ƒg‚Í”ð‚Ŋ‚éŽd—l‚ɂȂÁ‚Ăǂ܂·‚ЁAŽ—–hŽ~‚Ė‚―‚ß) + + (login/) + login.h + START_ACCOUNT_NUM‚ð500000‚Đ‚į2000000‚ɕύX + login.c + 7532(Ø’f)ƒpƒPƒbƒg‚Ėˆ—Cģ + mmo_auth_new()Cģ + +Ebackup‚ŠƒoƒbƒNƒAƒbƒv‚·‚éƒtƒ@ƒCƒ‹‚Épet.txt‚ð’Į‰Á + (tool/) + backup + ƒtƒ@ƒCƒ‹’Į‰ÁCģ + +-------------- +//0552 by Ž€_ + +EˆĀ’čŦ‚ðã‚°‚éˆŨ‚ĖCģ‚Å‚·‚Š–{“–‚ÉˆĀ’čŦã‚Š‚Á‚―‚Đ +‚Į‚Ī‚Đ‚Í•s–ū‚Å‚·B +EPVP‚É‚æ‚čƒNƒ‰ƒCƒAƒ“ƒg‚Š—Ž‚ŋ‚é–â‘čCģB + atcommand.c + @pvpoffA@pvponA@gvgonA@gvgoff CģB + script.c + buildin_pvpon()Abuildin_pvpoff()Abuildin_gvgon()Abuildin_gvgoff() CģB + clif.c + clif_pvpset() CģB + skill.c + skill_attack()Askill_unit_onplace()Askill_unit_onout() CģB + skill_unit_ondelete() CģB + +-------------- +//0551 by Kalen +EDBCģ + db/create_arrow_db.txt ŠŪŽ + SourceID‡‚Ƀ\[ƒg‚ĩ‚Ü‚ĩ‚―B + +-------------- +//0550 by huge + +E–îėŽƒXƒLƒ‹ŽĀ‘• + + 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 + ƒIƒŠƒWƒiƒ‹ƒXƒNƒŠƒvƒgA‹GßŒĀ’čƒXƒNƒŠƒvƒg‚ðŪ“Ú + shop3.txt’Į‰Á + +EŠeŽíNPC’Į‰Á•Cģ + npc_event_yuno.txt [’Į‰Á]ƒWƒ…ƒm[ƒCƒxƒ“ƒg(ÂÎ5ŒÂGET) + npc_cTower.txt [’Į‰Á]’nã’n‰š‚ĖŒŪNPC + npc_town_yuno.txt [Cģ]‘䎌Cģ + + npc_event_carnival.txt [’Į‰Á]‹ŒŽIƒJ[ƒjƒoƒ‹ƒCƒxƒ“ƒgŽž‚ĖNPC + +-------------- +//0548 by huge + +E–î‚ð‘•”õ‚ĩ‚―Žž‚Ė•\ŽĶƒoƒO–â‘č‚ðCģB + clif.c + clif_arrowequip() CģB + pc.c + pc_equipitem() CģB + +‚ ‚Ƃ́Aƒ}ƒbƒv‚ðˆÚ“Ū‚·‚é‚―‚҂ɑ•”õ‚ŠŠO‚ę‚ŋ‚á‚Ī“_‚Å‚·‚ˁEEEB + +-------------- +//0547 by Ž€_ + +EˆĀ’čŦ‚ðã‚°‚éˆŨ‚ĖCģ‚ƍŨ‚Đ‚ĒCģB +EƒXƒLƒ‹ƒ†ƒjƒbƒg‚Ė”ŧ’č‚ð‚ĩ‚ĂǂéŠÔƒƒ‚ƒŠ[‚ð‰ðœ‚Å‚Ŧ‚Ȃǂæ‚Ī‚É•ÏXB + map.c + map_foreachinarea()Amap_foreachinmovearea() CģB + map_foreachobject() CģB + block_free_max‚ð32000‚Đ‚į50000‚ɕύXB + pc.c + pc_calcstatus() CģB + skill.c + do_init_skill()Askill_unit_timer()Askill_status_change_clear() CģB + skill.cAbattle.cAbattle.h + struct battle_config‚Ėsanctury_type‚ðsanctuary_type‚ɕύXB + (‰pŒęƒXƒyƒ‹ŠÔˆá‚Ē‚ÅCģB) + battle_athena.conf + sanctury_type‚ðsanctuary_type‚ɕύXB + conf_ref.txt + sanctury_type‚ðsanctuary_type‚ɕύXB + +-------------- +//0546 by Ž‚Žqo^.^o + +conf/npc_shop2.txt +DƒoˆęƒhAƒ_ƒ“ƒTˆę—p‚Ė•ŠíBƒRƒ‚ƒh‚Ė•Ší‰Ū‚Ŕ˔„‚ĩ‚ĂǂéB +Dƒ‚ƒ“ƒN—p‚Ė•ŠíBƒJƒsƒgˆęƒŠƒiC“đ‰@‚Ŕ˔„‚ĩ‚ĂǂéB + +-------------- +//0545 by Ž€_ + +EƒuƒŠƒbƒc‚Ėƒ_ƒ[ƒW‚ðŽĐ“Ū‚Å•ŠŽUAŽč“Ū‚Å•’ƂɂȂ邿‚Ī‚É•ÏXB +EƒI[ƒgƒuƒŠƒbƒcƒoƒOCģB(‚ą‚ę‚Å‘åä•v‚ū‚Æ‚Ē‚Ē‚Ŋ‚Į...) + map.c + block_free_max‚ð16000‚Đ‚į32000‚ɏCģB + block_list_max‚ð4096‚Đ‚į5120‚ɏCģB + battle.c + battle_weapon_attack() CģB + skill.c + skill_attack()Askill_castend_damage_id() CģB + +-------------- +//0544 by Diex +E–Ō—īŒ‚Đ‚įˆĒC—…”e™€Œ‚Ö‚ĖƒRƒ“ƒ{ŽĀ‘•B +EˆĒC—…”e™€Œ”­“ŪŒãA“G‚Ė”wŒã‚ÉˆÚ“Ū‚·‚邿‚΁ACģB +EŽO’iķ‚Ėƒ_ƒ[ƒWCģB + (/map) + skill.c + skill_castend_damage_id() CģB + skill_check_condition() CģB + skill_use_id() CģB + pc.c + pc_attack_timer() CģB + pc_authok() CģB + battle.c + battle_calc_weapon_attack() CģB + battle.h + struct Battle_Config CģB + map.h + struct map_session_data CģB + (/conf) + battle_athena.conf CģB + +‚Í‚Á‚Ŧ‚č‚Ē‚Á‚ăRƒ“ƒ{Œq‚°‚Âį‚ǂł·B‚ŧ‚Ė‚―‚ßˆĒC—…‚Ö‚ĖƒRƒ“ƒ{‚͂ЂȂčŠÃ‚Ē”ŧ’č‚É +‚ĩ‚Ă܂·iˆęŽž“I‚ɂł·‚ЁjBŒq‚°‚Âį‚Ŋ‚ę‚Îbattle_athena.conf‚Ė‚Ų‚Ī‚Åƒfƒ…ƒŒƒCŽž +ŠÔ‚ð‘å‚Ŧ‚­‚ĩ‚Ă݂Ă­‚ū‚ģ‚ǁB + “Ū‰æŒĐ‚ĂċC‚Ã‚Ē‚―‚˂ł·‚ЁAˆĒC—…”e™€Œ‚Í–Ō—īŒ‚Š”­“Ū‚ĩ‚―ŒãA‘ĶŽž”­“Ū‚ĖƒXƒL +ƒ‹‚ɕςí‚Á‚Ă邿‚΂Ȃ˂ł·B‘ž—Í–{Šč‚Å‚·‚ЁAˆĒC—…‚Ü‚Å‚ĖƒRƒ“ƒ{‚ĖƒpƒP‚ð‹L˜^‚ĩ‚― +•Ļ‚ð‚Į‚Č‚―‚ĐƒAƒbƒv‚ĩ‚Ä‚ā‚į‚͂Ȃǂłĩ‚å‚Ī‚ĐHÚŨ‚Š‚í‚Đ‚čŽŸ‘æACģ‚ĩ‚Ü‚·B + +-------------- +//0543 by Ž€_ + +EƒuƒŠƒbƒc‚Ėƒ_ƒ[ƒW‚𕊎U‚ģ‚ę‚邿‚Ī‚É•ÏXB +E•’Ę‚ĖƒAƒJƒEƒ“ƒgė‚č‚Å‚ÍGMƒAƒJƒEƒ“ƒg‚ðė‚ę‚Ȃǂæ‚Ī‚É•ÏXB +(‘O‚ÉŽĐ•Š‚Š“ü‚ę‚―•ςЂȂ­‚Č‚Á‚―‚˂Ŗ߂ĩ‚―‚ū‚Ŋ‚Å‚·‚Š...) +EŽæ‚芊‚Ŧ‚ŠŽå‚Æˆę‚ÉŽ€‚Ę‚æ‚Ī‚É•ÏXB(‚―‚ū‚ŋ‚å‚Á‚Əd‚­‚Č‚é +‰Â”\Ŧ‚Š‚ ‚č‚Ü‚·B) –ĒƒeƒXƒgB +EMVPŒoŒą’l‚Š•\ŽĶ‚ū‚Ŋ‚ģ‚ę‚ÄŽĀÛ‚É‚Í“ü‚Á‚ĂȂǖâ‘čCģB + (/login) + login.c + mmo_auth_new() CģB + (/map) + skill.c + skill_castend_damage_id() CģB + battle.c + battle_calc_misc_attack() CģB + mob.c + mob_damage() CģB + mob_deleteslave()Amob_deleteslave_sub() ’Į‰ÁB + +-------------- +//0542 by Ž€_ + +EƒI[ƒgƒuƒŠƒbƒcƒoƒOCģB(Ą“x‚ą‚ŧ‘åä•v‚Ė‚Í‚ļ...) +EŽĐ•Š‚ÉŽg‚Á‚―ƒq[ƒ‹‚ł͌oŒą‚Š“ü‚į‚Ȃǂæ‚Ī‚É•ÏXB +E“XNPC‚ð—˜—p‚É‚æ‚éƒWƒ‡ƒuŒoŒą’lŠl“ūŒvŽZŽŪ•ύXB + Šl“ūƒWƒ‡ƒuŒoŒą’l = ln(‹ā) * shop_exp / 100 +‚ɂȂč‚Ü‚·B +log‚ðŽg‚Ī‚ą‚Æ‚Å‹ā‚Š‘―‚­‚Ä‚ā“ü‚éŒoŒą’l‚Š‘―‚­“ü‚į‚Ȃǂæ‚Ī‚É•ÏX‚ĩ‚Ü‚ĩ‚―B + (/map) + battle.c + battle_damage() CģB + skill.c + skill_attack()Askill_castend_damage_id() CģB + skill_castend_nodamage_id CģB + npc.c + npc_buylist()Anpc_selllist() CģB + map.c + map_foreachinarea()Amap_foreachinmovearea()Amap_foreachobject() + CģB(‘å‚ĩ‚―Cģ‚Å‚Í‚Č‚Ē‚Å‚·B) + (/conf) + battle_athena.conf CģB + (/doc) + conf_ref.txt CģB + +-------------- +//0541 by huge + +E–î‚ð‚܂Ƃ߂ϝ‚Ă邿‚Ī‚ÉCģB +E‹|‚ōUŒ‚‚ĩ‚―‚Æ‚Ŧ‚ɁA‘•”õ‚ĩ‚Ăǂé–î‚ðÁ”ï‚·‚邿‚Ī‚ÉCģB + + 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 Ž€_ + +EƒoƒOCģ‚Æ–â‘č‚ ‚č‚ŧ‚Ī‚ČŠCģB(‚ą‚ę‚ÅWZ_FIREPILLAR‚ƃuƒŠƒbƒc‚É +‚æ‚éŽIƒ_ƒEƒ“‚͂Ȃ­‚Č‚é‚Í‚ļ...) + map.c + map_foreachinarea()Amap_foreachinmovearea() CģB + skill.c + skill_unitsetting()Askill_delunitgroup() CģB + pc.c + pc_damage() CģB + battle.c + battle_damage() CģB + npc.c + npc_parse_mob() CģB + mob.c + mob_spawn_dataset() CģB + +-------------- +//0539 by Ž€_ + +Eclif_pvpset()‚ðƒ}ƒbƒv‚Đ‚įAREA‚Đƒ}ƒbƒv‚Đ‚ðÝ’č‚Å‚Ŧ‚邿‚Ī‚É•ÏXB(pvp‚ĖŽž‚Ėˆ—‚Í0535ˆČ‘O‚˕ςɖ߂ŧ‚Ü‚ĩ‚―BŽĐ•Š‚ū‚Ŋ‚É“]‘—‚ĩ‚Ä‚ā‚ǂǂæ‚΂ȋC‚ā‚ĩ‚Ü‚·‚Š...) + clif.hAclif.c + clif_pvpset() CģB + clif_parse_LoadEndAck() CģB + script.c + buildin_pvpoff() CģB + buildin_pvpon() CģB + atcommand.c CģB +EUŒ‚“r’†‚ŃAƒCƒeƒ€‚ðE‚Ī‚ÆUŒ‚‚ŠŽ~‚܂邿‚Ī‚ÉCģB + pc.c + pc_takeitem() CģB +E0535ā–ū‚Š”š—ô”g“ۂɂȂÁ‚Ä‚Ē‚é‚Š‚ŧ‚ę‚Í‹ā„‚ÉŠÔˆá‚ǂł·B +E0537‚Őā–ū‚ð–Y‚ę‚Ü‚ĩ‚―‚Šƒ‚ƒ“ƒXƒ^[‚Ėdef‚Æmdef‚ð10000ˆČã‚ɐݒ肷‚ę‚ΑS‚Ä‚ĖUŒ‚‚É1ƒ_ƒ[ƒW‚É‚Č‚éƒ‚ƒ“ƒXƒ^[‚ɂȂč‚Ü‚·B‚ŧ‚ĩ‚ă‚ƒ“ƒXƒ^[î•ņ‚Ådef‚Æ +mdef‚Š10000ˆČã‚Ėę‡def 100Amdef 99‚É•\ŽĶ‚·‚邿‚Ī‚É•ÏXB–{ŽIŽd—l‚É +‚·‚é‚É‚Ímob_db.txt‚ðCģ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB + +-------------- +//0538 by huge + +EƒOƒŠƒ€ƒgƒD[ƒX‚ð”͈͍UŒ‚‚ɏCģ +EƒTƒvƒ‰ƒCƒYƒAƒ^ƒbƒNŽĀ‘• (—LŒø”͈͂Á‚āA‚ą‚ę‚Å‚ ‚Á‚Ä‚é‚Ė‚Đ‚ČH) +EƒoƒbƒNƒXƒ^ƒu‚ˉžŽĀ‘• + –{ŽI‚Å‚â‚Á‚Ä‚él‚Đ‚į˜b‚ð•·‚Ē‚ÄAęŠŽw’č‚ķ‚á‚Č‚­‚Ä + ƒ^ƒQŽæ‚Á‚Ä‚ā—Į‚ģ‚ŧ‚Ī‚ū‚Á‚―‚Ė‚Å•ÏX‚ĩ‚Ü‚ĩ‚―Bi‚â‚č‚â‚·‚Đ‚Á‚―‚˂Š(^^; + ‚Ü‚ū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 + ƒoƒbƒNƒXƒ^ƒu‚ĖŽí—Þ‚ð[ęŠ]‚Đ‚į[“G]‚֕ύX + +-------------- +//0537 by Ž€_ + +EƒXƒeƒB[ƒ‹ƒoƒOCģ‚Æbattle_athena.conf‚Ė€–Ú’Į‰ÁAŽd—l•ύX‚ƍŨ‚Đ‚ĒCģ‚Å‚·B +(ƒXƒeƒB[ƒ‹‚ÍŒvŽZŽŪ‚É–â‘肊‚ ‚Á‚―‚Ė‚ÅCģ‚ĩ‚ÄŠm—Ķ‚ðX‚É—Ž‚Æ‚ĩ‚Ü‚ĩ‚―B) + battle.h + finger_offencive_type‚ðfinger_offensive_type‚ɏCģB(‰pŒęƒXƒyƒ‹ŠÔˆá‚Ē‚ÅCģ‚ĩ‚Ü‚ĩ‚―B) + struct battle_config‚Érestart_hp_rateArestart_sp_rate ’Į‰ÁB + battle.c + battle_calc_weapon_attack()Abattle_calc_magic_attack() CģB + skill.c + skill_attack() CģB + clif_skill_nodamage()‚ɃXƒLƒ‹ƒŒƒxƒ‹‚ð‘—‚é‚æ‚Ī‚É•ÏXB(M‚ģ‚ņ‚ĖŽw“E‚É‚æ‚čCģB) + clif.c + clif_skill_estimation() CģB + conf_ref.txt + finger_offencive_type‚ðfinger_offensive_type‚ɏCģ‚Ə­‚ĩ’Į‰ÁB + mob.c + mob_ai_sub_hard()Amob_target()Amob_damage() CģB + pc.c + pc_steal_item() CģB + atcommnad.cAatcommnd.h + @ƒRƒ}ƒ“ƒh@gvgon , @gvgoff ’Į‰ÁB + battle_athena.conf + finger_offencive_type‚ðfinger_offensive_type‚ɏCģ‚Ə­‚ĩ’Į‰ÁB + +-------------- +//0536 by hogefuga3 (Athena staff) + +EVGRFƒtƒ@ƒCƒ‹ƒtƒH[ƒ}ƒbƒg‘Ήž +@- Athena staff —l‚ĖėŽ‚ģ‚ę‚―ƒpƒbƒ`‚ð“K—p‚ĩ‚Ü‚ĩ‚―B + XV—š—ð‚Ė•”•Š‚Íƒpƒbƒ`ƒ~ƒX‚ɂȂÁ‚―‚Ė‚ÅŽč“Ū‚Å‘g‚ݍž‚݁B + +i•ύXj + common/ + grfio.c + +-------------- +//0535 by Ž€_ + +E0533‚Ė–â‘肊‚ ‚č‚ŧ‚΂ȕ”•Š‘S‚ďCģBCģ‚ĩ‚―Š‚ð‘S•”ƒ`ƒFƒbƒN‚ĩ‚ĂȂЂÁ‚―‚Ė‚ÅCģ‚ĩ‚―ƒtƒ@ƒCƒ‹‚ū‚Ŋ... +EƒXƒNƒŠƒvƒgsetmapflagnosave ’Į‰ÁB + setmapflagnosave ƒ}ƒbƒv–žAƒZ[ƒu‚·‚éƒ}ƒbƒv–žAĀ•W(XAY) + nosaveƒtƒ‰ƒO‚ðon‚É‚ĩ‚Ü‚·B +Ebattle_athena.conf‚É’Į‰Á‚Æˆę•”Žd—l•ύXB(Ú‚ĩ‚­‚Íconf_ref.txt‚ðŽQl‚ĩ‚Ä‚­‚ū‚ģ‚ǁB) +Eƒ‚ƒ“ƒXƒ^[‚Ėdef‚Æmdef‚Š10000ˆČã‚Ėę‡‘S‚Ä‚ĖUŒ‚(ƒNƒŠƒeƒBƒJƒ‹ŠÜ‚ß‚Ä)‚Š1ƒ_ƒ[ƒW‚ɂȂ邿‚Ī‚É•ÏXB(ƒgƒ‰ƒbƒv‚âƒuƒŠƒbƒc‚Ėę‡—ž•û‚Š10000ˆČã‚Ėę‡‚Ė‚Ý1‚ɂȂč‚Ü‚·B) ‘‚ƃLƒmƒR‚É‚Pƒ_ƒ[ƒWŒÅ’č‚͍폜‚ĩ‚Ü‚ĩ‚―B(ŒģX–{ŽI‚Å‚ā1ŒÅ’č‚Å‚Í‚Č‚Ē‚Å‚·Bļ—û“™‚É‚æ‚éˆø‚Ŧã‚°ƒ_ƒ[ƒW‚Í‚ŧ‚Ė‚Ü‚Üo‚Ü‚·‚Ė‚Å... ŒÅ’č‚ĩ‚―‚ǂ˂Ȃįdef‚Æmdef‚ð10000‚É‚ĩ‚Ä‚­‚ū‚ģ‚ǁBŽĀ‚Í‚ą‚ę‚̓NƒŠƒXƒ^ƒ‹‚ɈŨ‚ɍė‚ë‚Ī‚Æ‚ĩ‚―•ςł·‚Š...) +E”š—ô”g“Ū‚ĖŽžƒAƒCƒeƒ€‚É‚æ‚éƒXƒLƒ‹‚ÍŽg—p‚Å‚Ŧ‚邿‚Ī‚ÉCģB +E‚ŧ‚Ė‘ž­‚ĩCģB(Cģ‚˕ς˒†‚ɃeƒXƒg‚ĩ‚ĂȂǕς₠‚č‚Ü‚·B) + (/doc) + conf_ref.txt CģB + (/conf) + battle_athena.conf CģB + (/map) + battle.h CģB + battle.c CģB + mob.h CģB + mob.c CģB + skill.c CģB + npc.c CģB + pc.c CģB + script.c CģB + clif.c CģB + chrif.c CģB + +-------------- +//0534 by Diex + +EƒRƒ“ƒ{ƒVƒXƒeƒ€‰žŽĀ‘• + map/ + battle.c + battle_weapon_attack() CģB + clif.c + clif.h + clif_combo_delay()@ŠÖ”’Į‰ÁB + map.h + map_session_data@•ϐ”’Į‰ÁB + pc.c + pc_authok()@•ϐ”’Į‰ÁB + pc_attack_timer()@CģB + skill.c + skill_castend_damage_id()@CģB + skill_check_condition@CģB + skill_use_id@CģB + db/ + skill_db.txt@CģB + +’j–Ō—īŒ‚Đ‚įˆĒC—…”e–PŒ‚ɂ͂܂ū‚‚Ȃ°‚Ü‚đ‚ņB + ˆĒC—…”e–PŒ‚ð•ú‚Á‚―ŒãAPC‚ÍMOB‚Ė”wŒã(?)‚ÉˆÚ“Ū‚ĩ‚Ä‚é‚Á‚Û‚Ē‚Ė‚Å‚·‚ЁA +@@‚ŧ‚ą‚į‚Ö‚ņ‚Ėî•ņ‚Š‘Ŧ‚č‚Ü‚đ‚ņBî•ņ’ņ‹Ÿ‚ĻŠč‚Ē‚ĩ‚Ü‚·B + +-------------- +//0533 by ‚é‚é‚é + +E‘‚ƃLƒmƒR‚É‚Pƒ_ƒ[ƒWŒÅ’č +battle.c ‚Ė battle_weapon_attack() ‚Æ battle_calc_attack() ‚ðCģ +battle.c ‚Ė battle_get_mobid() ‚ð’Į‰Á +mob.c ‚Ė mob_makedummymobdb() ‚Æ mob_readdb() ‚ðCģ + +EƒXƒLƒ‹ƒƒO‚Ƀ‚ƒu‚ĖŒÅ—L”ԍ†•‚o‚b‚Ė‚h‚c”ԍ†‚ð•\ŽĶ +ibattle.c ‚Ė battle_get_mobid() ‚ð’Į‰Á‚ĩ‚―‚˂łŧ‚Ė‚Â‚Ē‚Å‚Éj +mob.c skill.c ‚Ė•ÏX‰ÓŠ‘―”iŠū +i"MOB %d" ‚ā‚ĩ‚­‚Í "PC %d" ‚ÅŒŸõ‚·‚ę‚ΕύX‰ÓŠ‚Š‚í‚Đ‚é‚Đ‚Æj + +Eƒnƒ“ƒ^[‚ĖãЂðŽg‚Á‚―ƒXƒLƒ‹‚ÅãЂðÁ”ï‚·‚邿‚΂ɂĩ‚― +batttle.c ‚Ė skill_check_condition() ‚ðCģ +iƒWƒFƒ€Á”—‚Ė—Ž—p‚Á‚Û‚Ē‚ą‚Æ‚ð‚â‚Á‚Ä‚é‚ņ‚ū‚Ŋ‚Įˆ—’†g‚Í—‰ð‚ĩ‚ĂȂǂ—j + +EƒTƒ“ƒNƒ`ƒ…ƒAƒŠ•ƒ}ƒOƒkƒX‚Ėƒ_ƒ[ƒW”ŧ’č‚ð•sŽ€‘ېŦ•ˆŦ–‚Ží‘°‚ɍēxCģ +0532‚ÅÄ‚ŅŒģ‚É–ß‚Á‚Ä‚ĩ‚Ü‚Á‚―‚Ė‚ð‚Ȃςĩ‚Ü‚ĩ‚―B +‚―‚ū‚ĩA‰ņ”•l””ŧ’č‚ɂ͎č‚ð‰Á‚͂Ăǂ܂đ‚ņi‚Á‚Ä‚ĐŽĐ•Š‚É‚Í‚Ü‚ūƒ€ƒŠj + +ˆČãB +Ø‚Á‚―“\‚Á‚―‚ĖŒĐ—lŒĐ^Ž—‚Å‚â‚Á‚―‚Ė‚ÅŒūŒę“I‚ɉʂ―‚ĩ‚Ä‚ą‚ę‚Å‚æ‚Ē‚Ė‚ĐBBB +‚ā‚ĩˆ—•û–@‚É–â‘č—L‚č‚ū‚Á‚―‚įCģ‚Č‚č‚ð‚ĩ‚Ăǂ―‚ū‚Ŋ‚邯Šð‚ĩ‚ǂł·B + +-------------- +//0532 by Ž€_ + +ECģ‚ĩ‚―Š‚ð‘S‘Rƒ`ƒFƒbƒN‚ĩ‚ĂȂЂÁ‚―‚Ė‚ÅCģ‚ĩ‚―ƒtƒ@ƒCƒ‹‚ū‚Ŋ...Šū +Emapflag‚Énopenalty’Į‰ÁBŽg—p•û–@‚Í + mapflag nopenalty dummy +‚Å‚·B‹@”\‚Í‚ŧ‚Ėƒ}ƒbƒv‚ÅŽ€‚ņ‚ūŽžŒoŒą‚ŠŒļ‚į‚Ȃǂæ‚΂ɂĩ‚Ü‚·B +Emapflag‚Épvp_nopartyApvp_noguildAgvgAgvg_noparty’Į‰ÁB +pvp_noparty‚ÍPVPƒ‚[ƒh‚Å“Ŋ‚ķƒp[ƒeƒB‚ɍUŒ‚‚Š“–‚―‚į‚ȂǁApvp_noguild‚ÍPVPƒ‚[ƒh‚Å“Ŋ‚ķƒMƒ‹ƒh‚ɍUŒ‚‚Š“–‚―‚į‚ȂǁAgvg‚̓V[ƒYƒ‚[ƒh‚ɁAgvg_noparty‚̓V[ƒYƒ‚[ƒh‚Å“Ŋ‚ķƒp[ƒeƒB‚ɍUŒ‚‚Š“–‚―‚į‚ȂǕςł·B +E‰Â“Ū‚ĩ‚Ä‚Č‚Ēƒ^ƒCƒ}[‚Í‘S‚Ä-1‚ɂȂ邿‚Ī‚É•ÏXB +E‚Ŧ”ō‚΂ĩˆ—CģB +Eƒ}ƒbƒvƒ[ƒh’žŒã‹CŒũ‚ŠŒĐ‚Ķ‚Č‚Ē–â‘čCģB +EŽc‰e‚Ėˆ—CģB +Eƒ}ƒbƒv‚ðƒ[ƒh‚·‚邯ހ‚ņ‚ū‚ӂ肊‰ðœ‚ģ‚ę‚邿‚Ī‚É•ÏXB +EPVP‚ð­‚ĩ•ύXB +EŒÃ–Ø‚ĖŽ}‚ŏo‚郂ƒ“ƒXƒ^[‚ðŽĐ•Š‚ĖƒŒƒxƒ‹‚æ‚č‚‚Ē•Ļ‚Ío‚Ȃǂæ‚Ī‚É•ÏXB +E‰Á‘Žƒ|[ƒVƒ‡ƒ“‚Ėsc_start SC_SpeedPot0,1,0;‚ðsc_start SC_SpeedPot0,1800,0;‚Ė‚æ‚Ī‚É•ÏXBSC_SpeedPotH‚ĖŒã‚ː”’l‚ÍŽ‘ąŽžŠÔ‚Å‚·B(’PˆĘ‚Í•b) +E@ƒRƒ}ƒ“ƒh@pvp‚ð@pvpon‚ɕύX‚Æ@pvpon‚Æ@pvpoffA@gat‚Ė‹@”\•ύXB +Ebattle_athena.conf‚ĖpvpíœB +Ebattle_athena.conf‚Édeath_penalty_type’Į‰ÁB +Eƒyƒiƒ‹ƒeƒB‚Ė“K—p‚ðŽ€‚ņ‚ūŽž‚Đ‚įŽ€‚ņ‚ūŒãƒŠƒXƒ^[ƒg‚ĩ‚―Žž‚ɕύXB(ƒŠƒU‚Å•œŠˆ‚·‚邯ŒoŒą‚ŠŒļ‚č‚Ü‚đ‚ņB–{ŽI‚ĖŽd—l‚Š‚Đ‚Č‚č‹C‚ɂǂį‚ȂЂÁ‚―‚Ė‚Å•ÏX‚ĩ‚Ü‚ĩ‚―B) +EƒXƒNƒŠƒvƒgsetmapflagAremovemapflagApvponApvpoffAgvgonAgvgoff’Į‰ÁB + setmapflag ƒ}ƒbƒv–žAƒ}ƒbƒvƒtƒ‰ƒOƒ^ƒCƒv + Žw’č‚ĩ‚―ƒ}ƒbƒvƒtƒ‰ƒO‚ðon‚ĩ‚Ü‚·B(‚―‚ūpvpAgvg‚ÍpvponAgvgon‚łłŦ‚é‚Ė‚ÅŽw’č‚ĩ‚Ä‚ā“Ūė‚ĩ‚Ü‚đ‚ņB‚ ‚Ænosave‚Ėę‡ˆ—‚Š‚ŋ‚å‚Á‚Æ•ĄŽG‚ɂȂé‚Ė‚Å‘Î‰ž‚ĩ‚Ă܂đ‚ņB) + removemapflag ƒ}ƒbƒv–žAƒ}ƒbƒvƒtƒ‰ƒOƒ^ƒCƒv + Žw’č‚ĩ‚―ƒ}ƒbƒvƒtƒ‰ƒO‚ðoff‚ĩ‚Ü‚·B(‚―‚ūpvpAgvg‚ÍpvpoffAgvgoff‚łłŦ‚é‚Ė‚ÅŽw’č‚ĩ‚Ä‚ā“Ūė‚ĩ‚Ü‚đ‚ņB‚ą‚ŋ‚į‚Ínosave‚ā‰Â”\‚Å‚·B) + pvpon ƒ}ƒbƒv–ž + Žw’č‚ĩ‚―ƒ}ƒbƒv‚ðPVPƒ‚[ƒh‚É‚ĩ‚Ü‚·B + pvpoff ƒ}ƒbƒv–ž + Žw’č‚ĩ‚―ƒ}ƒbƒv‚ĖPVPƒ‚[ƒh‚ð‰ðœ‚ĩ‚Ü‚·B + gvgon ƒ}ƒbƒv–ž + Žw’č‚ĩ‚―ƒ}ƒbƒv‚ðƒV[ƒYƒ‚[ƒh‚É‚ĩ‚Ü‚·B + gvgoff ƒ}ƒbƒv–ž + Žw’č‚ĩ‚―ƒ}ƒbƒv‚ĖƒV[ƒYƒ‚[ƒh‚ð‰ðœ‚ĩ‚Ü‚·B +‚―‚ū‘S‚Ä‚ĖƒXƒNƒŠƒvƒg‚Ė“Ūė‚ÍŠm”F‚ĩ‚Ă܂đ‚ņ‚˂ŒˆÓ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB +EƒTƒ“ƒNƒ`ƒ…ƒAƒŠAƒ}ƒOƒkƒXƒGƒNƒ\ƒVƒYƒ€‚Ėˆ—‚ð0529‚É–ß‚ĩ‚Ü‚ĩ‚―B +ŽĐ•Ђ˒ēļ‚ł̓Tƒ“ƒNƒ`ƒ…ƒAƒŠ‚͐l”‚ː§ŒĀ‚Š‚ ‚č‚Ü‚·B(ƒŒƒxƒ‹1‚Å4–ž‚Å +1ƒŒƒxƒ‹‚Ɉęl‚ļ‚‘‚͂܂·B) +E‚ŧ‚ĖŒã­‚ĩCģB(‚ĩ‚―‚Í‚ļ...) + (db/) + const.txt CģB + item_db.txt CģB + (conf/) + battle_athena.conf CģB + (doc/) + conf_ref.txt CģB + (map/) + clif.hAclif.c CģB + mob.c CģB + pc.hApc.c CģB + skill.c CģB + pet.c CģB + npc.c CģB + map.hAmap.c CģB + battle.hAbattle.c CģB + atcommand.hAatcommand.c CģB + script.c CģB + makefile CģB + +-------------- +//0531 by Ž‚Žqo^.^o + +conf/npc_turtle.txt +Dƒ^[ƒgƒ‹ƒAƒCƒ‰ƒ“ƒh‚ɍs‚­ŽžAƒTˆęƒoˆę‚ð—Ž‚Á‚Ä–â‘čCģ +Dnpc_turtle.txt‚Ė508s–Ú +set Zeny - 10000,0; --> set Zeny,Zeny-10000; Cģ + +-------------- +//0530 by RR +EƒXƒLƒ‹uƒTƒ“ƒNƒ`ƒ…ƒAƒŠv‚ōUŒ‚‘ΏۂðƒAƒ“ƒfƒbƒg/ˆŦ–‚Ží‘°‚Đ‚į•sŽ€‘ېŦ/ˆŦ–‚Ží‘°‚ɕύX +EƒXƒLƒ‹uƒ}ƒOƒkƒXƒGƒNƒ\ƒVƒYƒ€v‚ōUŒ‚‘ΏۂðƒAƒ“ƒfƒbƒg/ˆŦ–‚Ží‘°‚Đ‚į•sŽ€‘ېŦ/ˆŦ–‚Ží‘°‚ɕύX +EƒXƒLƒ‹uƒTƒ“ƒNƒ`ƒ…ƒAƒŠv‚ˉņ•œ‰ņ”‚ðl”‚Đ‚įƒJƒEƒ“ƒg‚ɕύX + skill.c + skill_unit_onplace()Cģ + skill_unit_onout()Cģ + +‘―•Š‚ą‚ĖŽd—l‚ō‡‚Á‚Ä‚é‚Í‚ļ‚Å‚·cB + +-------------- +//0529 by ŒÓ’ą—– + +EMOB‚ŠƒXƒLƒ‹uƒq[ƒ‹v‚ðŽg—p‚·‚邯ƒT[ƒo[‚Š—Ž‚ŋ‚éę‡‚Š‚ ‚Á‚―–â‘č‚ðCģ +EƒXƒLƒ‹uƒTƒ“ƒNƒ`ƒ…ƒAƒŠv‚ōUŒ‚‘Ώۂð•sŽ€‘ېŦ‚Đ‚įƒAƒ“ƒfƒbƒg/ˆŦ–‚Ží‘°‚ɕύX + + skill.c + skill_unit_onplace()Cģ + skill_castend_nodamage_id()Cģ + +EƒƒOƒCƒ“ƒT[ƒo[‚ĖƒAƒJƒEƒ“ƒgƒf[ƒ^ƒx[ƒX•ÛŽįƒc[ƒ‹‚ð“Y•t + Perlŧ‚Č‚Ė‚ÅŽĀs‚É‚ÍPerl‚Š•K—v‚Å‚·B + Žg—p•û–@‚Č‚Į‚̓GƒfƒBƒ^‚ÅŠJ‚Ē‚ÄŒĐ‚Ä‚­‚ū‚ģ‚ǁB + Žg‚Ē•û‚Š—Į‚­‚í‚Đ‚į‚Ȃǐl‚ÍŽč‚ðo‚ģ‚Ȃǂ؂΂Ђǂǂł·B + + “Á‚É——R‚Š–ģ‚ĒŒĀ‚čƒAƒJƒEƒ“ƒgėŽ‚ā‚ą‚ŋ‚į‚Ėƒc[ƒ‹‚ðŽg‚Á‚Ä‚­‚ū‚ģ‚ǁB + addaccount‚̓pƒPƒbƒg‚Ė“s‡ãƒpƒXƒ[ƒh•ķŽš”‚ː§ŒĀ‚Š‚Ŧ‚Â‚Ē‚Ė‚ÅB + + ƒAƒJƒEƒ“ƒg‚ðíœ‚ĩ‚Ä‚āƒLƒƒƒ‰ƒNƒ^[ƒf[ƒ^A‘qŒÉƒf[ƒ^A + ‚ŧ‚Ė‘ž‚ĖƒAƒJƒEƒ“ƒgˆČŠO‚Ėƒf[ƒ^‚͏Á‚͂܂đ‚ņB‘ŠŽč‚ŠƒƒOƒCƒ“’†‚ū‚Á‚―ę‡ + ‹­§Ø’f‚Í‚ģ‚ę‚Ü‚đ‚ņ‚ЁAŽŸ‰ņ‚Đ‚į‚̓ƒOƒCƒ“‚Å‚Ŧ‚Č‚Ē‚Í‚ļ‚Å‚·B + i‚‚܂č‚́A’P‚Élogin-serverã‚ĖƒAƒJƒEƒ“ƒg‚ðÁ‚ĩ‚Ăǂé‚ū‚Ŋ‚Å‚·j + + (login/) + login.c + parse_admin()’Į‰ÁAparse_login()Cģ + (doc/) + admin_packet.txt + V‹K’Į‰ÁBŠĮ—ƒpƒPƒbƒgî•ņ + (tool/) + ladmin + login-server administration tool‚ĖPerlƒXƒNƒŠƒvƒg + + +-------------- +//0528 by RR +EƒXƒLƒ‹uƒq[ƒ‹v‚ðŽg—p‚ĩ‚―Û‚ɉņ•œ—ʂɔä—á‚ĩ‚―•Š‚ū‚ŊƒWƒ‡ƒuŒoŒą’l‚ŠŠl“ū‚Å‚Ŧ‚邿‚Ī‚É•ÏX +EĪlŒnE‹Æ‚Š“XNPC‚ð—˜—p‚ĩ‚―Û‚ɃWƒ‡ƒuŒoŒą’l‚ŠŠl“ū‚Å‚Ŧ‚邿‚Ī‚É•ÏX +E—ž•û‚Æ‚ābattle_athena.conf‚Å’ēŪ‰Â”\‚É‚ĩ‚Ü‚ĩ‚―B‰ŠúÝ’č‚Í0”{i”ņ“K—pj +Emap_athena.conf‚ɂĂЂڂŋ‚áƒNƒGƒXƒg‚Ė‚ā‚˂Гü‚Á‚ĂȂЂÁ‚―‚Ė‚ÅƒRƒƒ“ƒgƒAƒEƒg‚ĩ‚ȂЂį’Į‰ÁB + + map_athena.conf + + battle.c battle_config_read() + battle.h Battle_Config + battle_athena.conf + ˆČãAbattle_athena.conf—˜—p‚―‚߂ɕύX + + pc.c pc_heal() + –ß‚č’l‚ðhp+sp‚ɁB–ß‚č’l‚ð—˜—p‚ĩ‚Ă镔•ЂЂȂģ‚ŧ‚Ī‚ū‚Á‚―‚Ė‚ÅŽg‚í‚đ‚Ä–á‚ǂ܂ĩ‚―BƒoƒO‚Š‹N‚Ŧ‚―‚į‚·‚݂܂đ‚ņB + + skill.c skill_casted_nodamage_id()‚Ėƒq[ƒ‹•”‚ɂăWƒ‡ƒuŒoŒą’lŠl“ū‚·‚邿‚Ī•ÏX + + npc.c npc_buylist() + npc_selllist() •ύX + ‚ą‚ę‚Ⴏ‚ĖŒ“‚ˍ‡‚Ē‚Åskill.h‚ðincludeB + + +Īl‚Ė“X—˜—pƒWƒ‡ƒuŒoŒą’lŠl“ū‚Å‚·‚ЁAŒvŽZŽŪ‚͂܂ūl‚Ķ’†‚Ȃ˂ʼnž‚ŁB +ŒvŽZŽŪ‚̓AƒCƒeƒ€w“ü‚Ё@‘ã‹ā * ƒXƒLƒ‹ƒŒƒxƒ‹iƒfƒBƒXƒJƒEƒ“ƒgj/ ((1{300/ƒAƒCƒeƒ€ŒÂ”) * 4000) +ƒAƒCƒeƒ€”„‹p‚Ё@‘ã‹ā * ƒXƒLƒ‹ƒŒƒxƒ‹iƒI[ƒo[ƒ`ƒƒ[ƒWj / ((1{500/ƒAƒCƒeƒ€ŒÂ”) * 4000)‚Å‚·B +í‚É–î‚ð‚―‚­‚ģ‚ņˆę‚ɍw“ü‚·‚邹‚ƂŌoŒą’l‚ð‘―—Ę‚É‰Ō‚Ū‚ą‚Æ‚Š‰Â”\‚Å‚·‚ˁcB +‚Į‚Č‚―‚Đ‚Ē‚ĒŽŪ‚ðŽv‚Ē‚Â‚Ē‚―‚į•ύX‚ĻŠč‚Ē‚ĩ‚Ü‚·B + +‚Æ‚ą‚ë‚Å“]ENPC‚Šˆę•”‚ЂԂÁ‚Ä‚é‚ņ‚Å‚·‚ŠCģ‚ĩ‚Ȃǂłǂǂņ‚Å‚ĩ‚å‚Ī‚ĐH + +-------------- +//0527 by Ž€_ + +E0526‚ĖƒoƒOCģB(ƒeƒXƒg‚ĖˆŨ‚É•Ï‚Ķ‚Ä‚Ē‚―•Ļ‚ð“ü‚ę‚―‚܂܃Aƒbƒv‚ĩ‚Ä‚ĩ‚Ü‚Á‚―‚Ė‚ŠŒīˆö‚Å‚ĩ‚―B) + skill.c CģB + pc.c CģB + mob.c CģB + clif.c CģB + +-------------- +//0526 by Ž€_ + +E0525‚ĖƒŠƒUƒŒƒNƒVƒ‡ƒ“‚ðŽ€‚ņ‚ūƒLƒƒƒ‰‚ÉŽg‚Ķ‚Č‚ĒƒoƒOCģB(ƒeƒXƒg‚Í‚ĩ‚Ă܂đ‚ņ‚ŠŽĄ‚Á‚―‚Í‚ļ‚Å‚·B‘―•Š...) + skill.c CģB + clif.c CģB + +-------------- +//0525 by Ž€_ + +Edmotion‚ĖŠÔ‚ÍƒLƒƒƒ‰‚Š“Ū‚Đ‚Č‚Ē‚æ‚Ī‚É•ÏXB(ƒeƒXƒg‚ĩ‚Ă܂đ‚ņB) +EƒƒeƒI‚Ėƒ_ƒ[ƒW•\ŽĶƒ^ƒCƒ~ƒ“ƒOCģB(­‚ĩ’x‚Ē‹C‚ā‚ĩ‚Ü‚·‚Š...) +EƒoƒbƒNƒXƒ‰ƒCƒfƒBƒ“ƒO‚ĖŽž‚Ƀ‚[ƒVƒ‡ƒ“‚Šo‚邿‚Ī‚É•ÏXB(ƒXƒLƒ‹Žg—pŒã +0.2•bŒã‚ɃXƒLƒ‹Žg—pƒpƒPƒbƒg‚ð‘—‚é‚æ‚Ī‚É•ÏX‚ĩ‚Ü‚ĩ‚―Bƒ‰ƒO“™‚É‚æ‚Á‚Ä•Ï‚Č“Ūė‚ð‚·‚é‰Â”\Ŧ‚ā‚ ‚č‚Ü‚·B) +E0524‚ĖCģB +EƒnƒCƒfƒBƒ“ƒO‚ĩ‚Ä‚Ē‚éŽžŽĐ‘R‰ņ•œ‚ĩ‚Ȃǂæ‚Ī‚É•ÏXB +E0519‚ÅŠÔˆá‚Á‚―conf‚ĖCģ‚ƍŨ‚Đ‚ĒŠCģB + map.h + struct map_session_data‚Ėcanmove_tick‚ðcanact_tick‚ɕύXB + skillcanmove_tick‚ðcanmove_tick‚ɕύXB + skill.c CģB + pc.c CģB + pc.h CģB + clif.c CģB + battle.c CģB + battle.h CģB + mob.c CģB + mob.h CģB + char_athena.conf CģB + map_athena.conf CģB + +-------------- +//0524 by huge + +Eƒ[ƒO ƒgƒ“ƒlƒ‹ƒhƒ‰ƒCƒuŽĀ‘• + clif.c + clif_parse_WalkToXY() + pc.c + pc_calcstatus() + + ‚Į‚Ė‚­‚į‚ǑޓxŒļ­‚·‚é‚Ė‚Đ•Š‚Đ‚į‚ȂЂÁ‚―‚˂ŁAŽb’č“I‚É + speed += speed * (20-ƒXƒLƒ‹ƒŒƒxƒ‹)/40 + ‚ƁA‚ĩ‚Ü‚ĩ‚―B–{ŽIŽd—l‚Š•Š‚Đ‚é•û‹‚Ü‚ĩ‚―‚įCģ‚ĻŠč‚Ē‚ĩ‚Ü‚·B + +-------------- +//0523 by NOCTURNE + +Enpc_event_rental.txt‚ɃNƒ‹ƒZƒCƒ_[—p‚ĖƒyƒRƒyƒRŠĮ—•š‚ð’Į‰Á +-------------- +//0522 by ”g˜Q + +Emob_db.txt‚ðƒWƒ…ƒm[Œã‚Ėƒf[ƒ^‚ɏCģ + +-------------- +//0521 by ŒÓ’ą—– + +EmapƒT[ƒo[‚ÉŒq‚Š‚į‚Ȃǖâ‘č‚ðCģ + clif.c + clif_parse()‚ĖCģ + +-------------- +//0520 by ŒÓ’ą—– + +EcharƒT[ƒo[ƒƒO‚ˁuset map X.Y HOGE.gatv‚Š•\ŽĶ‚ģ‚ę‚Č‚­‚Č‚č‚Ü‚ĩ‚― + •Ï‚í‚č‚ɁAuset map M from XX.YY.ZZ.WW:PP (CC maps)v + ‚Æ‚Ē‚Ī‚Ó‚Ī‚É‰―ŒÂ‚Ėƒ}ƒbƒv‚ðƒZƒbƒg‚ĩ‚―‚Đ‚ū‚Ŋ‚ð•\ŽĶ‚·‚邿‚΂ɂȂč‚Ü‚·B + + char/char.c + parse_frommapCģ + +E•Ą”mapƒT[ƒo[‚ɉž‘Ήž + ENPC‚Ėƒ}ƒbƒvƒT[ƒo[•ϐ”‚ÍŽIŠÔ‚Å‚Í‹Ī—L‚ģ‚ę‚Ü‚đ‚ņB‹Ī—L‚·‚Ũ‚Ŧ•ϐ”‚ð + Ž‚ÂNPC‚Ђǂéƒ}ƒbƒv“ŊŽm‚Í“Ŋ‚ķmapƒT[ƒo[‚Å“Ū‚Đ‚·‚Ũ‚Ŧ‚Å‚·B + ‚Ļ‚ŧ‚į‚­PC‚ĖƒOƒ[ƒoƒ‹•ϐ”‚Í‹Ī—L‚Å‚Ŧ‚邯Žv‚ǂ܂·(–ĒƒeƒXƒg) + EŽb’č“I‚ɓۂ­‚æ‚΂ɂĩ‚―‚ū‚Ŋ‚Ȃ˂ŁA•s“s‡‚Š‚ ‚é‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņB + “Á‚ɁAƒp[ƒeƒB/ƒMƒ‹ƒh/‘qŒÉ/ƒyƒbƒg/Wis‚Č‚Į‚ĖinterƒT[ƒo[‚ðŽg‚Ī‹@”\‚Š + ģ‚ĩ‚­ė“Ū‚·‚é‚Đ‘S‚­ƒ`ƒFƒbƒN‚ĩ‚Ăǂ܂đ‚ņB + Eurecv map on XX.YY.ZZ.WW:PP (CC maps)v‚Æ‚Ē‚ĪƒƒO‚Š•\ŽĶ‚ģ‚ę‚Ü‚·B + ‚ą‚ę‚Í‘ž‚ĖmapƒT[ƒo[‚Š’S“–‚·‚éƒ}ƒbƒv‚ĖƒŠƒXƒg‚ЁA‚ą‚ĖmapƒT[ƒo[‚É + ģí‚ÉŽóM‚ģ‚ę‚―‚Æ‚Ē‚ĪˆÓ–Ą‚Å‚·B + + (char/) + char.c/char.h + parse_frommap()Cģ + mapif_sendallwos()’Į‰Á + (map/) + map.c/map.h + map_setipport()‚ðCģ + struct map_session_data‚Ėstateƒƒ“ƒo‚Éwaitingdisconnect’Į‰Á + chrif.c/chrif.h + FX’Į‰Á + clif.c + waitingdisconnect‚Š‚P‚Č‚įƒpƒPƒbƒg‚ð–ģŽ‹‚·‚邿‚΂ɂĩ‚― + pc.c + pc_setpos()Cģiƒ}ƒbƒvƒT[ƒo[•ύXˆ—‚Č‚Įj + pc_setnewpc()Cģ + +-------------- +//0519 by Ž€_ + +EƒT[ƒo[snapshot‚ƐFXCģB +EŽ€‚ņ‚ūƒLƒƒƒ‰‚ɍUŒ‚‚Š“–‚―‚éƒoƒOCģB(ƒeƒXƒg‚ĩ‚Ă܂đ‚ņB–{“–‚ÉŽĄ‚Á‚―‚Đ‚Į‚Ī‚Đ•ņ‚ĻŠč‚Ē‚ĩ‚Ü‚·B) +E0517‚ĖƒAƒCƒXƒEƒH[ƒ‹‚Ėˆ—‚ð­‚ĩ•ύXB +EƒƒeƒI‚ðƒ‚ƒ“ƒXƒ^[‚āŽg‚͂邿‚Ī‚É•ÏXB(ƒeƒXƒg‚ĩ‚Ă܂đ‚ņB•ņ‚ĻŠč‚Ē‚ĩ‚Ü‚·B) ‚Å‚ā‚ŋ‚å‚Á‚ƃƒ‚ƒŠ[‚ĖŽg—p—ƂБ‚͂܂ĩ‚―B(–ņ10M’öã‚Ђ邿‚΂ł·B) +Eƒ{ƒX‚ĖŽæ‚芊‚Ŧ‚Šƒ{ƒX‚Æˆę‚ɍs“Ū‚·‚邿‚Ī‚É•ÏXB(ƒeƒXƒg‚ĩ‚Ă܂đ‚ņ‚˂łĮ‚ņ‚ȓۂŦ‚ð‚·‚é‚Ђ͊m”F‚ĩ‚Ă܂đ‚ņBUŒ‚‚āŽó‚Ŋ‚Ä‚Č‚Ē‚Ė‚Éƒ{ƒX‚Ė—Ũ‚Đ‚įŸŽč‚É—Ģ‚ę‚é‚Đ‚Į‚Ī‚Đ‚ĖŠm”F‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·B) +E‚ŧ‚Ė‘žŨ‚Đ‚Ē•ĻCģB + client-packet.txt CģB + map.h + AREA_SIZE‚ð15‚Đ‚į20‚ɕύXB + struct map_session_dataAstruct mob_dataAstruct skill_timerskill CģB + map.c + map_quit() CģB + clif.h + clif_changemapcell() CģB + clif.c + clif_getareachar_skillunit()Aclif_clearchar_skillunit()Aclif_changemapcell() CģB + skill.c + skill_unitsetting()Askill_unit_onlimit()Askill_castend_pos2() CģB + skill_castend_nodamage_id()Askill_check_condition()Askill_attack() CģB + skill_timerskill()Askill_addtimerskill()Askill_cleartimerskill() CģB + ‚ŧ‚Ė‘ž­‚ĩCģB + skill.h + skill_addtimerskill()Askill_cleartimerskill() CģB + pc.c + pc_movepos()Apc_walk()Apc_authok() CģB + mob.c + mob_spawn_dataset()Amob_spawn() CģB + mob_changestate()Amob_damage() CģB + mob_ai_sub_hard_mastersearch()Amob_ai_sub_hard() CģB + ‚ŧ‚Ė‘ž­‚ĩCģB + battle.c + battle_calc_weapon_attack()Abattle_weapon_attack() CģB + ‚ŧ‚Ė‘ž­‚ĩCģB + +-------------- +//0518 by Kalen +EEvent_pumpkinŠÖ˜A‚Ėƒtƒ‰ƒO•s‹ï‡Cģ + +-------------- +//0517 by Ž€_ + +EƒAƒCƒXƒEƒH[ƒ‹‚Ő ‚č”ē‚é–â‘čCģ‚Ə­‚ĩCģB(M‚ģ‚ņƒpƒPƒbƒg‚Ė’ņ‹Ÿ‚ ‚肊‚Æ‚Ī‚ē‚ī‚ǂ܂·B) + clif.h + clif_changemapcell() ’Į‰ÁB + clif.c + clif_changemapcell() ’Į‰ÁB + skill.h + SC_STEELBODY‚ð84‚Đ‚į87‚ɕύXB + skill.c + skill_unitsetting()Askill_unit_onlimit() CģB + skill_status_change_end()Askill_status_change_start() CģB + client_packet.txt CģB + +-------------- +//0516 by Ž€_ + +Eƒ‚ƒ“ƒXƒ^[‚ĖƒƒeƒI‚É‚æ‚éŽIƒ_ƒEƒ“‚ð—ÕŽž‚É–h‚ǂŒu‚Ŧ‚Ü‚ĩ‚―B(ƒeƒXƒg‚Í‚ĩ‚Ă܂đ‚ņB) ƒ‚ƒ“ƒXƒ^[‚ĖƒXƒLƒ‹‚É‚Â‚Ē‚Ä‚ŋ‚å‚Á‚Æ•ŠÍ•s‘Ŧ‚Å‚·‚Ė‚Å•ŠÍ‚ĩ‚―Œã‚ɏCģ‚ĩ‚Ä’u‚Ŧ‚Ü‚·B +EƒXƒLƒ‹Žw’e‚ĖŽd—l‚ðbattle_athena.conf‚ÅŒˆ‚߂邿‚Ī‚É•ÏXB(0515‚˕ςЂŋ‚å‚Á‚Æ‚ā‚Á‚―‚Ē‚Č‚Đ‚Á‚―‚Ė‚Å...) + skill.c + skill_castend_pos2() CģB + battlc.hAbattle.c + battle_config‚Éfinger_offencive_type ’Į‰ÁB + battle_calc_weapon_attack() CģB + battle_athena.conf CģB + conf_ref.txt CģB + +-------------- +//0515 by Ž€_ + +EƒXƒLƒ‹ƒƒeƒI‚ÆŽw’eCģ‚ƃpƒPƒbƒgCģA0512‚Ė—Ž‚Æ‚ĩ•ĻCģ‚Ə­‚ĩ‚ū‚Ŋ‚ĖŽd—l•ύX‚Å‚·B +EŽw’e‚Ėę‡ā–ū‚ðŒĐ‚Ä‚ą‚ņ‚ČŠī‚ķ‚Đ‚Č‚ÆŽv‚Á‚čė‚Á‚―•ςł·BˆČ‘O‚˕ςЖ{ŽI‚É‚ ‚Á‚Ăǂé‚Č‚įŒģ‚É–ß‚ĩ‚Ü‚·B +EƒƒeƒI‚Ė1”­‚Ė”ÍˆÍ‚Í5*5ƒZƒ‹(range = 2)‚Å‚·B +EƒAƒCƒeƒ€Žg—pƒpƒPƒbƒg‚ðV‚ĩ‚Ē•Ļ‚É•ÏX‚ĩ‚―‚ŠƒGƒtƒFƒNƒg‚Šo‚Č‚Ē•Ļ‚Ío‚Ȃǂæ‚΂ł·B(FXƒGƒtƒFƒNƒg‚Š“ü‚Á‚Ăǂé‚Ý‚―‚Ē‚ū‚Đ‚įŒã‚ÍŽg‚Á‚ÄŠm”F‚Å‚·‚Ŋ‚Į‚ˁB) +E0512‚Åhitrate‚Š10000ˆČã‚Å•K’†‚Å‚Í‚Č‚­100000ˆČã‚Å•K’†‚Å‚·‚Ė‚ÅƒR[ƒh‚ĖCģ‚Ė‚ģ‚Ē‚É‚Í‹C‚ð‚Á‚‚Ŋ‚Ä‚­‚ū‚ģ‚ǁB +Ebattle_athena‚ɐݒč‚ģ‚ę‚Ăǂ镐Ší‚ːŧ‘Ē—Ķ‚Æƒyƒbƒg‚Ė•ßŠlŠm—Ķ‚ĖŒvŽZ•û–@‚ð­‚ĩ•Ï‚Ķ‚Ü‚ĩ‚―B(‹C‚É‚·‚é•K—v‚ā‚ȂǕςł·‚Ŋ‚Į‚ˁB) + skill.h + skill_addtimerskill()Askill_cleartimerskill ’Į‰ÁB + skill.c + skill_attack() fixAskill_use_id()Askill_use_pos() CģB + skill_castend_damage_id()Askill_castend_nodamage_id() CģB + skill_timerskill()Askill_addtimerskill()Askill_cleartimerskill ’Į‰ÁB + skill_castcancel()Askill_castend_pos2()Askill_unitsetting() CģB + skill_produce_mix()Ado_init_skill() CģB + mob.c + mob_damage() CģB + battle.c + battle_calc_weapon_attack() CģB + map.h + struct skill_timerskill ’Į‰ÁB + struct map_session_data CģB + map.c + map_quit() CģB + pc.c + pc_authok() CģB + pc_damage() CģB + clif.c + clif_parse_WalkToXY() CģB + clif_useitemack() CģB(Ž‘—ŋ’ņ‹Ÿ: Kalen‚ģ‚ņ) + pet.c + pet_catch_process2() CģB + skill_db.txt + ‹CŒũ‚ĖSP‚ð10‚ɕύXB(ƒlƒbƒg‚ĖŒŸõ‚Å‚Í10‚ū‚Á‚―‚Ė‚Å•ÏX‚ĩ‚Ü‚ĩ‚―BŠØ‘‘ ‚Å‚Í15‚Æ•\ŽĶ‚ģ‚ę‚Ü‚·‚Š...) + client_packet.txt + 01c8‚Ė•ÏX‚Å‚·BKalen‚ģ‚ņî•ņ’ņ‹Ÿ‚ ‚肊‚Æ‚Ī‚ē‚ī‚ǂ܂·B + +-------------- +//0514 by Kalen + +EscriptCģ+’Į‰Á + + conf/npc_event_pumpkin.txt (V‹K)ƒJƒ{ƒ`ƒƒƒCƒxƒ“ƒg + conf/npc_town_guide.txt (Cģ)Juno‚ˁu+vƒAƒCƒRƒ“ƒJƒ‰[Cģ + conf/npc_town_lutie.txt (ˆę•”’Į‰Á)ƒJƒ{ƒ`ƒƒƒCƒxƒ“ƒg‚ɉe‹ŋ‚·‚éNPC‚ˉï˜b’Į‰Á + +-------------- +//0513 by RR + +E“]EŽž‚É‘•”õ‚Š‘S‚ÄŠO‚ę‚邿‚΂ɂĩ‚Ü‚ĩ‚―BŠÖ”ˆĘ’u‚Ė•ÏX‚ĩ‚ĂȂǂ˂ŁA‚Ђå‚Á‚Æ‚ĩ‚―‚į‚Ļ‚Đ‚ĩ‚­‚Č‚Á‚Ä‚é‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņB‚Ī‚ŋ‚ĖŠÂ‹Ŧ(win2k cygwin)‚ł͕―‹C‚Å‚ĩ‚―‚˂łŧ‚˂܂܂ɂĩ‚Ä‚ ‚č‚Ü‚·BB +Eƒm[ƒrƒXŽž‚ĖŽ€–S‚ł́AÅ‘åHP‚Ė‚Q•Ђ˂P‚Å•œŠˆ‚Å‚Ŧ‚邿‚ĪCģB(ƒXƒLƒ‹‚É‚æ‚é•œŠˆ‚Í–ĒŠm”F) +EƒfƒXƒyƒiƒ‹ƒeƒB‚É‚æ‚éŒoŒą’lŒļ­‚ð’Į‰ÁBbattle_athena.conf‚ɂāAŒļ­—Ķ‚ð•ύX‚Å‚Ŧ‚邿‚Ī‚ÉÝ’čBŒļ‚éŒoŒą’l‚ÍŽ”“_ˆČ‰šØ‚čŽĖ‚ĂȂ˂ŁA•K—vŒoŒą’l‚Š’á‚ǂ΂ŋ‚ɂ͂ŋ‚å‚Ī‚Į‚ŧ‚ˁ“•Šˆø‚Đ‚ę‚邯‚ǂΕ—‚ɂ͂Ȃč‚Ü‚đ‚ņB + battle.h + Battle_Config‚Édeath_penalty_base‚Ædeath_penalty_job‚ð’Į‰ÁB + battle.c + battle_config_read‚Ådeath_penalty_base‚Ædeath_penalty_job‚ð“Į‚Þ‚æ‚Ī‚ÉCģB + pc.c + pc_makesavestatus() CģB + pc_damege() CģB + pc_jobchange() CģB + battle_athena.conf + death_penalty_base,death_penalty_job’Į‰ÁB + +-------------- +//0512 by Ž€_ + +E–â‘č‚ɂȂč‚ŧ‚΂ȕ”•Š‚ĖCģ‚ƐV‚ĩ‚ĒƒpƒPƒbƒg‚Ė‘Î‰ž‚ŠƒƒCƒ“‚Å‚·BŒãƒoƒO‚ā­‚ĩŽĄ‚ĩ‚Ü‚ĩ‚―B(“Ū‚Ŋ‚Č‚Ēó‘ÔˆŲí‚ɂȂÁ‚Ä‚ā“Ū‚­–â‘č‚ĖCģ“™‚Å‚·B) + athena.sh CģB(‚Ē‚Â‚āŽI‚ðŒÂ•Ę‚ÉŽĀs‚ĩ‚Ăǂ―‚˂ŋC‚Š‚Â‚Ŧ‚Ü‚đ‚ņ‚Å‚ĩ‚―B) + makefile + DPACKETVER‚ð2‚Đ‚į3 ‚ɏCģBƒWƒ…[ƒmˆČŒã‚Ė‘ ‚ðŽg‚΂˂Ȃį3‚É‚ĩ‚ÄŽg‚Á‚Ä‚­‚ū‚ģ‚ǁB(‚ŧ‚ĖˆČ‘O‚Č‚į2‚Đ1) + clif.c + DPACKETVER=3‚ɑΉž(Ą‚ĖŠ0x114‚ð0x1de‚ɕϊ·‚Æ0x11f‚ð01c9‚ɕϊ·‚·‚é‚Ė‚Ý‘Î‰ž) + clif_skill_damage3() íœB + clif_skillcastcancel() ’Į‰ÁB + clif_skill_damage()Aclif_getareachar_skillunit()Aclif_skill_setunit() CģB + clif_fixmobpos()Aclif_fixpetpos()Aclif_fixpcpos() CģB + ‘ž‚ɏ­‚ĩCģB + clif.h + clif_skill_damage3() íœB + clif_skillcastcancel() ’Į‰ÁB + battle.c + battle_calc_weapon_attack() CģB + hitrate‚ð10000ˆČã‚É‚·‚ę‚ΕK’†‚ɂȂ邿‚Ī‚É•ÏXB(Ą‚ĖŽd—l‚ł̓‚ƒ“ƒXƒ^[‚Ė•K’†UŒ‚ˆČŠO‚Í•K’†‚ɂȂč‚Ü‚đ‚ņB) + ‘ž‚ɏ­‚ĩCģB + client_packet.txt + V‚ĩ‚ĒƒpƒPƒbƒgî•ņ’Į‰ÁB + pc.c + pc_spiritball_timer()Apc_delspiritball() CģB + pc_damage()Apc_skill() CģB + skill.h + SC_EXPLOSIONSPIRITS‚ð89‚Đ‚į86‚ɕύXB(86 = 0x56) + SC_DELUGE‚ð86‚Đ‚į89‚ɕύXB + skill.c + skill_castcancel()Askill_use_id()Askill_use_pos() CģB + skill_check_condition() CģB + skill_castend_damage_id()Askill_castend_nodamage_id CģB + skill_status_change_end()Askill_status_change_start() CģB + skill_db.txt + ‹CŒũ‚ĖÁ”ïSP‚ðCģB(‘O‚Ė15‚Š–{ŽI‚É‚ ‚Á‚Ăǂé‚Ý‚―‚ǂł·‚Ė‚Å...) + mob.c + mobskill_use_id()Amobskill_use_pos() CģB + map.c + map_quit() CģB + atcommand.h + atcommand.c + @ƒRƒ}ƒ“ƒh@spiritball’Į‰ÁB(‹@”\‚ÍŽg‚Ķ‚Î‚í‚Đ‚č‚Ü‚·B‚―‚ū1000ˆČã‚Í“ü‚ę‚ȂǕû‚Ђǂǂł·B‘ ‚Šƒpƒ“ƒN‚ĩ‚Ü‚·‚Ė‚Å...) + atcommand_athena.conf + CģB + conf_ref.txt + CģB +E0x196ƒpƒPƒbƒg‚ɐV‚ĩ‚ǕςВĮ‰Á‚ģ‚ę‚Ăǂé‚Ė‚Åó‘ԕωŧ‚É’žÚ‚ÉŠÖŒW‚Č‚ĒSC_xxxx‚Ė”Ô†‚ð’ēŪ‚·‚é•K—v‚Š‚ ‚č‚Ü‚·B(Ą‚ÍSC_EXPLOSIONSPIRITS‚É‚ū‚Ŋ‘Ήž‚ĩ‚Ü‚ĩ‚―B) ‚ŧ‚悯skill_status_change_end()Askill_status_change_start()‚Åclif_status_change()‚ðŒÄ‚Ôtype‚Ė”ÍˆÍ‚Š64(0x40)–Ē–ž‚ɂȂÁ‚Ä‚Ē‚é‚Š‚ŧ‚ę‚ā’Į‰Á‚ģ‚ę‚Ăǂé•Ļ‚É‡‚í‚đ‚ďCģ‚·‚é•K—v‚Š‚ ‚č‚Ü‚·‚Š’Į‰Á‚ģ‚ę‚Ăǂé•ςБS‚Ä‚í‚Đ‚Á‚―‚í‚Ŋ‚Å‚ā‚Ȃǂ˂ÅSC_EXPLOSIONSPIRITS‚É‚ū‚Ŋ‘Ήž‚ĩ‚Ü‚ĩ‚―BĄ“x‚Đ‚į‚Í”š—ô”g“Ū‚Ė‰ðœ‚ŠģŠm‚ÉŒĐ‚Ķ‚Ü‚·B‹ā„‚̓f[ƒ^‚ðŒĐ‚‚Ŋ‚į‚ę‚Ü‚đ‚ņ‚Å‚ĩ‚―B +ĶV‚ĩ‚ĒƒpƒPƒbƒg‚ɑΉž‚·‚éė‹Æ‚ð‚ĩ‚Ăǂ܂·‚Šî•ņ‚Š•s‘Ŧ‚Å‚·B +ƒCƒOƒhƒ‰ƒVƒ‹‚ĖŽĀ‚âƒCƒOƒhƒ‰ƒVƒ‹‚ĖŽí‚ĖƒGƒtƒFƒNƒg‚Šo‚邿‚΂ɂ·‚éˆŨ‚É01c8‚ðŽg‚Á‚Ă݂܂ĩ‚―‚Š‘Ę–Ú‚Å‚ĩ‚―Bclient_packet.txt‚Ėƒf[ƒ^‚ł͉―‚ā‹N‚ą‚į‚Ȃǂ˂ʼn―•û‚Š–{ŽI‚ŃCƒOƒhƒ‰ƒVƒ‹‚ĖŽĀ‚âƒCƒOƒhƒ‰ƒVƒ‹‚ĖŽí‚ðŽg‚Á‚―Žž‚ĖƒpƒPƒbƒg‚ð’ņ‹Ÿ‚ĩ‚Ä‚­‚ę‚Ü‚đ‚ņ‚ЁHS 00a7‚ĖŒã00a8‚Š—ˆ‚é‚Ė‚Đ‚ŧ‚悯‚ā01c8‚Š—ˆ‚é‚Ė‚Đ‚ĖŠm”F‚Æ00a8‚ĖŒã‚É01c8‚Š—ˆ‚é‚Ė‚Đ‚ĖŠm”F‚ЂłŦ‚ę‚Ή―‚Æ‚Đ‚Č‚é‚ÆŽv‚ǂ܂·‚Š... +‚ŧ‚悯01c9‚ĖŒã‚É—ˆ‚é?.81b‚Š‚í‚Đ‚ę‚΃AƒCƒXƒEƒH[ƒ‹‚𐠂č”ē‚é–â‘č‚ā‰ðŒˆ‚Å‚Ŧ‚邯Žv‚ǂ܂·‚Š... +î•ņ’ņ‹Ÿ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·B + +-------------- +//0511 by Diex + +EŽw’e‚ĖUŒ‚‰ņ”CģB +EˆĒC—…”e–PŒA”­™Ī‚ŠC—û‚ð–ģŽ‹‚ĩA–ģ‘ېŦ‚ɂȂ邿‚Ī‚ÉCģB +E‹ā„Žg—pŽžAMDEF‚Аģ‚ĩ‚­•\ŽĶ‚ģ‚ę‚ĂȂЂÁ‚―ƒoƒO‚ðCģB +E‹CŒũ‚ĖÁ”ïSP‚ðCģB + pc.c + pc_calcstatus() CģB + battle.c + battle_calc_weapon_attack() CģB + skill.c + skill_check_condition() CģB + + skill_db.txt CģB + +-------------- +//0510 by Diex + +EŽO’iķ‚Ė•\ŽĶƒoƒOCģ +EŽw’e‚Š‹C’e‚Š–ģ‚­‚Ä‚āŒ‚‚Ä‚éƒoƒO‚ðCģ + map.h + struct map_session_data‚Éspiritball_old•ϐ”’Į‰ÁB + skill.c + skill_check_condition() CģB + clif.c + clif_skill_damage3() CģB + battle.c + battle_weapon_attack()Abattle_calc_weapon_attack CģB + +-------------- +//0509 by + +Enpc_warp.txt + ƒvƒéĻƒvƒƒtƒB[ƒ‹ƒh‚ɂȂÁ‚Ăǂ―‚Ė‚ðA + ƒvƒéĻƒ”ƒ@ƒ‹ƒLƒŠ[ƒŒƒ‹ƒ€‚ɏCģB + ƒvƒƒtƒB[ƒ‹ƒhĻƒvƒé‚ɂȂÁ‚Ăǂ―‚Ė‚ðƒvƒƒtƒB[ƒ‹ƒhĻƒ”ƒ@ƒ‹ƒLƒŠ[ƒŒƒ‹ƒ€‚ɏCģ + +-------------- +//0508 by Ž€_ + +EƒoƒOCģ‚Æ‘§A‹CŒũA‹C’D‚ĖCģ‚ŠƒƒCƒ“‚Å‚·B(Ą“x‚Đ‚į‚Í‘ž‚ːl‚É‚ā‹C‚Š‚ŋ‚á‚ņ‚ÆŒĐ‚Ķ‚Ü‚·B) +EŽ€‚ņ‚ūƒLƒƒƒ‰‚ÉŒoŒą’l‚Š“ü‚é–â‘čCģB(ƒeƒXƒg‚Í‚ĩ‚Ă܂đ‚ņB‚Į‚Ī‚Č‚Ė‚Đ•ņ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·B) + pc.h + pc_addspiritball()Apc_delspiritball() ’Į‰ÁB + pc_is50overweight() CģB + pc.c + pc_gainexp() CģB + pc_insert_card()Apc_item_identify() CģB(‘å‚ĩ‚―Cģ‚ķ‚á‚ ‚č‚Ü‚đ‚ņ‚Š...) + pc_authok() CģB + pc_addspiritball()Apc_delspiritball() ’Į‰ÁB + pc_spiritball_timer() ’Į‰ÁB + do_init_pc()Apc_calcstatus()CģB + pc_spirit_heal() ’Į‰ÁB + pc_natural_heal()‚ÉŠÖ‚í‚é•Ļ‚ĖCģB + map.h + struct map_session_data CģB + map.c + map_quit() CģB + map_addflooritem() CģB + clif.h + clif_spiritball_int()‚ðclif_spiritball()‚ɕύXB + clif_spiritball_ext() íœB + clif.c + clif_spiritball_int() ‚ðclif_spiritball()‚É•Ï‚Ķ‚ÄCģB + clif_spiritball_ext() íœB + clif_set01e1() ’Į‰ÁB + clif_getareachar_pc() CģB + skill.h + SC_CALLSPIRITS íœB + skill.c + SC_CALLSPIRITS íœB + skill_castend_nodamage_id()Askill_check_condition() CģB + skill_status_change_start() CģB +E°‚É—Ž‚ŋ‚―ƒAƒCƒeƒ€‚ŠÁ‚Ķ‚é‚Ü‚Å‚ĖŽžŠÔ‚ðÝ’č‚Å‚Ŧ‚邿‚Ī‚É•ÏXB + battle.hAbattle.c + battle_config_read() CģB + conf_ref.txt CģB + battle_athena.conf CģB + +-------------- +//0507 by Diex +0505‚ĖCģ +EŽO’iķ‚ĖƒGƒtƒFƒNƒgŽĀ‘• + +-------------- +//0506 by hoenny +‘S‘Ė“I‚ɏ­‚ĩŽŪCģ +ƒZƒCƒW‚ĖƒXƒLƒ‹‚ŠƒAƒCƒeƒ€‚ðÁ–Õ‚·‚邿‚Ī‚ÉCģ +(ƒXƒLƒ‹‚ĖDB‚É zeny, spiritball, item, equip‚ð“ü‚ę‚―‚Ē‚ŠŽžŠÔ‚ЂȂ­‚Ä—ÕŽž“I‚É ...) + +-------------- +//0505 by Diex + +EˆĒC—…”e–PŒ‚Ėƒ_ƒ[ƒWCģ +E–Ō—īŒ‚Ėƒ_ƒ[ƒWCģ +EŽw’eŽĀ‘• +E”­™ĪŽĀ‘• +E‹ā„‚ŠŒļŽZDEF‚ÆŒļŽZMDEF‚Š90‚ɌŒč‚ģ‚ę‚Ăǂ―‚Ė‚ðæŽZDEF‚ƏæŽZMDEF‚Š90‚ɂȂ邿‚Ī‚ÉCģ +EŽO’iķŽĀ‘•i‚―‚ū‚ĩƒRƒ“ƒ{‚Í–ĒŽĀ‘•j + map/clif.c + map/clif.h + clif_skill_damage3()’Į‰Á + map/pc.c + map/skill.c + map/battle.c + CģE‹y‚Ņ’Į‰Á +iŒvŽZŽŪ‚Í+ Acolyte Maniax +‚ðŽQl‚É‚ĩ‚Ü‚ĩ‚―Bj + +-------------- +//0504 by Ž€_ + +Eatcommand.c CģB(‚―‚Á‚―2•ķŽš‚ð’Į‰Á‚ĩ‚―‚ū‚Ŋ‚Å‚·B) +atcommnad_gm_only‚Šno‚ķ‚á‚Č‚­‚Ä‚āŽg—pƒŒƒxƒ‹Ý’č‚ð0‚É‚ĩ‚―ƒRƒ}ƒ“ƒh‚ÍGM‚ķ‚á‚Č‚ĒƒLƒƒƒ‰‚Å‚āŽg‚͂܂·BƒeƒXƒg‚Í‚ĩ‚Ă܂đ‚ņB + +-------------- +//0503 by nabe + +Eļ˜BCģ‚ÆLinux—p‚É‚ŋ‚å‚Á‚ƕύX‚Č‚Į + conf/map_athena.conf + npc_event_doll.txt, + npc_turtle.txt, + //npc_pota.txt€–Ú’Į‰Á + conf/npc_pota.txt’Į‰Áisocie‚ģ‚ņė‚Ėƒ_ƒ“ƒWƒ‡ƒ“ƒ|ƒ^Žq‚ģ‚ņj + conf/npc_shop.txt + ƒCƒYƒ‹[ƒh•ŠíĪl‚ˉŋŠiCģ + conf/script_athena.conf + 0499‚Å‚Ė•ķŽš‰ŧ‚ŊHCģ + login/login.c + #include ’Į‰Á + map/script.c + buildin_getequipname() + ļ˜Bƒƒjƒ…[‚Ėmalloc‚ðCģ + buildin_getequipisenableref() + ļ˜B‰Â”\ðŒCģiAthefans‚ģ‚ņ‚ĖðŒ•ķ‚É‚ĩ‚Ă݂܂ĩ‚―j + map/skill.c + skill_check_condition()•ϐ”éŒūˆĘ’u‚Ė•ÏX‚Ė‚Ý + +-------------- +//0502 by Ž€_ + +EƒJƒvƒ‰‚Ė‘qŒÉ‚ābattle_athena.conf‚Ėbasic_skill_check‚É‚æ‚Á‚ÄŠî–{ƒXƒLƒ‹‚Š‘Ŧ‚č‚Č‚­‚Ä‚āŽg—p‚·‚邹‚Æ‚Š‚Å‚Ŧ‚邿‚Ī‚ÉCģ‚ĩ‚Ü‚ĩ‚―B(ƒvƒƒ“ƒeƒ‰’†‰›‚ĖƒJƒvƒ‰‚Ė‚ÝŠm”FB) +EƒNƒFƒXƒgƒXƒLƒ‹‚ĖŽæ“ū‚Í0492‚Ė‚đ‚ǂł·B0481‚Éskill‚ĖÅŒã‚Š,2‚ķ‚á‚Č‚­,0‚ū‚Ə‘‚Ē‚―‚˂ł·‚Љ―ŒĖ‚Đ0492‚Å,2‚ɂȂÁ‚Ăǂ―‚Ė‚Å,0‚ɏCģ‚ĩ‚Ü‚ĩ‚―B +EƒXƒNƒŠƒvƒggetbaseskillcheck‚ðbaseskillcheck‚ɕύX‚ÆŽĐ•Š‚ÅCģ‚ĩ‚Ü‚ĩ‚―‚Š–―—ß‚ĖŒã‚ɂȂņ‚ː”’l‚ā“ü‚į‚Č‚Ēę‡‚̓XƒNƒŠƒvƒg‚Аģ‚ĩ‚­ė“Ū‚ĩ‚ȂЂÁ‚―‚Ė‚ÅŽg—p‚·‚éę‡‚Íbaseskillcheck(0)‚É‚ĩ‚ÄŽg‚í‚Č‚Ē‚Æģ‚ĩ‚ĒŒ‹‰Ę‚ð“ū‚邹‚Æ‚Š‚Å‚Ŧ‚Ü‚đ‚ņB +(Ú‚ĩ‚­‚Ínpc_town_kafra.txtŽQÆB) + npc_event_skillget.txt CģB + npc_town_kafra.txt CģB + script.c CģB +EGM_account.txt‚ÉŽĐ•Š‚ŠƒeƒXƒg‚ĖˆŨ‚ÉŽg‚Á‚Ăǂ―500000‚Š“ü‚Á‚Ăǂ―‚Ė‚Åíœ‚ĩ‚Ü‚ĩ‚―B(GM_account.txtė‚Á‚―——R‚ÍŽĐ•ŠŸŽč‚ɃAƒJƒEƒ“ƒg‚ðGM‚É‚·‚邹‚Æ‚Š‚Å‚Ŧ‚邿‚΂ɂ·‚éˆŨ‚Å‚·B‚‚܂čGM‚Æ‚ĩ‚Ä•\ŽĶ‚ģ‚ę‚Č‚­‚Ä‚āGM‚Æ‚ĩ‚ĐF‚ņ‚ČŒ ŒĀ‚ðŽg‚Ī‚ą‚Æ‚ЂłŦ‚Ü‚·B‚ģ‚·‚Š‚ÉGMę—p‚ˉEƒNƒŠƒbƒNƒRƒ}ƒ“ƒ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 + +EC“đ‘m‚Ė‘§ŽĀ‘• +-Šî–{“I‚ÉĀ‚Á‚―Žž 10•b‚炯‚ɉņ•œ‚ĩ‚Ü‚·. +-ŠŽ—ƂР50%‚ðƒI[ƒo[‚ĩ‚―ę‡ 20•b‚炯‚ɉņ•œ‚ĩ‚Ü‚·. +EC“đ‘m‚Ė‹C’DŽĀ‘• +-‘ž‚ĖC“đ‘m‚ĖŸ†‹…‚ā‹zŽû‚Š‰Â”\‚Å‚·. +EC“đ‘m‚Ė‹ā„ŽĀ‘• +-‹ā„ó‘Ԃł͂·‚Ũ‚Ä‚ĖƒAƒNƒeƒBƒuƒXƒLƒ‹‚ðŽg‚Ī‚ą‚Æ‚ЂłŦ‚Ȃǂł·. + db/skill_db.txt + ‹C’DCģ + ‹ā„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 Ž€_ + +EƒT[ƒo[snapshot‚ƃoƒOCģB +EƒXƒeƒB[ƒ‹ƒRƒCƒ“‚Ėƒ[ƒj—Ę‚ðƒ‚ƒ“ƒXƒ^[ƒŒƒxƒ‹*10 + rand(100)‚ɕύXB +EƒLƒƒƒXƒeƒBƒ“ƒOƒ^ƒCƒ€‚Š‚Č‚ĒƒXƒLƒ‹‚̓^ƒCƒ}[‚ðŽg‚í‚Ȃǂæ‚Ī‚É•ÏXB +EƒJ[ƒh‚ĖŽg—p‚É‚æ‚éƒ}ƒbƒvŽIƒ_ƒEƒ“‚ð–h‚ŪˆŨ‚ɏCģB(Ą“x‚ą‚ŧŽĄ‚Á‚―‚Í‚ļ...) ‚ŧ‚ĩ‚ÄŠg‘å‹ū‚ā“Ŋ‚킿‚Ī‚Č‚ą‚Æ‚ЂłŦ‚é‚Ė‚ÅCģB(‚ą‚ę‚ÍŽIƒ_ƒEƒ“‚܂ł͋N‚ą‚ģ‚Ȃǂæ‚΂ł·‚Š...) +EƒLƒƒƒ‰‚Ƀ}ƒbƒv‚Ėƒ[ƒh‚ŠI‚í‚é‚܂Ńyƒbƒg‚Ėƒf[ƒ^‚Š—ˆ‚Č‚Ē‚Æƒ}ƒbƒvŽI‚Š—Ž‚ŋ‚é–â‘čCģB(–Å‘―‚Č‚ą‚Æ‚Š‚Č‚ĒŒĀ‚č‹N‚ą‚į‚Ȃǂł·‚Ŋ‚Į‚ˁB) +EƒI[ƒgƒo[ƒT[ƒNAd‚ģ‚ĖƒAƒCƒRƒ“‚ƃ`ƒFƒbƒN‚Аģ‚ĩ‚­“K—p‚ģ‚ę‚邿‚Ī‚ÉCģB +E‘‘Žƒ|[ƒVƒ‡ƒ“‚Ė“K—p‡”ԕύXBĄ‚܂ł̓Xƒs[ƒhƒAƒbƒvƒ|[ƒVƒ‡ƒ“‚ŠÅ—Dæ‚ÅŽŸ‚ŠƒnƒCƒXƒs[ƒhƒ|[ƒVƒ‡ƒ“AÅŒã‚Šƒo[ƒT[ƒNƒ|[ƒVƒ‡ƒ“‚ū‚Á‚―‚˂ł·‚Š‡”Ô‚ð‹t‚ɕύX‚ĩ‚Ü‚ĩ‚―B +EƒAƒCƒeƒ€‚ÅŽg‚ĪƒXƒLƒ‹‚̓LƒƒƒXƒeƒBƒ“ƒOƒ^ƒCƒ€‚ƃfƒBƒŒƒC‚Š0‚ɂȂ邿‚Ī‚É•ÏXB +EƒAƒCƒeƒ€‚ÅŽg‚ĪƒXƒLƒ‹‚ĖƒŒƒxƒ‹‚Šitem_db‚ɐݒč‚ĩ‚Ä‚Ē‚éƒŒƒxƒ‹‚æ‚č‚‚­‚Č‚éƒoƒOCģB + pc.h + pc_move()‚ðpc_movepos()‚ɕύXB + pc.c + pc_steal_coin()Apc_insert_card()Apc_item_identify()Apc_authok()A + pc_calcstatus()Apc_checkweighticon()Apc_damage() CģB + skill.c + skill_castend_pos2()Askill_check_condition()Askill_use_id()A + skill_use_pos() CģB + pet.c + pet_recv_petdata()Apet_change_name() CģB + map.h + struct map_session_data‚Éskillitemlv ’Į‰ÁB + script.c + buildin_itemskill() CģB + clif.c + clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos()A + clif_parse_LoadEndAck() CģB + mob.c + mobskill_use_id()Amobskill_use_pos() CģB + +-------------- +//0498 by hoenny + +DŸ†‹…‚Š‚·‚Á‚Đ‚čŒĐ‚͂邿‚Ī‚ÉCģ(Á–ÕƒXƒLƒ‹Žg—p‚ĖŽžÁ–Õ‚·‚邿‚Ī‚ÉCģ) +DƒXƒLƒ‹Žc‰e‚ðŽg—p‚ĖŽžŸ†‹…‚ðÁ–Õ‚·‚邿‚Ī‚ÉCģ + doc/client_packet.txt + 0x1d0’Į‰Á + map/map.h + sd‚Ėstructure‚É 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‚ĖƒXƒLƒ‹Žc‰e‚ĖƒoƒOCģ‚ƃXƒeƒB[ƒ‹‚ƃXƒeƒB[ƒ‹ƒRƒCƒ“AƒXƒiƒbƒ`ƒƒ[‚ĖCģAmob_target‚ĖƒoƒOCģB +EŒðŠ·AĀ‚čAƒp[ƒeƒBŒ‹Ž“™‚ĖŽž‚ÉŠî–{ƒXƒLƒ‹‚ðƒ`ƒFƒbƒN‚·‚邿‚Ī‚ÉCģB(battle_athena.conf‚Ń`ƒFƒbƒN‚·‚é‚Đ‚Į‚Ī‚Đ‚ðŒˆ‚ß‚é‚ą‚Æ‚Š‚Å‚Ŧ‚Ü‚·B) +‚―‚ūƒJƒvƒ‰‚Ė‘qŒÉ‚̓XƒNƒŠƒvƒg‚Ő§ŒĀ‚ð‚Đ‚Ŋ‚é‚ĩ‚Đ‚ ‚č‚Ü‚đ‚ņB +EƒXƒNƒŠƒvƒggetbasicskillcheck’Į‰ÁB + Žg—p•û–@„ getbasicskillcheck + –ß‚č’l‚Íbattle_athena.conf‚Ėbasic_skill_check‚Å‚·B0‚Ėę‡‚ÍŠî–{ƒXƒLƒ‹‚Ėƒ`ƒFƒbƒN‚Č‚ĩ‚Å1‚Ėę‡‚ÍŠî–{ƒXƒLƒ‹‚ðƒ`ƒFƒbƒN‚·‚é‚Ė‚ðˆÓ–Ą‚ĩ‚Ü‚·B + skill.c + skill_castend_pos2() CģB + skill_additional_effect() CģB + pc.c + pc_move() ’Į‰ÁB + pc_item_steal()Apc_coin_steal() CģB + pc.h + pc_move() ’Į‰ÁB + map.h + struct mob_data CģB + mob.c + mob_spawn() CģB + mob_target() CģB + clif.c + clif_pcinsight()Aclif_pcoutsight() CģB + clif_parse_ActionRequest()Aclif_parse_Emotion()A + clif_parse_TradeRequest()Aclif_parse_CreateParty()A + clif_parse_ReplyPartyInvite() CģB + battle_athena.conf CģB + conf_ref.txt CģB + skill_db.txt + ƒXƒeƒB[ƒ‹‚ĖŽË’ö‚ð3‚Đ‚į1‚ɏCģB + battle.hAbattle.c + battle_config‚Ébasic_skill_check ’Į‰ÁB + battle_config_read() CģB + trade.c + trade_traderequest() CģB + script.c + buildin_getbasicskillcheck() ’Į‰ÁB + map/makefile CģB +ĶƒXƒeƒB[ƒ‹‚ƃXƒeƒB[ƒ‹ƒRƒCƒ“‚ĖŒvŽZŽŪ‚Í“K“–‚ɍė‚Á‚―•ςł·B–{ŽI‚Ė•û‚Š‚Į‚Ī‚Č‚Ė‚Đ‘S‘R‚í‚Đ‚į‚Ȃǂ˂Å... + + ƒXƒeƒB[ƒ‹—Ķ = (ƒ‚ƒ“ƒXƒ^[‚ĖƒAƒCƒeƒ€drop—Ķ * (ƒLƒƒƒ‰ƒŒƒxƒ‹*0.5 + dex*0.4 +ƒXƒLƒ‹ƒŒƒxƒ‹*5))% + ƒXƒeƒB[ƒ‹ƒRƒCƒ“—Ķ = (ƒXƒLƒ‹ƒŒƒxƒ‹ + (ƒLƒƒƒ‰ƒŒƒxƒ‹ - ƒ‚ƒ“ƒXƒ^[‚ĖƒŒƒxƒ‹)*0.3 + dex*0.2 + luk*0.2)% + ƒXƒiƒbƒ`ƒƒ[”­“Ū—Ķ = (5.5 + ƒXƒLƒ‹ƒŒƒxƒ‹*1.5 +ƒXƒeƒB[ƒ‹‚ĖƒXƒLƒ‹ƒŒƒxƒ‹)% + +–{ŽI‚ĖŒvŽZŽŪ‚Š‚í‚Đ‚é•û‚͏î•ņ’ņ‹Ÿ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·B +ƒXƒeƒB[ƒ‹ƒRƒCƒ“‚Ėƒ[ƒj‚Ė—Ę‚Íƒ‚ƒ“ƒXƒ^[‚ĖƒŒƒxƒ‹*100‚ɂȂÁ‚Ăǂ܂·B‚ą‚ę‚É‚Â‚Ē‚Ä‚āî•ņ’ņ‹Ÿ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·B +ĶŽc‰e‚Ėę‡Žg‚Á‚―Œã•’Ƃɕ₭‘O‚ɂ̓yƒbƒg‚Ė‘•”õ‚ŠŒĐ‚Ķ‚Č‚ĒƒoƒO‚Š‚ ‚č‚Ü‚·‚ŠŒīˆö‚Š‚í‚Đ‚į‚Ȃǂ˂ŕú’u‚·‚邹‚Ƃɂĩ‚Ü‚ĩ‚―B +ĶŠî–{ƒXƒLƒ‹‚Š‘Ŧ‚č‚Č‚ĒŽžo‚郁ƒbƒZ[ƒW‚Í–w‚Į‡‚í‚đ‚Ăǂ܂·‚Šƒp[ƒeƒB‚É“ü‚鎞‚ÉŠî–{ƒŒƒxƒ‹‚Š‘Ŧ‚č‚Č‚ĒŽž‚ɍ‡‚Ī•Ļ‚Š‚Č‚Đ‚Á‚―‚Ė‚Åƒp[ƒeƒB‚ðė‚ę‚Č‚Ē(Šî–{ƒXƒLƒ‹ƒŒƒxƒ‹7‚Ė•Ļ)‚Æ•\ŽĶ‚ĩ‚ÄŠĐ—U‚ĩ‚―•û‚ɂ͋‘â‚ģ‚ę‚―‚Æ•\ŽĶ‚ģ‚ę‚Ü‚·B + +-------------- +//0496 by hoenny + +DWZ‚ĖƒƒeƒIƒXƒg[ƒ€ŽĀ‘• +DƒXƒeƒB[ƒ‹ƒRƒCƒ“Cģ + db/skill_db.txt + ƒƒeƒIƒXƒg[ƒ€Cģ + map/pc.c + pc_coin_steal()Cģ + map/skill.c + skill_castend_pos2()Cģ + +-------------- +//495 by nini + +EAR‚Š•ÐŽč•€A—žŽč•€‚Å‚ĩ‚Đ”­“Ū‚ĩ‚ȂЂÁ‚―‚Æ‚ą‚ëCģĻ•ÐŽč•€A—žŽč•€A“ÝŠí + map/skill.c + skill_check_condition()@Cģ + +‘O‰ņCģ‚Ė‚Æ‚Ŧ“ÝŠí“ü‚ę–Y‚ę‚Ä‚―‚æ‚΂ł·B + +-------------- +//0494 by Ž‚Žqo^.^o + +conf/mpc_warp.txt +Dƒnƒ“ƒ^ˆę“]E’no‚Ä‚Ē‚Č‚ĒCģ + +-------------- +//0493 by ”g˜Q + +EscriptCģ + npc_town_comodo.txt ƒRƒ‚ƒhˆÄ“ā—vˆõ•”•Š‚ðíœ(npc_town_guide.txt‚Əd•Ą‚ĩ‚Ăǂ―‚Ė‚Å) + npc_town_guide.txt ƒWƒ…ƒm[ˆÄ“ā—vˆõ‚ð’Į‰Á(viewpoint‚ːF‚Ёc) + npc_town_kafra.txt ƒWƒ…ƒm[ƒJƒvƒ‰•”•Š‚ðnpc_town_yuno.txt‚Đ‚įˆÚ“Ū + npc_town_refine.txt ƒWƒ…ƒm[ļ˜BŠ•”•Š‚ðnpc_town_yuno.txt‚Đ‚įˆÚ“Ū + npc_town_yuno.txt ˆÄ“ā—vˆõ‚ƃJƒvƒ‰‚Ɛļ˜BŠ•”•Š‚ðíœ + npc_turtle.txt ‰ï˜b‚ð”ũCģ + +-------------- +//0492 by Kalen + +EscriptCģ+’Į‰Á + + conf/npc_event_doll.txt (V‹K) + conf/npc_turtle.txt (V‹K)‹T“‡ŠÖ˜ANPC+‹T“‡ƒNƒGƒXƒg(qŠC“úŽ)’Į‰Á + + conf/npc_event_skillget.txt (Cģ)‰ž‹}ˆ’u‚Ė•s‹ï‡+‚Ö‚ņ‚Čtabíœetc.. + conf/npc_town_alberta.txt (Cģ)Turtle•З́A‚ŋ‚Ņ‚ÁŽqíœ(Event_doll‚ÖˆÚ“Ū) + conf/npc_town_guide.txt (Cģ)‘䎌‚Š‚Đ‚Č‚č•ύX‚ģ‚ę‚Ăǂ―‚˂ŁACģ + + +-------------- +//0491 by Ž€_ + +EƒXƒLƒ‹Žc‰e(ŠØ‘ƒNƒ‰ƒCƒAƒ“ƒg‚ł͋|gœ[‰e)ŽĀ‘•B(‚―‚ū‹C’e‚Ėƒ`ƒFƒbƒN‚Í‚ĩ‚Ă܂đ‚ņB) + pc.h + pc.c + pc_can_reach() ’Į‰ÁB + skill.c + skill_check_condition()Askill_castend_pos2() CģB + skill_db.txt + Žc‰eCģB +Escript.c + set_posword() CģB +Ķˆęl‚ŃeƒXƒg‚͍ςņ‚łǂ܂·‚Š‘ž‚ːl‚ɐģ‚ĩ‚­ŒĐ‚Ķ‚é‚Đ‚Į‚Ī‚Đ‚Í–ĒŠm”F‚Å‚·B +•Ï‚Č‚Ė‚Đ‚Į‚Ī‚Đ•ņ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·B + +-------------- +//0490 by nabe + +EęŠƒXƒLƒ‹ƒGƒtƒFƒNƒg‚Ń}ƒbƒvŽI‚Š—Ž‚ŋ‚邹‚Æ‚Š‚ ‚Á‚―‚Ė‚ðCģB + clif.c + clif_skill_poseffect()‚Ė + unsigned char buf[16];‚ðAunsigned char buf[32];‚ɏCģB + +-------------- +//0489 by Ž€_ + +E0483‚ĖƒoƒOCģBbattle_athena.conf‚Ėquest_skill_learn‚Аģ‚ĩ‚­“K—p‚ģ‚ę‚邿‚Ī‚É•ÏX‚Æ–â‘肊‚ ‚Á‚―•”•Š‚ĖCģB(ƒeƒXƒgÏ‚Ý) + pc.c + pc_calc_skilltree()Apc_skill() CģB + atcommand.c + @lostskill ­‚ĩCģB +EƒJ[ƒh‚ĖŽg—p‚É‚æ‚éƒ}ƒbƒvŽIƒ_ƒEƒ“‚ð–h‚Ū‚―‚߂ɏ­‚ĩCģB(‚―‚ūƒJ[ƒh‚ĖŽg—p‚É‚æ‚éƒ}ƒbƒvŽIƒ_ƒEƒ“‚ðÄŒŧ‚Å‚Ŧ‚ȂЂÁ‚―‚˂Ŗ{“–‚ÉŽĄ‚Á‚―‚Đ‚Į‚Ī‚Đ‚Í•s–ū...Šū) + pc.c + pc_insert_card() CģB +Epc.h + pc_ishiding() CģB + +-------------- +//0488 by hoenny + +ERG‚ĖƒXƒeƒB[ƒ‹ƒRƒCƒ“ŽĀ‘• +EƒXƒeƒB[ƒ‹Cģ +(“ņƒXƒLƒ‹ŠFˆę“xƒXƒ`[ƒ‹‚ĩ‚―ę‡‚Ü‚―ƒXƒ`[ƒ‹‚·‚邹‚Æ‚Š‚Å‚Ŧ‚Č‚Ē.‚ŧ‚ĩ‚ăXƒLƒ‹ŽŒũ‚ĖŽžƒ‚ƒ“ƒXƒ^[‚͍UŒ‚‚·‚邿‚Ī‚ÉCģ‚ĩ‚―.ƒGƒtƒFƒNƒg‚ÍŽŒũ‚ĖŽž‚ū‚Ŋo‚邿‚Ī‚ÉCģ‚ĩ‚―.) + db/skill_db.txt + ƒXƒeƒB[ƒ‹ƒRƒCƒ“Cģ + 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.txtCģ +—ô‚Ŋ‚―‘å’n‚Ė‘A”R‚Ķ‚é‘ū—z‚Ė‘AŠĢ‚ǂĂ镗‚Ė‘AāŌŽĶ˜^AƒvƒŠ[ƒXƒg‚Í‘•”õ‚·‚邹‚Æ‚Š‚Å‚Ŧ‚Ȃǖâ‘čCģ + +-------------- +//0485 by hoenny + +E RG‚ĖƒXƒiƒbƒ`ƒƒ[ŽĀ‘• +E ƒXƒeƒB[ƒ‹Cģ +E ˜I“XŠJÝ‚ĖŽž skill_check_condition‚ŏó‘Ô‚ðƒ`ƒFƒN‚·‚邿‚Ī‚É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 ŒÓ’ą—– + +EŠo‚Ķ‚Ä‚Č‚ĒƒNƒGƒXƒgƒXƒLƒ‹‚ɃXƒLƒ‹ƒ|ƒCƒ“ƒg‚ðU‚ę‚é–â‘čCģ + pc.c + pc_calc_skilltree()‚ŃNƒGƒXƒgƒXƒLƒ‹‚Ėƒ`ƒFƒbƒN’Į‰Á + skill.c + skill_readdb()‚Åinf2‚ð“Į‚Þ‚æ‚Ī‚ÉCģ + +EƒyƒRƒyƒR‹RæAƒtƒ@ƒ‹ƒRƒ“‚ĖƒAƒCƒRƒ“‚ŠƒƒOƒCƒ“’žŒã‚ɂ͕\ŽĶ‚ģ‚ę‚Ȃǖâ‘čCģ + clif.c + clif_parse_LoadEndAck()Cģ + +-------------- +//0483 by Ž€_ + +E0482‚Ė“K—pB + npc_event_skillget.txt CģB + script.c CģB + skill.c CģB + pc.c CģB + +-------------- +//0482 by ŒÓ’ą—– + +EƒNƒGƒXƒgƒXƒLƒ‹‚ĖƒXƒNƒŠƒvƒg­‚ĩCģ +EƒXƒNƒŠƒvƒggetskilllv‚ðŒÄ‚Ԃƃ}ƒbƒvƒT[ƒo[‚Š—Ž‚ŋ‚éƒoƒOCģ + (conf/) + npc_event_skillget.txt + o—ˆ‚é‚ū‚Ŋ•ϐ”‚ðŽg‚í‚Ȃǂæ‚Ī‚ÉCģi–ĒƒeƒXƒgj + (map/) + script.c + buildin_getskilllv()Cģ + +EƒXƒeƒB[ƒ‹‚ÅŽļ”sŽž‚ĖƒGƒtƒFƒNƒg•ύX +E“Ŋ‚ķMOB‚ɂ͂P‰ņ‚ĩ‚ĐƒXƒeƒB[ƒ‹‚Å‚Ŧ‚Ȃǂæ‚Ī‚ÉCģ + (map/) + skill.c + skill_castend_nodamage_id()Cģ + map.h + struct mob_data‚Ésteal_countƒƒ“ƒo’Į‰Á + mob.c + mob_spawn()CģAsteal_count‚ð0‚ɏ‰Šú‰ŧ‚·‚邿‚Ī‚É + +EƒCƒhƒDƒ“‚Ė—ŅŒį‚ÅHP‚Š32767‚ð’ī‚͂邯ƒT[ƒo[‚Š—Ž‚ŋ‚éƒoƒOCģi–ĒƒeƒXƒgj + (map/) + pc.c + pc_calcstatus()Cģ + +-------------- +//0481 by Ž€_ + +E‚ą‚ę‚Ė“K—p‚ɂ͋C‚ð‚‚Ŋ‚Ä‚­‚ū‚ģ‚ǁB0478‚ĖŒÓ’ą—–‚ģ‚ņ‚˕ςð Athena.txt‚Ėƒf[ƒ^Œ`ŽŪ•ύX‚đ‚ļ‚ɃNƒFƒXƒgƒXƒLƒ‹‚ðŠo‚͂邿‚Ī‚Éė‚Á‚―•ςł·BŽĐ•Š‚Šė‚Á‚Ä‚éÅ’†‚ÉŒÓ’ą—–‚ģ‚ņ‚Š“Ŋ‚ķ•Ļ‚ðƒAƒbƒv‚ĩ‚Ä‚­‚ę‚―‚˂ł·‚Šƒf[ƒ^‚Í•Ï‚Ķ‚Č‚Ē•û‚Š‚Ē‚Ē‚ÆŽv‚Á‚ÄŽĐ•Š‚Ė•Ļ‚āƒAƒbƒv‚ĩ‚Ü‚ĩ‚―B’ˆÓ‚·‚邹‚Æ‚Í0478‚Ėathena.txt‚ÍŽg‚Ķ‚Č‚Ē‚ÆŒū‚Ī‚ą‚Æ‚Å‚·B0478‘O‚˕ςðŽg‚Á‚Ä‚­‚ū‚ģ‚ǁB +Eskill_db.txt‚Éinf2‚ð’Į‰Á‚ĩ‚Ä‚ą‚ę‚ðŽg‚Á‚ăNƒFƒXƒgƒXƒLƒ‹‚Đ‚Į‚Ī‚Đ‚ð”ŧ’f‚·‚éŽd‘g‚݂ł·B + skill.h CģB + skill.c + skill_readdb()Cģ‚Ə­‚ĩCģB + skill_get_inf2() ’Į‰ÁB + skill_db.txt CģB + skill_tree.txt CģB(0478‘O‚Ė•Ļ) + clif.c + clif_skillinfoblock() CģB + char.c CģB(0478‘O‚Ė•Ļ) +Ebattle_athena.conf‚Équest_skill_learn’Į‰ÁB + battle.h CģB + battle.c + battle_config_read() CģB + battle_athena.conf CģB +E/resetskill‚ðbattle_athena.conf‚Équest_skill_learn‚ĖÝ’č‚ɍ‡‚í‚đ‚Äquest_skill_learn‚Šyes‚Ėę‡‚̓XƒLƒ‹ƒ|ƒCƒ“ƒg‚ɉÁŽZ‚ĩ‚Äquest_skill_learn‚Šno‚Č‚įƒŠƒZƒbƒg‚Í‚ģ‚ę‚邊ƒXƒLƒ‹ƒ|ƒCƒ“ƒg‚ɉÁŽZ‚ģ‚ę‚Ü‚đ‚ņB + pc.c + pc_skill()Apc_resetskill() Cģ‚Ə­‚ĩCģB + pc.h CģB + atcommand.c CģB + atcommnad_athena.conf CģB +EƒXƒNƒŠƒvƒg‚ĖskillƒRƒ}ƒ“ƒh‚ŃNƒGƒXƒgƒXƒLƒ‹‚ðŠo‚Ķ‚į‚ę‚é‚Ė‚Í“Ŋ‚ķ‚Å‚·‚ŠÅŒã‚Ėƒtƒ‰ƒO‚Š2‚Đ‚į0‚ɕςí‚Á‚Ă܂·‚˂ŒˆÓ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB + npc_test_skill.txt CģB + npc_event_skillget.txt CģB + conf_ref.txt CģB + client_packet.txt CģB + +-------------- +//0480 by Kalen + +EEventskill’Į‰Á + conf/npc_event_skillget.txt + +Emap_athena.conf•ύX + warp.txt‚Ė“Į‚ݍž‚Ý—Dæ“x‚ð•ύX + prt_castle“™A‹ŒEP‚Ėƒ[ƒv‚ÆˆŲ‚Č‚éęŠ‚ɕύX‚ģ‚ę‚―ę‡ + æ‚É“Į‚ݍž‚ņ‚ū•û‚Š—Dæ‚ģ‚ę‚é‚˂ŁAEP‚Ė‚‚Ē‡‚˂Ђæ‚ë‚ĩ‚Ē‚Đ‚Æ + conf/map_athena.conf + +-------------- +//0478 by ŒÓ’ą—– + +*** + Athena.txt‚Ėƒf[ƒ^Œ`ŽŪ•ύX!! (ŽĐ“Ū“I‚ɕϊ·‚ģ‚ę‚Ü‚·) + ƒoƒbƒNƒAƒbƒv‚ð–Y‚ę‚ļ‚É! + Data format of athena.txt is changed!! (convert automatically) + DONT FORGET BACKUP!! +*** + +EƒNƒGƒXƒgƒXƒLƒ‹ŽĀ‘• +EƒXƒNƒŠƒvƒg‚ŃXƒLƒ‹ƒŒƒxƒ‹‚ðƒ`ƒFƒbƒN‚Å‚Ŧ‚邿‚Ī‚É + EƒXƒNƒŠƒvƒg‚ĖskillƒRƒ}ƒ“ƒh‚ŃNƒGƒXƒgƒXƒLƒ‹‚ðŠo‚Ķ‚į‚ę‚Ü‚·B + Žg—p•û–@„ skill ƒXƒLƒ‹ID,ƒXƒLƒ‹LV[,ƒtƒ‰ƒO] + ƒtƒ‰ƒO‚ÍČ—Š‰Â”\‚ŁAČ—Š‚·‚邯‚P‚ðŽw’č‚ĩ‚―‚ą‚Æ‚ɂȂč‚Ü‚·B + ‚P‚Å‘•”õ•i‚É‚æ‚éˆęŽž“I‚ȏK“ūA‚Q‚ŃNƒGƒXƒg‚É‚æ‚éP‹v“I‚ȏK“ū‚Å‚·B + P‹v“I‚ȏK“ū‚Ėę‡Askill_tree.txt‚Ɉˑķ‚ĩ‚Ü‚· + EgetskilllvƒRƒ}ƒ“ƒh’Į‰Á + Žg—p•û–@„ getskilllv(ƒXƒLƒ‹ID) –ß‚č’l‚̓Œƒxƒ‹‚Å‚·B0‚Å–ĒK“ūB + + (conf/) + npc_test_skill.txt + ƒTƒ“ƒvƒ‹ + (db/) + skill_tree.txt + ƒNƒGƒXƒgƒXƒLƒ‹‚Æ‚ĩ‚Ä•K—vƒXƒLƒ‹ID‚É-1‚ðÝ’čB + (char/) + char.c + ƒtƒ‰ƒO‚āathena.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 ƒXƒLƒ‹ID ‚ŃNƒGƒXƒgƒXƒLƒ‹‚ðŠo‚͂܂·B(ƒNƒGƒXƒgƒXƒLƒ‹‚Ė‚Ý) + E@lostskill ƒXƒLƒ‹ID ‚ŃXƒLƒ‹‚ð–Y‚ę‚Ü‚·B(ƒNƒGƒXƒgƒXƒLƒ‹ˆČŠO‚āOK) + + atcommand.c/atcommand.h + struct Atcommand_Config‚Élostskill,questskillƒƒ“ƒo’Į‰Á + @questskill,@lostskillˆ—’Į‰Á + +-------------- +//0477 by nabe + +Eˆę•”•ϐ”‚ːéŒūˆĘ’u‚Ė•ÏX‚Ė‚ÝiLinux“™‚ŃRƒ“ƒpƒCƒ‹‚ĩ‚â‚·‚Ē‚æ‚΂ɁjB + atcommand.c,battle.c,clif.c,mob.c,npc.c,skill.c + +-------------- +//0476 by nabe + +Econf/ ‚ŋ‚å‚Á‚ÆŪ— + conf/map_athena.confCģB + tortoise.txt‚ðnpc_town_alberta.txt’†‚ÉˆÚ“ŪB + npc_script2.txt‚ĖƒRƒ‚ƒhƒKƒCƒh‚ðnpc_town_comodo.txt’†‚ÉˆÚ“ŪB + +Enpc‚ŠƒLƒƒƒ‰–ž‚ð’‚é‚Æ‚Ŧ‚ĖƒoƒOCģ + map/script.c + buildin_strcharinfo()‚ŃLƒƒƒ‰–ž—p‚Ėƒƒ‚ƒŠ‚ð + static‚ÉŠm•Û‚ĩ‚Ä‚ĩ‚Ü‚Á‚Ăǂ―‚Ė‚ðAmalloc‚ɏCģB + +-------------- +//0475 by hoenny + +“D–_‚ĖƒXƒeƒB[ƒ‹ŽĀ‘•B +ƒMƒ‹ƒhķŽ‚ĖŽžƒGƒ“ƒyƒŠƒEƒ€Á–Õ‚·‚邿‚Ī‚ÉCģB + map/guild.c + guild_create()CģB + guild_created()CģB + map/skill.c + skill_castend_nodamage_id()CģB + +-------------- +//0474 by Ž€_ + +E0471‚ːļ—û‚ĖŽž•\ŽĶ‚ģ‚ę‚é•ķŽš‚ĖÝ’č‚ðmap_athena.conf‚Đ‚įscript_athena.conf‚ɕύXB + script.c + do_init_script() Cģ‚Ə­‚ĩCģB + script.h CģB + script_athena.conf ’Į‰ÁB + map_athena.conf CģB + map.c + map_config_read() CģB +EŒÃ‚ĒŠŠ•ĻAƒvƒŒƒ[ƒ“ƒgƒ{ƒbƒNƒXŽĀ‘•‚Ə­‚ĩŽd—l•ύXB +ƒ‰ƒ“ƒ_ƒ€‚ŃAƒCƒeƒ€‚ð“ū‚é•Ļ‚ÉƒfƒtƒHƒ‹ƒg‚ŏo‚éƒAƒCƒeƒ€‚ðÝ’č‚Å‚Ŧ‚邿‚Ī‚É•ÏXBĄ‚ĖŽd—l‚Å‚Í1000‰ņ‚܂ŃAƒCƒeƒ€‚Š‘I‘ð‚ģ‚ę‚ȂЂÁ‚―‚įƒfƒtƒHƒ‹ƒgƒAƒCƒeƒ€‚Šo‚邿‚΂ɂȂÁ‚Ăǂ܂·BƒfƒtƒHƒ‹ƒgƒAƒCƒeƒ€‚Š0‚Ėę‡‚̓AƒCƒeƒ€‚ð“ū‚į‚ę‚Ü‚đ‚ņB +Ý’č‚·‚éŠm—Ķ‚ð*1000‚Đ‚į*10000‚ɕύXB‚―‚ūitem_~.txt‚ĖCģ‚Í‚â‚Á‚Ăǂ܂đ‚ņB’N‚Đ‚â‚Á‚Ä‚­‚ū‚ģ‚ǁB(‘ž—Í–{Šč) + itemdb.c + temdb_read_randomitem() CģB + itemdb_searchrandomid() CģB + item_purplebox.txt ‚Đ‚į item_violetbox.txt ‚ɏCģB + item_giftbox.txtAitem_scroll.txt ’Į‰ÁB(move‚ģ‚ņ‚ ‚肊‚Æ‚ĪB) + item_db.txt + ŒÃ‚ĒŠŠ•ĻAƒvƒŒƒ[ƒ“ƒgƒ{ƒbƒNƒX CģB +Etrade.c + trade_tradecommit() CģBpc_delitem()‚ðŽg‚Ī‚æ‚Ī‚É•ÏXB +ĶƒeƒXƒg‚Í‚â‚Á‚Ăǂ܂đ‚ņ‚˂Ŗâ‘肊‚ ‚Á‚―‚į•ņ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB + +-------------- +//0473 by Kuro + +Eclass_equip_db‚ðˆę•”Cģ + db/class_equip_db.txt + +-------------- +//0471 by hoenny + +ŧ˜B‚ĖŽžo‚é•ķ‚ð•Ï‚Ķ‚é‚ą‚Æ‚Š‚Å‚Ŧ‚邿‚΂ɂĩ‚Ü‚ĩ‚―.(map_athena.conf‚Å’ēß‰Â”\) +‹CŒũ‚ː”Žš‚ŠŽsœD‚ĖŽžŽĀÛ…˜H•\ŽĶ}—ΏCģ + conf/map_athena.conf + refine_posword:’Į‰ÁB + map/map.c + map_config_read()CģB + map/script.h + do_set_posword()’Į‰ÁB + map/script.c + do_set_posword()’Į‰ÁB + buildin_getequipname()CģB + map/skill.c + skill_status_change_start()CģB + +-------------- +//0470 by Ž€_ + +Eŧ‘Ē‚ĖŽž‘ېŦÎ‚Š“ņ“xŒļ‚é–â‘čCģB(ŽĀ‚Í“ņ“xŒļ‚邿‚Ī‚ÉŒĐ‚Ķ‚é‚ū‚Ŋ‚Ń}ƒbƒv‚ðˆÚ“Ū‚·‚邯ģ‚ĩ‚­•\ŽĶ‚ģ‚ę‚Ü‚·‚Š...) + pc.hApc.c + pc_delitem() CģB + npc.cAscript.cAstorage.cApet.c + pc_delitem()‚ð‘S‚ďCģB + skill.c + skill_produce_mix() CģB + +-------------- +//469 by ”g˜Q + +Enpc_mob_job.txtAnpc_monster.txtAnpc_monster30.txtAmob_db.txt‚Ėƒ‚ƒ“ƒX–ž‚ðCģ +Eitem_db.txt‚ˉņ•œƒAƒCƒeƒ€‚ˉņ•œ—Ę‚ðƒWƒ…ƒm[Œã‚Ė‚ā‚Ė‚ÉCģ + +-------------- +//468 by Kuro + +E–‚Œ•ŧėƒNƒGƒXƒg’Į‰Á + conf/npc_event_ma_sword.txt + +-------------- +//467 by nini + +EBB‚Š—žŽčŒ•‚Å‚ĩ‚Đ”­“Ū‚ĩ‚ȂЂÁ‚―‚Æ‚ą‚ëCģĻ‚·‚Ũ‚Ă˕Ší‚Å +EAR‚Š—žŽč•€‚Å‚ĩ‚Đ”­“Ū‚ĩ‚ȂЂÁ‚―‚Æ‚ą‚ëCģĻ•ÐŽč•€A—žŽč•€A“ÝŠí +EƒXƒsƒAƒNƒCƒbƒPƒ“”­“Ū‚ð‘„‚ū‚Ŋ‚É +EƒLƒƒƒXƒgƒLƒƒƒ“ƒZƒ‹‚ģ‚ę‚Ȃǂā‚Ė‚ÉƒOƒ‰ƒ“ƒhƒNƒƒXAƒ[ƒO‚ĖƒXƒgƒŠƒbƒvƒVƒŠ[ƒY’Į‰Á +EƒuƒŠƒbƒcƒr[ƒg‚ŠƒLƒƒƒXƒgƒLƒƒƒ“ƒZƒ‹‚ģ‚ę‚Č‚­‚Č‚Á‚Ä‚―“_Cģ + map/skill.c + skill_use_id()@Cģ + skill_check_condition()@Cģ +E2-2EƒXƒLƒ‹‚ĖƒLƒƒƒXƒgEƒfƒBƒŒƒC’Į‰Á + db/cast_db.txt + + +-------------- +//466 by hoenny + +EˆĒC—…”e–PŒCģ(ŒöŽŪCģ‹y‚Ņ spÁ–Õ‚Š‚·‚ŪŒĐ‚Ķ‚é‚æ‚Ī‚É) +E’~‹C‚ĖŽž‹C’e‚ŠŒĐ‚Ķ‚é‚æ‚Ī‚ÉCģ(Mr.NO NAME—l‚ĖƒpƒPî•ņ‚ ‚肊‚Æ‚Ī‚ē‚ī‚ǂ܂·.‹C’e‚ŠÁ‚Ķ‚éƒpƒPî•ņ‚Š•s‘Ŧ‚Å‚·.) +EƒpƒŠ‚ˉH‚âƒeƒŒƒ|[ƒg1‚ð˜A‘ąŽg—p‚ĖŽž,ŽIƒI[ƒo[‚Š”­ķ‚ĩ‚Ȃǂæ‚΂ɉž‰‚߂ŏCģ + doc/client_packet.txt + 0x1e1ƒpƒPî•ņ’Į‰Á + 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 Ž€_ + +EƒŠƒUƒŒƒNƒVƒ‡ƒ“‚ƃnƒCƒfƒBƒ“ƒOAƒuƒŠƒbƒcƒr[ƒg‚ĖƒoƒOCģB(ƒuƒŠƒbƒcƒr[ƒg‚Í•ņ‚͂ȂЂÁ‚―‚˂ł·‚Š•ŠÍ‚ĩ‚―‚į–â‘肊‚ ‚Á‚―‚Ė‚ÅCģB) + skill.c + skill_use_id() CģB + skill_castend_nodamage_id() CģB +E0455‚ĖNPC‚ðŒģ‚É–ß‚ĩ‚Ü‚ĩ‚―B + npc_event_ice.txt CģB + npc_event_potion.txt CģB + npc_town_geffen.txt CģBi454‚˕ςɖ߂ĩ‚Ü‚ĩ‚―Bj +E0451‚Ėƒŋƒ}ƒbƒv‚ðƒRƒ}ƒ“ƒgƒAƒEƒg‚ĩ‚Ü‚ĩ‚―B•K—v‚Č•û‚̓Rƒ}ƒ“ƒgƒAƒEƒg‚ð‚Č‚­‚ĩ‚ÄŽg‚Á‚Ä‚­‚ū‚ģ‚ǁB + map_athena.conf CģB +EƒŠƒUƒŒƒNƒVƒ‡ƒ“‚Í0442‚Ė–â‘č‚ŃnƒCƒfƒBƒ“ƒOAƒuƒŠƒbƒcƒr[ƒg‚Í0445‚Ė–â‘č‚Å‚ĩ‚―B‚ŧ‚悯0445‚ĖCģ‚ŃXƒLƒ‹”ԍ†‚ðenum‚ŐéŒū‚ĩ‚―•ķŽš‚É•Ï‚Ķ‚Ä‚Ē‚Ü‚·‚Š‚ŧ‚ę‚É—Ž‚Æ‚ĩ‚Š‚ ‚邿‚΂ł·B(ƒnƒCƒfƒBƒ“ƒOAƒuƒŠƒbƒcƒr[ƒg‚Í‚ŧ‚Ė‚đ‚ǂłĩ‚―B)‘O‚Ė”Ô†ƒ\[ƒX‚Æ”ä‚Ũ‚Ä–â‘肊‚ ‚é•”•Š‚ÍCģ‚·‚é•K—v‚Š‚ ‚č‚Ü‚·B‚ŋ‚å‚Á‚Æ–Ę“|‚Å‚·‚Š... + +-------------- +//464 by ”g˜Q + +Eƒ‚ƒ“ƒNƒXƒLƒ‹‚Ė•”•Š‚É‚Â‚Ē‚ÄCģ(–ĒŽĀ‘•ƒXƒŒ‚ɏ‘‚Đ‚ę‚Ăǂ―‚ā‚Ė‚ð’Į‰Á‚ĩ‚―‚ū‚Ŋ‚Å‚·B + skill.c + skill_use_id()Cģ + cast_db.txt + ƒ‚ƒ“ƒNƒXƒLƒ‹’Į‰Á + +-------------- +//463 by ŒÓ’ą—– + +E462‚ĖƒoƒOCģ + ENPC‚ĖSHOP‚Ė•s“s‡Cģ + EREADME‚ĖŠÔˆá‚ĒCģiwarpwaitingpc‚Šwarpwaitingroom‚ɂȂÁ‚Ăǂ―j + + map.h + struct npc_data‚Ėchat_id‚ĖˆĘ’u‚ðCģ + +-------------- +//462 by ŒÓ’ą—– + +ENPCƒ`ƒƒƒbƒgėŽ + Ewaitingroom–―—ß‚ÅNPCƒ`ƒƒƒbƒg‚ðėŽ‚ĩ‚Ü‚·B + ˆø”‚Í waitingroom "ƒ`ƒƒƒbƒg–ž",§ŒĀl”,ƒCƒxƒ“ƒg–ž ‚Å‚·B + ƒCƒxƒ“ƒg–ž‚͐l”‚ŠÅ‘å‚ɂȂÁ‚―‚Æ‚Ŧ‚É‹N‚ą‚·ƒCƒxƒ“ƒg–ž‚ŁAČ—Š‰Â”\B + Ewarpwaitingpc–―—߂ŁAƒ`ƒƒƒbƒg“ā‚ɂǂéPC‘Sˆõ‚ðƒ[ƒv‚Å‚Ŧ‚Ü‚·B + ˆø”‚Íwarp‚Æ“Ŋ‚ķ‚ŁAwarpwaitingpc "ƒ}ƒbƒv–ž",x,y ‚Å‚·B + + map.h + struct npc_data‚Æchat_data‚ðCģ + script.c + buildin_waitingroom(),buildin_warpwaitingpc()’Į‰Á + chat.c/chat.h + FXCģ + clif.c + clif_getareachar_npc()Aclif_joinchatok()‚Č‚ĮCģ + +ENPC‚ĖOnInitƒCƒxƒ“ƒg‚ðƒT[ƒo[‹N“ŪŽž‚ɌĂԂæ‚΂ɁB +EƒGƒNƒXƒ|[ƒg‚·‚邯‚Ŧ‚ĖNPC–ž‚Æ•\ŽĶã‚ĖNPC–ž‚ð•ʁX‚ɐݒč‰Â”\‚ɁB + E“Ŋ‚ķNPC–ž‚ĖƒCƒxƒ“ƒg‚͏d•Ą‚Å‚Ŧ‚Ȃǂ―‚߁AƒGƒNƒXƒ|[ƒg—pNPC–ž‚ðŽg‚ǁA + “Ŋ‚ķNPC–ž‚Å‚ā•Ę‚ĖNPC‚Æ‚ĩ‚ÄŽŊ•ƂłŦ‚邿‚΂ɂĩ‚Č‚Ŋ‚ę‚΂Ȃč‚Ü‚đ‚ņB + (‚ā‚ŋ‚ë‚ņAƒCƒxƒ“ƒgˆ—‚ðs‚í‚Č‚Ēę‡‚Í‚ŧ‚Ė•K—v‚Í‚ ‚č‚Ü‚đ‚ņB) + Enpc_*.txt‚Ėscript–―—ß‚ÅNPC‚Ė–ž‘O‚ðÝ’č‚·‚邯‚ŦA + u•\ŽĶ–ž::ƒGƒNƒXƒ|[ƒg–žv‚Æ‚·‚邯A•\ŽĶ‚·‚é–ž‘O‚ƁAƒCƒxƒ“ƒg—p‚É + ƒGƒNƒXƒ|[ƒg‚·‚é–ž‘O‚ð•ʁX‚ÉŽw’č‚Å‚Ŧ‚Ü‚·B + •\ŽĶ–ž‚Š‘S‚­“Ŋ‚ķ•ʁX‚ĖNPC‚ŃCƒxƒ“ƒg‚ð“Ūė‚ģ‚đ‚邯‚Ŧ‚ÉŽg—p‚ĩ‚Ü‚·B + E‚â‚₹‚ĩ‚ǂ˂ÅPVP‚ĖnpcƒXƒNƒŠƒvƒg‚ðŒĐ‚ă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_dataCģ + +EƒXƒNƒŠƒvƒggetmapusersAgetareausers‚Ė’v–―“I‚ČƒoƒOCģ + EŠY“–ƒ}ƒbƒv‚Š‘ķÝ‚ĩ‚Č‚Ēę‡Aƒ}ƒbƒvƒT[ƒo[‚Š—Ž‚ŋ‚é‚Ė‚ðCģB + Eƒ}ƒbƒv‚Š‘ķÝ‚ĩ‚Č‚Ē‚ÆA-1‚ð•Ô‚·‚æ‚΂ɂĩ‚―B + + script.c + buildin_getmapusers(),buildin_getareausers()Cģ + +Epvp‚ĖƒXƒNƒŠƒvƒgCģ + Eƒ`ƒƒƒbƒgƒ‹[ƒ€‚ðė‚邿‚΂ɂĩ‚― + + (conf/) + npc_pvproom.txt + ‘S‚Ä‚ĖNPC‚ĖƒGƒNƒXƒ|[ƒg–ž(pvp??r)Ý’č + OnInit:‚Åwaitingroom‚ðŽĀs‚·‚邿‚Ī‚É + +-------------- +//461 by Kuro +EƒAƒRƒ‰ƒCƒg“]EƒNƒGƒXƒgˆę•”Cģ + conf/npc_job_aco.txt + +-------------- +//460 by sagitarius +Eitem_db‚ĖŠÔˆá‚ĒCģ + 4032,Ambernite_Card,ƒAƒ“ƒo[ƒiƒCƒgƒJ[ƒh,6,20,,10,,2,,,,,32,,,,{},{},,Cģ + +-------------- +//459 by hoenny +EƒAƒhƒŒƒiƒŠƒ“ƒ‰ƒbƒVƒ…Žg—p‚ĖŽž•€ƒ`ƒFƒbƒN(ŽĐ•Š‚ū‚Ŋ) +EOld_Blue_Box‚ĖŠm—Ķ‚Š‚‚Ē‚Æ‚Ē‚Ī•ņ‚É‚æ‚Á‚ďCģ +EScript.c‚Í0455ˆČ‘O‚ą‚Æ‚ňøŠ·(NPC‚ð‚ą‚ą‚ɍ‡‚í‚đ‚ďCģ‚ĩ‚Ä‚­‚ū‚ģ‚Ē) +EˆĒC—…”e–PŒCģ(ŒöŽŪ‚ðCģ‚ĩ‚―‚ņ‚Å‚·‚Š, ģŠm‚Đ‚Í‚æ‚­•Š‚Đ‚į‚Ȃǂł·‚Ë.) +EC“đ‘m‚Ė’~‹C,”šŠú‚ˉžŽĀ‘•.(ˆĒC—…”e–PŒŽg—p‚ĖŽž’~‹C,”šŠúó‘Ô‚ðƒ`ƒFƒbƒN‚ĩ‚Ü‚·. ) +EƒyƒRƒyƒR‚ɏæ‚Á‚―Œã‚ɁAADPD‚ŠŠÔˆá‚Á‚―‚ą‚ÆCģ(ƒoƒO‚ð’ž‚ĩ‚Ä‚ ‚°‚―‚Š, ’ž‚·‘O‚ą‚Æ‚ɕςí‚é‚đ‚ǂł܂―Cģ) +‚ŧ‚ĖŠO‚É‚āCģ‚ð‚ĩ‚―‚æ‚Ī‚Č‚Ė‚ÉŠo‚͂Ȃǂł·‚Ë.‚ŧ‚ĩ‚ÄŒë‚Á‚―•”•ЂЂ ‚ę‚ÎŽw“E‚ĩ‚Ä‚­‚ū‚ģ‚Ē. + conf/npc_event_ice.txt + checkweightCģ + conf/npc_town_geffen.txt + checkweightCģ + db/item_purplebox.txt + Old_Blue_BoxCģ + 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 +EƒAƒRƒ‰ƒCƒg“]EƒNƒGƒXƒg’Į‰Á + conf/npc_job_aco.txt + ‰ï˜b•ķ‚Š•Š‚Đ‚į‚ȂЂÁ‚―‚˂œK“–‚É‚ĩ‚Ä‚ ‚č‚Ü‚·B‚Ü‚―ANPC‚ĖŠOŒĐ‚Ė•Ï‚Ķ•û‚Š•Š‚Đ‚į‚ȂЂÁ‚―‚˂œK“–‚É‚ĩ‚Ä‚ ‚č‚Ü‚·B + •Š‚Đ‚é•û‚͏Cģ‚ĩ‚Ăςǂĉš‚ģ‚ǁB + +-------------- +//0457 by Kalen + +EPVPŠÖ˜A‚ĖNPC’Į‰Á + conf/npc_pvp.txt + conf/npc_pvproom.txt + +-------------- +//0456 by Ž€_ + +Eƒ‚ƒ“ƒXƒ^[‚ĖÅ‰UŒ‚ŽžŠÔ‚Š’·‚·‚Ž‚é–â‘čCģB +ƒ‚ƒ“ƒXƒ^[‚ĖÅ‰UŒ‚ŽžŠÔ‚ðĄ‚Ü‚Å‚Ímob_db‚ĖaDelay‚ðŽg‚Á‚Ăǂ܂ĩ‚―‚Š‚ą‚ę‚ðaMotion‚ɕύX‚ĩ‚Ü‚ĩ‚―BĄ‚܂łÍmob_db‚ĖaMotion‚̓Sƒ~‚Å‚ĩ‚―‚ŠĄ“x‚Đ‚į‚̓Sƒ~‚ł͂ ‚č‚Ü‚đ‚ņBaMotion‚ģ‚͐ģ‚ĩ‚Ŋ‚ę‚΃‚ƒ“ƒXƒ^[‚ĖUŒ‚‚Ėƒ‚[ƒVƒ‡ƒ“‚Ė‘O‚Ƀ_ƒ[ƒW‚Šo‚Ä‚­‚é–â‘č‚ā‚Č‚­‚Č‚é‚Í‚ļ‚Å‚·B + mob.c + mob_changestate() CģB +EƒAƒCƒeƒ€‚ð“üŽč‚Å‚Ŧ‚Č‚ĒŽž‚ŧ‚Ė——R‚É“–‚―‚郁ƒbƒZ[ƒW‚Šo‚邿‚Ī‚É•ÏXB + pc.c + pc_additem() CģB +Ejob_db1.txt‚˂Ŗâ‘č‚ɂȂÁ‚―.‚ð,‚ɏCģB + +-------------- +//455 by Mr.NO NAME +ENPC‚Æ‚ĖƒAƒCƒeƒ€ŒðŠ·‚┃‚Ē•ĻŠÖŒW‚ĖScript‚Šo—ˆã‚Š‚Á‚―“–‰‚Ė +@NPCƒf[ƒ^(npc_event_making.txtAnpc_town_geffen.txt“™)‚ɏæ‚ÁŽæ‚čAˆČ‰š‚ðCģB + conf/npc_event_ice.txt + npc_event_potion.txt + npc_town_geffen.txti454ˆČ‘O‚˕ςɖ߂ĩ‚Ü‚ĩ‚―Bj + map/script.c + buildin_checkweight()‚ðCģB + +-------------- +//454 by Kuro +EƒQƒbƒtƒFƒ“’b–č‰Ū‚Å”ƒ‚Ē•Ļ‚Šo—ˆ‚邿‚Ī‚ÉCģ + conf/npc_town_geffen.txt + +-------------- +//0451 by code +E ĄX‚Å‚·‚ŠƒŋƒNƒ‰ƒCƒAƒ“ƒg‚ɑΉž(ƒŋƒNƒ‰ƒCƒAƒ“ƒg‚Ėdata.grf‚ðadata.grf‚Æ‚ĩ‚Ägrf-files.txt‚Ėadata‚Ė‚Æ‚ą‚ë‚ɏ‘‚ǂĂ­‚ū‚ģ‚Ē) + common/grfio.c + grfio_setadatafile()’Į‰Á + /grfio.h + grfio_setadatafile()’Į‰Á + conf/map_athena.conf + ƒŋƒNƒ‰ƒCƒAƒ“ƒg‚Ėƒ}ƒbƒv‚ð“Į‚ݍž‚Þ‚æ‚Ī‚É•ÏX + /npc_warp_a.txt + ƒŋƒ}ƒbƒv‚Ėƒ[ƒvƒ|ƒCƒ“ƒg‚ĖÝ’č(‚ŋ‚å‚Á‚Æ‚ļ‚ę‚Ä‚é‚Đ‚ā) + /grf-files.txt + ƒŋƒNƒ‰ƒCƒAƒ“ƒg‚Ėdata.grf‚ðadata.grf‚Æ‚ĩ‚Ä“Į‚ݍž‚Þ‚æ‚Ī‚ÉÝ’č + adata: ‚É‹Lq +ĶƒŋƒNƒ‰ƒCƒAƒ“ƒg‚Í +@ttp://www.castledragmire.com/ragnarok/ +@‚ ‚―‚č‚Đ‚į“üŽč‚ĩ‚Ä‚­‚ū‚ģ‚ǁB + +-------------- +//0450 by hoenny +E ‹R•šC—ûŽĀ‘• +E ƒRƒ€ƒpƒ‹ƒVƒ‡ƒ“ƒfƒBƒXƒJƒEƒ“ƒgŽĀ‘• +E ƒfƒBƒXƒJƒEƒ“ƒgEƒI[ƒo[ƒ`ƒƒ[ƒWCģ(”‚Š‚‚Ēę‡ŒvŽZ–@‚ŠŠÔˆá‚Á‚―‚ą‚Æ‚ð’ž‚ĩ‚Ü‚ĩ‚―.) +E “SŒCģ(‘fŽč‚ČŽž‚ā“K—p‚ģ‚ę‚邿‚Ī‚É) +E •€C—ûCģ(•ÐŽč•€‚ČŽž‚ā“K—p‚ģ‚ę‚邿‚Ī‚É) +E ƒ{ƒ“ƒSƒ“‚ŠUŒ‚‚·‚邿‚Ī‚ÉCģ + map/pc.c + pc_calcstatus()Cģ + pc_modifybuyvalue()Cģ + pc_modifysellvalue()Cģ + map/battle.c + battle_addmastery()Cģ + db/mob_db.txt + ƒ{ƒ“ƒSƒ“Cģ + +-------------- +//0449 by Ž€_ + +E•Ï‚É‚Č‚Á‚―ŠCģB + const.txt + bAtk‚ÆbDef ’Į‰ÁB + battle.c + battle_calc_weapon_attack()‚ðŒģ‚É–ß‚ĩ‚Ü‚ĩ‚―B(0445‚Ė•Ļ) + map.h + map_session_data‚ðŒģ‚É–ß‚ĩ‚Ü‚ĩ‚―B(0445‚Ė•Ļ) + pc.c + pc_calcstatus() CģB + pc_bonus() CģB + item_db.txt‚ðŒģ‚É–ß‚ĩ‚Ü‚ĩ‚―B(0446‚Ė•Ļ) + +-------------- +//0448 by hoenny +E‘‘ŽCģ(pc_walk()‚Đ‚į pc_calcstatus()‚ɈړŪ) +EÅ‘åŠŽ—ʏCģ + map/pc.c + pc_calcstatus()CģB + +-------------- +//0447 by ‚ä‚Ī +E“ņ“—ށE–î‚ˑېŦ‚ðģ‚ĩ‚­“K‰ž +EATK‚Ėã‚Š‚éƒJ[ƒh‚ĖŒø‰Ę‚𕐊íƒTƒCƒYCģ‚Č‚ĩ‚Ė’ęã‚°‚ɕύX +EATKEDEF‚Ėã‚Š‚éƒJ[ƒh‚ĖŒø‰Ę‚Ė“K‰ž‚ĖŽd•û‚ð•ύX + +map.h + map_session_data‚Écatk(ƒJ[ƒhATK)‚ð’Į‰Á + +pc.c + pc_calcstatus() + ƒAƒTƒVƒ“‚Ė“ņ“—Ž‚ĖUŒ‚‘Ž“x‚ðCģ‚ĩ‚― + ƒXƒNƒŠƒvƒg‚É‚æ‚é‘ېŦ‚ðķ‰Eģ‚ĩ‚­“K‰ž‚·‚邿‚΂ɂĩ‚― + –î‚ˑېŦ‚ðģ‚ĩ‚­“K‰ž‚·‚邿‚΂ɂĩ‚―i‹|‚ˑېŦ—Dæj + ‚―‚ū‚ĩA–‚·‚Ũ‚Ä‚ĖUŒ‚‚É“K‰ž‚ģ‚ę‚Ü‚· + ƒJ[ƒhATK‚Ėˆ—‚ð’Į‰Á‚ĩ‚― + +battle.c + battle_calc_weapon_attack() + ƒJ[ƒgATK‚ð’ęã‚°ƒ_ƒ[ƒW‚Æ‚ĩ‚ÄŒvŽZ‚·‚邿‚΂ɂĩ‚― + +item_db.txt + ƒJ[ƒh‚Ė bonus bAtkAbDef ‚ðíœ + ‚Đ‚í‚č‚ɁA‘•”õ‚Æ“Ŋ—l‚ÉATK‚ÆDEF‚ðÝ’č + i•ύX‘O‚ðitem_db2.txt‚Æ‚ĩ‚Ăǂé‚˂ŁA•s‹ï‡‚Š‚ ‚ę‚Ζ߂ĩ‚Ä‚­‚ū‚ģ‚ǁj + + +-------------- +//0446 by hoenny +Eƒ~ƒXƒgƒŒƒXƒJ[ƒhŽĀ‘•B +EƒXƒLƒ‹Žg—p‚ĖŽžƒWƒFƒ€ƒXƒg[ƒ“Á”ïB +EƒXƒLƒ‹Žg—p‚ĖŽž‘•”õƒ`ƒFƒbƒNB(ƒnƒ“ƒ}[ƒtƒH[ƒ‹‚ū‚ŊCģ‚ĩ‚æ‚Ī‚Æ‚ĩ‚―‚Š...) +Eƒnƒ“ƒ}[ƒtƒH[ƒ‹‚Ė”ÍˆÍ‚ð ”žŒa5ƒZƒ‹(‘S25ƒZƒ‹)ƒCģ + map/skill.c + skill_check_condition()CģB + skill_castend_pos2()CģB + +Eƒ~ƒXƒgƒŒƒXƒJ[ƒhCģB + db/item_db.txt + +-------------- +//0445 by Aya + +EŠî–{ASPD‚ÆŒvŽZˆ—‚ðCģB + db/job_db1.txt + map/pc.c +ESPŒW”‚ÆŒvŽZˆ—‚ðCģB + db/job_db1.txt + map/pc.c +EƒXƒLƒ‹–ž‚ðenum‚ŐéŒū‚ĩA‚ŧ‚ę‚ðŽg‚Ī‚æ‚Ī‚É•ÏXB + map/skill.h + map/battle.c + map/pc.c + map/skill.c +EƒŠƒJƒoƒŠ[‚ĖƒXƒLƒ‹ID‚ŠƒXƒ[ƒ|ƒCƒYƒ“‚ɂȂÁ‚Ăǂ―‚Ė‚ðCģB + map/skill.c +EW’†—ÍŒüã‚ɃJ[ƒhŒø‰Ę‚Š“K—p‚ģ‚ę‚Ăǂ―–â‘č‚ĖCģB + map/pc.c +EƒŠƒ€[ƒuƒgƒ‰ƒbƒvAƒXƒvƒŠƒ“ƒOƒgƒ‰ƒbƒvAƒ|ƒCƒYƒ“ƒŠƒAƒNƒg‚Ėƒ^[ƒQƒbƒg‚ðCģB + db/skill_db.txt +EGMƒAƒJƒEƒ“ƒg‚ðjRO‚Ėclientinfo.xml‚Đ‚į’Į‰ÁB + conf/GM_account.txt +EwarningCģB + map/party.c +EƒLƒƒƒ‰ƒZƒŒ”FØŽž‚Élogin_id2‚̓`ƒFƒbƒN‚ĩ‚Ȃǂæ‚Ī‚É•ÏXB + login/login.c +Eobject_def.batˆČŠO‘Sƒtƒ@ƒCƒ‹‚ˉüsƒR[ƒh‚ðLF‚ɕύXB +E*.cnfƒtƒ@ƒCƒ‹‚ð*.confƒtƒ@ƒCƒ‹‚É–ž‘O•ύXB + +-------------- +//0444 by Ž€_ + +EGMƒRƒ}ƒ“ƒh‚â@ƒRƒ}ƒ“ƒh‚ɃRƒ}ƒ“ƒh•ʂɎg—pƒŒƒxƒ‹‚ðÝ’č‚Å‚Ŧ‚邿‚Ī‚É•ÏX‚Æ@ƒRƒ}ƒ“ƒh­‚ĩCģB(@where‚Æ@dayA@night‚ĖCģ‚Æ‘ž‚ĖƒLƒƒƒ‰‚ÉŽg‚ĪƒRƒ}ƒ“ƒh‚Ėę‡GMƒŒƒxƒ‹‚ŠŽĐ•ŠˆČã‚Ėę‡Žg‚͂Ȃǂæ‚Ī‚ÉCģB) + atcommand.h CģB + atcommand.c CģB + clif.c CģB + map/makefile CģB + map.c + do_init() CģB + conf/atcommand_athena.cnf ’Į‰ÁB +EŨ‚Đ‚ĒCģB + pc.c + pc_setghosttimer()Apc_skill() CģB + script.c + buildin_skill() CģB +Econf_ref.txt CģB +Eitem_db.txt + ”ޏ—‚Ė‘z‚ĒCģB + +-------------- +//0442 by ŒÓ’ą—– + +E‘‘Žƒ|[ƒVƒ‡ƒ“ŽĀ‘• + ELv‚âE‹Æ”ŧ’č‚͍s‚ǂ܂đ‚ņ + + (db/) + const.txt + SC_SpeedPot0,SC_SpeedPot1,SC_SpeedPot2’Į‰Á + item_db.txt + ‘‘Žƒ|[ƒVƒ‡ƒ“‚ĖƒXƒNƒŠƒvƒg’Į‰Á + (map/) + skill.c + skill_status_change_start()Cģ + pc.c + pc_calcstatus()Cģ + +EPvPƒVƒXƒeƒ€‚ˉžŽĀ‘• + Epvpƒ}ƒbƒv‚Å‚ÍŽĐ“Ū“I‚ɁAPC‚Ėpvpƒtƒ‰ƒOonA‡ˆĘ’Ę’m‚Č‚Į‚ðs‚ǂ܂·B + Eƒ}ƒbƒv‚Épvpƒtƒ‰ƒO‚ð‚‚Ŋ‚éƒTƒ“ƒvƒ‹‚ðnpc_pvp.txt‚Æ‚ĩ‚Ä“Y•t‚ĩ‚Ăǂ܂·B + Epvp‚ĖÚ‚ĩ‚Ēƒ‹[ƒ‹‚Š‚æ‚­‚í‚Đ‚į‚ȂЂÁ‚―‚˂ŁAŽŸ‚Ė‚æ‚΂ɂĩ‚Ăǂ܂·B + EÅ‰‚ĖŽ‚ŋ“_‚Í5“_A“|‚·‚Æ1“_A“|‚ģ‚ę‚邯-5“_B + E0“_ˆČ‰š‚ĖPC‚ÍƒŠƒUƒŒƒNƒVƒ‡ƒ“‚ŠŠ|‚Đ‚į‚Č‚Ē + EGM‚Ípvpƒ}ƒbƒv‚ɂǂĂā‘ŦŒģ‚ɃT[ƒNƒ‹‚ŠoŒŧ‚ĩ‚Ȃǂæ‚΂ł·B + iƒNƒ‰ƒCƒAƒ“ƒg‚ĖŽd—lHj + Epvpƒ}ƒbƒv‚Å@pvpoff/@pvp‚·‚邯‹xŒe‚ĩ‚―‚čA‹xŒe‚ð‚â‚ß‚―‚č‚Å‚Ŧ‚Ü‚·‚ЁA + Žg—p‚·‚é‚Ũ‚Ŧ‚ł͂ ‚č‚Ü‚đ‚ņB + + (conf/) + npc_pvp.txt + pvpƒtƒ‰ƒO‚ð“ü‚ę‚éƒTƒ“ƒvƒ‹B + nosaveƒtƒ‰ƒO‚âŽó‚Ŋ•t‚Ŋnpc‚Č‚Į‚ð’Į‰Á‚·‚邯‚æ‚Ē‚ÆŽv‚í‚ę‚éB + (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‚ŃXƒy[ƒX‚Ė“ü‚Á‚―ƒLƒƒƒ‰ƒNƒ^[‚āŽw’č‚Å‚Ŧ‚邿‚Ī‚É + E@kamibƒRƒ}ƒ“ƒh•œŠˆiÂ•ķŽš“V‚ːšj + E”ņPVP‚Ė‚Æ‚Ŧ‚ɁA‘ÎÛ‚Š“G‚ĖƒXƒLƒ‹Žg—pŽžA“G–Ą•û”ŧ’č‚ðs‚Ī‚æ‚Ī‚É + + skill.c + skill_castend_id()‚Å“G–Ą•û”ŧ’č + atcommand.c + ŠeƒRƒ}ƒ“ƒhCģ + +-------------- +//0440 by ’†‚ːl + +E–{‰Æ‚ðÄŒŧ‚·‚é•ûŒü‚Č‚įˆÓ–Ą‚Í‚Č‚Ē‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņ‚Š +@pc.cuƒXƒNƒŠƒvƒg‚É‚æ‚éƒXƒLƒ‹Š“ūv‚ðŽáŠą•ύX‚ĩ‚Ä + ƒJ[ƒh‚É‚æ‚éƒXƒLƒ‹ˆęŽžK“ū‚ĖÛ‚Å‚ā1ƒŒƒxƒ‹ˆČã‚ðÝ’č‚Å‚Ŧ‚邿‚΂ɒv‚ĩ‚Ü‚ĩ‚―B + +@’Pƒ‚É•„†‚ð•Ï‚Ķ‚Ä‚ē‚܂Ђĩ‚―‚ū‚Ŋ‚Å‚·‚˂Š+@•K—v‚É‚ ‚í‚đ‚ďCģ‚ð‚ĩ‚ĉš‚ģ‚ǁB + +-------------- +//0439 by hoenny +EˆĒC—…”e–PŒ‚ĖCģB + db/skill_db.txt +Eƒ‚ƒ“ƒXƒ^[î•ņ‚ĖCģB + map/clif.c +EŒĐØ‚č‚ĖŽĀ‘•B + map/pc.c + +-------------- +//0438 by ‚`‚ːl +EŒÃ–Ø‚ĖŽ}‚ŠŽg‚Ķ‚éęŠ‚ð‚m‚o‚bƒXƒNƒŠƒvƒg‚Đ‚į§Œä‰Â”\ +@mapflag‚Énobranch‚Æ‚·‚ę‚΂ŧ‚Ėƒ}ƒbƒv‚ÍŒÃ–Ø‚ĖŽ}Žg—p•s‰Â‚ɂȂč‚Ü‚·B + map.h + enum‚ÉMF_NOBRANCH ’Į‰ÁB + npc.c + npc_parse_mapflag() CģB + pc.c + pc_useitem() CģB +ƒ\[ƒX‰˜‚­‚ĩ‚Ä‚ĩ‚Ü‚Á‚―‚Đ‚āEEE. +•Ũ‹­•s‘Ŧ‚Å‚· + +-------------- +//0437 by ”g˜Q +Eitem_db.txt‚ˉp–ž‚ð‘啝CģB(s•t‚Ŧ‚Æ‚ŧ‚΂łȂǕŠí‚ˉp–ž‚Š‚Ē‚Â‚ĖŠÔ‚É‚â‚į +@“Ŋ‚ķ‚ɂȂÁ‚Ăǂ―‚˂łŧ‚ę‚ð’ž‚·‚Â‚Ē‚Å‚É‘ž‚Ė•”•Š‚āCģ‚ĩ‚Ü‚ĩ‚―B + ‚Ü‚Á‚―‚­ˆá‚Ī–ž‘O‚ɂȂÁ‚Ä‚é‚ā‚˂₠‚č‚Ü‚·‚ЁA‚ą‚Á‚ŋ‚Ė•û‚Аģ‚ĩ‚Ē‚ÆŽv‚ǂ܂·B +Eitem_purplebox.txt‚ð–{‰ÆŽd—l‚Á‚Û‚­ėŽ(‘å‘Ė‚ą‚ņ‚ČŠī‚ķ‚Đ‚Æ +EƒAƒ‹ƒxƒ‹ƒ^‚ƃCƒYƒ‹[ƒhNPC‚ðCģ + +-------------- +//0436 by hoenny +Emorocc •óÎĪl‚ĖCģ + conf/npc_shop.txt +Eƒnƒ“ƒ}[ƒtƒH[ƒ‹‚ĖŽĀ‘•(Alchemistށƒ\[ƒX‚ðŽQÆ‚ ‚肊‚Æ‚ĪI) + map/skill.c +ˆČ‘O‚É•ķŽš‰ŧ‚Ŋ‚Í’á‚Ė‚đ‚Ē! +ŽŸ‚Đ‚į‹C‚ð•t‚Ŋ‚Ü‚·. + +-------------- +//0434 by Avethes + +Eƒ^[ƒgƒ‹ƒAƒCƒ‰ƒ“ƒh‚֍s‚­NPCCģ +Eƒ†ƒm[NPCCģ +i‘O‰ņ‚ĖƒoƒO‚Í‚·‚݂܂đ‚ņ‚Å‚ĩ‚―j + +-------------- +//0433 by Ž€_ + +Eŧ‘ĒƒoƒOCģB + ‰―ŒĖ‚Ђ͂í‚Đ‚į‚ȂǂŠskill.c‚Ėskill_readdb()‚Š•Ï‚É‚Č‚Á‚Ăǂ―‚Ė‚ÅCģB(ŽĐ•ЂЂâ‚Á‚―Cģ‚ł͂ ‚č‚Ü‚đ‚ņ‚Š...) + skill.c + skill_readdb() CģB + +-------------- +//0432 by Ž€_ + +E0429‚Åˆę•”‚ĖƒAƒCƒeƒ€‚ĖƒXƒLƒ‹‚Šo‚Ȃǖâ‘čCģB + clif.c + clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() CģB +Eskill.c + skill_use_id() CģB(‘å‚ĩ‚―Cģ‚Å‚Í‚Č‚Ē‚Å‚·B) +Eitem_db.txt‚Ė•ķŽš‰ŧ‚ŊCģBŒūŒęÝ’肊“ú–{Œę‚Å‚Í‚Č‚Ēę‡•Û‘ķ‚·‚鎞‚ɂ͋C‚ð‚‚Ŋ‚Ü‚ĩ‚å‚΁B +EUŒ‚‚ģ‚ę‚―ƒ‚ƒ“ƒXƒ^[‚Ė”―Œ‚‚Š‘‚·‚Ž‚é–â‘čCģBŽn‚ß‚Ä‚ĖUŒ‚‚Šƒ‚ƒ“ƒXƒ^[‚ĖUŒ‚ƒfƒBƒŒƒC‚ÉŠÖŒW‚Č‚­100msŒã‚ɂȂÁ‚Ăǂ―‚Ė‚ÅUŒ‚ƒfƒBƒŒƒC‚ɍ‡‚í‚đ‚邿‚Ī‚É•ÏXB(‚―‚ū­‚ĩ”―Œ‚‚Š’x‚Ē‚ÆŽv‚í‚ę‚―‚č‚ā‚ĩ‚Ü‚·‚Š...) + mob.c + mob_changestate() CģB +EŽI‚ÉÚ‘ą‚·‚éÅ‘ål”‚ðŒˆ‚ß‚é‚æ‚Ī‚É•ÏXB + char.c CģB + conf_ref.txt CģB + char_athena.cnf CģB + +-------------- +//0430 by Avethes + +E‚m‚o‚bŠÖŒWB‚Ų‚Æ‚ņ‚ĮƒeƒXƒgB +–{‰Æ‰ï˜bî•ņ‚Š‘ĩ‚Ķ‚ÎCģB + +-------------- +//0429 by Ž€_ + +EƒMƒ‹ƒh‚ĖƒŒƒxƒ‹ƒAƒbƒv‚ðƒLƒƒƒ‰‚ĖƒŒƒxƒ‹ƒAƒbƒv‚Ė‚æ‚Ī‚É•ÏXB + int_guild.c + guild_calcinfo() CģB + guild_next_exp() ’Į‰ÁB + exp_guild.txt CģB(ƒŒƒxƒ‹‚Šã‚Š‚į‚Ȃǂæ‚΂ɂĩ‚―‚ĒƒŒƒxƒ‹‚Ėexp‚É0‚ð“ü‚ę‚ę‚΂ŧ‚ęˆČã‚ɃŒƒxƒ‹‚Šã‚Š‚į‚Č‚­‚Č‚č‚Ü‚·B) +EƒXƒNƒŠƒvƒgresetstatusAresetskill ’Į‰ÁB + pc.c + pc_resetskill() CģB + script.c + buildin_resetstatus()Abuildin_resetskill() ’Į‰ÁB +E0425‚Ė‘ą‚Ŧ‚ŏ­‚ĩCģB + clif.c + clif_parse_ ‚ð­‚ĩCģB +EƒVƒ‡[ƒgƒJƒbƒg‚ÉŠo‚͂ĂǂéƒXƒLƒ‹ƒŒƒxƒ‹ˆČã‚ĖƒXƒLƒ‹‚Š“o˜^‚ģ‚ę‚ĂǂĂāŠo‚͂ĂǂéƒXƒLƒ‹ƒŒƒxƒ‹‚Ü‚Å‚ĖƒXƒLƒ‹‚ðŽg‚Ī‚æ‚Ī‚É•ÏXB + clif.c + clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() CģB +Eƒƒ‚‚ĖÅ‘å”‚ð10ŒÂ‚ɕύXB(‚ ‚­‚܂łāŠg’Ģ‚ĖˆŨ‚˕ςł·B‚Ü‚ū‹@”\‚Í‚ĩ‚Ü‚đ‚ņB) + mmo.h + struct mmo_charstatus‚Ėmemo_point‚ð3‚Đ‚į10‚ɕύXB + char.c + mmo_char_tostr() CģB +Emob,c + mob_once_spawn()Amob_summonslave() CģB(•Ę‚ÉˆÓ–Ą‚Š‚ ‚éCģ‚ķ‚á‚ ‚č‚Ü‚đ‚ņ‚Š...) +E@monster ƒRƒ}ƒ“ƒh‚ÅĀ•W‚ðŽw’č‚ĩ‚Č‚ĒŽžƒ‚ƒ“ƒXƒ^[‚Šˆę‚ĐŠ‚ÉW’†‚ĩ‚ďo‚é‚Ė‚ðƒLƒƒƒ‰‚Ė10*10ƒ}ƒXˆČ“ā‚Ƀ‰ƒ“ƒ_ƒ€‚ÅŒŧ‚ę‚邿‚Ī‚É•ÏXB + atcomand.c CģB + +-------------- +//0428 by Avethes + +Econf/npc_smilegirl.txt + ƒXƒ}ƒCƒ‹ƒ}ƒXƒNƒK[ƒ‹ƒXƒNƒŠƒvƒgB + 0427‚Ė‚Ļ‚Đ‚ĩ‚Ē•”•Š‚Æ‚ĐCģB + ’ņ‹Ÿ‚ģ‚ę‚―Še“sŽs‚ĖĀ•W‚É”z’uBiNONAME‚ģ‚ņ’ņ‹Ÿ‚ ‚肊‚Æ‚ĪIj + +-------------- +//0426 by ŒÓ’ą—– + +EƒAƒCƒeƒ€‚Ė–ž‘O‚ðdata.grf‚Đ‚į“Į‚ݍž‚Þ‚æ‚΂ɂĩ‚― + itemdb.c‚ĖITEMDB_OVERRIDE_NAME‚ð’č‹`‚ĩ‚Č‚Ŋ‚ę‚ΓĮ‚ݍž‚݂܂đ‚ņB + ITEMDB_OVERRIDE_NAME_VERBOSE‚Íitemdb.txt‚ĖƒfƒoƒO—p‚É‚Į‚Ī‚žB + •’Ę‚Í•Ï‚Ķ‚é•K—v‚Í‚Č‚Ē‚ÆŽv‚΂˂Åbattle_config‚ɂ͓ü‚ę‚Ăǂ܂đ‚ņB + + itemdb.c + itemdb_read_itemnametable()’Į‰Á + do_init_itemdb()Cģ + +Eƒf[ƒ^ƒx[ƒX“Į‚ݍž‚Ý•”‚Ė•sˆĀ’čŦ‚ĖCģ(Œ‹\’v–―“I‚ū‚Á‚―‚Ý‚―‚ǂł·) + ‚Č‚­‚Ä‚ā–â‘č‚Č‚ĒDBiitem_value_db.txt‚Č‚Įj‚Ėƒtƒ@ƒCƒ‹‚Š‚Č‚Ēę‡‚É + ŽI‚Š—Ž‚ŋ‚―‚č‚·‚éŒŧÛ‚Š”­ķ‚ĩ‚Ăǂ―ę‡‚Í‚ą‚ę‚Å’ž‚Á‚Ăǂé‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņ. + + skill.c + skill_readdb()‚ÅNULLƒ|ƒCƒ“ƒ^ƒ`ƒFƒbƒN‚ð’Į‰Á + itemdb.c + item_readdb()‚ð•Ą”‚ɕЂŊ‚―B + ƒ‰ƒ“ƒ_ƒ€ƒAƒCƒeƒ€ƒf[ƒ^ƒx[ƒX‚Ė“Į‚ݍž‚Ý•”‚ð‚P‚‚ɓZ‚ß‚―B + do_init_itemdb()Cģ + +EŨ‚Đ‚ĒƒoƒOCģ + Eƒ[ƒvƒ|[ƒ^ƒ‹‚ĖŠJ‚­‚܂ł˕b”’ēŪ + + skill.c + skill_unitsetting()Cģ + +E‚ŧ‚Ė‘žCģiby –^Mށj + db/job_db1.txt + ‚ŋ‚å‚ą‚Á‚ƏCģ + db/job_db2.txt + 2-2ŽŸE‚Ė‘Ŧ‚č‚Č‚ĒJobƒ{[ƒiƒX‚ð’Į‰Á(ŽQl:R.O.M 776) + conf/npc_town_kafra.txt + ƒI[ƒND‘O‚Æ’Yz‘O‚ɃJƒvƒ‰”z’u(“Ūė–ĒŠm”F) + conf/npc_shop3.txt + ƒWƒ…[ƒm”Ė”„NPC(E‚Ē•Ļ) + conf/npc_town_yuno.txt + ƒWƒ…[ƒmNPC(E‚Ǖςð‰ü—ĮB“Ūė–ĒŠm”F) + +-------------- +//0425 by Ž€_ + +E0419‚ŏ‘‚Ŧ–Y‚ę‚―•ςł·‚ŠƒXƒLƒ‹ƒ‰[ƒjƒ“ƒOƒ|[ƒVƒ‡ƒ“‚ŠSP‰ņ•œƒAƒCƒeƒ€‚É‚āŒø‰Ę‚Š‚ ‚邿‚Ī‚É•ÏXB +EĄ“x‚̓oƒOCģ‚ŠƒƒCƒ“‚Å‚·BŽI—Ž‚ŋ‚ЂȂč‚ŧ‚Ī‚ČŠ‚ĖCģ‚ƃeƒŒƒ|[ƒg‚ĖŽžŽ€‚ņ‚ū‚Ü‚ÜˆÚ“Ū‚Å‚Ŧ‚é–â‘肯0419‚ŃAƒNƒeƒBƒuƒ‚ƒ“ƒXƒ^[‚ːæU–â‘čCģAŽ€‚ņ‚łǂé‚˂ɑž‚ːl‚ɂ͎€‚ņ‚ū‚æ‚Ī‚ÉŒĐ‚Ķ‚Č‚Ē–â‘č‚ĖCģ‚Å‚·B­‚ĩƒeƒXƒg‚Í‚ĩ‚Ü‚ĩ‚―‚Š–{“–‚ÉŽĄ‚Á‚―‚Đ‚Į‚Ī‚Đ‚Í•s–ū‚Å‚·B•ņ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·B + pc.c + pc_attack_timer()Apc_damage()Apc_walk() CģB + map.c + map_quit() CģB + mob_db.txt + ƒrƒbƒOƒtƒbƒg‚Ėmode‚ðCģ(ƒAƒNƒeƒBƒu‚ɂȂÁ‚Ăǂ―ˆŨ) + clif.c + clif_parse_WalkToXY()Aclif_pcoutsight()Aclif_pcinsight()A + clif_getareachar_pc()Aclif_getareachar_mob()Aclif_getareachar_pet() CģB + mob.c + mob_ai_sub_hard_activesearch()Amob_ai_sub_hard_mastersearch()A + mob_walk() CģB + pet.c + pet_walk() CģB + +-------------- +//0424 by hoenny + +EƒNƒŠƒbƒvƒ{[ƒiƒX SP 10’Į‰Á + db/item_db.txt +Ewarp_test_yuno.txt‚ð npc_warp30.txt‚ÉŠÜ‚ņ‚Å, ‚ŋ‚å‚Á‚ƏCģ + conf/npc_warp30.txt +E‘ž‚ĖƒT[ƒo[‚Š—Ž‚ŋ‚Ä‚ā•œ‹Œ‚ģ‚ę‚邿‚Ī‚ÉCģ + /startƒNƒŠƒbƒv + +-------------- +//0420 by g—t + +EEP 3.0‚Å‚ĖƒJ[ƒhŒø‰Ę•ύX‚ɉð‚é”͈͂őΉžB +@‚Ų‚Ú‘S‚Ä‚Ė•ÏX“_‚É‚Â‚Ē‚ÄAo—ˆ‚éŒĀ‚čCģ‚ĩ‚Ä‚ ‚č‚Ü‚·B +@ATKCģ‚Аģ‚ĩ‚­“K—p‚ģ‚ę‚Ăǂ邿‚΂Ȃ˂ŒĮ‰Á‚ĩ‚Ä‚ ‚č‚Ü‚·B(ƒAƒ“ƒhƒŒC‚Č‚Į) + +-------------- +//0419 by Ž€_ + +E0414‚ŏ‘‚Ŧ–Y‚ę‚―•ςł·‚Š MOB‚Ėmode‚Å0x20(32)‚𕜊ˆ‚ģ‚đ‚Ü‚ĩ‚―Bƒ{ƒX‚ķ‚á‚Č‚­‚Ä‚āmode‚É0x20‚Š“ü‚Á‚Ăǂéę‡•’Ę‚ĖMOB‚Å‚āŽ€‚ņ‚ū‚Ó‚č‚ð”j‚ę‚Ü‚·B +(Ą‚ĖŠ‹@”\‚Í‚ŧ‚ę‚ū‚Ŋ‚Å‚·B–{ŽI‚ÍAI‹­‰ŧ‚Ý‚―‚ǂł·‚Š...) ‚―‚ūƒS[ƒXƒg‚̓{ƒX‚Å‚ā”j‚邹‚Ƃ͂łŦ‚Ü‚đ‚ņB +‚ŧ‚悯޿‚芊‚Ŧ‚ĖAI‚ÅŽæ‚芊‚Ŧ‚Šƒ^[ƒQƒbƒg‚ĩ‚―ŽžŽå‚Šƒ^[ƒQƒbƒg‚ĩ‚Ä‚Č‚Ē‚ÆŽå‚ŠŽæ‚芊‚Ŧ‚Ėƒ^[ƒQƒbƒg‚ðƒ^[ƒQƒbƒg‚·‚é•”•Š‚ðƒRƒ}ƒ“ƒgƒAƒEƒg‚ĩ‚Ü‚ĩ‚―B(‚ą‚ꂊ–{ŽI‚É‚ ‚Á‚Ăǂ邯Žv‚ǂ܂ĩ‚―‚Ė‚Å...) +EŒÃ‚ĒÂ‚Ē” AŒÃ‚ĒŽ‡F‚Ė” AŒÃ‚ĒƒJ[ƒh’Ÿ‚ŏo‚éƒAƒCƒeƒ€‚ðƒtƒ@ƒCƒ‹‚Őݒč‚Å‚Ŧ‚邿‚Ī‚É•ÏXB + script.c + buildin_getitem() CģB + item_db.txt + ŒÃ‚ĒÂ‚Ē” AŒÃ‚ĒŽ‡F‚Ė” AŒÃ‚ĒƒJ[ƒh’ŸCģB + item_bluebox.txtAitem_purplebox.txtAitem_cardalbum.txt ’Į‰ÁB(Žg—p—á’ö“x‚˕ςł·B‚Į‚ĖƒAƒCƒeƒ€‚Šo‚邿‚΂ɂ·‚é‚Đ‚ÍŽĐ•Š‚ÅÝ’č‚ĩ‚ÄŽg‚Á‚Ä‚­‚ū‚ģ‚ǁB‚―‚ūƒNƒ‰ƒCƒAƒ“ƒg‚𗎂Ƃ·ƒAƒCƒeƒ€‚͏o‚Ȃǂæ‚Ī‚ÉÝ’č‚ĩ‚Ä‚­‚ū‚ģ‚ǁB) + itemdb.h + struct random_item_data ’Į‰ÁB + itemdb.c + itemdb_searchrandomid()Aitemdb_readdb() CģB +Emob.c + mob_target()Amob_ai_sub_hard() CģB(–â‘肊‚ ‚č‚ŧ‚΂ȕ”•Š‚ū‚ŊCģB) +Epc.c + pc_itemheal()Apc_walktoxy_sub() CģB +Eƒyƒbƒg‚ĖoŒŧ‚ðMOB‚Æ“Ŋ‚킿‚Ī‚É•ÏXB + clif.c + clif_spawnpet() CģB + pet.c + pet_change_name() CģB +E0418‚ð­‚ĩCģB(if•ķ‚ĖðŒ‚ð­‚ĩCģ‚ĩ‚―‚ū‚Ŋ‚Å‚·B) + +-------------- + +//0418 by hoenny +E /mm(/mapmove) /nb /b /bb /resetskill /resetstate GM –―—ߌęŽg—p‚ː§ŒĀ +clif_parse_MapMove ,clif_parse_ResetChar ,clif_parse_GMmessage Cģ + map/clif.c + +-------------- +//0417 by ‚ę‚  + +E0412‚Åitem_db.txt‚Š‚Ļ‚Đ‚ĩ‚­‚Č‚Á‚Ăǂ―‚Ė‚ðCģ + +-------------- +//0416 by g—t + +EƒWƒ…ƒm[Žü•Ó‚Ėƒ[ƒv’č‹`‚Æ“G‚Ė”z’uB +@ƒ[ƒv’č‹`‚Ínpc_warp30.txt‚Æ‚ĩA’Į‰Á‚·‚éŒ`‚É‚ĩ‚Ä‚ ‚č‚Ü‚·B +@“G‚Ė”z’u‚É‚Â‚Ē‚Ä‚ānpc_monster.txt‚Ƃ͓‡‚đ‚ļAnpc_monster30.txt‚Æ‚ĩ‚Ä‚ ‚č‚Ü‚·B +@–â‘肊–ģ‚Ē‚æ‚΂ł ‚ę‚ݍ‡‚ĩ‚ĉš‚ģ‚ǁB +Eã‹L’č‹`ƒtƒ@ƒCƒ‹’Į‰Á‚ɏ]‚Ēmap_athena.cnf‚ð•ύXB +E@goƒRƒ}ƒ“ƒh‚ÖƒWƒ…ƒm[’Į‰ÁB +@—v–]‚Š‚ ‚Á‚―‚æ‚΂Ȃ˂ŒĮ‰Á‚ĩ‚Ü‚ĩ‚―B + +-------------- +//0415 by ’†‚ːl + +EĄ‚Í–S‚Ŧ‹ŒROƒGƒ~ƒ…ŽIŠJ”­ƒXƒŒƒbƒh Lv02‚Å‚ĖŽ€_ށ‚ːā–ū‚ɏ]‚Á‚Ä +@ƒ‚ƒ“ƒXƒ^[’č‹`ƒf[ƒ^‚ðŽáŠą•ύX‚ģ‚đ‚Ä’ļ‚Ŧ‚Ü‚ĩ‚―B + E‰ß‹Ž‚Ėnpc_monster.txt‚Đ‚į’ʏíƒ}ƒbƒvãiƒ‹ƒeƒBƒG“™œ‚­j‚ɂǂéƒTƒ“ƒ^ƒ|ƒŠƒ“AƒAƒ“ƒ\ƒj‚𒊏o‚ĩ + @V‚―‚ɍė‚Á‚―unpc_x-masmonster.txtv‚Ɉړ] + Eã‹L‚ĖCģ‚É‚ ‚í‚đ‚Ämap_athena.cnf‚ðCģB + @map_athena‚ɃRƒƒ“ƒgƒAƒEƒgó‘ԂŁunpc: conf/npc_x-masmonster.txtv‚ð’Į‰Á‚ĩ‚Ü‚ĩ‚―B + @•K—v‚É‚ ‚í‚đ‚ăRƒƒ“ƒgƒAƒEƒg‚ð‚ĩ‚ĉš‚ģ‚ǁB + +-------------- +//0414 by Ž€_ + +Estrcasecmp‚ðstrcmpi‚ɕύXB +Edb‚âÝ’čƒtƒ@ƒCƒ‹‚ð“Į‚ÞŽž// ‚ðƒRƒ}ƒ“ƒgƒAƒEƒg‚Æ‚ĩ‚Ä”FŽŊ‚·‚邿‚Ī‚ÉCģB +Eƒyƒbƒg‚Æ—Ģ‚ę‚·‚ނ邯ƒyƒbƒg‚Š‘‚­“Ū‚­‚æ‚Ī‚É•ÏXB(ƒLƒƒƒ‰‚Ė2”{‚ˑޓx‚œۂŦ‚Ü‚·B) +Eƒ‹[ƒgƒ‚ƒ“ƒXƒ^[‚ŠƒAƒCƒeƒ€‚ðƒ^[ƒQƒbƒg‚ĩ‚―ŽžUŒ‚‚ðŽó‚Ŋ‚Ä‚āUŒ‚‚ĩ‚Ä‚ą‚Ȃǖâ‘čCģB +E“Ŋ‘°ƒ‚ƒ“ƒXƒ^[‚ĖAI‚ð•ύXBĄ‚܂łÍtraget_id‚ðŽg‚Ī‚đ‚Ē‚Åƒ‚ƒ“ƒXƒ^[‚ŠUŒ‚‚ĩ‚―‘ŠŽč‚ðUŒ‚‚·‚éŽd‘g‚Ý‚ū‚Á‚―‚ŠĄ“x‚Íattacked_id‚ðŽg‚ĪˆŨUŒ‚‚ĩ‚Ä‚Ŧ‚―‘ŠŽč‚ðUŒ‚‚·‚邿‚Ī‚É•ÏXB +‚―‚ūĄ‚ĖŽd—l‚ū‚Æ“Ŋ‘°ƒ‚ƒ“ƒXƒ^[‚ðUŒ‚‚ĩ‚ē͂°‚éę‡UŒ‚‚ðŽó‚Ŋ‚―Žž‚ŧ‚Ėę‚ɂȂЂÁ‚―ƒ‚ƒ“ƒXƒ^[‚Í‚Â‚Ē‚Ä—ˆ‚Č‚­‚Č‚Á‚Ăǂ܂·B–{ŽI‚ĖŽd—l‚É‚ ‚Á‚Ä‚é‚Đ‚Į‚Ī‚Đ‚Í•s–ū‚Å‚·‚Ė‚Åî•ņ’ņ‹Ÿ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·B(attacked_id‚Í‚Ē‚Â‚āƒŠƒZƒbƒg‚ģ‚ę‚éˆŨ‚Å‚·B‘΍ô‚ЂǂȂǂí‚Ŋ‚Å‚ā‚Ȃǂł·‚Š–{ŽI‚ĖŽd—l‚ð’m‚į‚Ȃǂ˂Å...) +Eƒƒ‚ƒŠ[‚ĖŽg—p—Ę‚ðŒļ‚į‚·ˆŨstruct mob_data‚Æstruct npc_data‚ð•ύXB(0412‚Å +map-server‚Ėƒƒ‚ƒŠ[‚ĖŽg—p—Ę‚Š164???KBytes‚ū‚Á‚―‚Š0414‚Å‚Í152???KBytes‚ɂȂč‚Ü‚ĩ‚―B‚Ų‚ņ‚Ė­‚ĩŒļ‚Á‚―‚ū‚Ŋ‚Å‚·‚Š‘‚͂邿‚č‚͂܂ĩ‚ū‚ÆŽv‚ǂ܂·‚Ė‚Å...) +EƒS[ƒXƒgƒ^ƒCƒ€ŽĀ‘•B + ƒ}ƒbƒvˆÚ“Ū‚âƒeƒŒƒ|[ƒgA•œŠˆ‚ĩ‚―Žž‚É“G‚É‘_‚í‚ę‚Č‚ĒŽžŠÔ‚ðd—͂ł̓S[ƒXƒgƒ^ƒCƒ€ŒÄ‚ņ‚łǂ܂·B‚ŧ‚ĖƒS[ƒXƒgƒ^ƒCƒ€‚ĖŽĀ‘•‚Å‚·B +battle_athena.cnf‚ÅŽžŠÔ‚ðÝ’č‚Å‚Ŧ‚Ü‚·BŽžŠÔ‚ð0‚É‚·‚邯ƒS[ƒXƒgƒ^ƒCƒ€‚͍ė“Ū‚ĩ‚Ü‚đ‚ņB‚―‚ū‚ą‚ĖƒS[ƒXƒgƒ^ƒCƒ€‚͍UŒ‚s“ہAƒXƒLƒ‹Žg—pAƒAƒCƒeƒ€Žg—p‚ð‚·‚é‚Æ‚Č‚­‚Č‚č‚Ü‚·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 ‚ðCģB(db/mob_db.txt‚Í//‚ð“ü‚ę‚―‚ū‚Ŋ‚Å‚·‚Š...) + Cģ‚ĩ‚―Š‚ð‘S‚ÄŠo‚͂Ă܂đ‚ņ‚Ė‚Åƒtƒ@ƒCƒ‹‚ū‚Ŋ’m‚į‚đ‚Ü‚·B + +-------------- +//0412 by ‚Ē‚Į + +Eƒ‚ƒ“ƒXƒ^[’č‹`ƒf[ƒ^(“ú–{Œę)‚ĖÄŪ— +@ ‹ŒŒfŽĶ”‚Ŏw“E‚Ė‚ ‚Á‚―Ž–€‚É‚Â‚Ē‚Ä‘å‘Ė‚Ė”ÍˆÍ‚ÅCģ + snapshot387‚Ėƒo[ƒWƒ‡ƒ“‚ðƒx[ƒX‚ɏCģ‚ĩ‚Ü‚ĩ‚―B + conf/npc_monster.txt + +EƒAƒCƒeƒ€–ž‚Ė’č‹`‚ð‘啝Cģ + (root) + item.list + (db/) + item_db.txt + item_value_db.txt + +Eƒ}ƒbƒvƒf[ƒ^‚Ė’č‹`‚ŃRƒƒ“ƒgƒAƒEƒg‚ĩ‚Ăǂ―ƒWƒ…ƒm[ŠÖ˜Aƒ}ƒbƒv‚ĖƒRƒƒ“ƒgƒAƒEƒg‚ð‰ðœ + conf/map_athena.cnf + +-------------- +//0411 by Ž€_ + +EŽIsnapshot‚Å‚·B‚ŧ‚悯login_portAchar_portAmap_port‚ĖÝ’č‚Š‚Č‚­‚Ä‚ā +ƒfƒtƒHƒ‹ƒg‚Å6900A6121A5121‚ðŽg‚Ī‚æ‚Ī‚É•ÏXB +Elogin.cAchar.cAchrif.cAclif.c ­‚ĩCģB +Econf_ref.txt CģB +Elogin_port‚ð6900‚Đ‚į‘ž‚Ė•Ļ‚É•Ï‚Ķ‚―ę‡‚Íclientinfo.xml‚ð•Ï‚Ķ‚é•K—v‚Š‚ ‚č‚Ü‚·B + +-------------- +//0410 by Ž€_ + +GM—p‰EƒNƒŠƒbƒNƒƒjƒ…[uinamejŽg—pŽŌ‹­§I—đvŽĀ‘•B(ƒeƒXƒg‚Í‚ĩ‚Ă܂đ‚ņB@ƒRƒ}ƒ“ƒh‚̓eƒXƒgÏ‚݂ł·‚Š...) +0407‚ĖEXP‚ÉŠÖ‚·‚éCģ‚É–â‘肊‚ ‚é‚į‚ĩ‚Ē‚Ė‚ÅCģ‚ĩ‚Ü‚ĩ‚―BĄ“x‚̓eƒXƒgÏ‚݂ł·B +GM‚ĖƒAƒJƒEƒ“ƒgID‚ðÝ’č‚Å‚Ŧ‚邿‚Ī‚É•ÏX‚ÆGM‚ðƒŒƒxƒ‹•ƂɕЂŊ‚邿‚Ī‚É•ÏXB +(GM‚ĖƒŒƒxƒ‹‚É‚æ‚é@ƒRƒ}ƒ“ƒh“™‚ɐ§ŒĀ‚ð‚Đ‚Ŋ‚é‚‚ā‚č‚Å‚·‚ŠĄ§ŒĀ‚Š‚Đ‚Ŋ‚Ăǂé•Ļ‚Í@kickA@kickall‚Ė‚Ý‚É‚Č‚Á‚Ăǂ܂·B) +Epc.c + pc_readdb()Apc_gainexp()Apc_nextbaseexp()Apc_nextjobexp()A + pc_checkbaselevelup()Apc_checkjoblevelup() CģB + pc_isGM()Apc_read_gm_account() ’Į‰ÁB +Epc.h + pc_isGM() CģB + pc_read_gm_account() ’Į‰ÁB +Eexp.txt + ƒŒƒxƒ‹‚Šã‚Š‚į‚Ȃǐ”’l‚ð999999999‚Đ‚į0ˆČ‰š‚ɕύXB + ƒŒƒxƒ‹‚ðã‚°‚éˆŨ‚É•K—v‚ČEXP‚ð999999999ˆČã‚É‚·‚邹‚Æ‚ā‰Â”\B +Eclif.c + clif_GM_kickack()Aclif_GM_kick()Aclif_parse_GMKick() ’Į‰ÁB +Eclif.h + clif_GM_kickack()Aclif_GM_kick() ’Į‰ÁB +Eatcomand.c + strncmpi‚ðstrcmpi‚ɕύXB + @kickA@kickall ƒRƒ}ƒ“ƒh’Į‰ÁB + @kick <ƒLƒƒƒ‰–ž> + ŽĐ•ŠˆČŠO‚ĖƒLƒƒƒ‰‚ĖÚ‘ą‚ð‹­§I—đ‚ģ‚đ‚éB(ŽĐ•Š‚æ‚čGMƒŒƒxƒ‹‚Š + ’á‚ĒƒLƒƒƒ‰‚É‚ĩ‚ĐŽg‚͂ȂǁBGM‚Å‚Í‚Č‚ĒƒLƒƒƒ‰‚ĖGMƒŒƒxƒ‹‚Í0) + @kickall + ŽI‚ɐڑą‚ĩ‚Ăǂé‘S‚Ä‚ĖƒLƒƒƒ‰‚ĖÚ‘ą‚ð‹­§I—đ‚ģ‚đ‚éB(ŽĐ•Š‚Æ + GM‚ðŠÜ‚ß‚Ä) ŽIƒ_ƒEƒ“—p‚ĖƒRƒ}ƒ“ƒh‚Å‚·BGMƒŒƒxƒ‹‚Š99‚ķ‚á‚Č‚Ē‚Æ + Žg‚͂ȂǁB +Econf/GM_account.txt ’Į‰ÁB + GM‚Æ‚ĩ‚Ä”FŽŊ‚·‚éƒAƒJƒEƒ“ƒgID‚ðÝ’č‚·‚éƒtƒ@ƒCƒ‹‚Å‚·B +Emmo.h + DEFAULT_WALK_SPEED‚ð140‚Đ‚į150‚ɕύXB(‚ą‚ꂊ–{ŽI‚É‚ ‚Á‚Ă鐔’l + ‚Ý‚―‚ǂł·‚Ė‚Å...) + struct gm_account ’Į‰ÁB +Eclient_packet.txt + ƒpƒPƒbƒg0x00cd ’Į‰ÁB +Elogin_port‚ðcnf‚Å“Į‚Þ‚æ‚Ī‚É•ÏXB(‚―‚ū6900‚Đ‚įƒ|[ƒg‚ð•Ï‚Ķ‚é‚ÆƒNƒ‰ƒCƒAƒ“ƒg‚Š”FŽŊ‚Å‚Ŧ‚Č‚Ē–Í—l‚Ȃ˂Ŗģ‘Ę‚Č‚ą‚Æ‚ū‚Á‚―‚č‚ā‚ĩ‚Ü‚·‚Š...) + char.cAlogin.cAchar_athena.cnfAlogin_athena.cnf CģB +E•’Ę‚ĖƒAƒJƒEƒ“ƒgėŽ‚Å‚ÍGM‚ɂȂę‚Ȃǂæ‚Ī‚Élogin.c‚ð•ύXB +Elogin/makefileAmap/makefile CģB + +-------------- +//0408 by ŒÓ’ą—– + +E405‚ːV‚ĩ‚ǁ—ƒRƒ}ƒ“ƒh‚ðˆČ‘O‚Ėatcommand.c‚ÉŽæ‚荾‚݂܂ĩ‚―B + E@kami‚ðCģ + E@kill,@recall,@charjob,@revive,@charstats,@charoption,@charsave, + @night,@day,@doom,@doommap,@raise,@raisemap,@charbaselvl,@charjlvl + ‚ð’Į‰Á•ƒƒbƒZ[ƒW‚ð“ú–{Œę‚ɕύX•­‚ĩCģ + + atcommand.c + ’Į‰Á‚ƏCģ + +Eˆę•”‚ĖƒXƒLƒ‹‚ĖŒø‰ĘŽĀ‘• + E•sŽ€g‚ĖƒW[ƒNƒtƒŠ[ƒhAƒCƒhƒDƒ“‚Ė—ŅŒįAK‰^‚ĖƒLƒXA + ƒtƒŒƒCƒ€ƒ‰ƒ“ƒ`ƒƒ[AƒtƒƒXƒgƒEƒFƒ|ƒ“Aƒ‰ƒCƒgƒjƒ“ƒOƒ[ƒ_[A + ƒTƒCƒYƒ~ƒbƒNƒEƒFƒ|ƒ“ + + map.h + struct skill_unit‚Érange‚ð’Į‰ÁB + skill.c + FXCģ + skill.h + enum‚ĖCģ‚Č‚Į +-------------- +//0407 by Ž€_ + +Eƒyƒbƒg‚ĖƒoƒOCģB(‚―‚ūŽĐ•Š‚ÅÄŒŧ‚Å‚Ŧ‚ȂЂÁ‚―‚˂Ŗâ‘č‚ɂȂč‚ŧ‚Ī‚ČŠ‚ū‚ŊCģ‚ĩ‚Ü‚ĩ‚―B) +Eƒyƒbƒg‚ĖˆÚ“Ū‘Ž“x‚ðpet_db‚É’Į‰ÁB + pet.h + struct pet_db‚Éspeed’Į‰ÁB + pet.c + pet_catch_process2()Aread_petdb() CģB + pet_db.txt + ˆÚ“Ū‘Ž“x’Į‰ÁB + (ƒRƒ}ƒ“ƒgƒAƒEƒg‚ĩ‚Ăǂé‚Ė‚ÍƒWƒ‹ƒ^ƒX‚ƃAƒŠƒX‚Å‚·B•ߊl—p‚Ė + ƒAƒCƒeƒ€‚Š‘ķÝ‚·‚邹‚ƂƃpƒtƒH[ƒ}ƒ“ƒX‚ð‚·‚é‚ą‚Æ‚Đ‚įl‚Ķ‚Ä + ’Į‰Á‚ģ‚ę‚é—\’č‚Ė•Ļ‚Æl‚Ķ‚į‚ę‚Ü‚·B‚―‚ū‚ŧ‚Ė•ßŠl—p‚ĖƒAƒCƒeƒ€‚Š + ‚ ‚邯ƒNƒ‰ƒCƒAƒ“ƒg‚ð—Ž‚ŋ‚Ü‚·‚˂ŒˆÓ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB’Į‰Á‚ĩ‚Ä‚ā + ‘䎌‚̓|ƒŠƒ“‚˕ςł·‚Ė‚Å... •ߊl—p‚ĖƒAƒCƒeƒ€ˆČŠO‚Í“K“–‚É“ü‚ę‚― + •ςł·B) +Epc.cAclif.c + pc_equipitem() CģB + clif_parse_EquipItem() CģB + pc_equipitem()‚Ė–ĒŠÓ’čƒAƒCƒeƒ€‚Ėƒ`ƒFƒbƒN‚ðclif_parse_EquipItem()‚É + ˆÚ“Ū‚ĩ‚Ü‚ĩ‚―B(ƒyƒbƒg‚Ė‘•”õ‚ā‚ ‚č‚Ü‚·‚Ė‚Å...) +EƒŒƒxƒ‹‚ð99ˆČã‚É‚ ‚°‚邿‚Ī‚É•ÏX‚ƐE‹Æ•Ę‚Éƒx[ƒXƒŒƒxƒ‹‚ĖŒĀŠEƒŒƒxƒ‹‚ðÝ’č‚Å‚Ŧ‚邿‚Ī‚ÉCģB + map.h + MAX_LEVEL’Į‰ÁB + pc.c + pc_nextbaseexp(), pc_nextjobexp() CģB + pc_readdb() CģB +Eexp.txt CģBE‹ÆƒŒƒxƒ‹‚Æ“Ŋ‚킿‚Ī‚Éƒx[ƒXƒŒƒxƒ‹‚āEXPƒe[ƒuƒ‹‚ð3‚ė‚č‚Ü‚ĩ‚―BƒŒƒxƒ‹ƒAƒbƒv‚ðŽ~‚ß‚―‚ĒƒŒƒxƒ‹‚Ėexp‚ð999999999‚É‚·‚ę‚΂ŧ‚ęˆČãƒŒƒxƒ‹‚Šã‚Š‚č‚Ü‚đ‚ņB‚‚܂čnoviceA1ŽŸE‹Æ‚Æ2ŽŸE‹Æ‚Ėƒx[ƒXƒŒƒxƒ‹‚ĖŒĀŠE‚ðˆá‚Ī‚æ‚Ī‚ÉÝ’č‚Å‚Ŧ‚Ü‚·B‚ŧ‚ĩ‚ăx[ƒXƒŒƒxƒ‹99ˆČã‚ɏり‚邿‚΂ɂ·‚邹‚Æ‚ā‚Å‚Ŧ‚Ü‚·B(exp.txt‚ĖCģ‚Š•K—v‚Å‚·‚Š–{ŽI‚ƈá‚Ī‚æ‚Ī‚ÉÝ’č‚ĩ‚―‚Ēę‡‚ɏCģ‚ĩ‚ÄŽg‚Á‚Ä‚­‚ū‚ģ‚ǁB) +E‘ېŦ‚É‚æ‚é‰ņ•œ‚ðbattle_athena.cnf‚Őݒč‚Å‚Ŧ‚邿‚Ī‚É•ÏXB + attr_fix.txt CģB + battle.h + struct Battle_Config‚Éattr_recover ’Į‰ÁB + battle.c + battle_config_read() CģB + battle_athena.cnf CģB +Econf_ref.txt CģB +Eclient_packet.txt CģBƒyƒbƒgƒpƒPƒbƒg’Į‰Á‚Ə­‚ĩCģB + +-------------- +//0402 by ŒÓ’ą—– + +E400‚ĖƒoƒO‚ðˆę•”Cģ + EŠ|‚Đ‚Á‚Ä‚Č‚ĒƒXƒLƒ‹Œø‰Ę‚É‚æ‚éƒXƒe[ƒ^ƒXŒvŽZ‚Šs‚í‚ę‚Ä‚ĩ‚Ü‚ĪƒoƒOCģ + EŒø‰ĘCģF‚ ‚­‚܂Ōø‰Ę‚ĖŒvŽZ‚ĖCģ‚ŁAŽg‚Ķ‚Č‚ĒƒXƒLƒ‹‚ÍŽg‚͂܂đ‚ņB + ƒXƒsƒAƒNƒBƒbƒPƒ“Aƒvƒƒ”ƒBƒfƒ“ƒXAí‘ūŒÛ‚Ė‹ŋ‚ŦA + —[—z‚ĖƒAƒTƒVƒ“ƒNƒƒXAŒû“JA•sŽ€g‚ĖƒW[ƒNƒtƒŠ[ƒhA + ƒCƒhƒDƒ“‚Ė—ŅŒįAƒT[ƒrƒXƒtƒH[ƒ†[AK‰^‚ĖƒLƒX + EŒø‰Ę’Į‰ÁF‚ ‚­‚܂Ōø‰Ę‚ĖŒvŽZ‚Ė’Į‰Á‚ŁAŽg‚Ķ‚Č‚ĒƒXƒLƒ‹‚ÍŽg‚͂܂đ‚ņB + ƒnƒ~ƒ“ƒOAŽ„‚ð–Y‚ę‚ȂǂŁcAƒj[ƒxƒ‹ƒ“ƒO‚ĖŽw—Ö(•ŠíƒŒƒxƒ‹–ģŽ‹)A + ƒGƒ^[ƒiƒ‹ƒJƒIƒXAƒhƒ‰ƒSƒmƒƒW[ + EŒø‰Ę•t‰ÁŒn‚Í‚ŋ‚å‚Á‚Ƃłā‰ö‚ĩ‚ĒƒXƒLƒ‹‚Í‘S‚ÄŽg—p‚Å‚Ŧ‚Ȃǂæ‚Ī‚ÉCģ + EUŒ‚ŒnƒXƒLƒ‹‚Í‚Ų‚Æ‚ņ‚ĮŒĐ‚ĂȂǂ˂ł―‚Ô‚ņƒoƒO‘―‚ǂł·B + E‘S‚Ä–ĒƒeƒXƒg‚Å‚·B‰ö‚ĩ‚·‚ނ镔•Š‚ðCģ‚ĩ‚―‚ū‚Ŋ‚Å‚·B + + map.h + MAX_STATUSCHANGE‚ð128‚ɏCģ + pc.c + pc_calcstatus()Cģ + skill.c/skill.h + enum‚ðCģ + 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-2ŽŸEƒXƒLƒ‹‚ð’Į‰Á‚ĩ‚Ü‚ĩ‚― +‘S‚Ä‚ĖC—ûƒXƒLƒ‹AƒXƒsƒAƒNƒCƒbƒPƒ“Aƒvƒƒ”ƒBƒfƒ“ƒXA +—[—z‚ĖƒAƒTƒVƒ“ƒNƒƒXi–ĒƒeƒXƒgjAŠĶ‚ĒƒWƒ‡[ƒNAƒCƒhƒDƒ“‚Ė—ŅŒįA +ƒT[ƒrƒXƒtƒH[ƒ†[AƒƒeƒIƒXƒgƒ‰ƒCƒNi­‚ĩˆá‚΁jA +ƒ~ƒ…[ƒWƒJƒ‹ƒXƒgƒ‰ƒCƒNA–‚ŋAƒtƒƒXƒgƒEƒFƒ|ƒ“(‘ېŦ‚Š–â‘č‚ ‚čH) +ƒtƒŒ[ƒ€ƒ‰ƒ“ƒ`ƒƒ[(V)AƒTƒCƒYƒ~ƒbƒNƒEƒFƒ|ƒ“(V)Aƒ‰ƒCƒgƒjƒ“ƒOƒ[ƒ_[(V) +‘§Aƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[ +ŠŪ‘S‚ɂ͓­‚Đ‚Č‚ĒƒXƒLƒ‹F +–Ō—īŒA—øŠÂ‘SgķAŽO’iķ +(skills in skill.c) (ŠŪ—đ‚ģ‚ę‚é•K—v‚Š‚ ‚é) +ƒPƒ~ƒJƒ‹ƒA[ƒ}[ƒ`ƒƒ[ƒWAƒPƒ~ƒJƒ‹ƒwƒ‹ƒ€ƒ`ƒƒ[ƒWA +ƒPƒ~ƒJƒ‹ƒV[ƒ‹ƒhƒ`ƒƒ[ƒWAƒPƒ~ƒJƒ‹ƒEƒFƒ|ƒ“ƒ`ƒƒ[ƒWA +ƒXƒgƒŠƒbƒvƒwƒ‹ƒ€AƒXƒgƒŠƒbƒvƒEƒFƒ|ƒ“ +ƒXƒgƒŠƒbƒvƒV[ƒ‹ƒhAƒXƒgƒŠƒbƒvƒA[ƒ}[ + +*’ˆÓ !! CAUTION !! by ŒÓ’ą—–* +‚ą‚Ė400‚ɂ̓oƒO‚Š‘å—ʂɊ܂܂ę‚Ăǂ܂·B’ˆÓ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB +there are many many BUGS in this update(400) !! Be careful !! + +-------------- +//0399 by ŒÓ’ą—– + +EMOBƒXƒLƒ‹Žg—pðŒ‚âs“Ū‚ðCģ + E–ģs“ŪMOB‚Бԋ@Žž‚ĖƒXƒLƒ‹‚ðŽg—p‚Å‚Ŧ‚Ȃǖâ‘č‚ðCģ + EðŒƒXƒLƒ‹”―‰ž(skillused)‚Š‚Į‚ĖƒXƒLƒ‹‚É‚ā”―‰ž‚ĩ‚Ăǂ―ƒoƒOCģ + E”ņˆÚ“ŪMOB‚Š’ĮŒ‚‚ĩ‚Ä‚­‚é–â‘č‚ðCģ + + mob.c + mob_ai_sub_hard()Cģ + mobskill_event()Cģ + mobskill_use()Cģ + skill.c + skill_attack()Cģ + +EMOBƒXƒLƒ‹ˆę•”ŽĀ‘• + EŽĐŒˆ(ƒGƒtƒFƒNƒg–ģ‚ĩ?)AŽĐ”šAƒ^ƒoƒR‚ð‹z‚΁A”͈͍UŒ‚ + HP‹zŽû‚Q‚Â(’ʏí/–‚–@ji‰ņ•œƒGƒtƒFƒNƒg–ģ‚ĩ?jŽĀ‘• + + (db) + skill_db.txt + ƒXƒ‚[ƒLƒ“ƒO‚Č‚Į‚ðCģ + (map/) + skill.c + skill_castend_damage_id(),skill_castend_nodamage_id()Cģ + battle.c + battle_calc_misc_damage()Cģ + +E–ĒŠÓ’čƒAƒCƒeƒ€‚Š‘•”õ‚Å‚Ŧ‚Č‚­‚Č‚č‚Ü‚ĩ‚― +E–ĒŠÓ’čƒAƒCƒeƒ€‚ɃJ[ƒh‚Š‚ģ‚đ‚Č‚­‚Č‚č‚Ü‚ĩ‚― + + pc.c + pc_equipitem(),pc_insert_card()Cģ + clif.c + clif_use_card()Cģ + +Ebattle_athena.cnf‚ÉMOB‚Ė”z’uŠ„‡‚ð’č‹`‚Å‚Ŧ‚邿‚΂ɂȂč‚Ü‚ĩ‚― + E”z’u”‚Š‚P‚ĖMOB‚É‚Â‚Ē‚Ä‚Í“K—p‚ģ‚ę‚Ü‚đ‚ņ + EŒvŽZŒã‚Ė”z’u”‚Š‚P–Ē–ž‚Ėę‡‚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ƒ{[ƒŠƒ“ƒOƒoƒbƒVƒ…‚Š‘ŠŽč‚Š‚P•C‚ł₯‚č‚ ‚͂‚―‚邿‚΂ɂȂÁ‚―B + + skill.c + skill_castend_damage_id()Cģ + +EŠwķ–XėŽƒCƒxƒ“ƒg‚ĖCģ + + (conf/) + npc_event_making.txt + ƒAƒƒGƒxƒ‰(606)‚ðƒAƒƒG(704)‚ɁB + +EƒpƒPƒbƒgî•ņCģ + + (doc/) + client_packet.txt + 0199ƒpƒPƒbƒgCģ + +-------------- +//0397 by ‚Ē‚Į + +Eƒ‚ƒ“ƒXƒ^[’č‹`ƒf[ƒ^(“ú–{Œę)‚ːۗ + Enpc_monster25.txt‚ðnpc_monster.txt‚ÉƒŠƒl[ƒ€‚ĩA“ā—e‚ðŪ—(ŒŧÝmob”:13450) + E‚ŧ‚ĖŒy—Ę”Å‚Æ‚ĩ‚Änpc_monster_lite.txt‚ðėŽ(ŒŧÝmob”:11959) + Eã‹L‚ĖCģ‚É‚ ‚í‚đ‚Ämap_athena.cnf‚ðCģ + +-------------- +//0395 by ŒÓ’ą—– + +EŽæ‚芊‚ŦMOB‚Ės“ŪCģ + EƒAƒ“ƒNƒ‹‚Č‚Į‚ÅˆÚ“Ū‚Å‚Ŧ‚Č‚Ēę‡Žå‚É‹ß‚Ã‚Đ‚Č‚Ē‚æ‚Ī‚ÉCģ + EƒƒbƒN‚ĩ‚Ăǂ邯Žå‚ɋߊņ‚鏈—‚ð‚ĩ‚Ȃǂæ‚Ī‚ÉCģ + EŽå‚ŠƒeƒŒƒ|[ƒg‚·‚邯’Į‚Ē‚Đ‚Ŋ‚邿‚Ī‚ÉCģ(•t‹ß10x10ƒ}ƒX’ö“x) + EŽå‚Ė‚ŧ‚Î‚É‚Ē‚é‚Æ‚Ŧ‚̓‰ƒ“ƒ_ƒ€•ās‚ð‚ĩ‚Ȃǂæ‚Ī‚ÉCģ + + mob.c + mob_ai_sub_hard_mastersearch()Cģ + mob_can_move()’Į‰Á + mob_ai_sub_hard()Cģ + +EMOB‚Ės“ŪCģ + EƒXƒLƒ‹Žg—pƒfƒBƒŒƒCˆ—‚Š‚Ļ‚Đ‚ĩ‚Đ‚Á‚―‚Ė‚ðCģ + E‰rĨ‚Ė‚Č‚ĒƒXƒLƒ‹‚Ítimer‚ðŽg‚í‚Ȃǂæ‚Ī‚ÉCģ(Ž€–SŽžˆ—‘΍ô) + + mob.c + mobskill_use(),mobskill_use_id()Cģ + +EMOBƒGƒ‚[ƒVƒ‡ƒ“‚ĖŽĀ‘• + EƒGƒ‚[ƒ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()’Į‰Á + +EƒpƒPƒbƒg‰ðÍ.txt‚ðclient_packet.txt‚ɉü–ž•Cģ + + (doc/) + client_packet.txt + ƒGƒ‚[ƒVƒ‡ƒ“‚ːā–ū’Į‰Á + +E‚Į‚Ī‚â‚įŽæ‚芊‚ŦMOB‚ĖŽí—Þ‚ÍŒÃ‚Ēƒf[ƒ^‚ū‚Á‚―‚Á‚Û‚Ē‚Å‚·B + ‚ĩ‚Đ‚āMOBĒŠŦ‚Å‚ÍŽč‰šĒŠŦ‚ƈá‚ĪMOB‚ðĒŠŦ‚·‚é‚Ý‚―‚ǂł·‚ˁB + Ú‚ĩ‚ǐl‚Ímob_skill_db.txt‚ð’ž‚ĩ‚Ä‚­‚ę‚邯B + +-------------- +//0393 by ‚Ē‚Į + +EcharŽI‚Å‚ĖloginŽI‚Ėƒ|[ƒgÝ’č‚ð6900‚ɌŒč‚ĩA•ύX‚Å‚Ŧ‚Ȃǂæ‚΂ɂĩ‚― +@(login‘Ī‚Åƒ|[ƒg6900ŒÅ’č‚ɂȂÁ‚Ăǂ―‚Ė‚Åchar‘Ī‚ā‚ŧ‚ę‚ɍ‡‚í‚đ‚Ü‚ĩ‚―B) + char/char.c + conf/char_athena.cnf + doc/conf_ref.txt + +-------------- +//0392 by ŒÓ’ą—– + +EMOB‚Ės“ŪCģ + E‰―ŒĖ‚Đlast_thinktick‚Š‰Šú‰ŧ‚ģ‚ę‚ĂǂȂǖâ‘čCģ + Eã‚ÉŠÖ˜A‚ĩ‚ÄPC‚Ћ߂­‚ɂǂĂāŽč”ē‚Ŧˆ—‚Šs‚í‚ę‚é–â‘čCģ + i‚Į‚Ī‚â‚į‰Šú‚Đ‚į‚ĖƒoƒO‚ū‚Á‚―–Í—lH ‚ą‚ĖƒoƒO‚ƁA + V‚ĩ‚ĒŽč”ē‚Ŧˆ—‚ĖŽd—l‚Šƒ^ƒbƒO‚ð‘g‚ņ‚ÅŽc‘œ‚ðė‚Á‚Ăǂ―–Í—lj + EŽæ‚芊‚ŦMOB—p‚ĖAIˆ—’Į‰Ái‚Ü‚ū‰ö‚ĩ‚ǂł·j + EMOB‚ĖƒXƒLƒ‹ƒfƒBƒŒƒC‚ðƒXƒLƒ‹€–Ú‚ē‚Æ‚ÉŽ‚‚æ‚Ī‚É•ÏX + EƒXƒLƒ‹ƒfƒBƒŒƒC‚Š‘å‚Ŧ‚ȍ€–ڂł̓I[ƒo[ƒtƒ[‚ĩ‚Ăǂ―–â‘č‚ðCģ + + map.h + struct mob_data‚Ė skilldelay‚ð”z—ņ‚É‚ĩ‚Äunsigned int‚ɕύX + mob.h + struct mob_skill‚Ėcasttime,delay‚ðint‚ɕύ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ģ + +EMOBƒXƒLƒ‹‚ĖŽč‰šĒŠŦ‚ƃ‚ƒ“ƒXƒ^[ĒŠŦŽĀ‘• + Emob_skill_db.txt‚Ė‘ŽŪ•ύXiÅŒã‚É’l‚ð‚P‚Â’Į‰ÁAŽæ‚芊‚ŦMOB‚ĖIDj + EŽæ‚芊‚ŦMOB‚Š‚í‚Đ‚į‚ȂЂÁ‚―‚ā‚Ė‚ÍƒRƒƒ“ƒg‰ŧ‚ĩ‚Ăǂ܂· + ‚í‚Đ‚él‚Í“ü—Í‚æ‚ë‚ĩ‚­‚ĻŠč‚Ē‚ĩ‚Ü‚·B + EŒŧÝ‚ÍŽæ‚芊‚Ŧ‚͈ę“x“|‚ĩ‚―‚į•Ķ‚Ŧ‚Ȃςĩ‚Ü‚đ‚ņB + Eƒ{ƒX‚ŠƒeƒŒƒ|[ƒg‚ĩ‚Ä‚āŽæ‚芊‚Ŧ‚Í’Į‚Ē‚Đ‚Ŋ‚Ü‚đ‚ņB + E–{ŽI‚Å‚Į‚΂ȂÁ‚Ä‚é‚Ė‚Đ’m‚į‚Ȃǂ˂ŁAŠÔˆá‚Á‚Ä‚éę‡‚Í‹ģ‚͂Ă­‚ū‚ģ‚ǁB + + (db/) + mob_skill_db.txt + Žč‰šĒŠŦ‚Č‚Į‚Ėƒf[ƒ^Cģ + + (map/) + skill.c + skill_castend_nodamage_id()Cģ + +-------------- +//0391 by Ž€_ + +Eƒyƒbƒg‚ĖˆÚ“Ū’†‚ɃpƒtƒH[ƒ}ƒ“ƒX‚ð‚·‚é‚Æƒyƒbƒg‚Š’âŽ~‚·‚邿‚Ī‚É•ÏXB + (ƒyƒbƒg‚ĖˆĘ’u‚Š‚ļ‚ę‚é‚―‚ߏCģ‚ĩ‚Ü‚ĩ‚―B) + pet.c + pet_performance() CģB +EŽ€‚ņ‚ūƒ‚ƒ“ƒXƒ^[‚Í‚Į‚ņ‚ȍs“ۂ₯‚ę‚Ȃǂæ‚Ī‚É•ÏXB(‚ą‚ę‚Å–ģ“G + ƒ‚ƒ“ƒXƒ^[‚ЂǂȂ­‚Ȃ邯‚ǂǂł·‚Š...) + mob.c + mob_changestate(),mob_delete(),mob_catch_delete(),mob_damage(), + mob_ai_sub_hard(),mob_ai_sub_lazy() CģB +EPCANPCA°ƒAƒCƒeƒ€‚ŠŽg‚ĪID‚Ė”ÍˆÍ‚ð’ēŪB + °ƒAƒCƒeƒ€‚Í0‚Đ‚į500000‚܂łÅPC‚Í500000‚Đ‚į100000000ANPC + (ƒ‚ƒ“ƒXƒ^[‚ðŠÜ‚ß‚Ä)‚Í110000000‚Đ‚į–ņ21‰­‚܂łɂȂč‚Ü‚·B + (-‚ðŠÜ‚߂邯‚ā‚Á‚Æ”ÍˆÍ‚ŠL‚­‚Č‚č‚Ü‚·‚Ђ삷‚Ђɂŧ‚ą‚܂ł͕K—v‚Č‚Ē‚Æ + Žv‚ǂ܂·‚Ė‚Å...) + map.h + MAX_FLOORITEM ’Į‰Á(‚ą‚ę‚ð•Ï‚Ķ‚é‚Æ°ƒAƒCƒeƒ€‚ĖÅ‘å”‚ð•Ï‚Ķ‚é + ‚ą‚Æ‚ЂłŦ‚Ü‚·BĄ‚Í100000‚ɂȂÁ‚Ăǂ܂·B‚―‚ū‚ą‚ę‚Í•K‚ļ + 500000ˆČ‰š‚É‚ĩ‚Ä‚­‚ū‚ģ‚ǁB‚ŧ‚Ī‚ĩ‚Č‚Ē‚Æģ‚ĩ‚­“Ū‚­‚Đ‚Į‚Ī‚Đ + •ۏ؂łŦ‚Ü‚đ‚ņB) + map.c + map.h‚ɍ‡‚í‚đ‚ď­‚ĩCģB + npc.h + START_NPC_NUM ’Į‰ÁB + npc.c + npc.h‚ɍ‡‚í‚đ‚ď­‚ĩCģB + login.h + START_ACCOUNT_NUM‚ÆEND_ACCOUNT_NUM ’Į‰ÁB + login.c + login.h‚ɍ‡‚í‚đ‚ďCģBEND_ACCOUNT_NUMˆČã‚Éaccount‚ð + ė‚ę‚Ȃǂæ‚Ī‚É•ÏXB +EƒJ[ƒgƒŒƒ{ƒŠƒ…[ƒVƒ‡ƒ“‚É•ŠíŒĪ‹†‚ð‚Q‰ņ“K—p‚·‚邿‚Ī‚É•ÏXB + (Œ‹‹Į‚ÍŒģ‚É–ß‚·‚ą‚Æ‚ɂȂč‚Ü‚ĩ‚―...^^;) + battle.c + Damage battle_calc_weapon_attack() CģB +Emob‚ĖƒXƒLƒ‹Žg—p‚ðbattle_athena.cnf‚ÅŒˆ‚߂邿‚Ī‚É•ÏXB + mob.c + mobskill_use() CģB + battle.h + battle.c + struct Battle_Config‚Émob_skill_use’Į‰ÁB + battle_athena.cnf + mob_skill_use’Į‰ÁB(Ý’č‚ĩ‚ȂǂÆno‚Å‚·B) +Ebattle_athena.cnf + mob‚ð“ņd‚Å“Į‚߂Ȃǂæ‚Ī‚Énpc: conf/npc_monster.txt‚ðíœB + (ÅV‚Ínpc_monster25.txt‚Ȃ˂Å...) + +-------------- +//390 by ŒÓ’ą—– + +Eƒo[ƒWƒ‡ƒ“î•ņŠ“ū•”•Š‚ð­‚ĩ•ύX + EMODƒo[ƒWƒ‡ƒ“‚ð’č‹`‚Å‚Ŧ‚邿‚΂ɂȂč‚Ü‚ĩ‚―BÚŨ‚Íversion.h‚ðB + ‹C‚ŠŒü‚Ē‚―‚Æ‚Ŧ‚ЁA‘å‚Ŧ‚ȍXV‚Š‚ ‚邯‚Ŧ‚Č‚Į‚ɕύX‚ĩ‚Ä‚­‚ū‚ģ‚ǁB + Eƒo[ƒWƒ‡ƒ“checkŽž‚Ėset eofƒƒO‚Šo‚Ȃǂæ‚Ī‚ÉƒpƒPƒbƒg7532’Į‰ÁB + + (common/) + version.h + MODƒo[ƒWƒ‡ƒ“‚ð’č‹`‚Å‚Ŧ‚邿‚΂ɁB + (tool/) + checkversion + MODƒo[ƒWƒ‡ƒ“‚ð•\ŽĶ‚·‚邿‚΂ɁB + (login/char/map) + login.c/char.c/clif.c + MODƒo[ƒWƒ‡ƒ“‚Ėˆ—’Į‰ÁA + ƒpƒPƒbƒg7532iØ’fjˆ—’Į‰ÁB + +E‚ŧ‚Ė‘žFXCģ + E‚ą‚Ü‚ē‚Ü‚ĩ‚―Cģ‚΂Ђč‚Å‚·‚ЁA‚ ‚Ü‚čŠo‚͂Ăǂ܂đ‚ņB + EMOBƒXƒLƒ‹ðŒ‚Åslavelt,attackpcgtˆ—ŽĀ‘•i–ĒƒeƒXƒgjB + EMOB‚ĖŽč‰šĒŠŦ‚Ė‚―‚߂ˋ@\’Į‰Ái‚Ü‚ūĒŠŦ‚Å‚Ŧ‚Ü‚đ‚ņjB + E”͈̓XƒLƒ‹Œø‰Ę”͈͂Ɏ€–SPC‚Ђǂ邯ŽI‚Š—Ž‚ŋ‚éƒoƒOCģB + EMOBŽc‘œ‚Šo‚Č‚­c‚Č‚Á‚Ä‚―‚į‚ǂǂȁB + + (map/) + mob.c/mob.h/map.h/battle.c + FX’Į‰Á + + (db/) + mob_skill_db.txt + ƒ‹[ƒgŽžˆ—‚ƁA‘ېŦ•ύXƒXƒLƒ‹‚ĖƒRƒƒ“ƒg‚ðŠO‚ĩ‚―B + i‘ېŦ•ύX‚Í–{ŽI‚œۂǂĂȂǂį‚ĩ‚Ē‚ā‚Ė‚āƒRƒƒ“ƒg‚ðŠO‚ĩ‚Ă܂·B + –â‘肊‚ ‚éę‡‚ÍÄ‚ŅƒRƒƒ“ƒg‰ŧ‚ĩ‚Ä‚­‚ū‚ģ‚ǁj + +-------------- +//389 by ‚Ē‚Į + +E388‚Ė•ÏX + ƒo[ƒWƒ‡ƒ“î•ņ‚ðcommon/version.h“ā‚˒萔‚ðŽg—p‚·‚邿‚Ī‚É•ÏX + +-------------- +//388 by ŒÓ’ą—– + +Eƒo[ƒWƒ‡ƒ“î•ņŠ“ūƒc[ƒ‹“Y•t + Perlŧ‚Č‚Ė‚ÅŽĀs‚É‚ÍPerl‚Š•K—v‚Å‚·B + Žg—p•û–@‚Č‚Į‚̓GƒfƒBƒ^‚ÅŠJ‚Ē‚ÄŒĐ‚Ä‚­‚ū‚ģ‚ǁB + Žg‚Ē•û‚Š—Į‚­‚í‚Đ‚į‚Ȃǐl‚ÍŽč‚ðo‚ģ‚Ȃǂ؂΂Ђǂǂł·B + + ƒo[ƒWƒ‡ƒ“‚ðŠm”F‚·‚é—p“r‚æ‚č‚́AƒT[ƒo[‚ːķ‘ķŠm”F—p‚Æ‚Ē‚Á‚―‚Đ‚ņ‚ķ‚Å‚· + ƒpƒPƒbƒg7530/7531‚ĖÚŨ‚̓\[ƒX‚ðŒĐ‚Ä‚­‚ū‚ģ‚ǁB + + (tool/) + checkversion + ƒo[ƒWƒ‡ƒ“Šm”Fƒc[ƒ‹PerlƒXƒNƒŠƒvƒg + + (login/) + login.c + ƒpƒPƒbƒg7530/7531‚Ėˆ—’Į‰Á + (char/) + char.c + ƒpƒPƒbƒg7530/7531‚Ėˆ—’Į‰Á + (map/) + clif.c + ƒpƒPƒbƒg7530/7531‚Ėˆ—’Į‰Á + +E384ˆČ‘O‚Ėathena.txt‚ā“Į‚ݍž‚߂邿‚΂ɂĩ‚Ü‚ĩ‚― + Econvert‚Š–Ę“|‚ȐlŒü‚ŊB + Eģ‚ĩ‚­“Į‚ݍž‚ß‚é•ۏؖģ‚ĩBƒoƒbƒNƒAƒbƒv‚ð–Y‚ę‚ļ‚ɁB + + (char/) + char.c + 384‚Ė•ûŽŪ‚Å“Į‚ݍž‚ß‚Č‚Ēƒf[ƒ^‚Í384ˆČ‘O‚Ė•ûŽŪ‚āŽŽ‚·‚æ‚΂ɁB + +Econf_ref.txt/help.txt/getaccountCģ + help.txt + petƒRƒ}ƒ“ƒh‚ːā–ū’Į‰Á + (doc/) + conf_ref.txt + petŠÖ˜A‚ĖÝ’č‚ːā–ū’Į‰Á + (tool/) + getlogincount + •\ŽĶ‚ĖCģ + +-------------- +//387 by ‚Ē‚Į +EconfƒtƒHƒ‹ƒ_“ā‚Ė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ƒ}ƒbƒv’č‹`‚Ė’Į‰Á + ƒWƒ…ƒm[ƒAƒbƒvƒf[ƒg‚Å’Į‰Á‚ģ‚ę‚éƒ}ƒbƒv‚ƁAŠØŽI“ÆŽĐ(?)‚ĖƒNƒCƒYƒ][ƒ“ + (ƒRƒ‚ƒhƒAƒbƒvƒf[ƒg)‚Æ“V’ÃAƒbƒvƒf[ƒg‚Ėƒ}ƒbƒv’č‹`‚ð’Į‰Á + ŒŧÝA“úˆÆ‚É–ģ‚Ē‚ā‚Ė‚ÉŠÖ‚ĩ‚Ă̓Rƒƒ“ƒgƒAƒEƒg‚ĩ‚Ăǂ܁B + conf/map_athena.cnf + +-------------- +//385 by ŒÓ’ą—– + +EMOB‚Ės“ŪCģ + EŽč”ē‚Ŧˆ—‚ÅˆÚ“Ū‚ĩ‚Č‚Ēƒ‚[ƒh‚ĖMOB‚ā•ā‚­–â‘čCģ + EMOB‚ð“|‚ĩ‚―‚Æ‚ŦAÄspawnŽž‚Š‚Ļ‚Đ‚ĩ‚Č’l‚ɂȂéę‡‚Š‚ ‚é–â‘čCģ + iMOB‚Š•Ķ‚Đ‚Č‚­‚Č‚é–â‘肊Cģ‚ģ‚ę‚―‚Í‚ļj + EMOB‚Ėƒ[ƒv‚ÅęŠŒŸõ‚É1000‰ņŽļ”s‚ĩ‚―‚įŒģ‚ĖęŠ‚ɏo‚邿‚Ī‚ÉCģ + EMOB‚ð‰rĨ’†‚É“|‚·‚ƁAƒ^ƒCƒ}[‚ðíœ‚·‚邿‚Ī‚ÉCģ + + mob.c + mob_delete(),mob_catch(),mob_damage(), + mob_ai_sub_lazy(),mob_ai_sub_hard()‚Č‚ĮCģ + mobskill_deltimer()’Į‰Á + +-------------- +//0384 by Ž€_ + +EƒyƒbƒgŽĀ‘•B +Žv‚Á‚―‚æ‚č’·‚­‚ЂЂč‚Ü‚ĩ‚―BˆęŽü‚ā‚ЂЂÁ‚―‚đ‚ǂʼn―ˆ‚ðCģ‚ĩ‚―‚Đ +Šo‚͂ĂȂǖâ‘肊‚ ‚č‚Ü‚·‚Š... ‚ŧ‚ę‚Å”O‚ĖˆŨ‚Émap‚Æchar‚Ėƒtƒ@ƒCƒ‹‚Í‘S‚Ä +ŠÜ‚߂ăAƒbƒv‚ĩ‚Ü‚·B +‚ŧ‚悯makefile‚Æathena.sh‚ÍŽĐ•Š‚ŠŽg‚Ăǂé•ςł·B +Yare-launcher‚ÍŽg‚Ă܂đ‚ņ‚Š‚Ē‚Â‚āŽI‚ĖŽĀsƒtƒ@ƒCƒ‹‚ÅŽĀs‚ĩ‚Ăǂ܂·‚Ė‚Å... + char/char.cAchar/char.hAchar/inter.cAchar/makefile CģB + char/int_pet.cAchar/int_pet.h ’Į‰ÁB + map/makefile CģB + map/intif.cAmap/intif.hAmap/map.cAmap/map.hAmap/mob.cAmap/mob.hA + map/npc.cAmap/npc.hAmap/battle.cAmap/battle.hAatcomand.cAmap/pc.cA + map/clif.cAmap/clif.hAmap/script.c FXCģB + map/pet.cAmap/pet.h ‚Í–w‚Į‚ðŽĐ•Š‚Ė•Ļ‚É‘‚ŦŠ·‚͂܂ĩ‚―B + common/mmo.h CģB + db/pet_db.txt CģB + db/item_db.txt CģB(Œg‘Ņ—‘›z‰ŧ‹@‚Ėbpet ƒXƒNƒŠƒvƒg‚Š”ē‚Ŋ‚Ăǂ―‚˂Š+ “ü‚ę‚―‚ū‚Ŋ‚Å‚·‚Š...) + doc/INTERŽIƒpƒPƒbƒg.txt‚Ė–ž‘O‚ðinter_server_packet.txt‚ɕύX‚ƃyƒbƒg‚Ė + •Û‘ķ“™‚ÉŽg‚ĪƒpƒPƒbƒg‚ð’Į‰ÁB +* Ą“x‚ĖƒyƒbƒgŽĀ‘•‚É‚æ‚čƒLƒƒƒ‰ƒtƒ@ƒCƒ‹‚Ė\‘Ē‚Š•Ï‚í‚čˆČ‘O‚Ė•Ļ‚ÆŒÝŠ·‚Å‚Ŧ‚Č‚Ē + ‚˂Štool/convert.c ‚ð’Į‰Á‚ĩ‚Ü‚ĩ‚―B + ’P“ƂŃRƒ“ƒpƒCƒ‹‚Å‚Ŧ‚Ü‚·‚Ė‚ÅƒRƒ“ƒpƒCƒ‹‚ĩ‚―‚ ‚ÆŽĀs‚ĩ‚ăLƒƒƒ‰ + ƒtƒ@ƒCƒ‹‚ð•ÏŠ·‚ĩ‚Ä‚­‚ū‚ģ‚ǁB‚ŧ‚Ī‚ĩ‚Č‚Ē‚ÆƒLƒƒƒ‰‚Š‘S•””ō‚҂܂·‚Ė‚Å... +* ƒyƒbƒg‚ːe–§“x‚Š0‚ɂȂ邯ƒyƒbƒg‚Í‚ŧ‚Ėę‚œۂŊ‚Č‚­‚Č‚č‚ŧ‚Ėó‘Ô‚Å‘ž‚Ė + ƒ}ƒbƒv‚ÉˆÚ“Ū‚·‚é‚ЏI—đ‚·‚é‚Æƒyƒbƒg‚͏Á–Å‚ĩ‚Ü‚·Bˆę‰žƒyƒbƒg‚˓͑–‚ð + ŽĀ‘•‚·‚é‚‚ā‚č‚ōė‚Á‚―‚˂ł·‚Š–{ŽI‚É‚ ‚Á‚Ä‚é‚Đ‚Į‚Ī‚Đ‚Í‚í‚Đ‚č‚Ü‚đ‚ņB +* ˆÚ“Ū‘Ž“x‚Š’x‚Ēƒyƒbƒg‚Ėę‡—Ģ‚ę‰ß‚ނ邯‚Â‚Ē‚Ä—ˆ‚ę‚Č‚­‚Č‚č‚Ü‚·B‚Å‚ā + ‚ą‚Ėę‡ƒ}ƒbƒv‚ðˆÚ“Ū‚ĩ‚Ä‚ā‚ŋ‚á‚ņ‚Æ‚Â‚Ē‚Ä—ˆ‚Ü‚·B + Á–Å‚ĩ‚―‚č‚Í‚ĩ‚Ü‚đ‚ņB +* ˆÚ“Ū‘Ž“x‚Š‘Ž‚Ēƒyƒbƒg‚̓Lƒƒƒ‰‚æ‚萿‚ÉˆÚ“Ū‚ĩ‚Ü‚·B–{ŽI‚Ė•û‚Š‚Į‚Ī‚Č‚Ė‚Đ + ‚í‚Đ‚į‚Č‚Ē‚Ė‚Åƒyƒbƒg‚ĖˆÚ“Ū‚Íƒ‚ƒ“ƒXƒ^[‚ĖˆÚ“Ū‘Ž“x‚ÅˆÚ“Ū‚·‚é + ‚æ‚΂ɂĩ‚Ü‚ĩ‚―B +Ebattle_athena.cnf +pet_catch_rate ’Į‰ÁB + ƒyƒbƒg‚Ė•ßŠl”{—Ķ‚ðÝ’č‚ĩ‚Ü‚·B(Ý’č‚ĩ‚ȂǂÆ100) + Šî–{“I‚Ƀyƒbƒg‚Ė•ßŠl‚ÉŽg‚Á‚Ä‚éŒöŽŪ‚Í + (pet_db.txt‚Ė•ßŠl—Ķ + (ƒLƒƒƒ‰ƒŒƒxƒ‹ - ƒ‚ƒ“ƒXƒ^[ƒŒƒxƒ‹)*0.3 + luk *0.2) + * (2 - ƒ‚ƒ“ƒXƒ^[‚ĖŒŧÝHP/ƒ‚ƒ“ƒXƒ^[‚ĖÅ‘åHP) + ‚ɂȂč‚Ü‚·BŽĐ•ЂȂč‚ɍė‚Á‚―•ςł·‚˂Ŗ{ŽI‚Æ‚Í‚Đ‚Č‚č‚Ė + ˆá‚ǂЂ ‚é‚Đ‚ā’m‚ę‚Ü‚đ‚ņB(ƒ‚ƒ“ƒXƒ^[‚ĖHP‚ðŒļ‚į‚đ‚ÎŒļ‚į‚·’ö•ߊl—͂Р+ ã‚Š‚éŽd‘g‚݂ł·‚Š...) +pet_rename ’Į‰ÁB + ƒyƒbƒg‚Ė–ž‘O‚ð•ύX‚·‚é‚Đ‚Į‚Ī‚Đ‚ðŒˆ‚ß‚Ü‚·B(Ý’č‚ĩ‚ȂǂÆno) + yes‚͉―“x‚Å‚ā–ž‘O‚Ė•ÏX‚Š‰Â”\B + no‚͈ę“x•ύX‚·‚邯‚ā‚Ī•ÏX•s‰Â”\‚ɂȂé +pet_hungry_delay_rate ’Į‰ÁB + ƒyƒbƒg‚Ė• ‚ŠŒļ‚鎞ŠÔ‚Ė”{—͂ł·B(Ý’č‚ĩ‚ȂǂÆ100) + ”{—Ķ‚Š‚‚Ē‚Æ• ‚ŠŒļ‚č“ï‚­‚Č‚č‚Ü‚· +mvp_exp_rate •ύXB + ‚·‚Å‚Éstruct mob_db‚Ėmexpper‚̓Sƒ~‚ɂȂÁ‚Ăǂé‚Ė‚Å(MVP EXP‚Í + MVPƒAƒCƒeƒ€‚ŠŽæ‚ę‚ȂЂÁ‚―ę‡“ü‚é‚Ė‚ÅˆÓ–Ą‚Š‚ ‚č‚Ü‚đ‚ņB) + MVP EXP‚˗Ƃ˔{—͂ɂȂ邿‚Ī‚É•ÏXB(mob.c‚ðCģ) +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(ƒLƒƒƒ‰ŽI‚Ƀf[ƒ^‚𑗂鎞ŠÔ‚ĖŠÔŠu‚Å‚·B‚ą‚ę‚Í + ƒtƒ@ƒCƒ‹‚É•Û‘ķ‚·‚鎞ŠÔ‚ĖŠÔŠu‚ķ‚á‚ ‚č‚Ü‚đ‚ņB) +Einter_athena.cnf +pet_txt ’Į‰ÁB + ƒyƒbƒg‚Ėƒf[ƒ^‚ð•Û‘ķ‚·‚éƒtƒ@ƒCƒ‹‚ðŒˆ‚ß‚Ü‚·B(Ý’č‚ĩ‚ȂǂÆpet.txt) +E@makepet ƒRƒ}ƒ“ƒh’Į‰ÁB + ƒyƒbƒg‚ĖŽĀ‘•‚É‚æ‚Á‚Ä@item‚ōė‚Á‚―—‘‚ÍŽg‚Á‚Ä‚ā–ģ‘ʂɂȂč‚Ü‚·‚˂Š+ ‚ą‚ę‚ðŽg‚Á‚Ä—‘‚ðė‚Á‚Ä‚­‚ū‚ģ‚ǁB + @makepet <ƒ‚ƒ“ƒXƒ^[‚ĖID or —‘‚ĖID> +E@petfriendly ƒRƒ}ƒ“ƒh’Į‰ÁB + @petfriendly <”Žš> + ƒyƒbƒg‚ð˜A‚ę‚Ä‚Ē‚éŽž‚Ƀyƒbƒg‚ːe–§“x‚ð•ύXB(0~1000) +E@pethungry ƒRƒ}ƒ“ƒh’Į‰ÁB + @pethungry <”Žš> + ƒyƒbƒg‚ð˜A‚ę‚Ä‚Ē‚éŽž‚Ƀyƒbƒg‚Ė–ž• “x‚ð•ύXB(0~100) +E@petrename ƒRƒ}ƒ“ƒh’Į‰ÁB + @petrename + ƒyƒbƒg‚ð˜A‚ę‚Ä‚Ē‚éŽž‚Ƀyƒbƒg‚Ė–ž‘O‚ð•ύX‚Å‚Ŧ‚邿‚Ī‚É•ÏXB +Eint_guild.cAint_party.c “Į‚ݍž‚Þƒtƒ@ƒCƒ‹‚ɃGƒ‰[‚Š‚ ‚Á‚Ä‚āƒvƒƒOƒ‰ƒ€‚ð + I—đ‚đ‚ļ‚ɐi‚Þ‚æ‚Ī‚É•ÏXB +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 + tick‚Š“Ŋ‚퐔’l‚ɂȂé‚Ė‚ð–h‚Ē‚―‚˂ł·‚Š‚ą‚ę‚Å‚Į‚ņ‚ȉe‹ŋ‚Šo‚é‚Đ‚Í + ‚ģ‚Á‚Ï‚č‚í‚Đ‚č‚Ü‚đ‚ņB + pc.cAmob.c‚ðCģB + ‚Å‚ā‚ą‚ĖCģ‚ð‚ĩ‚Ä‚ā˜A‘ą‚ŃNƒŠƒbƒN‚ĩ‚―‚č‚·‚邯ƒLƒƒƒ‰‚Š‚ĩ‚Î‚į‚­ + Ž~‚܂邿‚΂ł·B(ƒyƒbƒg‚Ė‚đ‚Ē‚ÆŽv‚ǂ܂ĩ‚―‚Šƒyƒbƒg‚ЂȂ­‚Ä‚ā + “Ŋ‚ķ‚ū‚Á‚―‚˂őž‚ĖŒīˆö‚Đ‚Æ...) +* doc/code_ref.txt‚Æhelp.txt‚Í–Ę“|‚­‚ģ‚Ē‚Ė‚ÅCģ‚ĩ‚Ă܂đ‚ņB +Egm_all_skill: yes‚Å2-2‚ĖƒXƒLƒ‹‚ā•\ŽĶ‚ģ‚ę‚邿‚Ī‚É•ÏXB(ŽŽ‚Ē‚đ‚Í‚Ē‚Ü‚đ‚ņ‚Š...) + pc.c + pc_calc_skilltre() CģB +EƒJ[ƒgƒŒƒ{ƒŠƒ…[ƒVƒ‡ƒ“‚Ėƒ_ƒ[ƒWŒvŽZ‚ðCģB + •ŠíŒĪ‹†‚ð“ņdŒvŽZ‚ĩ‚Ăǂ―‚Ė‚ÅCģB + battle.c + Damage battle_calc_weapon_attack() CģB + +-------------- +//381 by ŒÓ’ą—– + +EMOB‚Ės“ŪCģ + EPC‚Ė‚Ē‚Č‚Ēƒ}ƒbƒv‚ĖMOB‚ÍŽžXƒ[ƒv‚·‚邿‚΂ɂȂč‚Ü‚ĩ‚― + EPC‚˂ǂéƒ}ƒbƒv‚ĖMOB‚Í•ā‚­ˆČŠO‚ɁAŽžX•Ķ‚Ŧ’ž‚·‚æ‚΂ɂȂč‚Ü‚ĩ‚― + i‚ą‚ę‚Ü‚―ƒpƒtƒH[ƒ}ƒ“ƒX‚ɉe‹ŋ‚Š‚ ‚é‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņF­‚ĩd‚­‚Č‚é‚Đ‚āj + EŽč”ē‚Ŧˆ—‚ŃuƒƒbƒN‚Ė—LŒø”ŧ’č‚ðs‚Ī‚æ‚΂ɂĩ‚Ü‚ĩ‚― + iHP–ģŒĀMOB–â‘čCģHj + Eƒ‹[ƒgŽžƒXƒLƒ‹Žg—p‹@\ŽĀ‘• + + mob.c/mob.h + mob_ai_sub_lazy(),mob_ai_sub_hard()Cģ + MSS_LOOT’Į‰Á,mob_readskilldb()Cģ + +EMOBƒXƒLƒ‹‚ˑېŦ•ύX‚ðŽĀ‘•‚ĩ‚Ü‚ĩ‚―B + + map.h + struct mob_data‚É def_eleƒƒ“ƒo’Į‰Á + mob.c + mob_spawn()‚Ådef_ele‚ðƒZƒbƒg‚·‚邿‚Ī‚É•ÏX + battle.c + battle_get_element()‚Ådef_ele‚ð“Į‚Þ‚æ‚Ī‚É•ÏX + skill.c + skill_castend_nodamage_id()Cģ + +EƒNƒ@ƒOƒ}ƒCƒA‚ĖŒø‰Ę”ÍˆÍ‚Đ‚įo‚邯Œø‰Ę‚ŠØ‚ę‚邿‚΂ɂȂč‚Ü‚ĩ‚― + + skill.c + ƒ†ƒjƒbƒgŒnˆ—Cģ + +-------------- +//380 by ‚`‚ːl + +EƒJ[ƒgƒŒƒ”ƒHƒŠƒ…[ƒVƒ‡ƒ“‚Ėƒ_ƒ[ƒWŒvŽZŽĀ‘• + battle.c‚ð•ύXB + +CHRIS‚ģ‚ņA‚ ‚肊‚Æ‚ĪŒäĀ‚ǂ܂·B +ƒmƒbƒNƒoƒbƒNŽĀ‘•‚Å‚Ŧ‚Č‚­‚āAĒ‚Á‚Ă܂ĩ‚―i„ƒG + +-------------- +//379 by CHRIS + +EƒJ[ƒgƒŒƒ”ƒHƒŠƒ…[ƒVƒ‡ƒ“‚ĖŽĀ‘• + skill.c‚Æbattle.c‚ð•ύXB + +Eƒ}ƒOƒiƒ€ƒuƒŒƒCƒN‚ɃmƒbƒNƒoƒbƒN‚ð’Į‰ÁB + battle.c‚ð•ύXB + +iƒ\[ƒX‚ð˜M‚Á‚―‚Ė‚Í‰‚߂ĂȂ˂ŁA—L‚Á‚Ä‚é‚Đ‚Į‚Ī‚Đ•Š‚Đ‚č‚Ü‚đ‚ņ‚ЁAŽĐ•Š‚Å‚Ío—ˆ‚Ü‚ĩ‚―Bj +iƒvƒƒOƒ‰ƒ€ŠÖŒW‚Ė‘Ð‚𔃂Á‚Ä•Ũ‹­‚ĩ‚߂ĘM‚Á‚―‚˂ł·EEEBƒKƒ“ƒoƒŠƒ}ƒXIBj + +-------------- +//377 by ŒÓ’ą—– + +EMOB‚Ės“ŪCģ + E‹ß‚­‚ÉPC‚˂ǂȂĒMOB‚ŠŽžXƒ[ƒv‚·‚éŽd—l‚ðŽ~‚߂܂ĩ‚―B + EPC‚Ė‚Ē‚Č‚Ēƒ}ƒbƒv‚ĖMOB‚Í‘S‚­“Ū‚Đ‚Č‚­‚Č‚č‚Ü‚ĩ‚―B + EPC‚˂ǂéƒ}ƒbƒv‚ŁA‹ß‚­‚ÉPC‚˂ǂȂĒMOB‚ÍŽžX•ā‚­‚æ‚΂ɂȂč‚Ü‚ĩ‚―B + E‚ŧ‚Ė‘žŨ‚Đ‚Ē‚Æ‚ą‚ëCģ + iƒpƒtƒH[ƒ}ƒ“ƒX‚ɉe‹ŋ‚Š‚ ‚é‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņF­‚ĩd‚­‚Č‚é‚Đ‚āj + + mob.c + mob_randomwalk()’Į‰Á + mob_ai_sub_lazy(),mob_ai_sub_hard()Cģ‚Č‚Į + +EƒXƒLƒ‹Cģ + EMOB‚ŠƒeƒŒƒ|[ƒg‚Å‚Ŧ‚邿‚΂ɂȂč‚Ü‚ĩ‚― + + mob.c + mob_warp()’Į‰Á + skill.c + skill_castend_nodamage_id()Cģ + +EƒXƒe[ƒ^ƒXˆŲí‚Ėˆę•”‚ðŽĀ‘•/Cģ + EPC/MOB‚Æ‚ā‚ɑޓxŒļ­‚ĖŒø‰Ę‚ŠŒŧ‚ę‚邿‚΂ɁiAGI‚Ė•\ŽĶ‚͕ςí‚į‚ļj + EPC‚ĖƒGƒ“ƒWƒFƒ‰ƒXAƒCƒ“ƒ|ƒVƒeƒBƒIƒ}ƒkƒXA‘Ž“xãļ‚ĖŒø‰Ę‚ðCģ + EMOB‚Ė2HQAƒAƒhƒŒƒiƒŠƒ“ƒ‰ƒbƒVƒ…AƒGƒ“ƒWƒFƒ‰ƒXAƒCƒ“ƒ|ƒVƒeƒBƒIƒ}ƒkƒXA + ‘Ž“xãļ/Œļ­AƒOƒƒŠƒAAƒuƒŒƒbƒVƒ“ƒO‚Č‚Į‚ĖŒø‰ĘŽĀ‘• + E‡–°A“€Œ‹AƒXƒ^ƒ“‚Ė•K’†Œø‰ĘŽĀ‘• + E‡–°‚ĖƒNƒŠƒeƒBƒJƒ‹”{Œø‰ĘŽĀ‘• + 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‚ŃAƒCƒeƒ€‚ˉŋŠi‚ðÝ’č‚Å‚Ŧ‚邿‚΂ɂȂč‚Ü‚ĩ‚― + E‰ŋŠiƒf[ƒ^‚ðƒI[ƒo[ƒ‰ƒCƒh‚Å‚Ŧ‚邿‚΂ɂĩ‚Ü‚ĩ‚―B + E‚ą‚ę‚Åitem_db2.txt‚ð—pˆÓ‚·‚é•K—v‚Š‚ ‚č‚Ü‚đ‚ņB + + (db/) + item_value_db2.txt + item_db2.txt‚ˉŋŠiƒf[ƒ^B + item_value_db.txt‚ÉƒŠƒl[ƒ€‚·‚邯“Į‚ݍž‚݂܂·B + (map/) + itemdb.c + itemdb_readdb()Cģ + +EŒÃ–Ø‚ĖŽ}‚ðŽg‚Ī‚ÆMOB‚Ė–ž‘O‚Š 0 ‚ɂȂé–â‘č‚ĖCģ + + (db/) + item_db.txt + ŒÃ–Ø‚ĖŽ}‚Ėƒf[ƒ^Cģ + +-------------- +//375 by ŒÓ’ą—– + +EMOBę—pƒXƒLƒ‹‚ĖŒø‰Ę‚ð‚Ē‚­‚Â‚ĐŽĀ‘• + ‘―’iUŒ‚A“łȂĮ‚Ė’Į‰ÁŒø‰Ę•t—^UŒ‚A‘ېŦ•t‚ŦUŒ‚A–‚–@‘ÅŒ‚UŒ‚ + •K’†UŒ‚A–hŒä–ģŽ‹UŒ‚Aƒ‰ƒ“ƒ_ƒ€ATKUŒ‚‚Č‚ĮB + ‚―‚ū‚ĩA**‘S‚­ƒeƒXƒg‚ĩ‚Ă܂đ‚ņ**B + + (db/) + skill_db.txt + MOB—pƒXƒLƒ‹‚Ėƒ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ģ + +EƒXƒLƒ‹‚ð­‚ĩCģ + EƒEƒH[ƒ^[ƒ{[ƒ‹‚Å“G‚ŠŽ€‚ņ‚Å‚Ē‚Ä‚āŒ‚‚ƒ‚[ƒVƒ‡ƒ“‚ð‚·‚é–â‘čCģ + + skill.c + skill_status_change_timer()Cģ + +EMOBƒf[ƒ^‚Š•Ï‚Č‚Ė‚Å–^‚v‚Ėƒf[ƒ^ƒx[ƒX‚ð—Ž—p‚ĩ‚Ă݂é + Eƒf[ƒ^‚Ė•Ā‚Ņ‡‚Æ‚Đ‘S‚­“Ŋ‚ķ‚Č‚ņ‚Å‚·‚Ë + + (db/) + mob_db.txt + –^‚v‚Ėmob_db.txt + +EŠeŽíconf‚ĖƒŠƒtƒ@ƒŒƒ“ƒX‚ð“Y•t + ‚ ‚­‚Ü‚ÅƒŠƒtƒ@ƒŒƒ“ƒX‚Ȃ˂ŁAHowTo‚Č‚ņ‚Đ‚Í‘‚ǂĂ܂đ‚ņB + + (doc/) + conf_ref.txt + conf‚ĖƒŠƒtƒ@ƒŒƒ“ƒX{ƒŋ + + +-------------- +//373 by ŒÓ’ą—– + +EMOBƒXƒLƒ‹Žg—p‹@\‰žŽĀ‘• + EƒXƒLƒ‹Žg—pŽž‚Ėˆ—‚̓vƒŒƒCƒ„[‚Æ‹Ī—p(skill.c)‚Å‚·B + E•s“s‡‚Š‘―‚Ē‚ÆŽv‚΂˂ŕņ‚ĻŠč‚Ē‚ĩ‚Ü‚·B + Emob_skill_db.txt‚𖄂߂Ă­‚ę‚él‚ā•åWB + ‚ą‚Ėƒf[ƒ^‚́uƒ‰ƒOƒiƒƒN‚Ė‚―‚Ü‚ēv‚ðŽQl‚É‚ĩ‚Ăǂ܂·B + + (db/) + mob_skill_db.txt + MOBƒXƒLƒ‹ƒf[ƒ^ƒx[ƒX(–ĒŠŪŽ) + ƒeƒXƒg—p‚Ėƒf[ƒ^‚ĩ‚Đ“ü‚Á‚Ă܂đ‚ņB + (map/) + mob.c/mob.h + mobskill_*’Į‰ÁA‚ŧ‚Ė‘ž‘―”Cģ + map.h + struct mob_data ‚É skill* ’Į‰Á + skill.c/skill.h + skill_castcancel()‚âƒXƒLƒ‹ƒ†ƒjƒbƒgˆ—‚ðMOB‚ɑΉž‚ģ‚đ‚― + battle.c + battle_calc_damage()‚Č‚ĮCģ + +EƒMƒ‹ƒh‚ĖƒXƒLƒ‹‚АG‚ę‚Ȃǖâ‘čCģ + E‚Ē‚Â‚Ė‚Ü‚É‚Đpc_skillup‚ŠŒÃ‚Ē‚ā‚Ė‚É•Ï‚í‚Á‚Ăǂ―‚Ė‚ÅCģ + + pc.c + pc_skillup(),pc_checkskill()Cģ + +-------------- +//368 by ŒÓ’ą—– + +EMOBŒn‚ĖCģ‚Č‚Į + EMOB‚Šô“G”͈͓ā‚ĖPC/ƒAƒCƒeƒ€‚𓙊m—Ķ‚ÅƒƒbƒN‚·‚邿‚΂ɂȂč‚Ü‚ĩ‚― + iƒAƒNƒeƒBƒuAƒ‹[ƒgF‚Ē‚Ü‚Ü‚Å‚ÍŠY“–ƒuƒƒbƒN‚ĖƒŠƒ“ƒNƒŠƒXƒg‚Ė‡‚Č‚Į‚É + ˆË‘ķ‚ĩ‚Ăǂ―j + EŽË’ö”͈͓ā‚ЂA“ž’B•s‰Â”\’n‘Ņ‚ĖPC‚ðMOB‚ŠƒƒbƒN‚·‚邯A + MOB‚Š’âŽ~‚ĩ‚―‚čA‚ŧ‚Ėę‚Å–\‚ę‚ū‚ĩ‚―‚č‚·‚é–â‘č‚ĖCģ + EMOBƒƒbƒN’†‚ÉIW‚Č‚Į‚Å“ž’B•s‰Â”\‚ɂȂÁ‚―ę‡AƒƒbƒN‚ð‰ðœ‚·‚邿‚΂ɁB + EAEGIS•ûŽŪ‚Å“G‚ĖˆÚ“Ū‚ðŒvŽZ‚ĩ‚ÄˆÚ“Ū•s‰Â”\‚Č‚įAAthenaŽŪ‚ÅŒvŽZ‚·‚邿‚Ī‚É + EƒƒbƒN‚Š‰ðœ‚ģ‚ę‚邯‚Ŧ‚ɐ”•b‚ŧ‚Ėę‚Å’âŽ~‚·‚邿‚΂ɂĩ‚― + E•ās‚Š’x‚ĒMOB‚Š‚Æ‚Ü‚į‚Č‚Ē/ŽŸ‚Ė•āsŠJŽn‚Š‘‚·‚Ž‚é–â‘č‚ðCģ‚ĩ‚Ü‚ĩ‚― + Eƒ‹[ƒgŠÖ˜Aˆ—‚ð­‚ĩCģ + + mob.c + mob_ai_sub_hard*()Cģ + mob_can_reach()’Į‰Á + +EƒXƒLƒ‹Žg—pŽž‚Ƀ^[ƒQƒbƒgƒuƒƒbƒN‚Ė—LŒøŦ”ŧ’č‚ðs‚Ī‚æ‚Ī‚ÉCģ +Eƒ‹ƒAƒt‚Ėƒ_ƒ[ƒW‚Š•ŠíŒvŽZ‚ɂȂÁ‚Ăǂé‚ĖƒoƒO‚ð–‚–@ŒvŽZ‚ɏCģ + + skill.c + skill_castend_id()Cģ + skill_status_change_timer_sub()Cģ + + +---------- +//364 by ‚Ē‚Į +EˆČ‰š‚ĖƒpƒPƒbƒg‚ːā–ū‚ð•ύX + doc/ƒpƒPƒbƒg‰ðÍ.txt + R 006a .B + R 0081 .B + +E363‚Ńrƒ‹ƒhŽž‚Éwarning‚Šo‚é•s‹ï‡‚ðCģ + map/guild.h + +-------------- +//363 by ŒÓ’ą—– + +EƒMƒ‹ƒh‚ĖCģ + EƒƒOƒCƒ“‚ĩ‚ĂǂȂĒPC‚ð’Į•ú‚·‚邯ƒ}ƒbƒvŽI‚Š—Ž‚ŋ‚éƒoƒOCģ + Eƒƒ“ƒo[’Į‰Á’žŒã‚É’Į‰Á‚ģ‚ę‚―PC‚ŠƒMƒ‹ƒh•\ŽĶ‚É’Į‰Á‚ģ‚ę‚Ȃǖâ‘čCģ + E“Ŋ‚ķƒMƒ‹ƒh‚É“ŊC•ĘƒLƒƒƒ‰‚Š—v‚éPC‚Š’E‘Þ‚·‚é/’Į•ú‚ģ‚ę‚邯•ĘƒLƒƒƒ‰‚Š + ’E‘Þ‚ĩ‚Ä‚ĩ‚Ü‚Īę‡‚Š‚ ‚éƒoƒOCģ + Eƒƒ“ƒo[‚Ђǂé‚˂ɉðŽU‚ĩ‚æ‚Ī‚Æ‚·‚邯ƒ}ƒbƒvŽI‚Š—Ž‚ŋ‚éƒoƒOCģ + + (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 ŒÓ’ą—– + +EƒMƒ‹ƒh‰ðŽUŽĀ‘• + + (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‚Šƒ}ƒCƒiƒX‚ɂȂį‚Ȃǂæ‚Ī‚ÉCģ + +-------------- +//359 by ‚Ē‚Į + +Eclass_equip_db.txt‚Ė•ķŽš‰ŧ‚ŊCģ + +-------------- +//358 by ŒÓ’ą—– + +EƒƒOƒCƒ“Žž‚Ėdelete_timer‚ĖƒGƒ‰[‚ðo‚Ȃǂæ‚΂ɂĩ‚― + pc.c + pc_authok()‚ĖCģ + +EƒMƒ‹ƒhŠÖŒW‚ĖCģ + Eƒƒ“ƒoŠĐ—UŽž‚ɍőål”‚ĖŠm”F‚ðs‚Ī‚æ‚Ī‚É + Eƒf[ƒ^’Ę’mˆ—‚ð‚Ē‚­‚Â‚ĐCģ + + (char/) + int_guild.c + FXCģ + (map/) + clif.c/clif.h + clif_guild_inviting_refused()‚ðclif_guild_inviteack()‚ɉü–ž + guild.c/intif.c + FXCģ + +E@guildlvupƒRƒ}ƒ“ƒhėŽBƒMƒ‹ƒhƒŒƒxƒ‹‚Š’ēŪ‚Å‚Ŧ‚Ü‚·B + + (char/) + int_guild.c + FXCģ + (map/) + atcommand.c + @guildlvupˆ—’Į‰Á + +EMakefike‚Ėclean•”•Š‚ðCģ + + (char/ map/ login/) + Makefile + Eíœ‚·‚éŽĀsƒtƒ@ƒCƒ‹‚ĖƒpƒX‚ð ../athena/ ‚Đ‚į ../ ‚ɏCģ + +-------------- +//357 by ŒÓ’ą—– + +Epc.c‚Ė•ķŽš‰ŧ‚ŊCģ + •ķŽš‰ŧ‚Ŋ‚ĩ‚―ƒtƒ@ƒCƒ‹‚ðƒAƒbƒv‚·‚é‚Ė‚āA‚ŧ‚ę‚ð‰ü‘Ē‚·‚é‚Ė‚ā‹ÖŽ~‚ĩ‚Ü‚đ‚ņ‚ЁH + ’ž‚·‚Ė–Ę“|‚­‚ģ‚·‚ނ܂·B + + pc.c + •ķŽš‰ŧ‚Ŋ‚ĖCģ + +Eƒp[ƒeƒB‚âƒMƒ‹ƒh‚ÉŠĐ—U‚ģ‚ę‚―ó‘ԂŃ}ƒbƒvˆÚ“Ū‚âƒƒOƒAƒEƒg‚·‚邯A + ŠĐ—U‚ð‹‘”Û‚·‚邿‚Ī‚ÉCģ + + pc.c + pc_setpos()Cģ + map.c + map_quit()Cģ + +EI-AthenaŽĐ“Ū•œ‹ŒƒVƒXƒeƒ€(B-NSJށė)‚ðAthena—p‚ɉü‘Ē‚ĩ‚Ä“Y•t‚ĩ‚Ü‚ĩ‚― + ƒvƒƒOƒ‰ƒ€‚ːŦŽŋã./toolƒtƒHƒ‹ƒ_‚Å‚Í‚Č‚­./‚É‚ ‚č‚Ü‚·B + athena.sh‚Ė•Ï‚í‚č‚Éstart‚Å‹N“Ū‚·‚邯mapŽI‚Š—Ž‚ŋ‚Ä‚ā10•b’ö“x‚Å•œ‹Œ‚ĩ‚Ü‚· + ƒvƒƒZƒX‚́umapv‚Å’ē‚Ũ‚Ă܂·‚Š‘ž‚ĖƒvƒƒZƒX‚É”―‰ž‚·‚邯‚Ŧ‚Í + umap-serverv‚Č‚Į‚É•Ï‚Ķ‚Ä‚Ý‚Ä‚­‚ū‚ģ‚ǁB + + start + mapŽIŽĐ“Ū•œ‹ŒƒVƒXƒeƒ€‚ĖƒVƒFƒ‹ƒXƒNƒŠƒvƒg + + +-------------- +//0356 by Ž€_ + +Eathena.sh‚ðŽg‚í‚Č‚­‚Ä‚āYare-launcher‚ðŽg‚͂邿‚Ī‚É•ÏXB(ŽĐ•ŠŽŽ‚ĩ‚Ă܂ĩ‚―‚Š +ˆę‰ž“Ū‚Ŧ‚Ü‚ĩ‚―B‚ł⑋‚Ėę‡login-server.exe‚Šlogin-server.ex‚É“o˜^‚ģ‚ę‚Ä‚ĩ‚Ü‚Ē +Yare-launcher‚Šlogin-server.exe‘ą‚Ŋ‚ÄŽĀs‚·‚é–â‘肊‚ ‚č‚Ü‚·B‚ą‚ę‚Íathena‚Ė +–â‘肳͂ ‚č‚Ü‚đ‚ņ‚Š...) + comm/makefileˆČŠO‚Ėmakefile‘S‚Ä‚ðCģB + athena.shCģB + ŽĀsƒtƒ@ƒCƒ‹‚Í.,/athena ƒtƒHƒ‹ƒ_[‚ķ‚á‚Č‚­./ ƒtƒHƒ‹ƒ_[‚ɍė‚į‚ę‚Ü‚·B +E V‹Kaccount‚Ė‹–—e‚·‚é‚Đ‚Į‚Ī‚Đ‚ðlogin_athena.cnf‚ÅŒˆ‚߂邿‚Ī‚É•ÏXB(‚ą‚ę‚Í + YareCVS‚ðŽQl‚ĩ‚―•ςł·B) + login.c + int mmo_auth() CģB + login_athena.cnf + new_account ’Į‰ÁB +Echar.cAlogin.cAinter.cAmap.cAbattle.c‚Åˆę•”‚Ėstrcmp‚ðstrcmpi‚ɕύXB + +-------------- +//355 by ‚ä‚Ī + +EķŽč‘•”õ‚āl—ķ‚ĩ‚―“ņ“—Ž‚ÉCģ +@iƒ_ƒ[ƒWŒvŽZ‚Ė‚Ý‚ÅŒĐ‚―–Ú“™‚͕ύ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ģ + @ƒNƒŠƒeƒBƒJƒ‹‚æ‚čƒ_ƒuƒ‹ƒAƒ^ƒbƒN‚ðæ‚É”ŧ’č‚·‚邿‚Ī‚ÉCģ + @‰ßčļ˜B‚Ė’Į‰Áƒ_ƒ[ƒW‚ðļ˜Bƒ_ƒ[ƒW‚ĖŽŸ‚ɏˆ—‚·‚邿‚Ī‚ÉCģ + @i‚ą‚ę‚į‚Í“ÆŽĐ‚É’ē‚Ũ‚―‚ā‚Ė‚ÅŠÔˆá‚Á‚Ăǂé‰Â”\Ŧ‚ ‚čj + +pc.c + pc_calcstatus()‚ɍķŽč—p‚Ė•Ï”‚É’l‚ð“ü‚ę‚鏈—‚ð’Į‰Á + pc_equipitem()‚Ė“ņ“—Ž‘•”õ‚ĖęŠ‚Š‚Ļ‚Đ‚ĩ‚Đ‚Á‚―‚Ė‚ðCģ + +-------------- +//353 by ‚Ē‚Į + +EYare-launcher‚ðŽg‚Ī‚ą‚Æ‚Šo—ˆ‚邿‚Ī‚ÉMakefile‚Æathena.sh‚ð•ύX + +-------------- +//352 by ŒÓ’ą—– + +E‰rĨ’†‚ɃNƒ‰ƒCƒAƒ“ƒg‚ðI—đ‚·‚é‚ÆmapŽI‚Š—Ž‚ŋ‚é–â‘č‚ĖCģ + skill.c + skill_castend_id(),skill_castend_pos(),skill_castend_map()Cģ + map.c + map_quit()Cģ + + +Eƒf[ƒ^ƒoƒbƒNƒAƒbƒv—p‚Ėƒc[ƒ‹“Y•t + Perlŧ‚Č‚Ė‚ÅŽĀs‚É‚ÍPerl‚Š•K—v‚Å‚·B + Žg—p•û–@‚Č‚Į‚̓GƒfƒBƒ^‚ÅŠJ‚Ē‚ÄŒĐ‚Ä‚­‚ū‚ģ‚ǁB + Žg‚Ē•û‚Š—Į‚­‚í‚Đ‚į‚Ȃǐl‚ÍŽč‚ðo‚ģ‚Ȃǂ؂΂Ђǂǂł·B + ƒf[ƒ^‚ŠÁ‚͂ĂāÓ”C‚ÍŽ‚ŋ‚Ü‚đ‚ņ + + (tool/) + backup + ƒf[ƒ^ƒoƒbƒNƒAƒbƒv—pPerlƒXƒNƒŠƒvƒg + +-------------- +//0351 by Ž€_ +skill.c + skill_use_id()‚ɉrĨ”―‰žƒ‚ƒ“ƒXƒ^[‚Ėˆ—‚ð•ύXB(UŒ‚ó‘ÔˆČŠO‚Ėę‡ + ‰rĨ”―‰ž‚ðÅ—Dæ‚É‚ĩ‚Ü‚·B) +mob.c + mob_ai_sub_hard_castsearch() ‰rĨ”―‰žƒ‚ƒ“ƒXƒ^[‚ð“ņdˆ—‚ĩ‚Ä + ‚Ē‚―‚Ė‚ÅíœB + mob_ai_sub_hard() ‰rĨ”―‰žƒ‚ƒ“ƒXƒ^[‚ð“ņdˆ—‚ĩ‚Ȃǂæ‚Ī‚É•ÏXB +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‚Ī‚æ‚Ī‚É•ÏXB +map.h + MAP_CONF_NAME ’Į‰ÁB +map.c + do_init() ŽĀs‚·‚鎞ƒtƒ@ƒCƒ‹–ž‚Š“ü—Í‚ģ‚ę‚ĂǂȂǂÆMAP_CONF_NAME‚ð + Žg‚Ī‚æ‚Ī‚É•ÏXB +‚ą‚ę‚Ålogin.exeAchar.exeAmap.exe‚ðathenaƒtƒHƒ‹ƒ_[‚ɃRƒs[‚ĩ‚―Œã–ž‘O‚ð +login-server.exeAchar-server.exeAmap-server.exe‚ɕύX‚·‚邯Yare-launcher‚ðŽg‚Ī +‚ą‚Æ‚ЂłŦ‚Ü‚·B‚ą‚ę‚ðŽg‚Ī‚ÆŽI‚Š—Ž‚ŋ‚é“x‚ÉŽĐ“Ū“I‚ÉÄŽĀs‚ĩ‚Ä‚­‚ę‚Ü‚·B + +-------------- +//0345 by Ž€_ +EƒLƒƒƒXƒeƒBƒ“ƒO’T’mŽĀ‘•B + mob.c + mob_ai_sub_hard_lootsearch() CģB + mob_ai_sub_hard() CģB + mob_ai_sub_hard_castsearch() ’Į‰ÁB + mob_target(), mob_ai_sub_hard_activesearch() ƒ{ƒXƒ‚ƒ“ƒXƒ^[‚ð + mvpŒoŒą’l‚É‚æ‚Á‚Ä”FŽŊ‚·‚邿‚Ī‚É•ÏXB + mob_ai_sub_hard_linksearch() CģB + mob_attack() Ž€‚ņ‚ū‚Ó‚čAƒnƒCƒfƒBƒ“ƒO‚ðƒ`ƒFƒbƒN‚·‚邿‚Ī‚É•ÏXB + mob_readdb() CģB +Epet.h + MAX_PET_DB‚ð100‚ɕύXB +Epet.c + read_petdb() CģB + +-------------- +//0344 by@‰ß‹Ž‚ːli1 +E@ƒyƒbƒg• Œļ‚čŽĀ‘•‚Ļ‚æ‚Ņ‚ŧ‚Ė‚Ų‚ĐFXCģ +E@ƒyƒbƒg‰a‚â‚čŽĀ‘• + + pet.c + pet_calcrate(struct map_session_data *sd); + ƒyƒbƒg‚ĖŠl“ūŠm—ĶŒvŽZ + pet_food(struct map_session_data *sd); + ƒyƒbƒg‰a‚â‚čƒVƒXƒeƒ€ + pet_hungry_change( int tid, unsigned int tick, int id,int data ); + ƒyƒbƒg‚Š• ‚ðŒļ‚郍ƒWƒbƒN + pet_status_int(struct map_session_data *sd); + e–§“xŒvŽZ + pet_status_hungry(struct map_session_data *sd); + –ž• “xŒvŽZ + pet_status_1a3(struct map_session_data *sd); + ƒpƒPƒbƒg1a3Ý’čŠÖ” + pet_initstate(struct map_session_data *sd); + ƒyƒbƒg‚Š‰‚߂Đķ‚Ü‚ę‚―‚Æ‚Ŧ‚Ė‰ŠúƒXƒe[ƒ^ƒ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ƒ‚[ƒVƒ‡ƒ“‚ðs‚Ī + clif.h + clif_pet_emotion(int fd,struct map_session_data *sd); + +-------------- +//0341 by Ž€_ +Eƒ‹[ƒgƒ‚ƒ“ƒXƒ^[ŽĀ‘•B + map.h + LOOTITEM_SIZE‚ð20‚ɏCģB + struct mob_data‚Éint lootitem_count ’Į‰ÁB + mob.c + mob_spawn() ­‚ĩCģB + mob_ai_sub_hard_lootsearch() ’Į‰ÁB + mob_ai_sub_hard() CģB + struct delay_item_drop2 ’Į‰ÁB + mob_delay_item_drop2() ’Į‰ÁB + mob_damage() CģB + battle.h + struct Battle_Config‚Éint monster_loot_type ’Į‰ÁB + battle.c + battle_config_read() CģB + battle_athena.cnf + monster_loot_type: 0 ’Į‰ÁB(Šî–{“I‚É0‚ɂȂÁ‚Ăǂ܂·B + 0‚Ėę‡‚ÍLOOTITEM_SIZE‚܂ŃAƒCƒeƒ€‚ðH‚Ũ‚Ä‚ā + ‚Ü‚―ƒAƒCƒeƒ€‚ðH‚Ũ‚Ä‘O‚ĖƒAƒCƒeƒ€‚ŠÁ‚Ķ‚éŽd—l‚Å‚·B + 1‚Ėę‡‚ÍLOOTITEM_SIZE‚܂ŃAƒCƒeƒ€‚ðH‚Ũ‚邯 + ‚ā‚ĪƒAƒCƒeƒ€‚ðH‚Ũ‚Č‚­‚Č‚č‚Ü‚·B + +-------------- +//0340 by Ž€_ +EmvpƒoƒOCģB + mob.c + mob_damage()‚Åj‚É•Ï‚Ķ‚―‚Í‚ļ‚Ė•Ļ‚ÉŒĐ—Ž‚Æ‚ĩ‚ ‚č‚Ü‚ĩ‚―‚˂Š+ Cģ‚ĩ‚Ü‚ĩ‚―B‚ą‚ę‚ÅmvpƒAƒCƒeƒ€‚Å•Ï‚Č•Ļ‚Šo‚Č‚­‚Č‚é‚Í‚ļ‚Å‚·B +Eclass_equip_db.txt + EUC-JIS‚ðS-JIS‚ɕύXB(ˆÓ–Ą‚Í‚ ‚č‚Ü‚đ‚ņ‚Š‘ž‚Ėƒtƒ@ƒCƒ‹‚Í + ‘S•”S-JIS‚ū‚Á‚―‚Ė‚Å...’P‚Č‚éƒ~ƒX‚Å‚·‚Š...) + +---------- +//339 by ‚Ē‚Į + +E338‚ð“K—p‚ĩ‚―ó‘ԂŃrƒ‹ƒhƒGƒ‰[‚Š”­ķ‚·‚é•s‹ï‡‚ðCģ + +---------- +//338 by ‰ß‹Ž‚ːli1 + +E@pet_db.txt‚ɑΉž‚ĩ‚Ü‚ĩ‚―B +E@pet_db‚ð‚‚ЂÁ‚―ƒvƒƒOƒ‰ƒ€‚Ė‘‚Ŧ•û‚ɏCģ‚ĩ‚Ü‚ĩ‚―B +E@ƒyƒbƒg‚Ė–ž‘O‚ð•ύX‚·‚鎖‚Šo—ˆ‚Ü‚· +E@ƒyƒbƒg‚ɃAƒNƒZƒTƒŠ[‚ð‚‚Ŋ‚鎖‚Šo—ˆ‚Ü‚·B +E@ŒŧÝƒyƒbƒg‰a‚â‚čis’† + + (map/) + clif.c/clif.h + E petŠÖ˜A‚ĖŠÖ”‚ð‚Ų‚ÚCģ‹y‚Ņ’Į‰Á‚Ē‚―‚ĩ‚Ü‚ĩ‚―B + E clif_parse_EquipItem()“ā•”‚Ńyƒbƒg—p‘•”õ‚Å‚ ‚é‚Đ‚Į‚Ī‚Đ‚Ė”ŧ’č‚ð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); + @‰Šú‚ĖƒyƒbƒgƒXƒe[ƒ^ƒX‚ðÝ’č‚·‚éŠÖ”‚Å‚· + E pet_npcid(struct map_session_data *sd,int egg_name_id); + @ƒyƒbƒg‚ÉŠ„‚č“–‚Ä‚į‚ę‚―npc_id‚ð•Ô‚ĩ‚Ü‚· + E pet_itemid(struct map_session_data *sd,int mob_id); + @ƒ‚ƒ“ƒXƒ^[ID‚Đ‚į—‘‚ĖID‚ðŠ„‚čo‚ĩ‚Ü‚· + E pet_equip(struct map_session_data *sd,int equip_id); + @ƒyƒbƒg‚ĖƒAƒNƒZƒTƒŠ[‘•”õ‚Å‚· + E pet_unequip(struct map_session_data *sd); + @ƒyƒbƒg‚ĖƒAƒNƒZƒTƒŠ[‰ðœ‚Å‚· + E pet_calcrate(struct map_session_data *sd); + @—‘Šl“ūŠm—ĶŒvŽZ‚ðs‚Ē1or0‚ð•Ô‚ĩ‚Ü‚·B + E pet_food(struct map_session_data *sd); + @ƒyƒbƒg‰a‚â‚člˆÄ‚Å‚·B‚Ü‚ūģí‚É“Ūė‚ĩ‚Ü‚đ‚ņB + E read_petdb() + @pet_db.txt‚ð“Į‚ݍž‚Ýpet_db[]‚É’l‚ð“ü‚ę‚éŠÖ”‚Å‚· + + E do_init_pet() + @mapŽI‰Šú‰ŧ‚Å‚æ‚Ņ‚ū‚ĩpet_db[]‚ðŽg‚͂邿‚΂ɂ·‚éˆŨ‚Ė + ƒyƒbƒgî•ņ‰Šú‰ŧŠÖ”‚Å‚·B + + map.c/map.h + E@BL_PET•ϐ”‚ð‰Á‚͂܂ĩ‚― + E@mapŽI‰Šú‰ŧ‚ĖŽž‚Édo_init_pet()‚ðŒÄ‚Ņo‚ĩ‚Ü‚·B + + mmo.h + E@s_pet\‘Ē‘Ė‚É•Ï”’Į‰ÁBƒLƒƒƒ‰ƒNƒ^[‚Šƒyƒbƒg‚Ėƒf[ƒ^‚ð•ÛŽ‚·‚éˆŨ‚ĖƒVƒXƒeƒ€ + @‚ĖˆŨĄŒã‚ā•ϐ”‚Í‚ŧ‚Ė‚Â‚Į‘‰Á‚·‚é—\’č + + npc.c + ‰ü‘P‚ĩ‚Ü‚ĩ‚―B + + (conf/) + battle_athena.cnf‚É—‘‚ĖŠl“ūŠm—Ķpet_rate‚ð‰Á‚͂܂ĩ‚―B + +---------- +//337 by ŒÓ’ą—– + +EƒMƒ‹ƒh‚Ė’Į‰Á‚ƏCģ + EƒMƒ‹ƒh‚ÉŒoŒą’l‚ðã”[‚·‚邯Aã”[‚ģ‚ę‚éEXP‚ŠˆŲí‚Č’l‚ɂȂéƒoƒOCģ + EƒMƒ‹ƒh‚Ė“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’Į‰Á + +EƒfƒBƒŒƒCŽžŠÔ‚Š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_Config‚Édelay_dependon_dex’Į‰Á + battle_config_read()‚ĖCģ(“Į‚ݍž‚ݏˆ—‚ā•Ï‚Ķ‚Ä‚Ü‚·) + +-------------- +//0336 by Ž€_ +EƒXƒLƒ‹ƒCƒ“ƒfƒ…ƒA‚ð­‚ĩCģB +Eclif.c + clif_skill_damage()Aclif_skill_damage2() ƒCƒ“ƒfƒ…ƒA‡‚í‚đ‚ďCģB + (‚―‚ūƒXƒLƒ‹‚â–‚–@‚ɂȂ邯ƒ‚[ƒVƒ‡ƒ“‚Šo‚Č‚ĒƒpƒPƒbƒg‚ð + ŒĐ‚‚Ŋ‚ȂЂÁ‚―‚Ė‚ÅŠŪ‘S‚ķ‚á‚ ‚č‚Ü‚đ‚ņB) + clif_parse_ActionRequest()Aclif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() + ƒXƒLƒ‹ƒfƒBƒŒƒC‚ĖŽž‚ɃƒbƒZ[ƒW‚Šo‚邿‚Ī‚ÉCģB +EƒoƒbƒNƒXƒeƒbƒvŽĀ‘•AƒIƒŠƒfƒIƒRƒ“ŒĪ‹†ŽĀ‘•B +Eskill.c + skill_castend_damage_id()‚É‚ ‚Á‚―ƒXƒLƒ‹ƒoƒbƒNƒXƒeƒbƒv‚Ėˆ—‚ð + skill_castend_nodamage_id()‚ÉˆÚ“Ū‚ĩ‚Ü‚ĩ‚―B + ƒXƒLƒ‹ƒoƒbƒNƒXƒeƒbƒv‚Ėˆ—‚Åclif_skill_damage2()‚ðŒÄ‚Ô‚Ė‚ðclif_fixpos()‚ð + ŒÄ‚Ô‚æ‚Ī‚É•ÏXB(‚ą‚ę‚Ń_ƒ[ƒW‚Ėƒ‚[ƒVƒ‡ƒ“‚Šo‚ļ‚É + ˆÚ“Ū‚Å‚Ŧ‚Ü‚·B) + ƒoƒbƒNƒXƒeƒbƒv‚Æ‹Đ‚Ô‚æ‚Ī‚É•ÏXB + skill_produce_mix() ƒIƒŠƒfƒIƒRƒ“ŒĪ‹†“K—pB•ŠíƒŒƒxƒ‹‚Š3ˆČã‚ĖŽž‚É + ƒXƒLƒ‹ƒŒƒxƒ‹*1%‚Šƒ{[ƒiƒX‚Æ‚ĩ‚Đŧ‘ĒŠm—͂ɕt‚Ŧ‚Ü‚·B + ƒGƒ‹ƒjƒEƒ€‚ĖŠm—Ķ”ŧ’č’Į‰ÁB +Eskill_db.txt - ƒoƒbƒNƒXƒeƒbƒv‚Ėnk‚ð0‚Đ‚į1‚ɕύXB(ƒXƒLƒ‹”ԍ†150‚˕ςł·B) +Eproduce_db.txt ƒIƒŠƒfƒIƒRƒ“,ƒGƒ‹ƒjƒEƒ€‚ð’Į‰ÁB(‚ą‚ę‚Í–{ŽI‚É‚Í‚Č‚Ē•Ļ‚Å‚·B + ‚æ‚Á‚ăNƒ‰ƒCƒAƒ“ƒg‚ɂ͕K—v‚ČƒAƒCƒeƒ€‚Š•\ŽĶ‚ģ‚ę‚Ü‚đ‚ņB) + ƒIƒŠƒfƒIƒRƒ“ŒĪ‹†‚ð­‚ĩŽg‚Ķ‚é•ςɂ·‚é‚―‚߂ɒĮ‰Á‚ĩ‚Ü‚ĩ‚―B + ƒIƒŠƒfƒIƒRƒ“‚Ėę‡‚̓IƒŠƒfƒIƒRƒ“ŒīÎ3‚‚ƐΒY1‚Â‚Š•K—v‚Å + ƒGƒ‹ƒjƒEƒ€‚̓Gƒ‹ƒjƒEƒ€ŒīÎ3‚‚ƐΒY1‚Â‚Š•K—v‚Å‚·B +Epc.c ­‚ĩCģB + pc_heal()pc_percentheal() ­‚ĩ‚ū‚ŊCģB + pc_gainexp() ƒMƒ‹ƒh‚Éexp‚ðã”[‚·‚鎞‚Éexp‚Šƒ}ƒCƒiƒX‚ɂȂį‚Ȃǂæ‚Ī‚É + CģB“ŊŽž‚É2‚ÂˆČã‚ĖƒŒƒxƒ‹‚Šã‚Š‚邿‚Ī‚É•ÏXB + Å‘僌ƒxƒ‹ˆČã‚ɃŒƒxƒ‹‚Šã‚Š‚į‚Ȃǂæ‚Ī‚ÉCģB + pc_checkbaselevelup()Apc_checkjoblevelup() ’Į‰ÁBƒŒƒxƒ‹ƒAƒbƒv‚ð + ƒ`ƒFƒbƒN‚ĩ‚Ü‚·B + pc_itemheal() ’Į‰ÁBƒAƒCƒeƒ€‚ðŽg‚ĪŽž‚ÉVIT‚ƃXƒLƒ‹‚É‚æ‚Á‚ă{[ƒiƒX‚Š + •t‚­•ςł·BƒXƒLƒ‹ƒ‰[ƒjƒ“ƒOƒ|[ƒVƒ‡ƒ“ŽĀ‘•B +Epc.h + pc_checkbaselevelup(),pc_checkjoblevelup() ’Į‰ÁB + pc_itemheal() ’Į‰ÁB +Escript.c - ƒXƒNƒŠƒvƒgfixheal‚ðœ‹ŽBitemheal‚ð’Į‰ÁBheal‚Šfixheal‚Ė‹@”\‚ð‚·‚é + ‚æ‚Ī‚É•ÏXB + buildin_fixheal() ‚ðÁ‚ĩbuildin_heal()‚ðŒģ‚˕ςɖ߂ĩ‚Ü‚ĩ‚―B(‚‚܂č + buildin_heal()‚Šbuildin_fixheal()‚ɂȂč‚Ü‚ĩ‚―B) + buildin_itemheal() ’Į‰ÁBƒAƒCƒeƒ€‚É‚æ‚é‰ņ•œ‚Í‚ą‚ę‚ðŒÄ‚Ô‚æ‚΂ɂĩ‚Ä + ‚­‚ū‚ģ‚ǁB + buildin_heal()‚Đ‚įƒ{[ƒiƒX‚ĖŒvŽZ‚ðœ‹ŽB +Eitem_db.txtA item_db2.txt - heal‚ðitemheal‚ɕύXB +Emob.c + mob_damage() 0335‚Åmvp‚ɏ­‚ĩŠÔˆá‚ǂЂ ‚č‚Ü‚ĩ‚―‚Ė‚ÅCģ‚ĩ‚Ü‚ĩ‚―B +Eskill.h + MAX_SKILL_PRODUCE_DB‚ð64‚Đ‚į100‚ɕύXB + + +//0335 by Ž€_ +Echar/char2.c‚Ėˆę•”‚ÉRETCODE‚Š“K—p‚ģ‚ę‚ĂȂЂÁ‚―‚˂łŧ‚ę‚ðCģB +Echar/char2.c‚Ėparse_char()‚ŃLƒƒƒ‰‚ðÁ‚·Žž‚É–â‘肊‚ ‚č‚ŧ‚Ī‚ČŠ‚ðCģB +Echar/cha2.c,login/ login2.c‚ðchar/cha.c, login/login.c‚ɕύXB +Echar/makefile,login/makefile‚ð•ύXB +Emakefile‚Æcommon/mmo.h‚ð•ύX‚ĩ‚ÄOS‚ðŽĐ“Ū”FŽŊ‚ĩ‚ÄRETCODE‚ðŽĐ“Ū‚É + “K—p‚·‚邿‚Ī‚É•ÏXB +Ecommon/grfio.c‚Ėgrfio_init()‚ðCģB(ƒR[ƒh‚ð‚ŋ‚å‚Á‚Æ‚Ŧ‚ę‚Ē(H)‚É + ‚ĩ‚―‚ū‚Ŋ‚Å‚·‚Š,,,) +EƒCƒ“ƒfƒ…ƒAŽĀ‘•B‚æ‚Á‚ăAƒ“ƒeƒBƒyƒCƒ“ƒƒ“ƒg‚āŽĀ‘•B +Emap/clif.c + clif_parse_LoadEndAck() ŠØ‘ƒNƒ‰ƒCƒAƒ“ƒg‚Ėƒpƒbƒ`‚ɍ‡‚í‚đ‚ď­‚ĩ•ύXB + (ƒ}ƒbƒv‚Š•Ï‚í‚é“x‚É•Ší‚ƃV[ƒ‹ƒh‚ŠŒĐ‚Ķ‚Č‚­‚Č‚é‚―‚߂ł·B‚Ü‚ū + “ú–{ƒNƒ‰‚Ƃ͊֌W‚ ‚č‚Ü‚đ‚ņ‚Š...) + clif_skillinfoblock() up‚Í‚Ē‚į‚Č‚Ē‚ÆŽv‚Ī‚Ė‚ÅÁ‚ĩ‚Ü‚ĩ‚―BƒXƒLƒ‹ƒ|ƒCƒ“ƒg‚Š + 256A512“™‚ĖŽžƒXƒLƒ‹ƒcƒŠ[‚Аģ‚ĩ‚­•\ŽĶ‚ģ‚ę‚Č‚Ē‚ą‚Æ‚Í + ‚ā‚Ī‚ ‚č‚Ü‚đ‚ņB + clif_guild_skillinfo() “Ŋ‚킿‚Ī‚Éup‚ðÁ‚ĩ‚Ü‚ĩ‚―B + clif_birthpet() pc_delitem() ŒÄ‚Ô‚æ‚Ī‚É•ÏXB + clif_damage() ƒCƒ“ƒfƒ…ƒA‚ɑΉž‚·‚邿‚Ī‚É•ÏXB +Emap/pc.c + pc_percentheal() ƒ}ƒCƒiƒX‚ð“ü‚ę‚Ä‚ā“Ū‚­‚æ‚Ī‚É•ÏXB­‚ĩCģB + pc_heal() ­‚ĩCģB + natual_heal() ­‚ĩCģB + do_init_pc() natual_heal‚ĖCģ‚ɍ‡‚í‚đ‚ĕύXB + pc_calcstatus() ‹|‚ð‘•”õ‚ĩ‚Ä‚Č‚Ē‚ÆƒƒV‚Ė–Ú‚Š“K—p‚ģ‚ę‚Ȃǂæ‚Ī‚É•ÏXB + ƒgƒ‰ƒXƒgŽĀ‘•B + pc_damage() ƒCƒ“ƒfƒ…ƒA‚ɑΉž‚·‚邿‚Ī‚É•ÏXB +Emap/pc.h + pc_checkoverhp(), pc_checkoversp()‚ð’Į‰ÁB +Emap/map.h + MAX_PC_CLASS‚ð+1‚ɁB +Emap/atcomand.c + comand‚ðcommand‚ɕύXB + strncmp‚ðstrcmpi‚ɕύXB‚æ‚Á‚ăRƒ}ƒ“ƒh‚Š‘å•ķŽšAŽ•ķŽš‚ð‹æ•Ę‚·‚é + •K—v‚ЂȂ­‚Č‚č‚Ü‚ĩ‚―B +Emap/npc.h + npc_parse_mob()‚ð’Į‰ÁB(ˆÓ–Ą‚Í‚ ‚č‚Ü‚đ‚ņ‚Š...) +Emap/temdb.c + itemdb_readdb()‚Åclass_equip_db.txt‚ð“Į‚Þ‚æ‚Ī‚É•ÏXB +Edb/class_equip_db.txt ‚ð’Į‰ÁB‚ą‚ą‚Å‘•”õ‚·‚éƒNƒ‰ƒX‚ðŽw’č‚ĩ‚Ü‚·B‚Č‚Ēę‡‚Í + item_db.txt‚É‚ ‚éjob‚ðŽg‚ǂ܂·BŠÜ‚Ü‚ę‚Ä‚é•Ļ‚ÍŠŪ‘S‚Č•Ļ‚Å‚Í‚Č‚­ + Žg—p—á’ö‚˕ςł·B +Emap/skill.c - skill_status_change_start() ƒCƒ“ƒfƒ…ƒA‚ĖŽžŠÔ‚ðģ‚ĩ‚­•ύXB +Emap/battle.h + battle_config‚Ėexp_rate‚ðbase_exp_rate‚ɕύXB,job_exp_rate‚ð’Į‰ÁB + battle_get_mexp()‚ð’Į‰ÁB +Emap/battle.c + battle_config‚Ėexp_rate‚ðbase_exp_rate‚ɕύXB,job_exp_rate‚ð’Į‰ÁB + battle_get_mexp()‚ð’Į‰ÁB + battle_calc_magic_attack()‚ð•ύXBƒ_[ƒ“ƒAƒ“ƒfƒbƒh‚Ń{ƒX‚Ė”FŽŊ‚ðmvp + exp‚Å‚·‚邿‚Ī‚É•ÏXB +Emap/mob.c + mob_readdb() base_exp_rate,job_exp_rate‚ɑΉžB + mob_readdb() ƒ{ƒX‚Ė”FŽŊ‚ðmvpŒoŒą’l‚Å‚·‚邿‚Ī‚É•ÏXB + mob_damage() mvp‚ðŽæ‚éŽž‚Ėˆ—‚ð•ύXBd‚ģ‚Š50%‚ð‰z‚͂邯°‚É + —Ž‚ŋ‚邿‚Ī‚É•ÏX‚ƐFXB +Econf/battle_athena.cnf + base_exp_rateA,job_exp_rate‚ð’Į‰ÁB +E0308‚Å–Y‚ę‚―•Ļ + ŒÃ‚­Â‚Ē” AŒÃ‚ĒƒJ[ƒh’ŸAŒÃ‚ĒŽ‡F‚Ė” ‚ĖŽg—p‚Å“ū‚į‚ę‚―ƒAƒCƒeƒ€‚ð + Ž‚Á‚ĂȂ­‚Č‚Á‚―‚įƒAƒCƒeƒ€‚ð°‚É—Ž‚Æ‚·‚æ‚Ī‚É•ÏXB + ŧ‘Ē‚Í‚·‚Å‚É0302‚Å“K—pB + +---------- +//334 by C}{RIS + +E‚ ‚Õ‚ë‚ū‚Ė332.txt‚ðpet_db.txt‚Æ‚ĩ‚Ä“ŊŦB + +EŠeŽíƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ėƒ~ƒX‚ðCģ + Eattr_fix.txt@‘ېŦCģ‚Šƒ}ƒCƒiƒX‚É“­‚ǂēG‚Љņ•œ‚·‚é–â‘č‚ðCģB + „Œģ‚ˉņ•œŽd—l‚É–ß‚ĩ‚―‚Ēę‡attr_fix.txt‚ðƒŠƒl[ƒ€‚ĩAattr_fix_old.txt‚ðattr_fix.txt‚ÉƒŠƒl[ƒ€‚ĩ‚ĉš‚ģ‚ǁB + Emob_db.txt@ƒ‚ƒ“ƒXƒ^[‚Ė“ú–{Œę–ž‚ð–{ŽI‚Æ“ˆęB + Ecast_db.txt@‰rĨŽžŠÔAƒfƒBƒŒƒC‚ð–{ŽI‚Æ“ˆęB + +---------- +//333 by ŒÓ’ą—– + +EƒMƒ‹ƒh‹@”\’Į‰Á + EƒMƒ‹ƒh‚Ė“Ŋ–ŋ‚Æ“Ŋ–ŋ‰ðÁ + + (char/) + inter.c/int_guild.c + ƒpƒPƒbƒg’·/ƒMƒ‹ƒhˆ—’Į‰Á + (map/) + clif.c/clif.h + clif_guild_reqalliance,clif_guild_allianceack, + clif_guild_delalliance,clif_parse_GuildRequestAlliance, + lif_parse_GuildReplyAlliance,clif_parse_GuildDelAlliance’Į‰Á + iƒMƒ‹ƒh“Ŋ–ŋŠÖŒW‚ĖƒpƒPƒbƒgˆ—j + intif.c/intif.h + ƒMƒ‹ƒh“Ŋ–ŋŠÖŒW‚ĖƒpƒPƒbƒgˆ—’Į‰Á + guild.c/guild.h + ƒMƒ‹ƒh“Ŋ–ŋŠÖŒW‚Ėˆ—’Į‰Á + map.h + struct map_session_data‚Éguild_alliance,guild_alliance_account’Į‰Á + +EƒMƒ‹ƒhƒGƒ“ƒuƒŒƒ€‚Ė•ÏX‚Šƒ}ƒbƒvŽI‚ðÄ‹N“Ū‚ĩ‚Č‚Ē‚Æ—LŒø‚ɂȂį‚Č‚ĒƒoƒOCģ + + guild.c/guild.h + guild_emblem_changed‚ĖCģ + +---------- +//331 by ‰ß‹Ž‚ːli1 + +EƒyƒbƒgƒVƒXƒeƒ€Cģ(ŠŪŽ“x25%) + + EŠeŽí•ߊl—pƒAƒCƒeƒ€‚ð‚ŧ‚ꂞ‚ę‘Ήž‚·‚é“G‚ɑ΂ĩ‚ÄŽg—p‚·‚邹‚ƂŠ+ @ģ‚ĩ‚­—‘‚ŠŽč‚É“ü‚邿‚΂ɂȂč‚Ü‚ĩ‚―B + EŠeŽí•ߊl—pƒAƒCƒeƒ€‚ð‘Ήž‚ĩ‚ȂǓG‚ÉŽg—p‚ĩ‚―ę‡‚̓‹[ƒŒƒbƒg‚Š•K‚ļŽļ”s‚ĩ‚Ü‚·B + Eƒyƒbƒg‚ŠuŽž‚É•\ŽĶ‚ģ‚ę‚邿‚΂ɂȂč‚Ü‚ĩ‚―B + Eƒyƒbƒg‚ð‰EƒNƒŠƒbƒN‚·‚邯ƒƒjƒ…[‚Šo‚邿‚΂ɂȂč‚Ü‚ĩ‚― + E‘žFXŠëŒŊ‚Č—v‘f‚ðCģ‚ĩ‚Ü‚ĩ‚―B(ƒAƒCƒeƒ€‚ː”‚ĖŒļ­“™‚ĖƒoƒO‚ð’ž‚ĩ‚Ü‚ĩ‚―) + + (db/) + item_db.txt + ŠeŽí•ߊl—pƒAƒCƒeƒ€‚ɑΉž‚·‚邿‚ĪpetƒRƒ}ƒ“ƒh‚ðģ‚ĩ‚­‘‚Ŧ‚Ü‚ĩ‚―B + + (common/) + mmo.h + s_pet ƒyƒbƒg\‘Ǒ˂Épet_item_id‚ð’Į‰Á + + (map/) + clif.c + clif_birthpet()‚ðCģBģ‚ĩ‚­—‘‚ŠŒļ‚éAģ‚ĩ‚Ē—‘‚ĖID‚ðŽæ“ū‚·‚邿‚ĪCģ + ‚ą‚ę‚É‚æ‚Á‚āAģ‚ĩ‚­npc_petŠÖ”‚ГۂŦ‚Ü‚·B + + clif_spawnnpc()‚ðCģiWBUFPOS(buf,36,nd->bl.x,nd->bl.y)‚ƁA”’l‚ð26‚Đ‚į36‚֕ύX‚ĩ‚Ü‚ĩ‚―) + ‚ą‚ę‚É‚æ‚Á‚ăyƒbƒg‚ŠuŽž‚É•\ŽĶ‚ģ‚ę‚邿‚΂ɂȂč‚Ü‚ĩ‚―B + + npc.c + npc_pet()‚ðCģB + + pet.c/pet.h + ƒyƒbƒgŠÖ˜A‚ĖŨ‚ЂȊ֐”‚ð‚ą‚ŋ‚į‚ɂ܂Ƃ߂éˆŨA’Į‰Á‚ĩ‚Ü‚ĩ‚―B + ŒŧÝ‚̓yƒbƒg‚Ė”ŧ’čŠÖŒW‚ð‚܂Ƃ߂Ă ‚č‚Ü‚·B + + script.c + “Á‚É‘å‚Ŧ‚ȏCģ‚Í‚ ‚č‚Ü‚đ‚ņB +---------- +//330 by ‰ß‹Ž‚ːli1 + +EƒyƒbƒgƒVƒXƒeƒ€“ą“ü(ŠŪŽ“x‚Q‚O“) + E“G‚ɑ΂ĩ‚ĕߊl—pƒAƒCƒeƒ€‚ðŽg—p‚·‚鎖‚Š‰Â”\‚Æ‚Č‚č‚Ü‚ĩ‚―B + @(‚Ü‚ūn‚ĩ‚Ä‚Ē‚Č‚ĒƒŠƒ“ƒS‚Ė‚ÝŽg—p‰Â”\A“G‚ɂ‚ЂÁ‚Ä‚āƒ|ƒŠƒ“‚Ė—‘‚ŠŽč‚É“ü‚č‚Ü‚·B) + EŠeŽí—‘‚ɑ΂ĩ‚ăyƒbƒg‚ð•\ŽĶ‚·‚鎖‚ЂłŦ‚Ü‚·A‚―‚ū‚ĩ‚Č‚š‚Đˆę“x‰æ–ĘŠO‚É + @‚Å‚Č‚Ē‚Æƒyƒbƒg‚Š•\ŽĶ‚ģ‚ę‚Ü‚đ‚ņB + @(‹°‚į‚­ƒyƒbƒg•\ŽĶ‚ĖÛ‚És‚Á‚ĂǂéNPCƒXƒe[ƒ^ƒX‚Аģ‚ĩ‚­“ü‚Á‚ĂǂȂĒ) + E•\ŽĶ‚ģ‚ę‚―ƒyƒbƒg‚ŠƒpƒtƒH[ƒ}ƒ“ƒX‚ðs‚ǂ܂·B + + (db/) + item_db.txt + Œg‘Ņ—‘›z‰ŧ‹@‚ðŽg—p‰Â”\‚É bpetƒRƒ}ƒ“ƒh(Œg‘Ņ—‘›z‰ŧ‹@Žg—p) + u‚Ü‚ūn‚ĩ‚Ä‚Č‚ĒƒŠƒ“ƒSv‚ðŽg—p‰Â”\‚É petƒRƒ}ƒ“ƒh(‚ ‚émob‚ɑ΂ĩ‚ÄŽg—p‰Â”\‚É‚·‚é) + (common/) + mmo.h + s_pet@ƒyƒbƒg\‘Ǒ˒Į‰Á + mmo_charstatus@ƒyƒbƒg\‘ǑːéŒū•ϐ”’Į‰Á(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); + + ˆČã‚ĖŠÖ”‚ð’Į‰Á‚ĩƒyƒbƒg‚ÉŠÖ‚·‚鏈—‚ðs‚Á‚Ăςč‚Ü‚·B + (ƒ‹[ƒŒƒbƒgA—‘‘I‘𑋁AƒpƒtƒH[ƒ}ƒ“ƒXA‚ŧ‚Ė‚Ų‚ĐFX) + + npc.c/npc.h + int npc_pet(struct map_session_data *sd,int name_id); + ƒyƒbƒg•\ŽĶ‚ĖˆŨ‚ĖŠÖ”‚ð’Į‰Á + (‚ą‚ĖŠÖ”“ā•”‚Ńyƒbƒg‚Ė•\ŽĶˆ—‚ðs‚Á‚Ăǂ܂·B“KØ‚ɏCģ‚ĩ‚Ä‚­‚ū‚ģ‚Ē) + + script.c + int buildin_catchpet(struct script_state *st); + int buildin_birthpet(struct script_state *st); + ‚ð’Į‰Á‚ĩ‚Ü‚ĩ‚―BƒXƒNƒŠƒvƒg‚Épet,bpet‚ð’Į‰Á‚ĩ‚Ü‚ĩ‚―B +---------- +//329 by ŒÓ’ą—– + +EƒMƒ‹ƒh‹@”\’Į‰Á + EƒMƒ‹ƒh‚Ö‚ĖEXP‚Ėã”[ + EƒMƒ‹ƒhƒŒƒxƒ‹ƒAƒbƒv + EƒMƒ‹ƒhƒXƒLƒ‹‚ĖŠ„‚čU‚č + + (db/) + exp_guild.txt + ƒMƒ‹ƒhƒŒƒxƒ‹‚ĖŒoŒą’lƒf[ƒ^ƒx[ƒX + (common/) + mmo.h + GBI_*,GMI_*‚Ė’č‹`‚Ė’Į‰Á‚Č‚Į + (char/) + int_guild.c + EXP‚⃌ƒxƒ‹ƒAƒbƒvAƒXƒLƒ‹ƒAƒbƒvˆ—’Į‰Á‚Č‚Į + inter.c + ƒpƒPƒbƒg’·’Į‰Á + (map/) + guild.c/guild.h + ƒMƒ‹ƒhˆ—’Į‰Á + intif.c/intif.h + ƒMƒ‹ƒhƒpƒPƒbƒgˆ—’Į‰Á + clif.c + clif_guild_skillinfo()Cģ + clif_guild_skillup()’Į‰Á + pc.c + pc_skillup()‚ŃMƒ‹ƒhƒXƒLƒ‹‚Ėę‡‚Íguild_skillup()‚ðŒÄ‚Ô‚æ‚Ī‚É + pc_gainexp()‚ŏã”[EXP‚Ė‚―‚ß‚Éguild_payexp()‚ðŒÄ‚Ô‚æ‚Ī‚É + +EƒMƒ‹ƒh‹@”\Cģ + EƒMƒ‹ƒhƒƒ“ƒo[‚ŠƒƒOƒCƒ“‚⃍ƒOƒAƒEƒg‚·‚邯A + ƒƒOƒCƒ“’†‚ĖƒMƒ‹ƒhƒƒ“ƒo[‚ɃMƒ‹ƒhŒnƒpƒPƒbƒg‚Š‘—‚į‚ę‚Č‚­‚Č‚é–â‘čCģ + + guild.c + guild_recv_memberinfoshort()‚ĖCģ + +---------- +//328 by ŒÓ’ą—– + +EƒMƒ‹ƒh‹@”\‚Ė’Į‰Á‚Č‚Į + E’Į•ú‹@”\‰žŽĀ‘•i’Į•ú‚ĩ‚―ƒLƒƒƒ‰‚āÄ‰Á“ü‰Â”\•ˆę•”î•ņ‚Šƒ_ƒ~[j + EƒXƒLƒ‹‚Ė•\ŽĶi•\ŽĶ‚ū‚Ŋ‚Å‚·Bã‚°‚―‚č‚͏o—ˆ‚Ü‚đ‚ņj + + (common/) + mmo.h + struct guild_explusion‚Ė•ÏX + (char/) + int_guild.c + ’Į•úˆ—’Į‰Á + ‹óƒMƒ‹ƒhƒ`ƒFƒbƒN‚Č‚Į’Į‰Á + (map/) + guild.c/guild.h + ƒMƒ‹ƒhƒXƒLƒ‹ŠÖŒW‚ĖƒAƒNƒZƒT‚Č‚Į’Į‰Á + clif.c + clif_guild_skillinfo()‚ĖCģ + clif_guild_explusionlist()’Į‰Á + +Eƒ^[ƒ“ƒAƒ“ƒfƒbƒh‚Šƒ{ƒXŒnƒAƒ“ƒfƒbƒh‚ÅMISS‚ɂȂéƒoƒOCģ + Eƒ^[ƒ“ƒAƒ“ƒfƒbƒhŽļ”sŽž‚Ėƒ_ƒ[ƒW‚ŠŽg‚í‚ę‚Ü‚· + + battle.c + battle_calc_magic_damage()‚ĖCģ + +---------- +//327 by ‚Ē‚Į +EŒoŒą’lƒe[ƒuƒ‹‚É‚P‰ÓŠŠÔˆá‚ǂЂ ‚Á‚―‚Ė‚ÅCģ + db/exp.txt + +---------- +//326 by ‚Ē‚Į +EcharŽI‚ːVŽI,ƒƒ“ƒeƒiƒ“ƒX’†‚Ėƒtƒ‰ƒOî•ņ‚ðÝ’č‚Å‚Ŧ‚邿‚΂ɂĩ‚― +EcharŽI‚ĖŽI–ž‚Ė’·‚ģ‚Š16ƒoƒCƒg‚ɂȂÁ‚Ăǂ―•”•Š‚ð20ƒoƒCƒg‚ɏ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_maintenance‚ð1‚É‚·‚邯ƒƒOƒCƒ“l”‚ĖŒã‚ë‚É(“_ŒŸ’†)‚Š‚Â‚­ +@ Echar_new‚ð1‚É‚·‚邯ŽI–ž‚Ė‘O‚É[V]‚Š‚Â‚­ + (doc/) + ƒpƒPƒbƒg‰ðÍ.txt + EĄ‰ņ‚Ė•ÏX‚É”š‚Īˆę•”Cģ + +---------- +//325 by Mind Twist(224&0293) +E“G(NPC)ƒXƒLƒ‹‚Ė’Į‰ÁiƒcƒŠ[‚É’Į‰Á‚Ė‚Ýj + db/skill_db.txt + EƒMƒ‹ƒhƒXƒLƒ‹‘Š•Ï‚í‚į‚ļ•s–ūc‚ą‚ĖŒ`ŽŪ‚ķ‚á‚Č‚Ē‚Ė‚Đ‚ČH + +---------- +//324 by non + +Emob‚Ėƒ^[ƒQƒbƒgŒãˆÚ“Ū‚ðCģ +Emob‚ĖˆÚ“Ū‘Ž“x‚ðDB‚Đ‚į”―‰f‚ģ‚đ‚邿‚Ī‚É + + (map/) + mob.c + mob_ai_sub_hard()‚ĖCģ + +EŽÎ‚ß”ŧ’č‚ðCģ + EFW“™‚Å‚ĖŽÎ‚ß”ÍˆÍ‚ð–{ŽIŽd—l‚É + + (map/) + map.c + map_calc_dir()‚ĖCģ + +---------- +//322 by ŒÓ’ą—– + +EƒƒOƒCƒ“Žž‚É•K‚ļƒp[ƒeƒB[‚Đ‚įœ–ž‚ģ‚ę‚éƒoƒOCģ + E0318‚ˁuƒp[ƒeƒB‚ðœ–ž‚ģ‚ę‚―‚˂Ɂ`v‚Å‚ĖCģƒ~ƒX + + (char/) + int_party.c + ƒp[ƒeƒB[‹Ģ‡Žž‚ĖƒƒbƒZ[ƒW‚ɉüs’Į‰Á + (map/) + party.c + party_check_member()‚ĖCģ + +EƒMƒ‹ƒh‰ï˜bŽĀ‘••Cģ‚Č‚Į + (char/) + int_guild.c + ƒMƒ‹ƒh‹Ģ‡Žž‚ĖƒƒbƒZ[ƒ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()‚ĖƒpƒPƒbƒg‚ð0150‚Đ‚į01b6‚ɕύX + +EƒoƒbƒNƒXƒeƒbƒv‚Š‚ā‚Ė‚·‚ē‚­‰ö‚ĩ‚Ē‚Ŋ‚Į‰žŽĀ‘• + EŽg‚Ī‚Æƒ_ƒ[ƒW‚ð‚P‹ō‚į‚Á‚―‚æ‚Ī‚ÉŒĐ‚Ķ‚Ü‚·B(ŽĀÛ‚̓_ƒ[ƒW‚O‚Å‚·) + + skill.c + skill_castend_damage_id()Cģ + +------------------ +//321 by@‰ß‹Ž‚ːli +E‹|–î‘•”õŒø‰Ę‚Ė‚ÝŽĀ‘•(‘―X‚Ļ‚Đ‚ĩ‚Ē“_‚Í‘ķÝ‚·‚邊‘•”õ‚Šo—ˆA–î‚ĖŒø‰Ę‚Šo‚é) + map/clif.c map/clif.h + clif_itemlist()’Į‰Á + Ž‚ŋ•ς˒†‚Å‹|–î‚ÉŠ„‚č“–‚Ä‚éƒpƒPƒbƒg”ԍ†‚ð0x8000‚Æ‚·‚鏈—’Į‰Á + + clif_arrowequip(struct map_session_data *sd,int val); //self + ‚ð’Į‰ÁB‚ą‚Ė’†‚Å‹|–î‘•”õƒpƒPƒbƒgˆ—‚ðs‚Á‚Ă܂· + map/pc.c + pc_equipitem()@‹|–î‘•”õ’Į‰Á + + Žc‚ģ‚ę‚―–â‘č“_F + E@–Œļ‚į‚Č‚Ē + E@ƒŠƒƒO‚·‚邯–‚P‚ɂȂé + E@‘•”õ‚ĩ‚Ăǂé–•\ŽĶ‚ģ‚ę‚Č‚Ē(Đ‘―•Š‘•”õpos‚ĖÝ’č‚ð‚ĩ‚Ä‚Ē‚Č‚ĒˆŨ‚Đ‚Æ) + E@–î‚ð‘•”õ‰ðœ‚Å‚Ŧ‚Č‚Ē(‘ž‚Ė–î‚ð‘•”õ‚ĩ‚Ȃςđ‚Α•”õ‚ĩ‚―–î‚ĖŒø‰Ę‚ɂȂč‚Ü‚· + +---------- +//320 by ‚Ē‚Į +EˆČ‰š‚ĖƒpƒPƒbƒg‚ĖƒGƒ‰[ƒR[ƒh‚ːā–ū‚ð’Į‰Á + doc/ƒpƒPƒbƒg‰ðÍ.txt + R 006a .B + R 0070 .B + R 0081 .B + +---------- +//319 by mk +ENPC‚Æ‚Ė‰ï˜b’†‚É‘•”õ•ύXAƒAƒCƒeƒ€AƒXƒLƒ‹‚ðŽg—p‚Å‚Ŧ‚Ȃǂæ‚΂ɂĩ‚Ü‚ĩ‚― + map/clif.c + ŠeŠ‚Åsd->npc_id‚ðƒ`ƒFƒbƒN‚ĩ‚Ă܂· + +Eˆę•”‚Ė”í‚č•ςłāļ˜BŒã‚É‘•”õ‰ÓŠ‚Š‚Ļ‚Đ‚ĩ‚­‚Č‚éƒoƒO‚ðCģ + map/script.c + buildin_successrefitem ‚ĖƒR[ƒh‚ðCģ + +EƒJ[ƒh‚É‚æ‚é’Į‰ÁŒø‰Ę‚Ļ‚æ‚ŅˆŲí‘ϐŦ”­“Ūˆ—‚ĖCģ + map/skill.c + ƒCƒ“ƒfƒbƒNƒX‰Šú’l‚ŠŠÔˆá‚Á‚Ăǂ邯Žv‚í‚ę‚é‚Ė‚ÅCģiSC_POISON -> SC_STONEj + +Eƒ{ƒEƒŠƒ“ƒOƒoƒbƒVƒ…‚ˉžŽĀ‘•AƒOƒŠƒ€ƒgƒD[ƒX‚ĖŽg—pðŒ’Į‰Á + Eƒ{ƒEƒŠƒ“ƒOƒoƒbƒVƒ…‚ð‰žŽĀ‘•B‚Ŧ”ō‚΂ĩˆ—‚â‚Á‚Ä‚é‚˂Š+ @battle.c ‚Ėblewcount‚ðƒRƒƒ“ƒgƒAƒEƒg‚ĩ‚Ü‚ĩ‚― + EƒOƒŠƒ€ƒgƒD[ƒX‚ĖŽg—pðŒiƒnƒCƒfƒBƒ“ƒO•ƒJƒ^[ƒ‹‘•”õjƒ`ƒFƒbƒN’Į‰Á + @‚ą‚ņ‚ČŠī‚ķ‚Å‘ž‚ĖƒXƒLƒ‹Žg—pðŒ‚ā’Į‰Á‚ĩ‚Ă₿‚Ē‚Ė‚Đ‚ČH + Eskill_blown ‚ː‚Ŧ”ō‚΂ĩ•ûŒü‚ðƒ^[ƒQƒbƒg‚Æ‚ĖˆĘ’u‚Šd‚Č‚Á‚Ăǂ邯‚Ŧ‚Í + @ƒ‰ƒ“ƒ_ƒ€‚Å‚Í‚Č‚­ƒLƒƒƒ‰ƒNƒ^[‚ðŒã‚ë‚֐‚Ŧ”ō‚΂·‚æ‚Ī‚É•ÏX‚ĩ‚Ü‚ĩ‚― + map/skill.c + skill_castend_damage_id()•ύX + skill_check_condition()•ύX + skill_blown()•ύX + +EƒAƒTƒVƒ““ņ“—Žˆ—‚ÉŠÖ‚·‚éCģ? + E‘•”õˆę——‚Ödrag&dropŽž‚É—žŽč‚ŠÔ‚­ƒ}[ƒLƒ“ƒO‚ģ‚ę‚邿‚Ī‚ÉCģ + @ƒAƒTƒVƒ“‚ł͕Ší‘•”õ‰ÓŠ‚Š—žŽč‚ɂȂ邿‚Īitem_equippoint‚ð•ύX + @‚ŧ‚ę‚É”š‚Ēpc.c‚Ėpc_equipitem‚ðCģ + E‹tŽčƒ_ƒ[ƒW‚ð•\ŽĶ‚ĩ‚Ă݂܂ĩ‚― + @‚܂Ƃā‚Ƀ_ƒ[ƒWŒvŽZ‚â‚Á‚Ä‚Č‚Ē‚Ė‚ÅUŒ‚‰ņ”‚ĖŠm”F‚ū‚Ŋ‚Å‚· + EƒJƒ^[ƒ‹’ĮŒ‚‚ƍķŽčUŒ‚‚ĖMISS‚ð–ģ—‚â‚č•\ŽĶ + (map/) + itemdb.c (itemdb.hAclif.cApc.c) + itemdb_equippoint() ‚ð•ύX i“ņ“—Ž‚ðl—ķj + ˆø”‚ð(int nameid) -> (struct map_session_data *sd,int nameid)‚É + ˆø”•ύX‚É”š‚ǐéŒū(itemdb.h)‚ÆŒÄ‚Ņo‚ĩ‘Ī(clif.c ,pc.c)‚ā•ύX + pc.c + pc_equipitem(), pc_checkitem()‘•”õƒ`ƒFƒbƒN‚ðCģ + battle.c + battle_calc_weapon_attack(),battle_weapon_attack() + ã‚É‚ā‘‚Ŧ‚Ü‚ĩ‚―‚ŠķŽč‚Ėƒ_ƒ[ƒWŒvŽZ‚͍s‚Á‚Ă܂đ‚ņ + (ƒJ[ƒhA‘ېŦ“™‚ā–Ē“K—p)‰EŽč‚Æ“Ŋ‚ķƒ_ƒ[ƒW“ü‚ę‚čķ‰EC—û“K—p‚ĩ‚Ă܂· + ƒJƒ^[ƒ‹’ĮŒ‚‚ƍķŽčƒ_ƒ[ƒW‚ðƒ~ƒX‚ģ‚đ‚é•û–@(ƒpƒPƒbƒg?)‚Š‚í‚Đ‚į‚Ȃǂ˂Š+ ŒvŽZŒã‚Ėƒ_ƒ[ƒW‚Š-1‚Ėę‡Adamage=0‚ð‘—‚é‚æ‚΂ɂĩ‚Ăǂ܂· + ‚ā‚Á‚Æ‚æ‚Ē•û–@‚Š‚ ‚é‚˂łĩ‚―‚įCģ‚ĻŠč‚Ē‚ĩ‚Ü‚· + +EŠŪ‘S‰ņ”ð‚ĖŒvŽZ‚ðLuk‚Å‚Í‚Č‚­Flee2‚Å”ŧ’f‚·‚邿‚Ī‚ÉCģ + map/battle.c + battle_calc_weapon_attack() + + (db) + item_db.txtAitem_db2.txt + ‘•”õ•i‚Ėˆę•”ƒ{[ƒiƒXŒø‰Ę‚ð’Į‰Á + mob_db.txt + –^Š‚ł΂‚ģ‚ę‚Ăǂ―‚ā‚Ė‚ð­‚ĩCģ + ‚Ü‚ūMode‚âDrop‚É–â‘č“_‚Š‚ ‚é‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņ + +---------- +//0318 by ŒÓ’ą—– + +E‚ ‚éŒö•―•Š”zPT‚Æ‚ŧ‚ĖPT‚ɑۂģ‚Č‚ĒPC‚ЋΓނ·‚邯ŽI‚Š–\‘–‚·‚éƒoƒOCģ + + mob.c + mob_damage()‚ĖEXP•Š”zˆ—Cģ + +Eƒp[ƒeƒB‚ðœ–ž‚ģ‚ę‚―‚Ė‚ÉŠ‘Ū‚ĩ‚Ăǂ邿‚Ī‚ÉŒĐ‚Ķ‚éƒoƒOCģ + EŠY“–ƒLƒƒƒ‰‚ŠƒƒOƒAƒEƒgó‘Ô‚ĖŽž‚ɏœ–ž‚ģ‚ęA‚ŧ‚ĖŒãA“ŊC•ĘƒLƒƒƒ‰‚Š + “Ŋƒp[ƒeƒB‚ÉŠ‘Ū‚ĩ‚ȂςĩA‚ģ‚į‚ÉŒģ‚ĖƒLƒƒƒ‰‚эƒOƒCƒ“‚·‚邯A + œ–ž”ŧ’č‚ÉŽļ”s‚ĩ‚ăp[ƒeƒB‚ÉŠ‘Ū‚ĩ‚―‚܂܂ł ‚邯‚ģ‚ę‚Ä‚ĩ‚܂Ζâ‘čCģ + + party.c + party_check_member()‚ĖCģ + + +---------- +//0317 by nabe + +Eu`‚ģ‚ņ‚Đ‚įŽæˆø‚ð—vŋ‚ģ‚ę‚Ü‚ĩ‚―Bv‚ŠŽĐ•Š‚Ė–ž‘O‚ɂȂÁ‚Ăǂ―‚Ė‚ðCģ + trade.c/clif.c/clif.h + clif_traderequest()‚ÅŽæˆø‘ŠŽč‚ĖƒLƒƒƒ‰–ž‚ð“n‚·‚æ‚Ī‚É•ÏX + +---------- +//0316 by nabe + +E—žŽč•Ší‚ðļ˜B‚·‚邯•ÐŽč‘•”õ‚ɂȂéƒoƒO‚ðCģ + script.c + buildin_successrefitem()‚ŁA—žŽč•Ší‚Ėę‡“™‚É‘•”õ‰ÓŠƒ`ƒFƒbƒN + +---------- +//0315 by ŒÓ’ą—– + +EPC‚ĖSPAWNƒ^ƒCƒ~ƒ“ƒO‚ð•ύX + Eƒ}ƒbƒvˆÚ“Ū(ƒƒOƒCƒ“)ŽžAƒ[ƒfƒBƒ“ƒOI—đŒã‚ÉSPAWN‚·‚邿‚΂ɁB + Eƒ[ƒh’†‚ɍUŒ‚‚ģ‚ę‚―‚č‚ĩ‚Č‚­‚Č‚č‚Ü‚·B + EƒMƒ‹ƒh/ƒp[ƒeƒBî•ņ“Į‚ݍž‚Ý‘O‚É–ž‘O‰ðŒˆƒpƒPƒbƒg‚Š—ˆ‚é–â‘č‚ā + Cģ‚ģ‚ę‚é‚Í‚ļ‚Å‚·B + + pc.c + pc_setpos()‚Åmap_addblock,clif_spawnpc‚ĖŒÄ‚Ņo‚ĩ‚ðŽ~‚ß‚―B + clif.c + clif_parse_LoadEndAck‚Åmap_addblock,clif_spawnpc‚ðŒÄ‚Ô‚æ‚΂ɁB + +EinterŽIƒpƒPƒbƒgˆ—‚Ėd‘å‚Č–â‘č‚ðCģ + Eˆę“x‚ɃpƒPƒbƒg‚𑗐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ģ + +EƒMƒ‹ƒh‚Ė‹@”\’Į‰Á + E‘žl‚ĖƒGƒ“ƒuƒŒƒ€‚ŠŒĐ‚Ķ‚é‚æ‚΂ɁB + EƒƒOƒCƒ“’žŒã‚ĖŽĐ•Š‚ĖƒGƒ“ƒuƒŒƒ€‚ŠŒĐ‚Ķ‚é‚æ‚΂ɁB + E’E‘Þ‚Å‚Ŧ‚邿‚΂ɁBi’Į•ú‚͂܂ū‚Å‚·j + + <ƒpƒPƒbƒgî•ņˆø‚Ŧ‘ą‚Ŧ–͏W> + E016c,016d,0163,015c‚Č‚Į‚ĖÚŨ‚ȏî•ņ + EƒMƒ‹ƒhƒXƒLƒ‹‚ĖID‚Š‚í‚Đ‚élA‹ģ‚͂Ă؂ĩ‚ǂł·B + 158,205,331‚ ‚―‚č’ē‚Ũ‚Ü‚ĩ‚―‚Šƒ_ƒ‚Č–Í—lB + + (common/) + mmo.h + MAX_GUILD‚ð36‚ɁB + (char/) + int_guild.c + ’E‘Þ‚ĖƒpƒPƒbƒg•ύX + inter.c + ƒpƒPƒbƒg’·Cģ + (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 ‚Ē‚Į + +EcharŽI‚ÆmapŽI‚ĖŽI”ãŒĀ‚ð30‚Ɉø‚Ŧã‚° + login/login.h + char/char.h + +Emap_athena1.cnf‚ðmap_athena.cnf‚ÉƒŠƒl[ƒ€ +@‚ŧ‚ę‚É”š‚ǁAathena.sh‚ð•ύX + +EƒpƒPƒbƒg‰ðÍŽ‘—ŋ‚ðdoc/‚ÉˆÚ“Ū + + +---------- +//0313 by ŒÓ’ą—– + +EƒMƒ‹ƒh‚Ė‹@”\’Į‰Á + EƒMƒ‹ƒhŠĐ—U/–ðE“ā—e•ύX/ƒƒ“ƒo[‚Ė–ðE•ύX‚Č‚Į + Eguild.txt‚Ė‘ŽŪ‚Ђ܂―•Ï‚í‚č‚Ü‚ĩ‚―‚ЁA‘O‚Ėƒf[ƒ^‚ā“Į‚ݍž‚ß‚é‚Í‚ļ‚Å‚·B + + <ƒpƒPƒbƒgî•ņˆø‚Ŧ‘ą‚Ŧ–͏W> + E016c,016d,0163,015c‚Č‚Į‚ĖÚŨ‚ȏî•ņ + EŽĐ•ŠˆČŠO‚ĖPC‚ĖŠ‘ŪƒMƒ‹ƒhID‚ð’Ę’m‚·‚éƒpƒPƒbƒg + + (common/) + mmo.h + struct guild ‚ð•ύX + (char/) + int_guild.c/inter.c + ˆ—’Į‰Á/ƒpƒPƒbƒg’·’Į‰Á + (map/) + guild.c/guild.h/intif.c/intif.h + ˆ—’Į‰Á + clif.c/clif.h + ƒMƒ‹ƒhŠÖŒW‚ĖƒpƒPƒbƒgˆ—’Į‰Á + +Ehelp.txt‚ðCģ + help.txt + +E0311‚É‚æ‚é•ķŽš‰ŧ‚Ŋ‚ðCģ + README + map/pc.c + +---------- +//0312 by ‚Ē‚Į + +E@hƒRƒ}ƒ“ƒh‚ð@help‚ɕύX +E“Į‚ݍž‚Þƒ}ƒbƒvƒf[ƒ^‚Ė’č‹`•”•Š‚ð•ύX + +---------- +//0311 by tk44 +EAssassin “ņ“—Ž‘•”õAASPD–â‘čCģ + - map\pc.c + pc_equipitem(), pc_calcstatus(), pc_checkitem() + +E“ņ“—ŽŠQŒvŽZCģ‚Ü‚ūˆ—’† + +---------- +//0310 by ŒÓ’ą—– + +EƒƒO‚âƒf[ƒ^‚ÉŽg‚ΉüsƒR[ƒh‚ðmmo.h‚Őݒč‰Â”\‚É + (common/) + mmo.h + RETCODE‚ʼnüsƒR[ƒh‚ð•ķŽš—ņ‚Å’č‹`‚ĩ‚Ü‚·B + WindowsŒn‚ū‚ÆCR/LF‚Ȃ˂Å"\r\n",UNIXŒn‚ū‚Æ"\n"‚Å‚·B + •ʂɐģ‚ĩ‚­Žw’č‚ĩ‚Č‚­‚Ä‚āAthenaŽĐ‘Ė‚Í–â‘č‚Č‚­“Ūė‚·‚é‚Í‚ļ‚Å‚·B + (login/) + login2.c + (char/) + char2.c/int_storage.c/int_party.c/int_guild.c + •Û‘ķ‚·‚é‰üsƒR[ƒh‚ðRETCODEˆË‘ķ‚ɕύXB + ‰üsƒR[ƒh‚Ɉˑķ‚đ‚ļ‚É“Į‚߂邿‚Ī‚ÉCģB + +EƒNƒ‰ƒCƒAƒ“ƒg‚Đ‚į•s–ū‚ČƒpƒPƒbƒg‚Š—ˆ‚―‚įƒ_ƒ“ƒv‚·‚邿‚Ī‚É + E#define DUMP_UNKNOWN_PACKET 1 ‚ðƒRƒƒ“ƒg‰ŧ‚·‚ę‚΃_ƒ“ƒv‚ĩ‚Ü‚đ‚ņB + + clif.c + •s–ūƒpƒPƒbƒg‚Ėˆ—‚Ń_ƒ“ƒvˆ—‚ð’Į‰ÁB + +EƒMƒ‹ƒh‹@”\‚Ė’Į‰Á + EƒGƒ“ƒuƒŒƒ€•ύX/’m•ύXŽĀ‘• + Eguild.txt‚Ė‘ŽŪ‚Š•Ï‚í‚č‚Ü‚ĩ‚―‚ЁA‘O‚Ėƒf[ƒ^‚ā“Į‚ݍž‚ß‚é‚Í‚ļ‚Å‚· + + (char/) + int_guild.c/inter.c + ƒMƒ‹ƒhƒpƒPƒbƒgˆ—AƒpƒPƒbƒg’· + (map/) + guild.c/guild.h + ‹@”\’Į‰Á + intif.c/intif.h + ƒMƒ‹ƒhŠÖŒWƒpƒPƒbƒg’Į‰Á + clif.c/clif.h + ƒMƒ‹ƒhŠÖŒWƒpƒPƒbƒg’Į‰Á + +---------- +//0309 by C}{RIS + +Eƒ{ƒEƒŠƒ“ƒOƒoƒbƒVƒ…‚ð”͈͍UŒ‚‰ŧ‚ĩ‚Ü‚ĩ‚―B +Eƒvƒƒ“ƒeƒ‰‚É‘•”õ•i”Ė”„NPC‚ð’Į‰Á‚ĩ‚Ü‚ĩ‚―B + map_athena1.cnf‚Ė + npc_shop1J.txt‚ðƒRƒƒ“ƒgƒAƒEƒg‚·‚ę‚Î–ģŒø‚ɏo—ˆ‚Ü‚·B +EƒAƒCƒeƒ€‚Ė–ž‘O‚ÆID‚ð‘‚Ē‚―ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚ð“Y•tBiitem.listj + +---------- +//0308 by Ž€_ +EŽĐ‘R‰ņ•œ‚ĖƒvƒƒOƒ‰ƒ€‚ðCģ‚ĩ‚Ü‚ĩ‚―B + ‚ą‚ę‚Å‘åä•v‚ū‚Æ‚Ē‚Ē‚Å‚·‚Š... + pc.c + pc_natural_heal()“™‚ðCģB + pc_percentheal()‚ð­‚ĩCģB + pc_checkskill()‚ð­‚ĩCģBƒXƒLƒ‹‚Š‚Č‚Ēę‡0‚ð•Ô‚·‚æ‚Ī‚É + •ύX‚ĩ‚Ü‚ĩ‚―B‘ž‚Ė.cƒtƒ@ƒCƒ‹‚āCģ‚·‚é•K—v‚Š‚ ‚č‚Ü‚ĩ‚―‚˂Š+ Cģ‚ĩ‚Ü‚ĩ‚―B +E4l–Ú‚Æ5l–Ú‚ĖƒLƒƒƒ‰‚ðÁ‚đ‚Ȃǖâ‘č‚ðCģB +EŽn‚߂ЂįƒiƒCƒt‚ƃRƒbƒgƒ“ƒVƒƒƒc‚ðŽ‚Â‚æ‚Ī‚É•ÏXB +ELOOK_SHEILD‚ðLOOK_SHIELD‚ɏCģB +Emmo_charstatus‚Ėsheild‚ðshield‚ɏCģB +E.logƒtƒ@ƒCƒ‹‚âaccount.txtƒtƒ@ƒCƒ‹‚ðnotepad‚ÅŠJ‚­‚Æ—ņ‚Š‘S•”Œq‚ǂłǂé + –â‘č‚ðCģB +E—”‚ðŽžŠÔ‚É‚æ‚Á‚ú‰ŧ‚·‚邿‚Ī‚É•ÏXB + map.c + do_init()‚ð­‚ĩCģB + +‘ž‚ɕύX‚ĩ‚―ƒtƒ@ƒCƒ‹‚ā‚ ‚č‚Ü‚·‚Š‘S•”Šo‚͂Ă܂đ‚ņ‚Ė‚Å... + +---------- +//0307 by ŒÓ’ą—– + +EV‹KPC‚Ė‰ŠúˆĘ’u‚ðchar_athena.cnf‚ɏ‘‚Ŋ‚邿‚΂ɂĩ‚― + start_point: ƒ}ƒbƒv–ž,x,y ‚Ė‚æ‚Ī‚ÉŽw’č‚ĩ‚Ü‚·B + <—á> start_point: new_1-1.gat,53,111 + + (char/) + char2.c + +EƒMƒ‹ƒh‚Ėˆę•”‹@”\ + EƒMƒ‹ƒhėŽ‚­‚į‚Ē‚ĩ‚Đ“Ū‚Ŧ‚Ü‚đ‚ņ + EŠĐ—U/’E‘Þ/‰ðŽU/î•ņ‚Ė•ÏX/ƒGƒ“ƒuƒŒƒ€/’m‚Č‚Į‚Í‚·‚Ũ‚Ä–ĒŽĀ‘•‚Å‚· + + <ØŽĀ‚Č—v–]> + ƒMƒ‹ƒhŠÖŒW‚ĖƒpƒPƒbƒgî•ņ‚Š‘S‘R‘Ŧ‚č‚Ü‚đ‚ņB‚í‚Đ‚él‚Í‹ģ‚͂Ă­‚ū‚ģ‚ǁB + ŒŧÝ‚Ė‚Ü‚Ü‚Å‚ÍƒGƒ“ƒuƒŒƒ€‚ƍ’m‚­‚į‚Ē‚ĩ‚ĐŽĀ‘•‚Å‚Ŧ‚Č‚Ē‰Â”\Ŧ‚ЁcB + + (common/) + mmo.h + ƒMƒ‹ƒhŠÖŒW‚Ė\‘Ē‘Ė‚Æ’č”’Į‰Á + (char/) + inter.c + ƒpƒPƒbƒg’·î•ņ’Į‰Á + int_guild.c/int_guild.h + ŽĀÛ‚Ėˆ—’Į‰Á + (map/) + map.h + struct map_session_data‚ɃMƒ‹ƒhŠÖŒW‚Ėƒƒ“ƒo’Į‰Á + guild.c/guild.h + V‹K’Į‰ÁBƒMƒ‹ƒh‹@”\—p + pc.c + pc_authok()‚ŃMƒ‹ƒhŠ‘ŪŽžAguild_request_info()‚ðŒÄ‚Ô‚æ‚΂ɁB + clif.c/clif.h + ƒMƒ‹ƒhƒpƒPƒbƒg’Į‰Á + intif.c/intif.h + ƒMƒ‹ƒhƒpƒPƒbƒg’Į‰Á + +E0303‚Å‚ĖCģuMAXHP‚Č‚Į‚ŠƒT[ƒo[‚ƃNƒ‰ƒCƒAƒ“ƒg‚Ł`v‚ðŒģ‚É–ß‚ĩ‚― + EVPC‚ðė‚邯‚Ŧ‚ɐģ‚ĩ‚­HP‚Č‚Į‚ðŒvŽZ‚ĩ‚Ä‚­‚ę‚邿‚΂ɂȂÁ‚―‚˂Š+ –ß‚ĩ‚Ä‚ā•―‹C‚ū‚ë‚Ī‚Æ—\‘ЁB + EƒƒOƒCƒ“’žŒã‚ɏd—ĘŒx‚Šo‚Ä‚ĩ‚܂΂―‚߁B + + pc.c + pc_authok()‚ĖCģ + +E”͈͎w’č•Ķ‚Ŧ‚Ėˆ—Cģ + E‚Å‚Ŧ‚é‚ū‚ŊŽw’č‚ĩ‚―”‚Æ“Ŋ‚ķ‚ū‚Ŋ•Ķ‚­‚æ‚Ī‚É + (áŠQ•ςȂĮ‚É‚æ‚é•Ķ‚Ŧ–WŠQ‚ˉņ”ðŽļ”sŽžA‘O‚ˉņ”ðŒ‹‰Ę‚ðŽg‚Ī) + + mob.c + mob_once_spawn_area()‚ĖCģ + +---------- +//0305 by ‚Ē‚Į +EV‹KPC‚ĖˆĘ’u‚ð‰SŽŌC—ûę‚ɕύXB +EmapŽI‚ŠcharŽI‚ɐڑą‚Å‚Ŧ‚ȂǕs‹ï‡‚ĖCģB + +---------- +//0304 by Ž€_ +EŽĐ‘R‰ņ•œ‚Ė—Ę‚ÆŽžŠÔ‚ð•ύXBŠØ‘ŽI‚É“K—p‚ģ‚ę‚Ä‚é•ςł·‚Š“ú–{‚É‚ā + “K—p‚ģ‚ę‚Ä‚é‚Í‚ļ‚Å‚·B(‘―•Š... ‚â‚Á‚Ă܂đ‚ņ‚˂łí‚Đ‚č‚Ü‚đ‚ņBŠū) + HP‚Í–ˆ4•b‚É 1 + vit/6 + max_hp/200 ‚ð‰ņ•œA + SP‚Í–ˆ8•b‚É 1 + int/6 + max_sp/100 ‚ð‰ņ•œ‚ĩ‚Ü‚·B +EƒXƒLƒ‹HP‰ņ•œ—ÍŒüã‚É‚æ‚é‰ņ•œ‚ð + ƒXƒLƒ‹ƒŒƒxƒ‹*5 + max_hp/50‚ɕύXB +EƒXƒLƒ‹SP‰ņ•œ—ÍŒüã‚É‚æ‚é‰ņ•œ‚ð + ƒXƒLƒ‹ƒŒƒxƒ‹*3 + max_sp/50‚ɕύXB +EƒXƒLƒ‹ˆÚ“ŪŽžHP‰ņ•œŽĀ‘•B + Ą‚ĖŠŽ~‚Ü‚Á‚Ä‚é‚Ė‚Æ”ä‚Ũ‚Ä1/4‚Ė—Ę‚ð‰ņ•œ‚ĩ‚Ü‚·B(ŽžŠÔ‚Í“Ŋ‚ķ‚Å‚·B) +Evit‚Æint‚É‚æ‚Á‚ĉņ•œŽžŠÔ‚Š’Z‚­‚Č‚é‚Ė‚Å‚Í‚Č‚­‰ņ•œ—ƂБ‚͂܂·B +EÅ‘åHP‚ƍőåSP‚ĖŒvŽZŒöŽŪ‚ð•ύXB + map.h + int inchealtick‚Ė•Ï‚í‚č‚Éint inchealhptick;‚Æ int inchealsptick;‚ð’Į‰ÁB + int parame[6] ‚ð’Į‰ÁBÅ‘åSP‚ĖŒvŽZ‚ĖˆŨ‚˕ςő•”õ‚É‚æ‚Á‚ďり‚Á‚― + ƒpƒ‰ƒ[ƒ^‚ðŽ‚Á‚B + pc.c + pc_hpheal(),pc_spheal(),pc_natural_heal_sub(),pc_natural_heal()‚ð + ŽĐ•Š‚ĖƒR[ƒh‚ɏ‘‚ŦŠ·‚͂܂ĩ‚―‚Šˆę‰žģí‚ɓۂŦ‚Ü‚·‚Š + ‘ž‚ĖƒR[ƒh‚ɉe‹ŋ‚Š‚Č‚Ē‚Đ‚Į‚Ī‚Đ‚Í‚í‚Đ‚č‚Ü‚đ‚ņB + pc_additem()‚ð­‚ĩ‚ū‚ŊCģB + hp_coefficient‚ðint‚Đ‚įdouble‚ɕύXB + pc_calcstatus()‚Æpc_readdb()‚ðCģB + job_db1.txt + E‹Æ‚ĖŒv”‚ð•ύX‚ĩ‚Ü‚ĩ‚―B(ƒNƒ‹ƒZƒCƒ_[“™‚Ėƒf[ƒ^‚Í + ŠŪ‘S‚ȕςķ‚á‚ ‚č‚Ü‚đ‚ņB) + +Echar2.c‚ð­‚ĩ‚ū‚Ŋ•ύXB + char2.c + make_new_char()‚ð­‚ĩ‚ū‚Ŋ•ύXB(ė‚Á‚―’žŒã‚ÉHP‚ÆSP‚ŠŠŪ‘S‚É + ‰ņ•œ‚ĩ‚Ă邿‚Ī‚É•Ï‚Ķ‚Ü‚ĩ‚―B) + parse_char()‚ð­‚ĩ‚ū‚ŊCģBŠØ‘‚ĖƒNƒ‰ƒCƒAƒ“ƒg‚ÅŒq‚ǂĂā + ˆŲí‚ЂȂǂæ‚΂ɂĩ‚Ü‚ĩ‚―B(0x187ƒpƒPƒbƒg‚Ėˆ—‚ð“ü‚ę‚―‚ū‚Ŋ + ‚Å‚·‚Š... ‚ą‚ę‚ÍYare‚Đ‚įŽ‚Á‚Ä‚Ŧ‚―•ςł·B) +Estrcmpi“™‚Ėdefine‚ðatcomand.h‚Đ‚įmmo.h‚ÉˆÚ“Ū‚ĩ‚Ü‚ĩ‚―B + atcomand.h, mmo.h CģB +E‰ņ•œƒAƒCƒeƒ€‚ðŽg—p‚·‚鎞vit‚ƃXƒLƒ‹HP‰ņ•œ—ÍŒüã‚É‚æ‚éƒ{[ƒiƒX‚Š•t‚­ + ‚æ‚Ī‚É•ÏXBƒ{[ƒiƒX‚Í + ‰ņ•œ—Ę *(1 + HP‰ņ•œ—ÍŒüãƒXƒLƒ‹ƒŒƒxƒ‹*0.1 + vit/100) + ‚ɂȂč‚Ü‚·B +EƒCƒOƒhƒ‰ƒVƒ‹‚ĖŽĀ‚ÆƒCƒOƒhƒ‰ƒVƒ‹‚ĖŽí‚ð‰žŽĀ‘•B(‰ņ•œ‚Í‚ĩ‚Ü‚·‚ŠƒGƒtƒFƒNƒg‚Š + o‚Ü‚đ‚ņBitem_db‚Ń^ƒCƒv‚ð•Ï‚Ķ‚Ä‚ā‘Ę–Ú‚Å‚ĩ‚―B) + script.c + buildin_fixheal()‚Æbuildin_percentheal()‚ð’Į‰ÁB + buildin_fixheal()‚Íbuildin_heal()‚ŠƒXƒLƒ‹‚Ævit‚É‚æ‚Á‚ĉņ•œ—Ę‚Š•Ï‚í‚é + Žd—l‚ɂȂÁ‚―‚Ė‚ÅŒģ‚Ėbuildin_heal()‚Ė–ž‘O‚ū‚Ŋ‚ð•Ï‚Ķ‚―•ςł·B + buildin_percentheal()‚Í“ü—Í‚ģ‚ę‚―”Žš‚ð%‚Æ‚ĩ‚ÄHP‚ÆSP‚ðÅ‘åHP‚Æ + Å‘åSP‚ð %”ä—͂ɉņ•œ‚ĩ‚Ü‚·B + ƒXƒNƒŠƒvƒgfixheal A percentheal ’Į‰ÁBŽg—p•û–@‚Íheal‚Æ“Ŋ‚ķ‚Å‚·B + fixheal‚Ívit‚ƃXƒLƒ‹HP‰ņ•œ—ÍŒüã‚É‚æ‚éƒ{[ƒiƒX‚ЂȂǕςŠ+ percentheal ‚ÍŒã‚ː”Žš‚ð %‚É”FŽŊ‚ĩ‚Ü‚·B + pc.h + pc.c + pc_percentheal()‚ð’Į‰ÁB + item_db.txtAitem_db2.txt + ƒCƒOƒhƒ‰ƒVƒ‹‚ĖŽĀ‚ÆƒCƒOƒhƒ‰ƒVƒ‹‚ĖŽí‚ð•ύXB + +---------- +//0303 by ŒÓ’ą—– + +E*.grf‚ĖƒpƒX‚ðmap_athena.cnf‚É‚ā‘‚Ŋ‚邿‚΂ɂĩ‚―B + Emap_athena.cnf‚Ɂudata_grf: ../data/data.grfv‚â + usdata_grf: ../sakurai/sdata.grfv‚Ė‚æ‚Ī‚ÉƒpƒXŽw’č‚Å‚Ŧ‚Ü‚·B + Egrf-files.txt‚Š‚ ‚éę‡‚ŧ‚ŋ‚į‚ĖÝ’č‚Š—Dæ‚ģ‚ę‚Ü‚· + + (common/) + grfio.c/grfio.h + grfio_setdatafile(),grfio_setsdatafile()’Į‰ÁB + data_file,sdata_file‚ðƒtƒ@ƒCƒ‹ƒ[ƒJƒ‹‚ČƒOƒ[ƒoƒ‹•ϐ”‚ɕύXB + +E@stpoint,@skpoint‚É•‰’lŽw’č‚Ė”ÍˆÍƒ`ƒFƒbƒN‚ð’Į‰Á +E@zenyƒRƒ}ƒ“ƒh’Į‰Áiƒ[ƒj[‚Ė’ēŪj +E@str,@agi,@vit,@int,@dex,@lukƒRƒ}ƒ“ƒh’Į‰ÁiŠî–{ƒpƒ‰ƒ[ƒ^’ēŪj + + atcommand.c + @stpoint,@skpointCģ + @zeny,@str,@agi,@vit,@int,@dex,@luk’Į‰Á + +Eƒƒ}[ƒiƒCƒg‚ðŽg‚Ī‚Æ‚Ú‚Á‚―‚­‚į‚ę‚Ăǂ―–â‘č‚ðCģ +E•Šíŧ‘Ē•”•Š‚ĖƒR[ƒh‚ð‘―­•ύX + EÞ—ŋÁ”—‚ðƒAƒCƒeƒ€‚Š•Ą”ƒCƒ“ƒfƒbƒNƒX‚É•Š‚Đ‚ę‚Ăǂéę‡‚ɑΉž‚ģ‚đ‚― + i‚R–œŒÂŒĀŠE‚ð’ī‚͂邯•ĘƒCƒ“ƒfƒbƒNƒX‚ðŽg‚ĪŽd—l‚ū‚Á‚―‹C‚Š‚·‚é‚˂Łj + EŽļ”sŽž‚É‚āŽü‚č‚É’Ę’m‚·‚邿‚΂ɂĩ‚― + + skill.c + skill_check_condition()‚ĖCģ + skill_produce_mix()‚ĖCģ + +E•Šíŧ‘ĒŠm—Ķ‚ðconfƒtƒ@ƒCƒ‹‚Å”{—ĶŽw’č‚Å‚Ŧ‚邿‚Ī‚ÉCģ + + (conf/) + battle_athena.cnf + weapon_produce_rate’Į‰Á + (map/) + skill.c + skill_produce_mix()‚ĖCģ + +E•ŠíATKƒTƒCƒY•âģƒe[ƒuƒ‹‚ðŠO•”‚Đ‚į“Į‚ݍž‚Þ‚æ‚΂ɂĩ‚― +Eļ˜BŽŒũŠm—Ķ/ļ˜Bƒ{[ƒiƒX‚Č‚Į‚ðŠO•”‚Đ‚į“Į‚ݍž‚Þ‚æ‚΂ɂĩ‚― +E‰ßčļ˜Bƒ{[ƒiƒX‚É‚æ‚é’Į‰Áƒ_ƒ[ƒWŽĀ‘• + + (db/) + size_fix.txt + ƒTƒCƒY•âģƒe[ƒuƒ‹ + refine_db.txt + ļ˜BŠÖŒWƒf[ƒ^ + (map/) + pc.c + pc_readdb()‚Å“Į‚ݍž‚Ý + battle.c + battle_calc_weapon_attack()‚ɉߏčļ˜Bƒ{[ƒiƒXˆ—’Į‰Á + +EMAXHP‚Č‚Į‚ŠƒT[ƒo[‚ƃNƒ‰ƒCƒAƒ“ƒg‚ňá‚Ī’l‚ÉŒĐ‚Ķ‚éƒoƒOCģ + ƒƒOƒCƒ“’žŒã‚ĖƒXƒe[ƒ^ƒXŒvŽZ‚ĖŒ‹‰Ę‚ð’ž‚ŋ‚É‘—M‚·‚邿‚΂ɂĩ‚― + + (map/) + pc.c + pc_authok()‚Å‚Ėpc_calcstatus()‚Ėƒtƒ‰ƒO‚ð0‚É‚ĩ‚― + ‚ą‚ę‚Åpc_calcstatus()‚Ėƒtƒ‰ƒOƒpƒ‰ƒ[ƒ^‚Í–ĒŽg—pH + +Eitem_db‚ˁu”EŽŌƒX|ƒcv‚ðu”EŽŌƒX[ƒcv‚ɏCģ + (db/) + item_db.txt/item_db2.txt + ”EŽŌƒX[ƒc‚Ė–žĖ•ύX + +EƒƒOƒCƒ“l”‚ð’ē‚Ũ‚éƒc[ƒ‹‚ð“Y•t + Perlŧ‚Č‚Ė‚ÅŽĀs‚É‚ÍPerl‚Š•K—v‚Å‚·B + Žg—p•û–@‚Č‚Į‚̓GƒfƒBƒ^‚ÅŠJ‚Ē‚ÄŒĐ‚Ä‚­‚ū‚ģ‚ǁB + Žg‚Ē•û‚Š—Į‚­‚í‚Đ‚į‚Ȃǐl‚ÍŽč‚ðo‚ģ‚Ȃǂ؂΂Ђǂǂł·B + + (tool/) + getlogincount + ƒƒOƒCƒ“l”Š“ūPerlƒXƒNƒŠƒvƒg + +---------- +//0302 by Ž€_ +EƒAƒCƒeƒ€ŧ‘Ē Šm—Ķ”ŧ’čŽĀ‘•B + “S‚Ėę‡ŽŒũ—Ķ‚Í + (20 + base_level*0.3 + DEX*0.2 + LUK*0.1 + —v‹ƒXƒLƒ‹ƒŒƒxƒ‹*6)% + |“S‚Æ‘ŪŦÎAŊ‚Ė‚Đ‚Ŋ‚į‚Ėę‡ + (10 + base_level*0.3 + DEX*0.2 + LUK*0.1 + —v‹ƒXƒLƒ‹ƒŒƒxƒ‹*5)% + •Ší‚Í + ((2.5 + base_level*0.15 + DEX*0.1 + LUK*0.05 + —v‹ƒXƒLƒ‹ƒŒƒxƒ‹*5 + + ‹ā•~ - ‘ېŦÎ‚ƐŊ‚Ė‚Đ‚Ŋ‚į) * (1 - (•ŠíƒŒƒxƒ‹ - 1)*0.2) + + ƒXƒLƒ‹•ŠíŒĪ‹†ƒŒƒxƒ‹*1)% + ‹ā•~: ‚Č‚Ēę‡ -5%‚Å‹ā•~‚Í 0%AƒIƒŠƒfƒIƒRƒ“‚Ė‹ā•~‚Í + 2.5%A‰Đ‹ā‚Ė‹ā•~‚Í 5%AƒGƒ“ƒyƒŠƒEƒ€‚Ė‹ā•~‚Í 7.5% + ‘ېŦÎ‚ƐŊ‚Ė‚Đ‚Ŋ‚į: ‘ېŦÎ‚Š‚ ‚éę‡ 5%‚ōX‚É + Ŋ‚Ė‚Đ‚Ŋ‚į‚ː” * 5%‚ð‘Ŧ‚ĩ‚Ü‚·B + ‚ɂȂč‚Ü‚·‚Š‚ŋ‚å‚Á‚ÆŠm—Ķ‚Š’á‚·‚Ž‚é‹C‚ā‚ĩ‚Ü‚·‚˂Š+ base_level*0.3 + DEX*0.2 + LUK*0.1‚ðbase_level*0.5 + DEX*0.4 + LUK*0.3‚É + base_level*0.15 + DEX*0.1 + LUK*0.05‚ðbase_level*0.4 + DEX*0.3 + LUK*0.2 + ’ö“x‚É•Ï‚Ķ‚―•û‚Š‚Ē‚Ē‚Đ‚ā’m‚č‚Ü‚đ‚ņB + skill.c + skill_can_produce_mix() ‚Æ skill_produce_mix() ‚ðCģB + produce_db.txt + Ŋ‚Ė‚Đ‚Ŋ‚į‚ðƒXƒLƒ‹‘ېŦÎŧ‘ǂЕK—v‚ɕύXB +E*.grf“™‚ðÝ’u‚đ‚ļƒfƒBƒŒƒNƒgƒŠ‚Đ‚į‚Ė“Į‚ݍž‚Þ‚æ‚Ī‚ÉCģB(‚ą‚ę‚ÍYare‚Đ‚į + Ž‚ŋž‚ņ‚ū•ςł·‚Š...) + grfio.c + grfio_init()‚ðCģB + grf-file.txt + V‹K’Į‰ÁBgrfƒtƒ@ƒCƒ‹‚Š‚ ‚éƒfƒBƒŒƒNƒgƒŠÝ’č—pB +E“Į‚ݍž‚Þƒ}ƒbƒv‚ĖÅ‘å”‚ð512‚ɏCģB + mmo.h + MAX_MAP_PER_SERVER‚ð384‚Đ‚į512‚ɏCģB +Epc.c‚Épc_search_inventory()‚ð’Į‰ÁB + ‹@”\‚Íitem_id‚ĖƒAƒCƒeƒ€‚ðŽ‚Á‚Ä‚é‚Đ‚Į‚Ī‚Đ‚ðŠm”F‚ĩ‚Ä + Ž‚Á‚Ä‚éę‡‚ŧ‚Ėindex‚ð•Ô‚·B + item_id‚Š0‚Ėę‡‚Í‹ó‚Ŋ‚Ă鏊‚Ėindex‚ð•Ô‚·B + pc_additem()‚Æpc_takeitem()‚ū‚Ŋ‚ð­‚ĩCģB +EGMƒRƒ}ƒ“ƒh‚É@stpoint‚Æ@skpoint‚ð’Į‰ÁB + @stpoint ”Žš - ƒXƒe[ƒ^ƒXƒ|ƒCƒ“ƒg‚ðã‚°‚éB + @skpoint ”Žš - ƒXƒLƒ‹ƒ|ƒCƒ“ƒg‚ðã‚°‚éB + atcomand.c + CģB + atcomand.h + strcmpi“™‚ðLinux‚Å‚āŽg‚͂邿‚Ī‚ÉCģB + +---------- +//0301 by ŒÓ’ą—– + +EÅ‘åHP‚Š32767‚ð’ī‚͂邯ˆŲí‚Č’l‚ɂȂé–â‘č‚ĖCģ +ELv‚Š99‚ð’ī‚͂邯‚Ŧ‚āƒGƒtƒFƒNƒg‚ðo‚·‚æ‚΂ɂĩ‚―(ŽĐ•Š‚É‚ÍŒĐ‚Ķ‚Č‚Ē–Í—l) +E”z’uMOB‚É‚æ‚éƒCƒxƒ“ƒg‚ŃCƒxƒ“ƒg–ž‚Š‚SƒoƒCƒgˆČã‚Æ‚Ē‚Ī§ŒĀ‚ð‚‚Ŋ‚― +EteleportŽž‚ÉŽæˆø’†’fAƒ`ƒƒƒbƒg‘ÞŽšA‘qŒÉ•Û‘ķˆ—‚ð‚·‚é‚æ‚΂ɂĩ‚― + + pc.c + pc_calcstatus()‚ĖCģ(HPŒvŽZ) + pc_setpos()‚ĖCģ(Žæˆø’†’f‚Č‚Į) + clif.c + clif_set0078(),clif_set007b(),clif_spawnpc()‚ĖCģ(Lv99ƒGƒtƒFƒNƒg) + npc.c + npc_parse_mob()‚ĖCģ + +E@h‚Åhelp.txt‚Š“Į‚ß‚Č‚Ē‚Æ‚Ŧ‚É—Ž‚ŋ‚éƒoƒOCģ +E@lvup/@joblvup‚Å•‰’l‚ð“ü‚ę‚邯Lvƒ_ƒEƒ“‚Š‰Â”\‚ɂȂÁ‚― + + atcommand.c + @h,@lvup,@joblvupˆ—‚ĖCģ + +EƒeƒŒƒ|[ƒg‚Č‚Į‚ĖÁ–ŃGƒtƒFƒNƒg‚ĖCģ + + skill.c + ƒeƒŒƒ|‚ĖÁ–ŃGƒtƒFƒNƒg‚ð•ύX + +Eó‘ÔˆŲí‚ÉŠÖ‚·‚éƒXƒNƒŠƒvƒgŽĀ‘• [sc_start]‚Æ[sc_end]B +E—ÎPOTA—΃n[ƒu‚Č‚ĮŽĀ‘• +E‘•”õƒ{[ƒiƒXƒf[ƒ^’Į‰Á + + (db/) + item_db.txt/item_db2.txt + ‘•”õƒ{[ƒiƒXƒf[ƒ^‚ð’Į‰Á + —ÎPOTA—΃n[ƒu‚Č‚Į‚ĖƒXƒNƒŠƒvƒg’Į‰Á + (map/) + script.c + buildin_warp()‚ŏÁ–ŃGƒtƒFƒNƒg‚ð•ύX + buildin_sc_start(),buildin_sc_end()’Į‰Á + +---------- +//0299 by ŒÓ’ą—– + +ENPCƒCƒxƒ“ƒg‚ŃGƒNƒXƒ|[ƒg‚ģ‚ę‚―ƒ‰ƒxƒ‹‚ðŽw’č‚Å‚Ŧ‚邿‚΂ɂĩ‚― + NPCƒXƒNƒŠƒvƒg‚ÅOn`‚ÅŽn‚܂郉ƒxƒ‹‚ð’č‹`‚·‚邯AƒGƒNƒXƒ|[ƒg‚ĩ‚Ü‚·B + NPCƒCƒxƒ“ƒg‚Å"NPC–ž(orƒCƒxƒ“ƒg–ž)::ƒ‰ƒxƒ‹–ž"‚Æ‚·‚邯A + Žw’č‚ĩ‚―ƒ‰ƒxƒ‹‚Đ‚įŽĀs‚Å‚Ŧ‚Ü‚·B + ƒ‰ƒxƒ‹–ž‚Í24ƒoƒCƒgˆČ“ā‚É‚ĩ‚ĉš‚ģ‚ǁB + ‚ ‚ƃvƒƒOƒ‰ƒ€“I‚Ƀƒ‚ƒŠŒø—ĶˆŦ‚ǂł·BŒã“úCģ—\’č + <—á> + NPCutestv‚ĖƒXƒNƒŠƒvƒg“ā‚Å OnEvent: ‚ƃ‰ƒxƒ‹’č‹`‚ĩ‚―ę‡A + NPCƒCƒxƒ“ƒgutest::OnEventv‚ÅŽw’čˆĘ’u‚Đ‚įŽĀs‚Å‚Ŧ‚Ü‚·B + + (conf/) + npc_test_ev.txt + ƒ‰ƒxƒ‹Žw’č‚ĖƒTƒ“ƒvƒ‹‚ā‚ŋ‚å‚ą‚Á‚Æ’Į‰Á + (map/) + script.c/script.h + script_get_label_db()‚Č‚Į‚Ė’Į‰ÁB + parse_script‚Åscriptlabel_db‚Ƀ‰ƒxƒ‹ƒf[ƒ^‚ð’Į‰Á‚·‚é + npc.c/npc.h + npc_event_export()‚Č‚Į’Į‰Á + npc_parse_script‚щƒxƒ‹ƒf[ƒ^‚ðƒGƒNƒXƒ|[ƒg‚·‚é + map.h + struct map_session_data ‚Ėeventqueue‚ĖƒCƒxƒ“ƒg–ž‚ĖƒTƒCƒY‚ð + 50ƒoƒCƒg‚É‚ĩ‚―B + +EAGI‚ÆDEX‚É‚æ‚éASPDŒvŽZ‚ĖÅ‘å’l‚ð180‚Đ‚į190‚ɕύX + pc.c + pc_calcstatus()‚ĖASPDŒvŽZCģ + +Eskill_db.txt/cast_db.txt‚Ė“Į‚ݍž‚Ý‚ðskill.c‚ɕύX + + pc.c + pc_readdb()‚ĖCģ + skill.c + skill_readdb()‚Ė’Į‰Á + +EƒAƒCƒeƒ€ŧ‘ljžŽĀ‘• + Šm—Ķ”ŧ’肊–ĒŽĀ‘•‚Å‚·B•K‚ļŽŒũ‚ĩ‚Ü‚·B + + (db/) + item_db.txt/item_db2.txt + ƒAƒCƒeƒ€ŧ‘Ē‚É‘Î‰žiŒg‘Ņ—p—nz˜FA‹ā’Æ‚Č‚Įj + produce_db.txt + V‹K’Į‰ÁBŧ‘ĒƒŠƒXƒgB + (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 + ŧ‘Ē—pƒRƒ}ƒ“ƒh[produce]ėŽB + ˆø”‚͐ŧ‘Ē—p”’l‚ŁA1-4‚Š•Šíŧ‘Ē(Lv)A16‚ŠzÎ + + +---------- +//0298 by ŒÓ’ą—– + +ELoginŽI‚ĖƒpƒXƒ[ƒhˆÃ†‰ŧƒ^ƒCƒv‚ðŽĐ“Ū”FŽŊ‚Å‚Ŧ‚邿‚Ī‚É•ÏX + login.h‚ĖPASSWORDENC‚ð3‚É‚·‚邯ŽĐ“Ū”FŽŊ‚ĩ‚Ü‚·B + Å‰‚Épasswordencrypt‚Ń`ƒFƒbƒN‚ĩAŽļ”s‚·‚ę‚Î + passwordencrypt2‚Ń`ƒFƒbƒN‚ĩ‚Ü‚·B + + (login/) + login2.c/login.h + ˆÃ†‰ŧƒpƒXƒ[ƒh‚ĖÆ‡•”•Š‚ðCģ + +EƒAƒJƒEƒ“ƒgėŽƒc[ƒ‹‚ð“Y•t + Perlŧ‚Č‚Ė‚ÅŽĀs‚É‚ÍPerl‚Š•K—v‚Å‚·B + Žg—p•û–@‚Č‚Į‚̓GƒfƒBƒ^‚ÅŠJ‚Ē‚ÄŒĐ‚Ä‚­‚ū‚ģ‚ǁB + Žg‚Ē•û‚Š—Į‚­‚í‚Đ‚į‚Ȃǐl‚ÍŽč‚ðo‚ģ‚Ȃǂ؂΂Ђǂǂł·B + + (tool/) + addaccount + ƒAƒJƒEƒ“ƒgėŽƒc[ƒ‹PerlƒXƒNƒŠƒvƒg + +EƒXƒLƒ‹‚Ė’Į‰ÁCģ + Eƒtƒ@ƒCƒ„[ƒEƒH[ƒ‹‚ˉņ”§ŒĀ‚ðƒOƒ‹[ƒv–ˆ‚Đ‚įƒ†ƒjƒbƒg–ˆ‚ɏCģ + EƒNƒ@ƒOƒ}ƒCƒA‰žŽĀ‘• i“G‚ĖˆÚ“Ū‘Ž“xAƒLƒƒƒ‰‚Ė•\ŽĶ”’l‚͕ωŧ‚đ‚ļj + EƒEƒH[ƒ^[ƒ{[ƒ‹‰žŽĀ‘•i“Ūė‚Šģ‚ĩ‚Ē‚Ė‚Đ•s–ūj + EƒtƒƒXƒgƒmƒ”ƒ@‰žŽĀ‘•iƒGƒtƒFƒNƒg‚Š—Į‚­‚í‚Đ‚į‚Ȃǂ˂œK“–j + Eƒxƒmƒ€ƒ_ƒXƒg‰žŽĀ‘•i”ÍˆÍ‚Æ‚Đ‚Šģ‚ĩ‚Ē‚Đ‚Į‚Ī‚Đ•sˆĀj + Eƒvƒƒ{ƒbƒNAƒI[ƒgƒo[ƒT[ƒNAđ‘Ė~•ŸAŧ‚Ü‚ŦAÎ“Š‚°‚ĖŽĀ‘• + EƒGƒ“ƒ`ƒƒƒ“ƒgƒ|ƒCƒYƒ“‚˓ŕt—^ŽĀ‘• + + *’ˆÓ* “ŏó‘Ô‚ÍŒĐ‚―–Ú‚ū‚Ŋ‚ÅŒø‰Ę‚Í–ĒŽĀ‘• + + (db/) + skill_db.txt + ŧ‚Ü‚Ŧ/Î“Š‚°/ƒEƒH[ƒ^[ƒ{[ƒ‹‚Č‚ĮCģ + (map/) + skill.c/skill.h + FXCģ + mob.c/mob.h + mob_target()’Į‰ÁBMOB‚Ėƒ^ƒQ—p + battle.c + battle_get_*()ŒnCģ‚Č‚Į + pc.c + pc_calcstatus()Cģ + +---------- +//0297 by ŒÓ’ą—– + +ELoginŽI‚ŠƒpƒXƒ[ƒhˆÃ†‰ŧ‚ɑΉž + ˆÃ†‰ŧkey‚ÍŽI‹N“ŪŽž‚Ɉę“x‚ū‚ŊėŽ‚ĩ‚Ü‚·B + + **’ˆÓ** + ˆÃ†‰ŧƒpƒXƒ[ƒh‚ðŽg‚Á‚Ăǂéę‡‚́AƒAƒJƒEƒ“ƒg‚ðėŽ‚Å‚Ŧ‚Ü‚đ‚ņB + ƒAƒJƒEƒ“ƒg‚ðė‚éę‡‚Íclientinfo.xml‚ð•ŌW‚·‚é‚Č‚Į‚ĩ‚āA + ƒpƒXƒ[ƒh‚ðˆÃ†‰ŧ‚ĩ‚Č‚ĒƒNƒ‰ƒCƒAƒ“ƒg‚ðŽg‚Ī•K—v‚Š‚ ‚č‚Ü‚·B + + (login/) + login2.c/login.h + ˆÃ†‰ŧƒpƒXƒ[ƒh‚ĖƒpƒPƒbƒgˆ—’Į‰Á + ˆÃ†‰ŧkey‚ĖķŽˆ—’Į‰Á + md5calc.c/md5calc.h + V‹K’Į‰ÁBmd5ŒvŽZ—p + + +EƒXƒLƒ‹Žg—pƒfƒBƒŒƒC‚ÉDEX‚Š”―‰f‚ģ‚ę‚Ȃǂæ‚Ī‚ÉCģ + skill.c + skill_delay_fix()‚ĖCģ + +EŽ€–SŒã‚āˆę•”‚Ėó‘ÔˆŲí‚ĖŒø‰Ę‚ŠŽ‘ą‚·‚é–â‘č‚ðCģ + pc.c + pc_damage()‚ÅŽ€–SŽž‚Épc_calcstatus()‚ðŒÄ‚Ô‚æ‚Ī‚ÉCģ + atcommand.c + Ž€–SŽžˆ—‚ðˆę–{‰ŧ‚·‚é‚―‚ß@die‚Å‚Ípc_damage‚ðŒÄ‚Ô‚æ‚Ī‚ÉCģ + + +---------- +//0295 by ŒÓ’ą—– + +EƒNƒŒƒCƒ‚ƒA[ƒgƒ‰ƒbƒv‚Č‚Į‚ɃXƒLƒ‹‚ðŽg‚Ī‚Æƒ}ƒbƒvŽI‚Š—Ž‚ŋ‚é–â‘č‚ĖCģ + + battle.c + battle_get_*()‚Č‚Į‚ÅBL_PC,BL_MOB‚ķ‚á‚Č‚Ē‚Æ‚Ŧ‚Ėˆ—‚ð’Į‰Á + skill.c/skill.h + skill_unit_ondamage()’Į‰Á + +E–ņ21Mz‚ð’ī‚Ķ‚éƒAƒCƒeƒ€‚ðNPC‚ňĩ‚Ī‚Æ‚ŦOC,DCŒvŽZ‚Å’l’i‚Š‚Ļ‚Đ‚ĩ‚­‚Č‚éƒoƒOCģ + DC‚Å‚Í20MzAOC‚Å‚Í70Mz‚ð’ī‚Ķ‚éƒAƒCƒeƒ€‚ÍdoubleŒ^‚É‚ĩ‚ÄŒvŽZ‚ĩ‚Ü‚· + + pc.c + pc_modifysellvalue(),pc_modifysellvalue()‚ĖCģ + +---------- +//0294 by ŒÓ’ą—– + +EƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒh‚ŃGƒŠƒAŽw’č‚ĖMOB•Ķ‚Ŧ–―—ß‚ðėŽ + areamonster "ƒ}ƒbƒv–ž",x0,y0,x1,y1,"MOB•\ŽĶ–ž",MOB‚Ėclass,”,"ƒCƒxƒ“ƒg–ž" + Ā•WŽw’肊(x0,y0)-(x1,y1)‚Ė”CˆÓƒ|ƒCƒ“ƒg‚ɂȂé‚ū‚Ŋ‚Å‘ž‚Ímonster–―—߂ƓŊ‚ķ‚Å‚· + + script.c + buildin_areamonster()’Į‰Á + mob.c/mob.h + mob_once_spawn_area()’Į‰Á + +EƒAƒCƒXƒEƒH[ƒ‹‚ĖŽI‘Īˆ—‰žŽĀ‘• + UŒ‚‚Å‚Ŧ‚ȂǂȂĮ‚Ė–â‘č‚Í‚ ‚é‚ā‚˂ˁAŽI‘Ī‚Å‚Í‚Æ‚č‚ ‚Ķ‚ļ“Ū‚Ŧ‚Ü‚·B + ‚―‚ūAƒNƒ‰ƒCƒAƒ“ƒg‚ɐi“ü•s‰Â”\ƒGƒŠƒA‚ð‹ģ‚Ķ‚éƒpƒPƒbƒg‚Š‚í‚Đ‚į‚Ȃǂ˂ŁA + ŽI‘΂łÍIW‚ˉņ‚荾‚Ý‚ðs‚Īę‡‚Å‚āAƒNƒ‰ƒCƒAƒ“ƒg‘Ī‚Å‚Í‚·‚č”ē‚Ŋ‚Ăǂé + ‚æ‚Ī‚ÉŒĐ‚Ķ‚Ü‚·B + + skill.c + ŠY“–ˆ—’Į‰Á‚Č‚Į + +---------- +//0293 +E2-2ŽŸE‚ĖƒXƒLƒ‹ƒRƒƒ“ƒg‚ĖCģiˆę•”’Į‰Áj + (db/) + skill_db.txt + skill_tree.txt + + +---------- +//0292 by ŒÓ’ą—– + +ESHOP NPC‚ɘb‚ĩŠ|‚Ŋ‚邯NPC‚Š”―‰ž‚ĩ‚Č‚­‚Č‚é–â‘č‚Ė‚Ü‚Æ‚ā‚ȁHCģPart2 + E”„”ƒ‚Å‚Ŧ‚ȂЂÁ‚―–â‘čCģ + + map.h + struct map_session_data ‚Énpc_shopidƒƒ“ƒo’Į‰Á + npc.c + npc_click()‚Č‚ĮCģ + +EƒXƒNƒŠƒvƒg–―—ß’Į‰Á + EŽw’čƒGƒŠƒA‚Ėƒ†[ƒU[”‚ĖŠ“ū + getareausers("ƒ}ƒbƒv–ž",x0,y0,x1,y1) + Žw’čƒ}ƒbƒv‚Ė(x0,y0)-(x1,y1)‚ɂǂéPC‚ː”‚ðŒvŽZ + EŽw’čƒGƒŠƒA‚Ėƒ†[ƒU[‚Ėƒ[ƒv + areawarp "“]‘—Œģƒ}ƒbƒv–ž",x0,y0,x1,y1,"“]‘—æƒ}ƒbƒv–ž",x,y; + Žw’čƒ}ƒbƒv‚Ė(x0,y0)-(x1,y1)‚ɂǂé‘SPC‚ðŽw’čƒ}ƒbƒv‚Ė(x,y)‚É“]‘—B + + script.c + buildin_areawarp(),buildin_getareausers()’Į‰Á + +EƒXƒLƒ‹Cģ + EƒeƒŒƒ|[ƒgŽg—pŽž‚ɁuƒeƒŒƒ|[ƒg!!v‚Æ‹Đ‚Ô‚æ‚΂ɁB + EƒXƒg[ƒ“ƒJ[ƒX‚ĖŽŒũ—͂Вá‚ǂ˂ðCģ + + skill.c + skill_castend_nodamage_id()Cģ + +---------- +//0291 by ŒÓ’ą—– + +EƒXƒNƒŠƒvƒg–―—ß’Į‰Á + ENPC‚Ė—LŒø–ģŒø‚ŠØ‚č‘Ö‚Ķ‚į‚ę‚邿‚΂ɂȂč‚Ü‚ĩ‚― + disablenpc "NPC–ž"‚Å–ģŒø‰ŧAenablenpc "NPC–ž"‚Å—LŒø‰ŧB + NPC–ž‚Šd•Ą‚ĩ‚Ăǂ邯‚Ŧ‚Ė“Ūė‚Í•s’č‚Å‚·B + Žå‚Ƀ[ƒvƒ|ƒCƒ“ƒg‚ð–ģŒø‰ŧ‚·‚邯‚Ŧ‚ÉŽg‚ǂ܂·B + + Eƒ^ƒCƒ}[‚ĖƒJƒEƒ“ƒg‚ð•ύX‚·‚éƒXƒNƒŠƒvƒg–―—ß’Į‰Á + addtimercount "ƒCƒxƒ“ƒg–ž",ƒ~ƒŠ•b + ‚ŁAƒ^ƒCƒ}‚ĖŠúŒĀ‚ð‰„‚Î‚đ‚Ü‚·i•‰’l‚ðŽw’č‚ĩ‚ÄŒļ‚į‚·‚ą‚Æ‚āo—ˆ‚Ü‚·j + + EƒAƒiƒEƒ“ƒX‚ĖŠg’Ģ + mapannounce "ƒ}ƒbƒv–ž","ƒAƒiƒEƒ“ƒX•ķŽš—ņ",ƒtƒ‰ƒO + ‚ÅŽw’čƒ}ƒbƒv‚ɃAƒiƒEƒ“ƒX‚ð—Ž‚ĩ‚Ü‚·Bƒtƒ‰ƒO‚Í0‚Å‰ĐFA16‚Ղł·B + areaannounce "ƒ}ƒbƒv",x0,y0,x1,y1,"•ķŽš—ņ",ƒtƒ‰ƒO + ‚ÅŽw’čƒ}ƒbƒv‚Ė(x0,y0)-(x1,y1)‚ĖƒGƒŠƒA‚ɃAƒiƒEƒ“ƒX‚ð—Ž‚ĩ‚Ü‚·B + ƒtƒ‰ƒO‚Ímapannounce‚Æ“Ŋ‚ķ‚ŁA0‚Å‰ĐFA0x10‚Ղł·B + + (conf/) + npc_test_arena.txt + ƒTƒ“ƒvƒ‹‚ĖCģ + (map/) + script.c + buildin_disablenpc(),buildin_enablenpc(), + buildin_mapannounce(),buildin_areaannounce(), + buildin_addtimercount()‚Ė’Į‰Á + npc.c/npc.h + NPC‚Ė—LŒø–ģŒøˆ—’Į‰Á + map.h + struct npc_data‚Éflagƒƒ“ƒo’Į‰Á(1ƒrƒbƒg–Ú‚Š–ģŒøƒtƒ‰ƒO) + clif.c + clif_getareachar_npc()‚ĖCģ + pc.c/pc.h + pc_addeventtimercount()’Į‰Á + +ESHOP NPC‚ɘb‚ĩŠ|‚Ŋ‚邯NPC‚Š”―‰ž‚ĩ‚Č‚­‚Č‚é–â‘č‚Ė‚Ü‚Æ‚ā‚ȁHCģ + SHOP NPC‚ÆŽæˆø’†‚Å‚āƒCƒxƒ“ƒg‚Š‹N‚ą‚邿‚΂ɂȂč‚Ü‚·B + ‚ą‚ę‚ÍRO‚ĖŽd—lã”ð‚Ŋ‚é‚˂Гï‚ĩ‚Ē‚―‚ß‚ą‚Ė‚æ‚Ī‚ČŒ‹‰Ę‚Å—Ž‚ŋ’…‚Ŧ‚Ü‚ĩ‚―B + + npc.c + npc_click()“™‚ĖCģ + +EƒXƒLƒbƒhƒgƒ‰ƒbƒv‚ÅŽc‘œ‚ŠŽc‚é–â‘čCģ + skill.c + skill_blown()‚Åclif_walkok()‚Č‚Į‚ðŒÄ‚Ô‚æ‚΂ɁB + skill_unit_onplace()‚Ėclif_fix*pos()‚ðíœB + +---------- +//0290 by ŒÓ’ą—– + +EƒXƒNƒŠƒvƒg‚ÅMAPŽI“ā‹Ī—L•ϐ”‚ŠŽg‚͂邿‚΂ɂȂč‚Ü‚ĩ‚―B + •ϐ”–ž‚ð$‚ÅŠJŽn‚·‚邯AMAPŽI“ā‚Ė‘Sˆõ‚ŋΗL‚·‚é•ϐ”‚ɂȂč‚Ü‚·B + + Œū—t‚Ė–â‘č‚Å‚·‚ЁAPC‚Ėglobalreg‚́u‘åˆæ“Iv‚Æ‚Ē‚Ī‚æ‚ču‰i‘ąŦ‚Ė‚ ‚év + •ϐ”‚Å‚ ‚Á‚āAMAPŽI“ā‹Ī—L•ϐ”‚Ė‚Ų‚Ī‚Š‘åˆæ“I‚Á‚ăCƒ[ƒW‚Š‹­‚Ē‚ņ‚Å‚·‚Ёc + + script.c + mapval_db’č‹` + buildin_set(),buildin_input()‚ĖCģ + do_init_script()’Į‰Á + map.c + do_init()‚Ådo_init_script()‚ðŒÄ‚Ô‚æ‚΂ɁB + +EƒCƒxƒ“ƒgƒLƒ…[‚ŠŽĀ‘•‚ģ‚ę‚Ü‚ĩ‚― + EƒLƒ…[ƒTƒCƒY‚Í‚Q‚Å‚·B•K—v‚Č‚į‘‚â‚ĩ‚Ü‚·‚ЁB + + ƒTƒ“ƒvƒ‹‚Ė[ev_doƒeƒXƒg]‚Š‚ŋ‚á‚ņ‚Æ“Ū‚­‚æ‚΂ɂȂÁ‚―‚ÆŽv‚ǂ܂·B + + map.h + struct map_session_data‚Éeventqueueƒƒ“ƒo’Į‰Á + npc.c + npc_event_timer()’Į‰Á + script.c + run_script()‚ÅENDˆ—‚ŃLƒ…[‚Ėˆ—’Į‰Á + +EƒXƒNƒŠƒvƒg‚Ń^ƒCƒ}[‚ŠŽg—p‚Å‚Ŧ‚邿‚΂ɂȂč‚Ü‚ĩ‚― + Žg—p•û–@‚́Aaddtimer ƒ~ƒŠ•b,"ƒCƒxƒ“ƒg–ž" ‚Ń^ƒCƒ}[’Į‰ÁA + deltimer "ƒCƒxƒ“ƒg–ž" ‚Ń^ƒCƒ}[íœB + + (common/) + timer.c/timer.h + get_timer(),addtick_timer()’Į‰Á + (map/) + map.c/map.h + struct map_session_data‚Éeventtimerƒƒ“ƒo’Į‰Á + map_quit()‚Åpc_cleareventtimer()‚ðŒÄ‚Ô‚æ‚΂ɁB + pc.c + pc_addeventtimer(),pc_deleventtimer(),pc_eventtimer(), + pc_cleaereventtimer()’Į‰Á + pc_authok()‚Åeventimer‚Ė‰Šú‰ŧ + script.c + buildin_addtimer(),buildin_deltimer()’Į‰Á + +EƒXƒNƒŠƒvƒg‚Ė’Į‰Á + Egetusers,getmapusers,killmonster‚Ė’Į‰Á + getusers(x)‚̓†[ƒU[”Š“ūAx=0‚ÅPC‚ĖMAP,1=‘SMAP,8=NPC‚ĖMAPB + getmapusers("ƒ}ƒbƒv–ž")‚ÍŽw’čƒ}ƒbƒv‚Ėƒ†[ƒU[”‚ðŠ“ū‚·‚éB + killmonster "ƒ}ƒbƒv–ž","ƒCƒxƒ“ƒg–ž"‚ÅŠY“–‚Ėƒ}ƒbƒv‚ɂǂéA + ŠY“–‚ĖƒCƒxƒ“ƒg‹ė“ŪŽw’čƒ‚ƒ“ƒXƒ^[‚ð‘S‚č폜B + EannounceƒRƒ}ƒ“ƒhŠg’Ģ + ƒtƒ‰ƒO‚Ė0x08ƒrƒbƒg‚Š1‚Č‚įƒ}ƒbƒv‚âƒGƒŠƒAŒvŽZ‚ÉPC‚łȂ­NPC‚ðŽg‚Ī + + mob.c/mob.h + mob_delete()’Į‰Á + script.c + buildin_getusers(),buildin_getmapusers(), + buildin_killmonster()’Į‰Á + clif.c/clif.h + clif_GMmessage()‚Ėˆø”•ύX + +EƒCƒxƒ“ƒgƒTƒ“ƒvƒ‹’Į‰Á + ŠČ’P‚ČƒAƒŠ[ƒi‚ĖƒTƒ“ƒvƒ‹‚ð’Į‰ÁB + + (conf/) + npc_test_ev.txt + ]—ˆ‚ĖƒTƒ“ƒvƒ‹‚ĖCģ + npc_test_arena.txt + ŠČ’P‚ČƒAƒŠ[ƒi‚ĖƒTƒ“ƒvƒ‹ + ƒ[ƒvƒ|ƒCƒ“ƒg‚Ė–ģŒø‰ŧƒRƒ}ƒ“ƒh‚Č‚Į‚Š•K—v‚ÆŽv‚í‚ę‚éB + +ESHOP NPC‚ɘb‚ĩŠ|‚Ŋ‚邯NPC‚Š”―‰ž‚ĩ‚Č‚­‚Č‚é–â‘čCģ + + npc.c + npc_buylist(),npc_selllist()Cģ + +---------- +//0289 by ŒÓ’ą—– + +EƒCƒxƒ“ƒg‹ė“ŪŒ^ƒXƒNƒŠƒvƒg‚ĖCģ‚Č‚Į + E‘ž‚ĖNPC‚ɘb‚ĩŠ|‚Ŋ‚Ăǂ邯‚Ŧ‚̓Cƒxƒ“ƒg‚Š–ģŽ‹‚ģ‚ę‚邿‚΂ɂȂč‚Ü‚ĩ‚― + =>ƒLƒ…[‚É“ü‚ę‚é‚Č‚Į‚Ėˆ—‚Ђǂ邯Žv‚í‚ę‚éB + + ‚ą‚ĖŠÖŒW‚ŁAƒTƒ“ƒvƒ‹‚Ė[ev_doƒeƒXƒg]NPC‚ðƒNƒŠƒbƒN‚ĩ‚Ä‚ā + IDƒGƒ‰[‚Šo‚ĉ―‚ā‹N‚Ŧ‚Ü‚đ‚ņBƒCƒxƒ“ƒgƒLƒ…[‚ðė‚ę‚Î’ž‚é‚Í‚ļB + + npc.c + npc_event(),npc_click()‚Énpc_idƒ`ƒFƒbƒN‚ð’Į‰Á + script.c + I—đŽž‚Énpc_id‚ðƒNƒŠƒA‚·‚邿‚Ī‚É + +EƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒh[announce]‚Ė’Į‰Á + EGMƒƒbƒZ[ƒW‚É‚æ‚éannounceB + ‘æ1ˆø”‚Í•ķŽš—ņA‘æ2ˆø”‚̓tƒ‰ƒO‚ŁA + ƒtƒ‰ƒO‚ˉšˆĘ‚Sƒrƒbƒg‚Š0=‘S‚āA1=“Ŋ‚ķƒ}ƒbƒvA + 2=‰æ–Ę“āA3=ŽĐ•Š‚Ė‚ÝA4=“Ŋ‚ķƒ}ƒbƒvŽI‚É‘—MB + ƒtƒ‰ƒO‚Ė‚Sƒrƒbƒg–ڂ͐Fƒtƒ‰ƒO‚ŁA0x10=ÂA0x00=‰ĐF + + script.c + buildin_announce()‚Ė’Į‰Á + clif.c + clif_send()‚ÅSELF‚Ėˆ—’Į‰Á + clif_GMmessage()‚Ėˆø”•ύX + intif.c + intif_GMmessage()‚Ėˆø”•ύX + +Eƒƒ‚‹ÖŽ~AƒeƒŒƒ|‹ÖŽ~AƒZ[ƒu‹ÖŽ~ƒ}ƒbƒv‚ŠŽw’č‚Å‚Ŧ‚邿‚΂ɂȂč‚Ü‚ĩ‚―B + ENPC‚ŁAmapflag‚Æ‚Ē‚Īƒ^ƒCƒv‚ŁA–ž‘O‚ð nomemo A noteleport‚Å + ƒƒ‚‚ƃeƒŒƒ|‹ÖŽ~Bnosave ‚ŁAˆø”‚ɃZ[ƒu‚·‚éƒ}ƒbƒv–ž‚ÆĀ•W‚ðŽw’čB + + Ú‚ĩ‚­‚Í“ŊŦ‚Ėconf/npc_test_ev.txt‚ðŽQÆB + + (conf/) + npc_test_ev.txt + Cģ + (map/) + map.h + struct map_data ‚Éflag,savemap,savex,saveyƒƒ“ƒo’Į‰Á + npc.c + npc_parse_mapflag()’Į‰Á + do_init_npc()‚ĖCģ + pc.c + pc_memo()‚сƒ‚‹ÖŽ~‚Đ‚Į‚Ī‚Đ‚ðŠm”F + pc_makesavestatus()‚ŃZ[ƒu‹ÖŽ~‚Č‚įƒ}ƒbƒv‚ð•ύX + pc_randomwarp()‚ŃeƒŒƒ|‹ÖŽ~‚Đ‚Į‚Ī‚ĐŠm”F + skill.c + ƒeƒŒƒ|‚ƃ|ƒ^‚ŃeƒŒƒ|‹ÖŽ~‚ĐŠm”F + + +Eƒtƒ@ƒCƒ„[ƒEƒH[ƒ‹‚Å—Ž‚ŋ‚é–â‘čCģc‚ū‚Æ‚Ē‚Ē‚Č + + skill.c + ‚ģ‚į‚Ƀ`ƒFƒbƒN‚ð’Į‰Á + skill_blown()‚É—Ž‚ŋ‚éŒīˆö‚Á‚Û‚Ē‚ā‚Ė”­ŒĐ‚ĩ‚―‚Ė‚ÅCģ + +---------- +//0288 by ŒÓ’ą—– + +EŽĐ“Ū‘é”­“ŪŽž‚ɁuƒuƒŠƒbƒcƒr[ƒg!!v‚Æ‹Đ‚Î‚Č‚­‚Č‚č‚Ü‚ĩ‚― + skill.c + skill_attack(),skill_additional_effect(), + skill_castend_damage_id()‚ĖCģ + +EƒCƒxƒ“ƒg‹ė“ŪŒ^ƒXƒNƒŠƒvƒg‚Š‹Lq‚Å‚Ŧ‚邿‚΂ɂȂč‚Ü‚ĩ‚― +Eƒ‚ƒ“ƒXƒ^[‚ð“|‚ĩ‚―‚Æ‚Ŧ‚ɃCƒxƒ“ƒgƒXƒNƒŠƒvƒg‚ð“Ū‚Đ‚đ‚邿‚΂ɂȂč‚Ü‚ĩ‚― + + NPC’č‹`‚Ėscript‚Å•\ŽĶƒNƒ‰ƒX‚ð-1‚É‚·‚邯ƒCƒxƒ“ƒgˆĩ‚ǂɂȂč‚Ü‚·B + NPC’č‹`‚Ėmonster‚ɃCƒxƒ“ƒg–ž‚ðÝ’č‚Å‚Ŧ‚Ü‚·B + ƒXƒNƒŠƒvƒg‚ĖmonsterƒRƒ}ƒ“ƒh‚ɃCƒxƒ“ƒg‚ð‹N‚ą‚·ˆø”’Į‰ÁB + Ú‚ĩ‚­‚̓Tƒ“ƒvƒ‹‚ðŒĐ‚Ä‚­‚ū‚ģ‚ǁB + ĄŒãƒ^ƒCƒ}[‚ŃCƒxƒ“ƒg‚ð‹N‚ą‚đ‚邿‚΂ɂĩ‚æ‚Ī‚ÆŽv‚Á‚Ăǂ܂·B + + Œŧó‚ł́ANPCƒEƒBƒ“ƒhƒE‘€ė’†‚ɃCƒxƒ“ƒg‚ЂςŦ‚āA + ‚ŧ‚ĖƒCƒxƒ“ƒg‚ĖƒXƒNƒŠƒvƒg‚ÅNPCƒEƒBƒ“ƒhƒE‚ðo‚·‚Æ–â‘肊‹N‚Ŧ‚Ü‚·B + ‚ą‚Ė•Ó‚ÍĄŒã‚Ė‰Û‘č‚Æ‚Ē‚Ī‚ą‚Æ‚ŁB + + (db/) + item_db.txt/item_db2.txt + monsterƒRƒ}ƒ“ƒh‚Ė•ÏX‚É‚æ‚éCģiŒÃ–Ø‚ĖŽ}jB + (conf/) + npc_test_ev.txt + ƒTƒ“ƒvƒ‹ + (map/) + npc.c + npc_event()’Į‰Á + npc_parse_script()Cģ + npc_checknear()Cģ + clif.c + clif_getareachar_npc()Cģ + map.h + struct mob_data‚Énpc_eventƒƒ“ƒo’Į‰Á + mob.c/mob.h + mob_once_spawn()‚Ėˆø”•ύX + mob_damage()‚ÅŽ€–SŽž‚ɃCƒxƒ“ƒg‚ð‹N‚ą‚·‚æ‚Ī‚É + atcommand.h + mob_once_spawn()‚Ėˆø”•ύX + script.c + buildin_monster()‚ĖCģ + +---------- +//0287 by ŒÓ’ą—– + +Eƒ‚ƒ“ƒXƒ^[î•ņƒXƒLƒ‹‚Å‚g‚o‚Š65535‚ð‰z‚͂Ăǂ邯ģí‚Č’l‚ŠŒĐ‚ę‚Č‚ĒƒoƒOCģ + + clif.c + clif_skill_estimation()‚ĖCģ + +EŒÃ–Ø‚ĖŽ}ƒAƒCƒeƒ€‚ŃNƒ‰ƒCƒAƒ“ƒg‚ŠƒŠƒ\[ƒXƒGƒ‰[‚ðo‚·–â‘肊Cģ‚ģ‚ę‚Ü‚ĩ‚― +EŒÃ–Ø‚ĖŽ}ƒAƒCƒeƒ€‚ÅĒŠŦ‚Å‚Ŧ‚é“G‚ŠŽw’č‚Å‚Ŧ‚邿‚΂ɂȂč‚Ü‚ĩ‚― + + (db/) + mob_branch.txt + ĒŠŦ‰Â”\‚Č“G‚ĖƒŠƒXƒg + (map/) + mob.c/mob.h + struct mob_data‚Ésummonflagƒƒ“ƒo’Į‰ÁBĒŠŦ‰Â”\ŦB + mob_once_spawn()‚ĖCģ + mob_readbranch()‚Ė’Į‰Á + do_init_mob()‚Åmob_readbranch()‚ðŒÄ‚Ô‚æ‚΂ɁB + +EŒÃ‚­Â‚Ē” AŒÃ‚ĒŽ‡F‚Ė” ‚ŠŽĀ‘•‚ģ‚ę‚Ü‚ĩ‚―B + ˆę•”‚Ė–ĒŽĀ‘•ƒAƒCƒeƒ€‚āo‚Ü‚·Bitem_db.txt‚É‚ ‚éƒf[ƒ^‚ðŒŸõ‚ĩ‚Ăǂ܂·B + ƒXƒNƒŠƒvƒggetitem‚Å•‰‚Ė’l‚ðŽw’č‚·‚邯A‚ŧ‚ːâ‘Î’l‚ðƒtƒ‰ƒO‚Æ‚ĩ‚Ä + ƒ‰ƒ“ƒ_ƒ€‚ɃAƒCƒeƒ€‚ð‘I‘ð‚ĩ‚Ü‚·B + + (db/) + item_db.txt/item_db2.txt + ŠY“–•”•Š‚ĖƒXƒNƒŠƒvƒgCģ + (map/) + script.c + buildin_getitem()‚ĖCģ + itemdb.c/itemdb.h + itemdb_searchrandomid(),itemdb_searchrandomid_sub()’Į‰Á + +E‰rĨƒf[ƒ^‚Ėˆę•”Cģ + (db/) + cast_db.txt + ‘Ž“xãļ‚Č‚Į‚ĖCģ + +ENPC‚ĖŒü‚ŦCģ‚Č‚Į + (conf/) + npc_*.txt + +---------- +//0286 by ŒÓ’ą—– + +Eƒ‚ƒ“ƒXƒ^[î•ņƒXƒLƒ‹‚ŃNƒ‰ƒCƒAƒ“ƒg‚Š—Ž‚ŋ‚éƒoƒOCģ + clif.c + clif_skill_estimation()‚ĖCģ + +E‰rĨ”―‰žƒ‚ƒ“ƒXƒ^[‚Š”―‰ž‚ĩ‚Č‚Ē‚ą‚Æ‚Š‚ ‚é–â‘č‚ðCģ + skill.c + skill_use_id(),‰rĨ”―‰žŽžAÅ’á’ĮÕ‹——Ģ‚ð13‚ɐݒ肷‚邿‚΂ɁB + +EƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒh[warp]‚ŃZ[ƒuƒ|ƒCƒ“ƒgˆÚ“Ū‚âƒ‰ƒ“ƒ_ƒ€ˆÚ“Ū‚Š‰Â”\‚ɂȂč‚Ü‚ĩ‚― +EƒnƒG‚ˉHA’ą‚ˉHƒAƒCƒeƒ€‚ŠŽĀ‘•‚ģ‚ę‚Ü‚ĩ‚― + ƒXƒNƒŠƒvƒgwarp‚Ń}ƒbƒv–ž‚É"SavePoint"‚â"Random"‚ŠŽw’č‚Å‚Ŧ‚Ü‚·B + + (db/) + item_db.txt/item_db2.txt + ƒnƒG‚ˉHA’ą‚ˉH‚ĖƒXƒNƒŠƒvƒgCģ + script.c + buildin_warp()‚ĖCģ + +E@monsterƒRƒ}ƒ“ƒh‚É‚æ‚éMOB‚Š•œŠˆ‚ĩ‚Ȃǂæ‚΂ɂȂč‚Ü‚ĩ‚― +EƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒh[monster]‚ÅMOB‚𔭐ķ‚ģ‚đ‚邹‚Æ‚Š‚Å‚Ŧ‚邿‚΂ɂȂč‚Ü‚ĩ‚― +EŒÃ–Ø‚ĖŽ}ƒAƒCƒeƒ€‚ŠŽĀ‘•‚ģ‚ę‚Ü‚ĩ‚― + + ƒXƒNƒŠƒvƒgˆø”‚Í monster ƒ}ƒbƒv–ž,x,y,MOB–ž,MOB‚ĖID,” ‚Å‚·B + ƒ}ƒbƒv–ž‚Š"this"‚Ėę‡AƒXƒNƒŠƒvƒg‚ðŽĀs‚ĩ‚―ƒvƒŒƒCƒ„[‚˂ǂéƒ}ƒbƒvA + x,y‚Š-1‚Č‚įƒvƒŒƒCƒ„[‚ĖĀ•Wi‚Į‚ŋ‚į‚Đˆę•û‚Ė‚Ý‚ŧ‚ë‚Ķ‚é‚ą‚Æ‚ā‰Â”\jA + MOB–ž‚Š"--en--"‚Ėę‡A–{—ˆ‚ˉpŒę–ž‚ɂȂčA"--ja--"‚Ėę‡A + –{—ˆ‚Ė“ú–{Œę–ž‚ɂȂč‚Ü‚·BMOB‚ĖID‚Š-1‚Ėę‡A“K“–‚ČID‚ɂȂč‚Ü‚·B + + (db/) + item_db.txt/item_db2.txt + ŒÃ–Ø‚ĖŽ}‚ĖƒXƒNƒŠƒvƒgCģ + (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@itemƒRƒ}ƒ“ƒh‚ĖCģi‘•”õ•i‚Č‚Į‚Ė–â‘čj + + atcommand.c + @item‚ĖCģ + +---------- +//0284 by ŒÓ’ą—– + +EáŠQ•ςЂ ‚邯‰“‹——ĢUŒ‚‚ЂłŦ‚Č‚­‚Č‚č‚Ü‚ĩ‚― +E‘Î’nƒXƒLƒ‹‚ŠáŠQ•Ļã‚ÉŽg—p‚Å‚Ŧ‚Č‚­‚Č‚č‚Ü‚ĩ‚― + + path.c + path_search(),can_move()‚ĖCģAcan_place()‚Ė’Į‰Á + battle.c/battle.h + battle_check_range()’Į‰ÁAŽË’ö‚ƏáŠQ•Ļ”ŧ’čB + 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ģ + +E‰rĨ”―‰ž/ƒŠƒ“ƒNƒ‚ƒ“ƒXƒ^[‚ŠŽĀ‘•‚ģ‚ę‚Ü‚ĩ‚― + skill.c + skill_use_id()‚ɉrĨ”―‰žƒ‚ƒ“ƒX‚Ėˆ—’Į‰Á + mob.c + mob_ai_sub_hard_linksearch()‚Ė’Į‰Á + mob_ai_sub_hard()‚ÉƒŠƒ“ƒNˆ—‚ðCģ + +---------- +//0283 by ‚ę‚  +EƒŠƒUƒŒƒNƒVƒ‡ƒ“‚ĖCģ + 0282‚Őķ‚Ŧ‚Ä‚é‚o‚b‚ÉƒŠƒU‚Š‚Đ‚Ŋ‚ę‚é‚˂ɁA + Ž€‚ņ‚Å‚é‚o‚b‚É‚ÍƒŠƒU‚Š‚Đ‚Đ‚į‚Č‚­‚Č‚Á‚Ä + ‚Ē‚―‚Ė‚ðCģ‚ĩ‚Ü‚ĩ‚―B + +---------- +//0282 by ŒÓ’ą—– + +EƒXƒLƒ‹‚ĖCģ‚Æ’Į‰ÁŽĀ‘• + EƒLƒŠƒGƒGƒŒƒCƒ\ƒ“‚ĖƒGƒtƒFƒNƒg‚Ė–â‘čCģB + EƒŠƒUƒŒƒNƒVƒ‡ƒ“‚Аķ‚Ŧ‚ĂǂéPC‚ɂ͊|‚Ŋ‚į‚ę‚Ȃǂæ‚΂ɂȂč‚Ü‚ĩ‚― + Eƒ^[ƒ“ƒAƒ“ƒfƒbƒh/UŒ‚ƒŠƒUƒŒƒNƒVƒ‡ƒ“‚ŠBOSS‚ɂ͌ø‚Đ‚Č‚Ē‚æ‚΂ɂȂč‚Ü‚ĩ‚― + Eƒtƒ@ƒCƒ„[ƒEƒH[ƒ‹‚Ėƒqƒbƒg”§ŒĀ‚ðŽĀ‘• + EƒXƒg[ƒ€ƒKƒXƒg‚ĖŽĀ‘• + ‚―‚ū‚ĩA–{ŽI‚ƈá‚Ē“€Œ‹‚ÍŠm—Ķ‚Ė‚Ý‚ÅAÅ‘åƒqƒbƒg”‚Č‚Į‚Š•Ï‚Å‚·B + + skill.c + skill_castend_nodamage_id()‚ĖCģ + ƒXƒg[ƒ€ƒKƒXƒg‚Ėˆ—’Į‰Á + +EƒXƒLƒ‹ƒ†ƒjƒbƒgˆ—‚ɈӒn‚ɂȂÁ‚ÄˆĀ‘SŦƒ`ƒFƒbƒN‚ð’Į‰ÁB + i—Ž‚ŋ‚Č‚­‚Č‚é“ú‚͉“‚ǁHHj + + map.h + MAX_SKILLUNITGROUP‚ð32‚É‘‚â‚ĩ‚― + skill.c + skill_status_change_*()‚ÉNULLƒ`ƒFƒbƒN’Į‰Á + battle.c + battle_calc_damage()‚ɐķ‘ķƒ`ƒFƒbƒN’Į‰Á + map.c + map_freeblock_unlock()‚ɃƒbƒN”ƒ`ƒFƒbƒN‚ð’Į‰Á + +E‚ŧ‚Ė‘žCģ + EPC‚ĖÅ‘åHP‚Š30000‚ɐ§ŒĀ‚ģ‚ę‚Ü‚ĩ‚―B + EPC‚ˉņ•œˆ—‚ŠCģ‚ģ‚ę‚Ü‚ĩ‚― + E‚Ŧ”ō‚΂ĩˆ—‚ĖCģ + E0281‚Ėitem_db.txt‚Ė•ÏX‚ðitem_db2.txt‚É‚ā“K—p + + (map/) + pc.c + pc_heal(),pc_calcstatus()‚ĖCģ + path.c + path_blownpos()‚ĖCģ + (db/) + item_db2.txt + 0281‚Ė–ž‘OCģ‚Č‚Į‚ð“K—p + +---------- +//0280 by ŒÓ’ą—– + +EŠĮ—ŽŌ‚ĖƒVƒXƒeƒ€‚ðėŽ + "conf/login_athena.cnf"‚ĖėŽAŠĮ—ŽŌƒpƒXAGMƒpƒX‚ĖÝ’čB + ƒAƒJƒEƒ“ƒg‚ðė‚邯‚ŦA + ƒ—၄ ID: hoge_M Pass: foobar@admin + ‚Ė‚æ‚΂ɁAƒpƒXƒ[ƒh‚ĖŒã‚ë‚Ɂu@ŠĮ—ŽŌƒpƒXv‚Š•K—v‚ɁB + login_athena.cnf‚Ėadmin_pass‚Ė—“‚ðÁ‚đ‚΁AĄ‚܂ł˂æ‚΂ɂā‚Â‚Đ‚Ķ‚Ü‚·B + i‚ŧ‚Ėę‡Aadmin_pass‚ĖŒã‚ë‚ū‚Ŋ‚łȂ­As‚炯Á‚ĩ‚Ä‚­‚ū‚ģ‚ǁj + + (login/) + login.h + Ý’čƒtƒ@ƒCƒ‹‚ĖƒfƒtƒHƒ‹ƒg–ž’Į‰Á + login2.c + ƒAƒJƒEƒ“ƒgėŽ‚Ė‚Æ‚ą‚ë‚ðCģ + Ý’čƒtƒ@ƒCƒ‹‚Ė“Į‚ݍž‚Ý’Į‰Á + +E@GMƒRƒ}ƒ“ƒh•œŠˆ + ‚―‚ū‚ĩAu@gm GMƒpƒXv‚Æ‚ĩ‚ÄŽg‚ǂ܂·B + GMƒpƒX‚Ílogin_athena.cnf‚Ė‚ā‚˂ł·B + ŽI‚ĖÄ‹N“Ū‚Ė•K—v‚Í‚ ‚č‚Ü‚đ‚ņ‚ЁA + ƒNƒ‰ƒCƒAƒ“ƒg‚ÍƒŠƒƒO‚·‚é•K—v‚Š‚ ‚č‚Ü‚·B + + ƒ’ˆÓ„ + “Ŋ‚ķƒAƒJƒEƒ“ƒg‚Ė‘S‚Ä‚ĖƒLƒƒƒ‰‚ÍPT‚Đ‚į”ē‚Ŋ‚Ä’u‚ǂĂ­‚ū‚ģ‚ǁB + ‚Ü‚―A‘qŒÉ‚ĖƒAƒCƒeƒ€‚Í‘S•”ˆø‚Ŧo‚ĩ‚Ä’u‚ǂĂ­‚ū‚ģ‚ǁB + ‚ŧ‚Ī‚ĩ‚Č‚Ē‚ÆƒSƒ~ƒf[ƒ^‚ŠŽc‚č‚Ü‚·B + + (login/) + login2.c + ƒAƒJƒEƒ“ƒgID•ύXˆ—’Į‰Á + (char/) + char2.c + ƒAƒJƒEƒ“ƒgID•ύXˆ—’Į‰Á + (map/) + chrif.c/chrif.h + chrif_changegm(),chrif_changedgm()’Į‰Á + +E@pvpoffƒRƒ}ƒ“ƒ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@memoƒRƒ}ƒ“ƒh’Į‰ÁB + ”CˆÓ‚Ė‹L‰Ŋˆæ‚Ƀƒ‚‚ðŽæ‚ę‚邿‚΂ɂȂč‚Ü‚ĩ‚―B + + atcommand.c + @memo‚Ėˆ—’Į‰Á + + +---------- +//0279 by ŒÓ’ą—– + +EƒXƒLƒ‹ƒ†ƒjƒbƒgˆ—‚Ė–â‘č‘΍ô + ‚Æ‚č‚ ‚Ķ‚ļ‚Ђ―‚·‚įƒ`ƒFƒbƒN‚ð“ü‚ę‚Ü‚ĩ‚―B + + skill.c + skill_unit_timer_sub(),skill_unit_move_sub(), + skill_delunit()‚Ƀ†ƒjƒbƒg‚ːķ‘ķ”ŧ’č‚ð’Į‰ÁB + skill_unitgrouptickset_search(),skill_unitgrouptickset_delete() + skill_delunitgroup()‚ÉNULLƒ|ƒCƒ“ƒ^ƒ`ƒFƒbƒN‚ð’Į‰ÁB + +EƒXƒLƒ‹‚Ė’Į‰ÁŽĀ‘•‚ƏCģ + ƒeƒŒƒ|[ƒgAƒ[ƒvƒ|[ƒ^ƒ‹‚ĖŽĀ‘• + ƒLƒŠƒGƒGƒŒƒCƒ\ƒ“‚ðMOB‚ÉŠ|‚Ŋ‚邯—Ž‚ŋ‚éƒoƒOCģ + + (db/) + cast_db.txt + ƒ[ƒvƒ|[ƒ^ƒ‹‚ˉrĨŽžŠÔÝ’č + (map/) + map.h + struct skill_unit_group‚Ėvalstr‚ðƒ|ƒ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()‚ĖƒLƒŠƒG‚Ėˆ—Cģ + pc.c/pc.h + pc_randomwarp(),pc_memo()’Į‰Á + +---------- +//0278 by nabe + +EƒXƒLƒ‹ƒ|ƒCƒ“ƒg‚ðU‚Á‚―‚Æ‚Ŧ‚ɃXƒe[ƒ^ƒX‚ðXV + pc.c + pc_skillup()‚Åpc_calc_skilltree()‚Ė‘ã‚í‚č‚Épc_calcstatus() +EŠŽ—Ę‘‰Á‚ðCģ + pc.c + pc_calcstatus()‚ĖŠŽ—Ę‘‰Á‚É‚æ‚émax_weight‘•Š‚ðskill*1000‚É + +---------- +//0277 by nabe + +E•t‘Ū•iiƒJ[ƒgA‘éAƒyƒRj‚Ė•t‚ŊŠO‚ĩ‚ð‰ü—Į + (conf/) + npc_event_rental.txt + ‘éAƒyƒR‚ð•t‚Ŋ‚éƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒh‚ð•ύX + (map/) + battle.c + battle_addmastery(),battle_calc_weapon_attack()‚Å + ƒyƒRƒyƒR‹RæŽž‚Ė‘„UŒ‚—Í•âģ‚ðŽĀ‘• + clif.c + clif_parse_CartOff‚ðclif_parse_RemoveOption‚ɕύX + pc.c/pc.h + pc_calcstatus()‚ŃJ[ƒgAƒyƒRƒyƒRæ‚č‚É‚æ‚鑎“x•ωŧ‚ðŒvŽZ + pc_setoption(),pc_setcart()‰ü—Į + pc_setfalcon(),pc_setriding()’Į‰Á + pc.h‚Épc_isfalcon(),pc_isriding()ƒ}ƒNƒ’Į‰Á + script.c + buildin_setfalcon() ‘é•t‰Á + buildin_setriding() ƒyƒRƒyƒRæ‚č + +---------- +//0276 by nabe + +Eļ˜BNPCŽĀ‘• + (conf/) + npc_town_refine.txt + ļ˜BNPCƒXƒNƒŠƒvƒgƒtƒ@ƒCƒ‹V‹K’Į‰Á + (map/) + pc.c/pc.h + ļ˜BŽŒũ—͂˕\percentrefinery[5][10]‚ð’Į‰Á + script.c‚Đ‚įŒÄ‚΂ę‚éŠÖ” + pc_percentrefinery() ļ˜BŽŒũ—Ķ + pc_equipitemindex() ‘•”õ•iƒCƒ“ƒfƒbƒNƒX + ‚ð’Į‰Á + script.c + buildin_getequipname() ‘•”õ–ž•ķŽš—ņiļ˜Bƒƒjƒ…[—pj + buildin_getequipisequiped() ‘•”õƒ`ƒFƒbƒN + buildin_getequipisenableref() ‘•”õ•iļ˜B‰Â”\ƒ`ƒFƒbƒN + buildin_getequipisidentify() ‘•”õ•iŠÓ’čƒ`ƒFƒbƒN + buildin_getequiprefinerycnt() ‘•”õ•iļ˜B“x + buildin_getequipweaponlv() ‘•”õ•i•ŠíLV + buildin_getequippercentrefinery() ‘•”õ•iļ˜BŽŒũ—Ķ + buildin_successrefitem() ļ˜BŽŒũ + buildin_failedrefitem() ļ˜BŽļ”s + ‚ð’Į‰Á + +EƒXƒNƒŠƒvƒg‚ÉWeight,MaxWeightƒpƒ‰ƒ[ƒ^‚ð’Į‰Á + const.txt + Weight,MaxWeight‚ð’Į‰Á + +EƒXƒNƒŠƒvƒg‚Å‚Ėƒ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‚Ė”ŧ’č‚É‚Ídmglog‚ðŽg‚Á‚Ă܂·B‚·‚Č‚í‚ŋ—^ƒ_ƒ‚ū‚Ŋ‚ŠŒvŽZ‘Ώۂł·B + ”íƒ_ƒ‚͍l—ķ‚ģ‚ę‚Ă܂đ‚ņB + ŒoŒą’l‚Í–ģðŒ‚Å“ü‚čAŠm—͂łģ‚į‚ɃAƒCƒeƒ€‚Š“ü‚č‚Ü‚·B + ƒAƒCƒeƒ€‚Í•Ą”Žč‚É“ü‚邹‚Æ‚ā‚ ‚č‚Ü‚·B + + clif.c/clif.h + clif_mvp_effect(),clif_mvp_item(),clif_mvp_exp()’Į‰Á + mob.c + mob_damage()‚ÉMVPˆ—’Į‰Á + +EƒXƒLƒ‹‚Ė’Į‰ÁŽĀ‘•‚ƏCģ + Eƒ}ƒOƒiƒ€ƒuƒŒƒCƒNAƒAƒ[ƒVƒƒƒ[ŽĀ‘• + E‚Ŧ”ō‚΂ĩŒnƒXƒLƒ‹‚Šˆę•”Žg—p‚ģ‚ę‚Č‚ĒƒoƒOCģ + Eƒ_ƒuƒ‹ƒXƒgƒŒƒCƒtƒBƒ“ƒO‚Ėƒ_ƒ[ƒWŒvŽZŽŪCģ + E•ŠíUŒ‚Œn‘ېŦ•t‚ŦƒXƒLƒ‹‚őېŦ‚Š”―‰f‚ģ‚ę‚Ȃǖâ‘čCģ + EęŠŽw’čƒXƒLƒ‹‚ŠUŒ‚‚ĩ‚ȂЂį‰rĨ‚Å‚Ŧ‚―–â‘č‚ðCģ + + battle.c + battle_calc_weapon_attack()‚ĖŠY“–ŒÂŠCģ•’Į‰Á + skill.c + skill_castend_damage_id()‚ɏˆ—’Į‰Á + skill_use_pos()‚ɍUŒ‚’âŽ~ˆ—’Į‰Á + +EƒJ[ƒhƒXƒLƒ‹‚ŠƒJ[ƒh‚ðŠO‚ĩ‚Ä‚āŽg—p‰Â”\‚Č–â‘č‚ðCģ + pc.c + pc_calc_skilltree()‚ðCģ + +EƒAƒCƒeƒ€ƒhƒƒbƒv—́AexpŠ“ū”{—͂ȂĮ‚Ė’ēŪ‹@”\’Į‰Á + 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“Į‚ݍž‚ÝŽžAƒf[ƒ^‚ð’ēŪ‚·‚鏈—’Į‰Á + +---------- +//0274 by ŒÓ’ą—– + +EƒXƒLƒ‹‚Ė’Į‰ÁŽĀ‘• + ƒXƒLƒbƒhƒgƒ‰ƒbƒvAƒ‰ƒ“ƒhƒ}ƒCƒ“Aƒuƒ‰ƒXƒgƒ}ƒCƒ“AƒNƒŒƒCƒ‚ƒA[ƒgƒ‰ƒbƒvA + ƒtƒŠ[ƒWƒ“ƒOƒgƒ‰ƒbƒvAƒTƒ“ƒhƒ}ƒ“AƒAƒ“ƒNƒ‹ƒXƒlƒA + + ‡–°‚â“€Œ‹‚Č‚Į‚ĖŠm—Ķ‚Í“K“–‚Å‚·B + ãД­“ŪŽž‚ĖƒGƒtƒFƒNƒg‚Šo‚Ü‚đ‚ņB‚Ä‚Ē‚Ī‚Đo‚ĩ•û‚Š‚í‚Đ‚č‚Ü‚đ‚ņB + ‚í‚Đ‚él‚Í‹ģ‚͂Ă­‚ū‚ģ‚ǁB‚ā‚ĩ‚­‚Í–{ŽI‚ÅãД­“ŪŽž‚Ė•Ą‡‰ŧÏ‚Ý‚Ė + ķƒpƒPƒbƒgƒf[ƒ^‚Å‚ā‚ǂǂ˂ŋģ‚͂Ă­‚ū‚ģ‚ǁ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()‚ɃAƒ“ƒNƒ‹‚œۂŊ‚Č‚­‚·‚鏈—’Į‰Á + mob.c + mob_ai_sub_hard()‚ɃAƒ“ƒNƒ‹‚œۂŊ‚Č‚­‚·‚鏈—’Į‰Á + +E‘•”õ‚Č‚Į‚ĖƒNƒŠƒeƒBƒJƒ‹ƒ{[ƒiƒX‚Š1/10‚ɂȂÁ‚ĂǂéƒoƒO‚ŠCģ‚ģ‚ę‚Ü‚ĩ‚― + battle.c + battle_calc_weapon_attack()‚É’Į‰Á•Š‚ðŒvŽZ‚·‚鏈—Cģ + +EƒuƒŠƒbƒcƒr[ƒg‚ĖŒvŽZŽŪ‚Š‘S‘Rˆá‚ĪƒoƒO‚ŠCģ‚ģ‚ę‚Ü‚ĩ‚― + battle.c + battle_calc_attack()‚ĖBF_MISC‚Ėˆ’u‚ŠŠÔˆá‚Á‚Ăǂ―‚Ė‚ðCģ + +ESW‚ƃjƒ…[ƒ}‚Š•ŠíUŒ‚‚Č‚į‚Į‚ņ‚ČƒŒƒ“ƒW‚ĖUŒ‚‚Å‚ā–h‚ǂłǂ―–â‘č‚ðCģ + battle.c + battle_calc_damage()‚ĖƒŒƒ“ƒW”ŧ’č‚ðCģ + +EƒI[ƒo[ƒgƒ‰ƒXƒg‚ƃEƒFƒ|ƒ“ƒp[ƒtƒFƒNƒVƒ‡ƒ“‚ŠPTƒƒ“ƒo‚É‚ā‚Đ‚Đ‚é‚æ‚Ī‚ÉCģB + Œø‰Ę‚ÍŽg—pŽŌ‚ÆPTƒƒ“ƒo‚ňá‚Ē‚Í‚ ‚č‚Ü‚đ‚ņB + + skill.c + skill_castend_nodamage_id()‚ĖCģB + +---------- +//0273 by ŒÓ’ą—– + +EƒLƒƒƒ‰ƒNƒ^[‚ŠÁŽļ‚ĩ‚―‚čŒķ‰e‚Šo‚é–â‘肊Cģ‚ģ‚ę‚Ü‚ĩ‚― + E‚Ŧ”ō‚΂ĩƒXƒLƒ‹‚ðŽó‚Ŋ‚邯”­ķ‚ĩ‚Ăǂ― + EŽÎ‚ßˆČŠO‚Ė•ās‚Å”­ķ‚ĩ‚Ăǂ― + + map.c + map_foreachinmovearea()‚ĖCģB + skill.c + skill_blown()‚É•\ŽĶ”͈͍XVˆ—‚ð’Į‰ÁB + mob.c + mob_walk()‚Å•ā‚ŦI‚í‚Á‚―‚Æ‚Ŧ‚ÉˆĘ’u‚ðÄ‘—M‚·‚邿‚Ī‚ÉCģ + pc.c + pc_walk()‚Å•ā‚ŦI‚í‚Á‚―‚Æ‚Ŧ‚ÉˆĘ’u‚ðÄ‘—M‚·‚邿‚Ī‚ÉCģ + +EƒXƒLƒ‹‚Ė’Į‰ÁŽĀ‘•‚ƏCģ + ƒtƒ@ƒCƒ„[ƒEƒH[ƒ‹Aƒtƒ@ƒCƒ„[ƒsƒ‰[‚ĖŽĀ‘• + ƒTƒ“ƒNƒ`ƒ…ƒAƒŠ‚Å‚ĖƒmƒbƒNƒoƒbƒN•ûŒü‚ðCģ + + (db/) + skill_db.txt + ƒtƒ@ƒCƒ„[ƒsƒ‰[AƒuƒŠƒbƒcƒr[ƒg‚Ėƒqƒbƒg”Cģ + (map/) + skill.c + skill_blown()‚É‘ÎÛ‚ĖŒü‚Ŧ‚É‚æ‚éƒmƒbƒNƒoƒbƒNˆ—’Į‰Á + ‚ŧ‚Ė‘ž•K—v‚ȏꏩCģ + mob.c + mob_walk(),mob_attack()‚ÅŒü‚Ŧ‚ð•Û‘ķ + pc.c + pc_walk(),pc_attck()‚ÅŒü‚Ŧ‚ð•Û‘ķ + map.c + map_calc_dir()’Į‰ÁB‘Š‘Î“I‚Č•ûŒü‚ð‹‚ß‚é + + +EƒNƒŠƒeƒBƒJƒ‹‘‰Á‘•”õ‚Ší“ŽŽž‚ÉŒvŽZ‚ģ‚ę‚Ä‚Č‚ĒƒoƒO‚ŠCģ‚ģ‚ę‚Ü‚ĩ‚― + battle.c + battle_calc_weapon_attack()‚É’Į‰Á•Š‚ðŒvŽZ‚·‚鏈—’Į‰Á + + +E–hŒäƒ†ƒjƒbƒgiSW/ƒjƒ…[ƒ}j‚Š“G‚ɉe‹ŋ‚ð‹y‚Ú‚·‚Đ‚Į‚Ī‚Đ‚ð + battle_athena.cnf‚Ő§Œä‚Å‚Ŧ‚邿‚΂ɂȂč‚Ü‚ĩ‚― + ƒfƒtƒHƒ‹ƒg‚́u‹y‚Ú‚ģ‚Ȃǁv‚Å‚·B + + (conf/) + battle_athena.cnf + €–Údefunit_not_enemy‚ð’Į‰Á + (map/) + battle.c/battle.h + struct Battle_Config ‚É defnotenemyƒƒ“ƒo’Į‰ÁB + battle_read_config()‚Ėˆ—‚ðCģB + skill.c + skill_unitsetting()‚ÅSW/ƒjƒ…[ƒ}‚Ėˆ—‚ðCģ + +EƒtƒFƒ“ƒJ[ƒh‘•”õŽžAŽ€‚ņ‚Å‚ā‰rĨ‚Š‘ą‚­ƒoƒO‚ðCģ + i‰rĨI—đ‘O‚É•œŠˆ‚·‚ę‚Ζ‚–@‚Š”­“Ū‚·‚é–â‘č‚āCģ‚ɂȂč‚Ü‚·j + + pc.c + pc_damage()‚ÅŽ€–SŽžskill_castcancel()‚ðŒÄ‚Ô‚æ‚Ī‚ÉCģ + +E“G–Ą•û”ŧ’čˆ—‚ɃoƒO‚Š‚ ‚Á‚―‚Ė‚ðCģ + battle.c + battle_check_target()‚ĖCģ + +---------- +//0272 by ŒÓ’ą—– + +EƒXƒLƒ‹‚Ė’Į‰ÁŽĀ‘•‚ƏCģ + EƒZƒCƒtƒeƒBƒEƒH[ƒ‹Aƒjƒ…[ƒ}‚ŠŽĀ‘•‚ģ‚ę‚Ü‚ĩ‚―B + Eƒ[ƒhƒIƒuƒo[ƒ~ƒŠƒIƒ“”­“Ū’†‚ÉŒø‰Ę”͈͊O‚Đ‚į”͈͓ā‚É“ü‚Á‚Ä‚Ŧ‚―‚Æ‚ŦA + “G–Ą•û‚Ė‹æ•Ę–ģ‚­UŒ‚‚Š“–‚―‚é–â‘肊Cģ‚ģ‚ę‚Ü‚ĩ‚―B + EƒTƒ“ƒNƒ`ƒ…ƒAƒŠ‚ĖŽË’ö‚ŠCģ‚ģ‚ę‚Ü‚ĩ‚―B + E”͈͖‚–@‚Å“|‚ĩ‚―“G‚ŠHP0‚ÅŽc‚éę‡‚Š‚ ‚é–â‘肊Cģ‚ģ‚ę‚Ü‚ĩ‚―B + + (db/) + skill_db.txt + ƒZƒCƒtƒeƒBƒEƒH[ƒ‹‚ƃTƒ“ƒNƒ`ƒ…ƒAƒŠ‚ĖŽË’ö‚ð8‚ɕύX + (map/) + skill.c + skill_unit_onplace(),~ondelete(),~onout()‚Č‚Į‚ɁA + ƒZƒCƒtƒeƒBƒEƒH[ƒ‹‚ƃjƒ…[ƒ}‚Ėˆ—’Į‰ÁB + skill_unit_move()‚Ƀ^[ƒQƒbƒg‚Ė“G–Ą•û”ŧ’č‚ð’Į‰ÁB + skill_unit_timer_onplace(),~ondelete()‚Ƀ†ƒjƒbƒgķ‘ķ”ŧ’č‚ð’Į‰Á. + skill_clear_unitgroup()’Į‰ÁBƒ†ƒjƒbƒgƒOƒ‹[ƒv‚Ė‘Síœ‚ð‚·‚éB + battle.c + battle_calc_damage()‚ɃZƒCƒtƒeƒBƒEƒH[ƒ‹‚ƃjƒ…[ƒ}‚Ėˆ—’Į‰ÁB + map_foreachinarea()‚Č‚ĮCģ + map.c + map_quit()‚Åskill_clear_unitgroup()‚ðŒÄ‚Ô‚æ‚΂ɁB + +EƒXƒLƒ‹‚ː‚Ŧ”ō‚΂ĩˆ—‚ðŽĀ‘• + ƒ†ƒsƒeƒ‹ƒTƒ“ƒ_[AƒTƒ“ƒNƒ`ƒ…ƒAƒŠAƒXƒsƒAƒXƒ^ƒuA + ƒ{[ƒŠƒ“ƒOƒoƒbƒVƒ…Aƒ`ƒƒ[ƒWƒAƒ[‚ː‚Ŧ”ō‚΂ĩˆ—ŽĀ‘• + + path.c/map.h + path_blownpos()’Į‰Á + battle.c/battle.h + struct Damage‚Éblewcountƒƒ“ƒo’Į‰Á + battle_calc_*_damage()‚Åblewcount‚ðƒZƒbƒg‚·‚邿‚΂ɁB + skill.c/skill.h + skill_blown()’Į‰ÁB‚Ŧ”ō‚΂ĩˆ—B + skill_attack()‚Åskill_blown()‚ðŒÄ‚Ô‚æ‚΂ɁB + skill_attack()‚Ėflag‚ː‚Ŧ”ō‚΂ĩƒrƒbƒg‚Í–ĒŽg—p‚ɁB + +E•ās’†‚Ėƒ‚ƒ“ƒXƒ^[‚ɍUŒ‚‚ĩ‚―‚Æ‚ŦAƒ‚ƒ“ƒXƒ^[‚ɃfƒBƒŒƒC‚Š“ü‚邿‚΂ɂȂč‚Ü‚ĩ‚― + iUŒ‚‚Ėƒ‚[ƒVƒ‡ƒ“‚Ė’x‰„‚ðl‚͂ĂȂǂ˂ł ‚ņ‚Ü‚čˆÓ–Ą‚Š‚Č‚Ē‚Đ‚āHj + + (map/) + mob.c/mob.h + state‚ÉMS_DELAY‚ð’Į‰ÁB + mob_damage(),mob_timer()‚Č‚Į‚ĖCģ + +E•ās’†‚Ėƒ‚ƒ“ƒ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ƒƒƒ‰‚ð‰Á“ü‚ģ‚đ‚邯Œö•―‚Š‰ðœ‚ģ‚ę‚Č‚ĒƒoƒO‚ðCģ + +---------- +//0270 by ŒÓ’ą—– + +EƒXƒLƒ‹‚Ė’Į‰ÁŽĀ‘•‚ƏCģ + ƒ[ƒhƒIƒuƒo[ƒ~ƒŠƒIƒ“AƒTƒ“ƒNƒ`ƒ…ƒAƒŠAƒ}ƒOƒkƒXƒGƒNƒ\ƒVƒYƒ€ + + (db/) + skill_db.txt + ƒ}ƒOƒkƒX‚Ėƒqƒbƒg”A‘ېŦ’ēŪ + ƒTƒ“ƒNƒ`ƒ…ƒ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‚ę‚é‚Ų‚Į‘―”•ύXBŽå‚ɃXƒLƒ‹ƒ†ƒjƒbƒgŠÖ˜A•”•ЁB + 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‚ą‚Ü‚Đ‚ĒƒoƒOCģ‚Č‚Į + Emob‚Љņ•œ‚ĩ‚Ȃǖâ‘čCģ + + battle.c + battle_damage()Cģ + +---------- +//0266 by ŒÓ’ą—– + +E–‚–@ŒvŽZŽŪ‚ĖCģ + –‚–@”{—Ķ‚ðƒ_ƒ[ƒW‚ÉŠ|‚Ŋ‚Ăǂ―‚Ė‚ðMATK‚ɂЂŊ‚邿‚΂ɂĩ‚Ü‚ĩ‚―B + c‚ą‚Á‚ŋ‚Аģ‚ĩ‚Ē‚Æ‚ĩ‚Ä‚Ē‚Ē‚Ė‚Đ‚ČHˆá‚΂Ȃį‹ģ‚͂Ă­‚ū‚ģ‚ǁB + + battle.c + battle_calc_magic_attack()‚ĖCģ + +EƒXƒLƒ‹‚Ė’Į‰ÁŽĀ‘• + ƒTƒCƒgAƒ‹ƒAƒtAƒ[ƒhƒIƒuƒ”ƒ@[ƒ~ƒŠƒIƒ“ + + ƒ[ƒhƒIƒuƒo[ƒ~ƒŠƒIƒ“‚Í‚R‰ņ‚Ė”ŧ’莞‚ɉrĨ‰đ‚Š–Â‚č‚Ü‚·cB + clif_skill_damage()‚Ėtype‚ðFX•Ï‚Ķ‚Ä‚Ý‚Ü‚ĩ‚―‚Š‚Į‚Ī‚ā‚΂܂­‚Ē‚Ŧ‚Ü‚đ‚ņB + ’ž‚đ‚él‚Í’ž‚ĩ‚Ä‚­‚ę‚邯‚Ī‚ę‚ĩ‚ǂł·B + i‚΁[‚ņA‚Ђå‚Á‚Æ‚ĩ‚―‚į–{—ˆ‚̓Oƒ‰ƒtƒBƒbƒN‚Ė‚Č‚ĒƒXƒLƒ‹ƒ†ƒjƒbƒg‚ð + Ý’u‚ĩ‚āA‚ŧ‚Ėƒ†ƒjƒbƒg‚ĖID‚Ń_ƒ[ƒW‚ð—^‚Ķ‚é‚Ė‚Đ‚āHHj + + (db/) + skill_db.txt + ƒ[ƒhƒIƒuƒo[ƒ~ƒŠƒIƒ“‚Ėƒqƒbƒg”‚ð‚R‚Đ‚į10‚ɕύXB + (map/) + skill.c + skill_status_change_timer_sub()’Į‰ÁB + skill_status_change_*()‚ɏˆ—’Į‰ÁB + +Eblock‚Ėƒƒ‚ƒŠ‰ð•ú‚ĖˆĀ‘SŦ‚ĖŒüã + map_foreachinarea,party_foreachsamemap‚ʼnņ‚Á‚Ăǂ邯‚Ŧ‚É + block‚ðƒ`ƒFƒCƒ“‚Đ‚įíœ‚·‚邯A‚΂܂­‰ņ‚į‚Č‚Ē‰Â”\Ŧ‚Š‚ ‚é–â‘čCģB + ‚ģ‚į‚ɁAblock‚ðƒƒ‚ƒŠ‚Đ‚į‰ð•ú‚·‚邯ŠëŒŊ‚Č–â‘č‚āCģB + + Eforeach“ā‚Ŋ֐”‚ðŒÄ‚Ô‘O‚Éblock‚Šƒ`ƒFƒCƒ“‚Đ‚įŠO‚ę‚Ä‚Č‚Ē‚Đƒ`ƒFƒbƒNB + Eforeach‚É“ü‚Á‚―‚Æ‚Ŧ‚ɃƒbƒN‚ĩ‚ăƒ‚ƒŠ‚Đ‚į‰ð•ú‚ģ‚ę‚Ȃǂæ‚΂ɂ·‚éB + ‚ą‚ę‚̓†[ƒU[‚Šfree‚ķ‚á‚Č‚­map_freeblock‚É‚æ‚Á‚ĉð•ú‚·‚邿‚Ī‚É + ƒvƒƒOƒ‰ƒ€‚·‚é•K—v‚Š‚ ‚éBiƒ‹[ƒv‚Đ‚įŒÄ‚΂ę‚é‰Â”\Ŧ‚Ė‚ ‚éŠÖ”‚ðė‚é + ę‡‚Ė‚ą‚Æ‚ŁA•’Ę‚Ífree‚Å‚ā‚Ē‚ŋ‚ςΓۂ­Bj + Emap_foreachinmovearea‚É‚Â‚Ē‚Ä‚Í‰ü—Į‚ĩ‚ĂǂȂǂЁA + ‚ą‚Ėƒ‹[ƒv‚Åblock‚ðíœ‚·‚邹‚Ƃ͂ ‚č‚͂ȂNjC‚Š‚·‚é‚Ė‚Å‚Ē‚Ē‚Æ‚·‚éB + + ‚ą‚ę‚͍ĄŒã‚ðŒĐ‰z‚ĩ‚―‰ü—Į‚Å‚ ‚Á‚āAŒŧÝ‚Ė•sˆĀ’č‚ģ‚ð’ž‚·‚ā‚Ė‚Å‚Í‚Č‚ĒB + iŒŧÝ‚Íforeach“ā‚сƒ‚ƒŠ‚ð‰ð•ú‚ĩ‚ĂǂȂǁc‚Í‚ļ‚Ȃ˂ŁB + ‚―‚ūAƒXƒLƒ‹ƒ†ƒjƒbƒg‚Č‚ĮˆęŽžƒIƒuƒWƒFƒNƒg‚ð‘―—p‚ĩŽn‚߂邯Œø‰Ę‚Š‚ ‚éj + + map.c + map_freeblock(),map_freeblock_lock(),~_unlock()’Į‰ÁB + map_delobject()‚Ėfree()‚ðmap_freeblock()‚É’uŠ·B + map_foreachinarea‚эƒbƒN‚ÆˆĀ‘SŦƒ`ƒFƒbƒNB + party.c + party_foreachsamemap()‚эƒbƒN‚ÆˆĀ‘SŦƒ`ƒFƒbƒN + + +EƒXƒLƒ‹ƒ†ƒjƒbƒg‹@\ŽĀ‘• + Ý’uŒn‚ĖƒXƒLƒ‹‚Ė‚―‚߂ˋ@\ŽĀ‘•BŽĀÛ‚ĖƒXƒLƒ‹‚ĖŽĀ‘•‚͂܂ū‚Å‚·B + + skill.c + ‚Č‚ņ‚Đ‚ā‚ΐFX’Į‰Á‚ĩ‚Ü‚ĩ‚―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‚Ƙb‚ĩ‚―ŽžAmapŽI‚Š—Ž‚ŋ‚邹‚Æ‚Š‚ ‚éƒoƒO‚ðCģ‚ĩ‚Ü‚ĩ‚―B + script.c + replacestr()‚Š‚Ļ‚Đ‚ĩ‚Đ‚Á‚―‚Ė‚ðŽč’ž‚ĩ‚ĩ‚Ü‚ĩ‚―B + +---------- +//0263 by nabe + +E˜I“XŠJÝ’†‚ɃJ[ƒgƒAƒCƒeƒ€‚ðo‚ĩ“ü‚ę‚Å‚Ŧ‚Ȃǂæ‚ĪCģ + pc.c + pc_putitemtocart(),pc_getitemfromcart()‚ɁA˜I“X”ŧ’č‚ð’Į‰Á + +E˜I“XƒAƒCƒeƒ€w“ü‚Ėƒ`ƒFƒbƒN‚ð’Į‰Á + vending.c + vending_purchasereq()‚ŏ”X‚ĖðŒ”ŧ’č‚ð’Į‰Á + +---------- +//0261 by ŒÓ’ą—– + +EŠg‘å‹ūAƒCƒOƒhƒ‰ƒVƒ‹‚Ė—t‚ŠŽĀ‘•‚ģ‚ę‚Ü‚ĩ‚― + ƒXƒNƒŠƒvƒg‚ÉitemskillƒRƒ}ƒ“ƒhėŽBˆęŽž“I‚ɃXƒLƒ‹‚ŠŽg—p‚Å‚Ŧ‚Ü‚·B + + (map/) + script.c + buildin_itemskill()‚Ė’Į‰Á‚Č‚ĮB + skill.c + ƒAƒCƒeƒ€ƒXƒLƒ‹‚Č‚įSP‚Č‚Į‚ðŒŸļ•Á”ï‚ĩ‚Ȃǂæ‚Ī‚ÉCģ + clif.c/clif.h + clif_item_skill()‚Ė’Į‰ÁB + (db/) + item_db.txt/item_db2.txt + ƒXƒLƒ‹Žg—pƒAƒCƒeƒ€‚ĖƒXƒNƒŠƒvƒgCģ + +Eƒp[ƒeƒBƒXƒLƒ‹‚ĖŽĀ‘• + ƒAƒ“ƒ[ƒ‹ƒXAƒ}ƒOƒjƒtƒBƒJ[ƒgAƒOƒƒŠƒAAƒAƒhƒŒƒiƒŠƒ“ƒ‰ƒbƒVƒ…‚Š + ‰æ–Ę“ā‚Ėƒp[ƒeƒB‘Sˆõ‚ÉŒø‰Ę‚ð‹y‚Ú‚·‚æ‚΂ɂȂč‚Ü‚ĩ‚―B + + skill.c + skill_castend_nodamage_id()‚ĖŠY“–ŒÂŠ‚ĖCģ + party.c + party_foreachsamemap()‚ĖCģ + +EƒXƒLƒ‹ŠÖŒW‚ĖCģ + ƒLƒŠƒGƒGƒŒƒCƒ\ƒ“‚Š‘ĶŽž”­“ۂɂȂÁ‚Ăǂé‚Ė‚ðCģB + ƒXƒg[ƒ“ƒJ[ƒX‚ŃGƒtƒFƒNƒg‚Š‘ķÝ‚ĩ‚Č‚ĒƒoƒOCģB + + (db/) + skill_db.txt + ƒLƒŠƒGƒGƒŒƒCƒ\ƒCƒ“Cģ + (map/) + skill.c/skill.h + skill_check_condition()’Į‰ÁBƒXƒLƒ‹Žg—pðŒŒŸļ‚Ėˆę–{‰ŧB + skill_castend_nodamage_id()‚ŃXƒg[ƒ“ƒJ[ƒXCģ + +EƒXƒNƒŠƒvƒg‚ĖƒR[ƒh‚ðŪ— + get_val()‚Åconst.txt‚˒萔‚ðŠ“ū‚Å‚Ŧ‚邿‚Ī‚ÉCģB + + (map/) + script.c + get_val()‚ĖCģiconst.txt‚Ėtype==0‚Ė’l‚ŠŠ“ū‰Â”\‚Ɂj + bonus(),bonus2()‚Č‚Į‚ĖCģB + (db/) + const.txt + type=1‚Å‚ ‚é•K—v‚Š–ģ‚Ē‚ā‚Ė‚ð0‚ɁB + item_db.txt/item_db.txt + const.txt‚Ė•ÏX‚É”š‚ĪCģB + +---------- +//0260 by ŒÓ’ą—– + +Eí“ŽŠÖŒW‚ĖÝ’č‚Šƒtƒ@ƒCƒ‹‚ɏ‘‚Ŋ‚é‚ɂȂč‚Ü‚ĩ‚― + mapŽI‚Ė‘æ2ˆø”‚Ƀtƒ@ƒCƒ‹–ž‚ŠÝ’č‚ģ‚ę‚Ăǂ邯A‚ŧ‚ę‚ðŽg‚ǁA + Ý’č‚ģ‚ę‚Ä‚Č‚Ēę‡‚Í "conf/battle_athena.cnf"‚ðŽg‚ǂ܂·B + + ‚ ‚ƁAˆę‰ž”͈͍UŒ‚ƒXƒLƒ‹‚É‚Â‚Ē‚Äā–ūB + ŽI‚Ší‚ÉPVP‚ɐݒč‚ģ‚ę‚Ăǂéę‡Aƒp[ƒeƒBƒƒ“ƒo‚ķ‚á‚Č‚ĒPC‚É‚ā”͈͍UŒ‚‚Š + ‚ ‚―‚č‚Ü‚·BŒ™‚Čę‡‚̓p[ƒeƒB‚ð‘g‚Þ‚ĐAí‚ÉPVP‚ðoff‚É‚ĩ‚ĉš‚ģ‚ǁB + í‚ÉPVP‚Šoff‚Å‚āA@pvp‚Åpvpƒtƒ‰ƒO‚ð“ü‚ę‚―l‚ĖŠÔ‚Å‚ÍUŒ‚‚Š“–‚―‚č‚Ü‚·B + ‚―‚ū‚ĩAˆę“xpvp‚ðon‚É‚·‚邯AƒŠƒƒO‚·‚é‚Ü‚Åon‚˂܂܂Ȃ˂ŒˆÓB + + (conf/) + battle_athena.cnf + ’†‚ɐā–ū‘‚ǂĂé‚Ė‚ÅŠeŽĐD‚Ŧ‚Č‚æ‚Ī‚É‘‚ŦŠ·‚͂Ă­‚ū‚ģ‚ǁ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 + @pvpƒRƒ}ƒ“ƒh‚Åpvpƒtƒ‰ƒO‚ðƒZƒbƒg‚·‚邿‚΂ɁB + iŽIÝ’č‚Ėí‚ÉPVP‚Šoff‚ĖŽžA—žl‚Špvp‚ðon‚É‚ĩ‚Ä‚―‚įí“Ž‰Â”\j + map.c/map.h + struct map_session_data‚Épvp_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 + UŒ‚ˆ—‚ðbattle_weapon_attack()‚Ɉę–{‰ŧB + +EƒAƒCƒeƒ€ŠÓ’čƒXƒLƒ‹‚ðŽĀ‘• + Īl‚ĖƒXƒLƒ‹‚Ė•û‚Å‚·B’ŽŠá‹ū‚͂܂ū‚Å‚·B + + skill.c + ƒXƒLƒ‹ˆ—’Į‰Á + pc.c/pc.h + pc_item_identify()’Į‰Á + clif.c/clif.h + clif_item_identify_list(),clif_item_identified()’Į‰Á + clif_parse_ItemIdentify()’Į‰Á + +EƒXƒLƒ‹ƒf[ƒ^ƒx[ƒX‚ĖƒRƒƒ“ƒgCģ + (db/) + skill_db.txt + Īl‚ĖƒXƒLƒ‹‚ĖƒRƒƒ“ƒg‚Š‚ļ‚ę‚Ăǂ―‚Ė‚ðCģ + +---------- +//0259 by ‚ę‚  +Emob_db.txt‚ĖCģ + ‹T“‡ƒ‚ƒ“ƒXƒ^[‚âBOSS‚ĖƒXƒe[ƒ^ƒX’ēŪ + ‹T“‡ƒ‚ƒ“ƒX‚É“K“–‚Ƀhƒƒbƒv‚ð•t‚Ŋ‚Ü‚ĩ‚―B + –{ŽI‚ÆˆŲ‚Č‚é•Ļ‚ð—Ž‚Æ‚·ę‡‚ā‚ ‚č‚Ü‚·B + +---------- +//0258 by ŒÓ’ą—– + +Eƒp[ƒeƒB‚ňę“xŒö•―‚É‚ĩ‚―‚įŠeŽĐŠ“ū‚É–ß‚đ‚Č‚ĒƒoƒOCģ + (char/) + int_party.c + mapif_parse_PartyChangeOption()‚Ė”ŧ’čCģ + +EƒXƒLƒ‹‚Ė’Į‰ÁŽĀ‘•iŽå‚ɔ͈͍UŒ‚Œnj + ƒiƒp[ƒ€ƒr[ƒgi•ŠŽU‘ΉžjAƒtƒ@ƒCƒ„[ƒ{[ƒ‹A + ƒTƒ“ƒ_[ƒXƒg[ƒ€Aƒwƒuƒ“ƒYƒhƒ‰ƒCƒuA + ƒuƒŠƒbƒcƒr[ƒgiŽĐ“Ū‘éž‚݁jAƒXƒ`[ƒ‹ƒNƒƒE + ƒXƒLƒ“ƒeƒ“ƒpƒŠƒ“ƒO + + (db/) + skill_db.txt/skill_tree.txt + ˆę•”Cģ + (map/) + battle.c/battle.h + battle_check_target()‚ð’Į‰ÁB‘ÎÛ‚É‚Č‚é‚Đ‚ðŒŸ“Ē‚·‚éB + battle_calc_magic_damage()‚Ėˆø”•ύXBƒ_ƒ[ƒW•ŠŽUˆ—’Į‰ÁB + battle_calc_misc_damage()’Į‰ÁB + battle_calc_weapon_damage()CģB + clif.c/clif.h + clif_skill_damage(),clif_skill_damage2()‚Ėˆø”•ύXB + clif_skill_poseffect()’Į‰ÁB + skill.c/skill.h + skill_weapon_attack(),skill_magic_attack()‚É”ũ–­‚ɏˆ—‚ð“Z‚ß‚―. + skill_area_sub()’Į‰ÁB”͈̓XƒLƒ‹—pB + skill_area_sub_count()’Į‰ÁBskill_area_sub()—pA“GƒJƒEƒ“ƒgB + skill_castend_damage_id()CģBˆø”‚Əˆ—‚ð’Į‰ÁB + skill_castend_nodamage_id()CģBˆø”‚Əˆ—‚ð’Į‰ÁB + skill_misc_attack()’Į‰ÁB + skill_additional_effect()CģiŽĐ“Ū‘éj + skill_castend_pos()CģB + skill_castend_pos2()’Į‰ÁB + +E‹|‚ōUŒ‚‚ĩ‚―‚Æ‚ŦŒvŽZ‚ÉDEX‚łȂ­STR‚ŠŽg‚í‚ę‚é–â‘č‚ðCģB + battle.c + battle_calc_weapon_damage()CģB + +---------- +//0257 by ŒÓ’ą—– + +Eitem_db.txt‚ːE‹Æƒtƒ‰ƒO‚ƁAƒJ[ƒh‚Ė‘•”õŒÂŠƒtƒ‰ƒO‚ðCģ + ‘•”õ•i‚ÍI-Athena‚Ėƒf[ƒ^‚ðŽQl‚É‚ĩ‚Ä‹@ŠB“I‚ɃRƒ“ƒo[ƒg‚ģ‚đ‚Ü‚ĩ‚―B + I-Athena‘΂ɂȂǑ•”õ•i‚́A‚ ‚Ŧ‚į‚Đ‚É•Ï‚Č‚Ė‚ÍCģ‚ĩ‚Ü‚ĩ‚―‚ЁA + ’m‚į‚Ȃǂā‚˂Б―‚·‚ނāA‚Ų‚Æ‚ņ‚Į•ú’u‚Å‚·B + ƒJ[ƒh‚́A•Ší—pƒJ[ƒh‚Ė‘•”õŒÂŠ‚Š0‚ɂȂÁ‚Ä‚é‚Ė‚ð2(ķŽč)‚ɏCģB + —žŽč•Ší‚Ėę‡‚͕ʂɔŧ’č‚ĩ‚Ä‚é‚˂ŗžŽč•Ší‚ā–â‘č‚Č‚Ē‚Í‚ļB + + (db/) + item_db.txt/item_db2.txt + ŠY“–ŒÂŠCģ + +EƒJ[ƒh’Į‰ÁŽĀ‘• + ƒXƒ^ƒ“‚Č‚Į‚Ė’Į‰ÁŒø‰ĘA‚ŧ‚ę‚į‚Ö‚Ė‘ÏŦŒn“AƒI[ƒNƒq[ƒ[ƒJ[ƒhŽĀ‘• + + (db/) + item_db.txt/item_db2.txt + ƒXƒNƒŠƒvƒg‚ĖCģ + (map/) + map.h + struct map_session_data‚Éaddeff‚Č‚Į‚Ėƒƒ“ƒ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()‚őϐŦ‚ð•t‚Ŋ‚―B + battle.c + battle_calc_weapon_attack()‚ŃI[ƒNƒq[ƒ[ƒJ[ƒh + iƒNƒŠƒeƒBƒJƒ‹‘ϐŦj‚Ėˆ—‚ð’Į‰Á + +E‰ņ”ð”ŧ’č‚ĖCģ + UŒ‚ŽŌ‚ŠPC‚Ėę‡AÅ‘å–―’†—Ķ‚X‚T“§ŒĀ‚ð‚Č‚ĩ‚É‚ĩ‚Ü‚ĩ‚―B + battle.c + battle_calc_weapon_attack()‚ðCģ + + +EŠŪ‘S‰ņ”ð‚ðŽĀ‘• + ‚Ö‚ņ‚Ä‚ą‚ȏˆ—‚ĩ‚Ă܂·•ŒvŽZŽŪ“K“–‚Å‚·B + + battle.c + battle_calc_weapon_attack()‚ɏˆ—’Į‰ÁB + +E‘qŒÉ‚ðŠJ‚Ē‚―‚܂܃ƒOƒAƒEƒg‚ĩ‚―‚Æ‚ŦmapŽI“ā‚ł͊J‚Ŧ‚Á‚Ï‚Č‚ĩ‚ɂȂÁ‚Ä‚é–â‘č‚ðCģ + storage.c + storage_storage_quitsave()‚ðCģ + +E@item,@monster,@produce‚Å–ž‘OŽw’č‚Å‚Ŧ‚邿‚Ī‚É•ÏX + ‰pŒę–žA“ú–{Œę–ž‚Į‚ŋ‚į‚Å‚āOKB‰pŒę‚Ėę‡‚Í‘å•ķŽšŽ•ķŽš‹æ•Ę‚ĩ‚Ü‚đ‚ņB + + atcommand.c + ŠY“–ŒÂŠCģ + itemdb.c/itemdb.h + itemdb_searchname(),itemdb_searchname_sub()’Į‰Á + mob.c/mob.h + mobdb_searchname()’Į‰Á + +E@refine‚ŏグ‚鐔’l‚ðŽw’č‚Å‚Ŧ‚邿‚Ī‚É•ÏX + atcommand.c + ŠY“–ŒÂŠCģ + +E@produce‚É‚æ‚éŧ‘ĒŽž‚ĖƒGƒtƒFƒNƒg‚ðģ‚ĩ‚Ē‚ā‚Ė‚ÉCģ + clif.c/clif.h + clif_produceeffect()’Į‰Á + atcommand.c + ŠY“–ŒÂŠCģ + +E˜I“XƒXƒLƒ‹Žg—pŽž‚Ėˆ—‚ð­‚ĩCģ + skill.c + skill_castend_id()‚łȂ­Askill_castend_nodamage_id()‚Å + ˜I“XŠJÝ‚ðŒÄ‚Ô‚æ‚΂ɂĩ‚―B + +Estricmp‚Ė•Ï‚í‚č‚Éstrcasecmp‚ðŽg‚Ī‚æ‚΂ɂĩ‚― + i_WIN32‚Đ__EMX__‚Š’č‹`‚ģ‚ę‚Ăǂ邯stricmp‚ðŽg‚ǂ܂·j + + (char/) + int_party.c + (map/) + itemdb.c/mob.c + ƒ}ƒNƒ’č‹`‚ĖCģ‚Č‚Į + +EƒXƒLƒ‹‚ð­‚ĩCģ + ƒOƒŠƒ€ƒgƒD[ƒX‚ŠƒnƒCƒfƒBƒ“ƒO‚ÅŽg‚͂Ȃǖâ‘čCģ + •ŠíŒĪ‹†‚Ė–―’†Cģ‚ðŽĀ‘• + + skill.c + skill_use_id()‚ĖCģ + pc.c + pc_calcstatus()‚Å•ŠíŒĪ‹†‚ɏ]‚Á‚Ä–―’†Cģ + +---------- +//0256 by nabe + +E˜I“XƒAƒCƒeƒ€w“ü‚ĖƒoƒOCģ + clif.c + clif_vendinglist()‚Å”„‚萨‚ę‚―ƒAƒCƒeƒ€‚Í•\ŽĶ‚ĩ‚Ȃǂæ‚Ī‚É + +---------- +//0255 by nabe + +E˜I“XƒAƒCƒeƒ€w“ü‚ĖƒoƒOCģ + vending.c + vending_purchasereq()‚Åzeny,weight•”•ŠCģ + +---------- +//0254 by nabe + +E˜I“X‚ðŽĀ‘• + vending.c/vending.h + V‹K’Į‰ÁB˜I“XƒƒCƒ“ˆ— + skill.c + skill_castend_id()‚ɘI“XŠJÝƒXƒLƒ‹ˆ—‚ð’Į‰Á + clif.h/clif.h + ˜I“XŠÖ˜AƒpƒPƒbƒgˆ—‚ð’Į‰Á + 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ƒ’č‹`‚ĖƒRƒƒ“ƒg‰ŧ‚˂΂ŋA + ‚Į‚ŋ‚į‚Đ‚ðŠO‚ĩ‚Ä‚â‚č’ž‚ĩ‚Ä‚Ý‚é‚ÆA‚΂܂­‚Ē‚­‚Đ‚āB + ÅˆŦA‰š‚ð—LŒø‚É‚ĩ‚―‚į‚΂܂­‚Ē‚­‚Í‚ļBi‘å•ķŽšŽ•ķŽš‚ð‹æ•Ę‚·‚邿‚΂ɂȂč‚Ü‚·j + + (char/) + int_party.c + ƒRƒƒ“ƒg‰ŧÏ‚Ý‚Ėƒ}ƒNƒ’č‹`’Į‰Á + +---------- +//0252 by ŒÓ’ą—– + +EƒJ[ƒh‚Ėˆę•”ŽĀ‘• + iƒXƒe[ƒ^ƒX•ωŧ‘S”ʁA•Ší‘ېŦAƒXƒLƒ‹‚Í‚·‚Å‚ÉŽĀ‘•Ï‚݁j + –h‹ï‘ېŦA‰rĨŽžŠÔ•ωŧA‘ېŦUŒ‚‘ϐŦAŽí‘°‘ϐŦAŽí‘°’Į‰Áƒ_ƒ[ƒWA + ‘ېŦ’Į‰Áƒ_ƒ[ƒWAƒTƒCƒY’Į‰Áƒ_ƒ[ƒWAMAXHPAMAXSP‘ŒļAŽg—pSP•ωŧŒnA + ƒtƒFƒ“AƒhƒŒƒCƒNAƒzƒ‹ƒ“A[•̂ˋRŽmA‰Đ‹āåģAƒIƒVƒŠƒXƒJ[ƒh‚ðŽĀ‘• + + (db/) + const.txt + bonus—p‚˒萔’Į‰ÁAbonus2‚˒萔‚ā’Į‰Á + item_db.txt/item_db2.txt + ƒJ[ƒh‚ĖƒXƒNƒŠƒvƒg’Į‰Á + (map/) + map.h + struct map_session_data‚Éhprate‚Č‚Į‘―”ƒƒ“ƒo’Į‰Á + script.c + bonus2ƒRƒ}ƒ“ƒh’Į‰Á + buildin_bonus2()’Į‰Á + pc.c/pc.h + pc_bonus2()’Į‰Á + pc_bonus()‚Ėˆ—’Į‰Á + pc_calcstatus()‚ÅŠeŽí’Į‰Áƒƒ“ƒo‚Ė‰Šú‰ŧ‚ðs‚Ī‚æ‚΂ɂĩA + hprate‚âsprate‚ɏ]‚Ēmax_hp,max_sp‚Ė’ēŪ‚ā‚·‚邿‚Ī‚É•ÏXB + pc_makesavestatus()‚ŃIƒVƒŠƒXƒJ[ƒhCģ + skill.c + skill_castfix()‚Åcastrate‚ɏ]‚ǁA‰rĨŽžŠÔ‚ð’ēŪB + skill_castend_id()‚Ådsprate‚ɏ]‚ǁAŽg—pSP‚ð’ēŪB + skill_castend_nodamage_id()‚ŃJ[ƒhCģ‚ð’Į‰Á + battle.c + battle_calc_weapon_attack()‚ŃJ[ƒhCģ‚ð’Į‰Á + battle_calc_magic_attack()‚ŃJ[ƒhCģ‚ð’Į‰Á + battle_damage()‚ŃtƒFƒ“ƒJ[ƒhCģ‚ð’Į‰Á + +EƒXƒe[ƒ^ƒXŠ„‚čU‚č‚Ė•\ŽĶã‚Ė–â‘čCģ + STR‚ðã‚°‚Ä‚āATK‚Š•Ï‚í‚į‚Ȃǖâ‘čAINT‚ðã‚°‚Ä‚āMATK‚Š•Ï‚í‚į‚Ȃǖâ‘čCģ + + map.h + struct map_session_data‚Ématk1,matk2ƒƒ“ƒo’Į‰Á + pc.c + pc_calcstatus()‚ĖCģ + clif.c + clif_initialstatus()‚ĖCģ + battle.c + battle_calc_magic_attack()‚ĖCģ + + +---------- +//0251 by nabe + +E0250‚ĖƒoƒOCģ‚Č‚Į + ƒJ[ƒg‚ð•t‚Ŋ‚ļ‚ɃƒOƒCƒ“‚Ü‚―‚̓}ƒbƒvˆÚ“Ū‚ĩ‚―Œã‚ɃJ[ƒg‚ð•t‚Ŋ‚邯A + ƒJ[ƒg‚Ė’†g‚Š2”{‚˗Ƃɕ\ŽĶ‚ģ‚ę‚Ä‚ĩ‚Ü‚Á‚Ăǂ―‚Ė‚ðCģB + ƒJ[ƒg‚ĖƒAƒCƒeƒ€”‚ðXV‚·‚邿‚Ī‚ÉCģB + 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[ƒg‚ð•t‚Ŋ‚Ăǂ邯‚Ŧ‚Ė‚ÝƒJ[ƒgî•ņ‚𑗐M‚·‚邿‚΂ɂĩ‚― + +---------- +//0250 by nabe + +EƒJ[ƒgOFFAƒ`ƒFƒ“ƒWƒJ[ƒgŽĀ‘•B + (map/) + pc.c/pc.h + pc_setcart()‚ð’Į‰Á + script.c + buildin_setcart()‚ð’Į‰Á + ƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒhusetcart;v‚ŃJ[ƒg‚Š‚Â‚­ + clif.c/clif.h + clif_parse_CartOff()’Į‰ÁBiƒJ[ƒg‚ð‚Í‚ļ‚·j + clif_parse_ChangeCart()’Į‰ÁBiƒ`ƒFƒ“ƒWƒJ[ƒg‚ĖƒJ[ƒg‘I‘ðj + (conf/) + npc_town_kafra.txt + ƒJ[ƒgƒT[ƒrƒX‚ðusetcart;v‚É’uŠ· + + +---------- +//0249 by ŒÓ’ą—– + +Eƒp[ƒeƒB‚Ėƒf[ƒ^ƒx[ƒX‚Ė–ĩ‚‚ðo—ˆ‚é‚ū‚Ŋ—}‚͂邿‚΂ɁB + •Ą”ƒp[ƒeƒB‚ÉŠ‘Ū‚ĩ‚Ä‚éƒf[ƒ^‚ĖŒŸļA’Į‰Á‚ÉŽļ”s‚ĩ‚―‚Æ‚Ŧ‚É’E‘Þ‚Č‚ĮB + + (char/) + int_party.c + party_check_conflict(),party_check_conflict_sub(), + mapif_parse_PartyCheck()’Į‰Á + inter.c + ƒpƒPƒbƒg’·ƒŠƒXƒg‚É0x3028’Į‰Á + INTERŽIƒpƒPƒbƒg.txt + ƒpƒPƒbƒg0x3028’Į‰Á + (map/) + party.c/party.h + party_check_conflict()’Į‰ÁB + party_invite()‚Å“ŊƒAƒJƒEƒ“ƒgŠ‘Ūƒ`ƒFƒbƒN‚ðs‚Ī‚æ‚΂ɁB + party_member_added(),party_send_movemap()‚Å + party_check_conflict()‚ðŒÄ‚Ô‚æ‚΂ɁB + intif.c/intif.h + intif_party_checkconflict()’Į‰Á + +Eƒp[ƒeƒB‚ĖĀ•WA‚g‚o’Ę’m‚ðŽĀ‘• + •ωŧ‚Š‚ ‚ę‚΂P•b‚Ɉę‰ņ‘—MB + + map.h + struct map_session_data‚Éparty_x,~_y,~_hp‚Ė‚Rƒƒ“ƒo’Į‰Á + 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_send‚ĖPARTY*ƒtƒ‰ƒO‚ð—LŒø‚ɁB + iPARTY,PARTY_SAMEMAP,PARTY_AREA,PARTY*_WOS‚Ė‚UŽíj + clif_party_xy(),clif_party_hp()’Į‰ÁB + pc.c/pc.h + pc_authok()‚Åsd->party_*‚ð‰Šú‰ŧ‚·‚邿‚΂ɁB + pc_walk()‚Ńp[ƒeƒBƒƒ“ƒo‚ŠŽ‹ŠE“ā‚É“ü‚Á‚Ä‚Ŧ‚―‚Æ‚Ŧ‚É + party_hp‚ð‰Šú‰ŧ‚·‚邿‚΂ɁB + +Eƒp[ƒeƒB‚ĖexpŒö•―•Š”z‚ðŽĀ‘• + party.c/party.h + party_share_exp()’Į‰Á + mob.c/mob.h + mob_damage()‚ÅŒö•―•Š”zˆ—’Į‰Á + +EƒXƒLƒ‹‚ĖCģ‚Æ’Į‰ÁŽĀ‘• + ƒoƒbƒVƒ…AƒsƒA[ƒX‚Ė–―’†—ĶCģŽĀ‘• + ƒsƒA[ƒX‚ĖƒTƒCƒY‚É‚æ‚é‰ņ”•Ï“ŪŽĀ‘•iƒvƒŒƒCƒ„[‚Í’†Œ^‚Ɖž’čj + ƒoƒbƒVƒ…Aƒ\ƒjƒbƒNƒuƒƒE‚ĖƒXƒ^ƒ“Œø‰ĘŽĀ‘• + ƒXƒg[ƒ“ƒJ[ƒXAƒtƒƒXƒgƒ_ƒCƒoAƒCƒ“ƒxƒiƒ€A + ƒAƒXƒyƒ‹ƒVƒIAƒGƒ“ƒ`ƒƒƒ“ƒgƒ|ƒCƒYƒ“AƒŒƒbƒNƒXƒfƒr[ƒiŽĀ‘• + + skill.c + skill_additional_effect()’Į‰Á + skill_castend_damage_id()ŠY“–ŒÂŠCģ + skill_castend_nodamage_id()ŠY“–ŒÂŠCģ + skill_use_id(),skill_use_pos()‚ŃXƒLƒ‹‚ŠŽg—p‚Å‚Ŧ‚Č‚Ē‚Æ‚Ŧ‚Í + ‰―‚ā‚ĩ‚Ȃǂæ‚Ī‚ÉCģB + battle.c + battle_calc_weapon_attack()‚ĖŠY“–ŒÂŠCģ + battle_get_dmotion(),battle_get_attack_element()Cģ + clif.c + clif_mob007b(),clif_mob0078‚Åoption‚Č‚Į‚ð‘—‚é‚æ‚Ī‚ÉCģ + pc.c + pc_attack(),pc_walktoxy()‚ōs“Ū•s‰Â”\‚Č‚Æ‚Ŧ‚͉―‚ā‚ĩ‚Ȃǂæ‚΂ɁB + mob.c + mob_stopattack()Cģ + mob_ai_sub_hard()‚ōs“Ū•s”\‚Č‚Æ‚Ŧ‚͉―‚ā‚ĩ‚Ȃǂæ‚΂ɁB + +EUŒ‚ŽË’ö‚Ė”ŧ’č’Į‰Á + ‘ŠŽč‚ŠˆÚ“Ū‚ĩ‚Ä“Í‚Đ‚Č‚Ē‚Æ‚Ŧ‚́AˆÚ“ŪƒpƒPƒbƒg‚𑗐M + + clif.c/clif.h + clif_movetoattack()’Į‰Á + pc.c + pc_attack()‚ÅŽË’ö”ŧ’čA“Í‚Đ‚Č‚Ē‚Č‚įclif_movetoattack()‚ðŒÄ‚ԁB + +---------- +//0248 by nabe + +Eƒp[ƒeƒBėŽŽž‚ÉŠų‚Ƀp[ƒeƒB‚ÉŠ‘Ū‚ĩ‚Ăǂ―ę‡‚Ėˆ—‚ð’Į‰Á + party.c + party_create()‚ɁAŠų‚Ƀp[ƒeƒB‚ÉŠ‘Ū‚ĩ‚Ăǂ―ę‡ + clif_party_created(sd,2)‚ð’Į‰Á + +EƒfƒBƒXƒJƒEƒ“ƒgAƒI[ƒo[ƒ`ƒƒ[ƒW‚ðŒvŽZ + pc.c + pc_modifybuyvalue()Apc_modifysellvalue()‚Å’l’i‚ðŒvŽZ + + +---------- +//0247 by ŒÓ’ą—– + +Eƒp[ƒeƒBŽĀ‘• + Œö•―•Š”z‚͐ݒč‚ĩ‚Ä‚āŽĀÛ‚ɂ͌ö•―•Š”z‚ģ‚ę‚ĂȂǁB + ƒp[ƒeƒBƒXƒLƒ‹‚͂܂ūŽĐ•Ђɂĩ‚ЂЂЂį‚Č‚Ē + + (char/) + int_party.c/int_party.h + ‚܂Ƃā‚ÉŽĀ‘• + inter.c + ƒpƒPƒbƒg’·ƒŠƒXƒg’Į‰Á + INTERŽIƒpƒPƒbƒg.txt + ƒp[ƒeƒB‚ĖƒpƒPƒbƒg’Į‰Á + (map/) + party.c/party.h + V‹K’Į‰Á + map.c/map.h + struct map_session_data‚Éparty_sendedƒƒ“ƒo’Į‰Á + do_init()‚Ådo_party_init()‚ðŒÄ‚Ô + map_quit()‚Åparty_send_logout()‚ðŒÄ‚Ô + intif.c/intif.h + ƒp[ƒeƒBŠÖ˜A‚Ė•”•Š’Į‰Á + clif.c/clif.h + ƒp[ƒeƒBŠÖ˜A‚Ė•”•Š’Į‰Á + clif_parse_LoadEndAck()‚Åparty_send_movemap()‚ðŒÄ‚Ņo‚· + pc.c + pc_authok()‚Åparty_request_info()‚ðŒÄ‚Ô‚æ‚΂ɂĩA + party_sended‚ð‰Šú‰ŧ‚·‚邿‚΂ɁB + +E‰rĨ–WŠQ‚ģ‚ę‚―‚Æ‚Ŧ‰æ–ʏã‚ʼnrĨ‚ð‚â‚߂邿‚Ī‚ÉCģ + (map/) + skill.c + skill_castcancel()‚ʼnrĨ’†Ž~ƒpƒP(‡‚Á‚Ä‚é‚Ė‚Đ‚ČH)‚𑗐M + +E’‹——ĢUŒ‚‚ū‚Æ“G‚Š”―Œ‚‚ĩ‚Ä‚ą‚Ȃǖâ‘č‚ðCģ + (map/) + map.h + struct mob_data‚Émin_chaseƒƒ“ƒo’Į‰ÁiÅ’á’ĮÕ‹——́j + mob.c + mob_attack()‚Åmin_chase‚ð13‚ɏ‰Šú‰ŧ‚·‚é + mob_walk()‚Åmin_chase‚Š13‚æ‚č‘å‚Ŧ‚Ē‚Č‚į­‚ĩ‚ļ‚ˆø‚ǂĂǂ­ + mob_ai_sub_hard()‚Åmin_chase‚É‚æ‚č’ĮÕ‚ð”ŧ’fA + UŒ‚‚ðŽó‚Ŋ‚―Žž‚Émin_chase‚ð”މ䋗—Ģ+13‚ɐݒč + +---------- +//0246 by ŒÓ’ą—– + +EƒJ[ƒgŽĀ‘• + map.h + struct map_session_data‚Écart_weight‚Č‚Į‚S‚ƒƒ“ƒo’Į‰Á + pc.c/pc.h + pc_cart_additem(),pc_cart_delitem(), + pc_cart_putitemtocart(),pc_cart_getitemfromcart()’Į‰Á + pc_calcstatus()‚ŃJ[ƒgd—Ę‚âŒÂ”‚Č‚Į‚Ėî•ņ‚ðŒvŽZ + 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[ƒgî•ņA“ā—e‘—M + 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 + +EƒXƒLƒ‹‰rĨƒfƒBƒŒƒC‚Č‚ĮŽĀ‘• + 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()‚ŃfƒBƒŒƒCŽžŠÔŒvŽZ‚Ļ‚æ‚ҁA + canmove_tick‚ĖÝ’č + battle.c + battle_damage()‚Åskill_castcancel()‚ĖŒÄ‚Ņo‚ĩ’Į‰Á + +E0245‚ĖƒAƒCƒeƒ€ƒf[ƒ^ƒx[ƒXCģ‚Ė’Ęí‰ŋŠi”Å—pˆÓ + (db/) + item_db.txt + item_db2.txt‚É‘O‚Ėitem_db.txt‚ˉŋŠiî•ņ‚ðƒ}[ƒW‚ĩ‚―‚ū‚Ŋ‚Å‚·B + +---------- +//0245 by ‚ę‚  + ‚Ü‚―—á‚É‚æ‚Á‚āA‘ŠęCģ”Å‚Ė‚Ý‚Å‚·B +Eitem_db2.txt‚ĖCģ + ‹T“‡V‘•”õ‚ĖŒø‰Ę‚ðŽĀ‘•‚ĩ‚Ü‚ĩ‚―B + ƒEƒBƒU[ƒh‚Šņ‚ð‘•”õ‚Å‚Ŧ‚Ȃǂ˂ðCģ + ƒEƒBƒU[ƒh‚Šƒ}ƒWƒVƒƒƒ“ƒnƒbƒgA‚Æ‚ņ‚Š‚č–X‚ð + ‘•”õ‚Å‚Ŧ‚Ȃǂ˂ðCģ +---------- +//0244 by ‚ę‚  +Emob_db.txt‚ĖCģ + ‹T“‡ƒ‚ƒ“ƒXƒ^[‚Ėƒf[ƒ^‚ð‚Ē‚ę‚Ü‚ĩ‚―B + ‚―‚ūAŠÔˆá‚Á‚Ă镔•Š‚Š‚Đ‚Č‚č‚ ‚č‚Ü‚·B + Speed,Delay‚Í“K“–‚Å‚·B + ‚Ü‚―A‚í‚Đ‚į‚Č‚Ē‚Ė‚ÍŠØ‘”Å‚Ėƒf[ƒ^‚Ȃ˂Š+ Mdef‚Æ‚ĐˆŲí‚ɍ‚‚Ē‹C‚āB +---------- +//0242 by ŒÓ’ą—– + +EŽæˆøŠÖ˜A‚Ė•ÏX‚ƏCģ + Žæˆø‚ÉŽg‚Ī•Ï”‚ðmmo_charstatus‚Đ‚įmap_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()‚ÅŽæˆø’†‚Č‚įƒLƒƒƒ“ƒZƒ‹‚·‚邿‚΂ɂĩ‚― + +EƒJ[ƒ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Œø‰ĘŽĀ‘• + ƒXƒLƒ‹K“ūƒJ[ƒhAƒXƒe[ƒ^ƒXƒ{[ƒiƒXƒJ[ƒh‚Č‚ĮB + + (map/) + map.h + struct map_session_data‚É‘•”õƒJ[ƒhŒŸõ—p‚Ė•Ï”’Į‰Á + pc.c/pc.h + pc_calcstatus()‚ŃJ[ƒh‚Ėˆ—’Į‰Á + ‚ ‚éID‚ĖƒJ[ƒh‚Š‘•”õÏ‚Ý‚ĐŒŸõ‚·‚é‚―‚ß‚ĖŠÖ”A + pc_equip_card(),pc_equip_wcard(),pc_equip_dcard()‚ð—pˆÓ + +Ed—ĘƒI[ƒo[/‘é/‹RæƒAƒCƒRƒ“‚Ė•\ŽĶ + (map/) + pc.c/pc.h + pc_checkweighticon()’Į‰ÁAd—Ę‚ĖƒAƒCƒRƒ“ˆ— + clif.c + clif_updatestatus()‚ŏd—Ę‘—MŽž‚Épc_checkweighticon()‚ĖŽĀs + clif_changeoption()‚ő邯‹Ræ‚ĖƒAƒCƒRƒ“ˆ— + +E0241‚ĖƒAƒCƒeƒ€ƒf[ƒ^ƒx[ƒXCģ‚Ė’Ęí‰ŋŠi”Å—pˆÓ + (db/) + item_db.txt + item_db2.txt‚É‘O‚Ėitem_db.txt‚ˉŋŠiî•ņ‚ðƒ}[ƒW‚ĩ‚―‚ū‚Ŋ‚Å‚·B + + +---------- +//0241 by ‚ę‚  +EƒAƒCƒeƒ€ƒf[ƒ^ƒx[ƒX‚ĖCģ + V“Š‘•”õ‚ĖƒOƒ‰ƒtƒBƒbƒN‚ŠˆŲ‚Č‚é‚Ė‚ðCģ + ‘•”õ‚ĖŒø‰Ę‚ĖŽĀ‘• + ã’iE’†’i‚ŠŠÔˆá‚Á‚Ä‚―‚Ė‚ð­‚ĩCģ + ‘Ž•ņ”Å‚Á‚Ä‚ą‚Æ‚ÅŠÔˆá‚Ķ‘―‚Ē‚Đ‚āB + ƒeƒXƒg‚ā‚ ‚Ü‚č‚ĩ‚Ă܂đ‚ņ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() : 0xe5iŽæ‚čˆø‚Ŧ—vŋŽó‚Ŋj + clif_tradestart() : 0xe7iŽæ‚čˆø‚Ŧ—v‹‰ž“šj + clif_tradeadditem() : 0xe9i‘ŠŽč•û‚Đ‚į‚ĖƒAƒCƒeƒ€’Į‰Áj + clif_tradeitemok() : 0xeaiƒAƒCƒeƒ€’Į‰ÁŽŒũj + clif_tradedeal_lock() : 0xeciok‰Ÿ‚ĩj + clif_tradecancelled() : 0xeeiŽæ‚čˆø‚ŦƒLƒƒƒ“ƒZƒ‹j + clif_tradecompleted() : 0xf0iŽæ‚čˆø‚ŦŠŪ—đj + ‚ð’Į‰ÁB + trade.c,trade.h + trade_traderequest() : Žæˆø—vŋ‚𑊎č‚É‘—‚é + trade_tradeack() : Žæˆø—vŋ + trade_tradeadditem() : ƒAƒCƒeƒ€’Į‰Á + trade_tradeok() : ƒAƒCƒeƒ€’Į‰ÁŠŪ—đ(ok‰Ÿ‚ĩ) + trade_tradecancel() : ŽæˆøƒLƒƒƒ“ƒZƒ‹ + trade_tradecommit() : Žæˆø‹–‘ø(trade‰Ÿ‚ĩ) + ‚ðŽĀ‘•B‚ŧ‚ꂞ‚ęclif.c::clif_parse_Trade*‚Đ‚įŒÄ‚΂ę‚éB + + +---------- +//0238 by ‚ę‚  + +E‘Ž“x•ύX‚ÉŠÖ‚ĩ‚ď­‚ĩCģ + atcommand.c + ‘Ž“x•ύX‚Ė•”•Š‚ð­‚ĩCģ + ‚ą‚ę‚Åˆę‰ž“Ū‚­‚Ý‚―‚ǁH + pc.c + ‚Â‚Ē‚Å‚É‚Å‚·‚Š + ‘Ž“xãļ‚Å•ās‘Ž“x‚Šã‚Š‚邿‚΂ɂĩ‚―B + ˆę‰ž“Ū‚­‚Ý‚―‚ǂł·‚Š“K“–‚Ȃ˂Š+ ‚Ļ‚Đ‚ĩ‚Č‚Æ‚ą‚낊‚ ‚ę‚Î‚ĻŠč‚Ē‚ĩ‚Ü‚·B + +---------- +//0236 by nabe + +EƒXƒNƒŠƒvƒg‚Åmenu‚Å”ō‚ņ‚ūæ‚Å’ž‚Ūmenu‚ð‘‚­‚ÆŒë“Ūė‚·‚éƒoƒO‚ðCģ‚ĩ‚Ü‚ĩ‚―B + script.c + goto“Ūė‚ĖŒã‚ĖRERUNLINE‚ɑΏˆ‚·‚é‚―‚߁A + goto,menu‚Å”ō‚ņ‚ūŒã‚ɂ́Ast.state==GOTO‚Årerun_pos‚ðXVB + + +---------- +//0233 by nabe + +EƒAƒCƒeƒ€‚ð‘•”õ‚·‚éÛ‚Ė‘•”õ”ŧ’č‚ð’Į‰Á‚ĩ‚Ü‚ĩ‚―B + pc.c + pc_equipitem()‚É‘•”õ”ŧ’čiŦ•Ę”ŧ’čA‘•”õLV”ŧ’čAE‹Æ”ŧ’čj’Į‰Á + +Ed—Ę”ŧ’čƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒh‚ð’Į‰Á‚ĩ‚Ü‚ĩ‚―B + if (checkweight(ƒAƒCƒeƒ€ID,ƒAƒCƒeƒ€”—Ę)) + ‚Å‚ŧ‚ĖƒAƒCƒeƒ€~”—Ę‚ðŽæ“ū‚Å‚Ŧ‚é‚Đ‚Į‚Ī‚Đ”ŧ’č‚Å‚Ŧ‚Ü‚·B + script.c + buildin_checkweight()‚ð’Į‰Á + +EƒXƒNƒŠƒvƒg‹l‚ߍ‡‚í‚đ‚ðathena dev-2.1.1—p‚ɈڐA‚ĩ‚Ü‚ĩ‚―B + map_athena1.cnf + npc_event_*.txt ƒCƒxƒ“ƒgNPC + npc_job_*.txt “]ENPC + npc_mob_job.txt “]E—pƒ‚ƒ“ƒXƒ^[ + npc_town_*.txt ’ŽNPC + + +---------- +//0232 by ŒÓ’ą—– + +E‘•”õƒ{[ƒiƒX‚ŠŽĀ‘•‚ģ‚ę‚Ü‚ĩ‚― + ƒ{[ƒiƒX‚ÉŽg‚ĪƒXƒNƒŠƒvƒg(bonus,skill)‚ðŽĀ‘• + ƒXƒNƒŠƒvƒg‚ÍI-Athena‚Ėƒf[ƒ^‚ðŽg‚Á‚ăRƒ“ƒo[ƒg‚ĩ‚Ü‚ĩ‚―B + i‚Ü‚ūƒJ[ƒh‚ɂ͑Ήž‚ĩ‚Ăǂ܂đ‚ņj + + (common/) + mmo.h + struct skill‚Éflagƒƒ“ƒo’Į‰ÁiƒJ[ƒhƒXƒLƒ‹‚Đ‚Į‚Ī‚Đj + (map/) + map.h + struct map_session_data‚Éatk_ele‚Č‚Į‚Ėƒƒ“ƒo’Į‰Á + enum‚ÅSP_ATKELEMENT‚Č‚Į’Į‰Á + pc.c + pc_bonus()‚ĖŽĀ‘•Apc_skill()’Į‰Á + script.c + buildin_skill()‚Ė’Į‰Á + buildin_bonus()‚ĖCģ(const.txt‚˒萔‚ŠŽg‚͂邿‚Ī‚É) + clif.c + clif_skillinfoblock()‚ĖCģ(ƒJ[ƒhƒXƒLƒ‹‚͏グ‚į‚ę‚Č‚Ē) + (db/) + const.txt + bonus‚ÉŽg‚Ī‚―‚߂˒萔’Į‰Á + item_db.txt + •W€‚Ėƒf[ƒ^‚É‘•”õƒXƒNƒŠƒvƒg‚ð’Į‰Á‚ĩ‚―‚ā‚Ė + item_db2.txt + 0213‚Å‘Šę’ēŪ‚ģ‚ę‚―ƒf[ƒ^‚É‘•”õƒXƒNƒŠƒvƒg‚ð’Į‰Á‚ĩ‚―‚ā‚Ė + +E‰rĨŠÖŒW‚ĖƒoƒO‚ŠCģ‚ģ‚ę‚Ü‚ĩ‚― + (map/) + skill.c + skill_use_id(),skill_use_pos()‚ðCģ + (db/) + cast_db.txt + ­‚ĩ’Į‰ÁiƒuƒŠƒbƒcƒr[ƒg‚Č‚Įj + +EUŒ‚‘ېŦ‚Š“K—p‚ģ‚ę‚邿‚΂ɂȂč‚Ü‚ĩ‚― +EŊ‚Ė‚Đ‚Ŋ‚į‚ĖCģ‚Š“K—p‚ģ‚ę‚邿‚΂ɂȂč‚Ü‚ĩ‚― + map.h + struct map_session_data‚Éstarƒƒ“ƒo’Į‰Á + pc.c + pc_calcstatus()‚őېŦ‰Šú‰ŧ + battle.c + battle_get_element(),battle_get_attack_element()Cģ + battle_calc_weapon_damage()‚ĖŠY“–ŒÂŠCģ + +Eņ‘•”õŽž‚ÉMATK+15%‚Š“K—p‚ģ‚ę‚邿‚΂ɂȂč‚Ü‚ĩ‚― + battle.c + battle_calc_magic_damage()‚ĖŠY“–ŒÂŠCģ + +Eŧ‘Ē•Ší‚ĖƒLƒƒƒ‰ƒNƒ^[–ž‚Аģ‚ĩ‚­•\ŽĶ‚ģ‚ę‚邿‚΂ɂȂč‚Ü‚ĩ‚― + + Œī—‚Æ‚ĩ‚ẮAmapŽI“ā‚ĖƒLƒƒƒ‰ƒNƒ^–žƒf[ƒ^ƒx[ƒX‚ðŒŸõ‚ĩ‚āA + ‘ķÝ‚·‚ę‚Î‘Ķ•ÔMA‘ķÝ‚ĩ‚Č‚Ŋ‚ę‚ÎcharŽI‚É‰ðŒˆ—v‹‚ðo‚·B + ‚ą‚Ė‚Æ‚ŦA–ž‘O‚ð—v‹‚ĩ‚Ä‚Ŧ‚―ƒNƒ‰ƒCƒAƒ“ƒg‚ĖID‚ðƒf[ƒ^ƒx[ƒX‚É“o˜^‚·‚éB + charŽI‚Đ‚į–ž‘Oƒf[ƒ^‚Š‚­‚邯A‘Ήž‚·‚éƒf[ƒ^ƒx[ƒX‚É–ž‘O‚ðƒZƒbƒg‚ĩA + —v‹‚ĩ‚Ä‚Ŧ‚―ƒNƒ‰ƒCƒAƒ“ƒg‚É–ž‘O‚ð•ԐM‚·‚éB + –Ē‰ðŒˆ‚Ė“Ŋ‚ķƒLƒƒƒ‰ID‰ðŒˆ‚ð•Ą”‚ĖƒNƒ‰ƒCƒAƒ“ƒg‚Š—v‹‚ĩ‚Ä‚Ŧ‚―ę‡A + ÅŒã‚É—v‹‚ĩ‚Ä‚Ŧ‚―ƒNƒ‰ƒCƒAƒ“ƒg‚É‚ĩ‚ЕԐM‚ĩ‚ȂǂЁA + •ԐM‚ģ‚ę‚ȂЂÁ‚―ƒNƒ‰ƒCƒAƒ“ƒg‚͐”•bŒã‚ÉÄ‚Ņ‰ðŒˆ—v‹‚ð‘—‚Á‚Ä‚­‚é + i‚ŧ‚ĩ‚Ä‚ŧ‚Ė‚Æ‚Ŧ‚ÍmapŽI‚Đ‚į‘Ķ•ÔM‚ģ‚ę‚éj‚˂őå‚Ŧ‚Č–â‘č‚Í‚Č‚ĒB + + ƒpƒPƒbƒg0x2b08,0x2b09‚ÅmapŽI‚ÆcharŽI‚ВƐM‚ĩ‚Ă܂·B + + (char/) + char.h + UNKNOWN_CHAR_NAME’č‹`iƒLƒƒƒ‰ƒf[ƒ^‚Š–ģ‚Ē‚Æ‚Ŧ‚ɕԂģ‚ę‚é–ž‘Oj + char2.c + parse_frommap()‚ɃpƒPƒbƒg0x2b08‚Ėˆ—‚ð’Į‰Á + + (map/) + chrif.c/chif.h + chrif_searchcharid()’Į‰Á + chrif_parse()‚Å0x2b09‚Ėˆ—’Į‰Á + map.c + ƒf[ƒ^ƒx[ƒX charid_db éŒū + struct charid2nickéŒūBnick‚Í–ž‘OA + req_id‚Í0‚Å–ž‘O‰ðŒˆÏ‚݁A0ˆČŠO‚Å–Ē‰ðŒˆ‚Å‰ðŒˆ‘Ō‚ŋ‚ĖƒuƒƒbƒNID + map_addchariddb()’Į‰ÁBƒf[ƒ^ƒx[ƒX‚Ö–ž‘O“o˜^A—v‹‚ɕԐMB + map_reqchariddb()’Į‰ÁB—v‹‚Š‚ ‚Á‚―‚ą‚Æ‚ðƒ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 + +EƒXƒNƒŠƒvƒg‚Å mes "$charaname"; “™‚Ə‘‚­‚ƃLƒƒƒ‰‚Ė–ž‘O‚ð‚ĩ‚á‚Ũ‚é‹@”\‚ð’Į‰ÁB + script.c + buildin_mes()“ā‚Å + mes“ā•”‚Ė$charaname‚ðƒLƒƒƒ‰‚Ė–ž‘O‚É’uŠ·‚·‚鏈—‚ð’Į‰ÁB + ”“Ŋ—l‚É‚ĩ‚ĕϐ”‚Ė’l‚Č‚Į‚ðmes“ā•”‚Å•\ŽĶ‚·‚邿‚΂ɂ·‚邹‚Æ‚ā + ”‚Å‚Ŧ‚Ü‚·‚ЁA‚ą‚ę‚É‚Â‚Ē‚Ä‚Í–ĒŽĀ‘•‚Å‚·EEEB + ”‚Æ‚č‚ ‚Ķ‚ļ + ” mes Global_Val; + ”‚Ė‚æ‚΂ɒžÚ‘‚­‚ą‚Æ‚őΏˆ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB + +E“G‚ɍUŒ‚‚ģ‚ę‚―‚Æ‚Ŧ‚ÉmapŽI‚Š—Ž‚ŋ‚邹‚Æ‚Š‚ ‚é‚Ė‚ðCģB + battle.c + battle_calc_weapon_attack()‚Ė + ƒfƒBƒoƒCƒ“ƒvƒƒeƒNƒVƒ‡ƒ“‚ĖƒXƒLƒ‹ƒ`ƒFƒbƒN•”•ЁA + pc_checkskill(sd,22)‚ðA + pc_checkskill(tsd,22)‚ɁB + +---------- +//0230 by nabe + +E‰ņ”ð—Ķ‘‰ÁƒXƒLƒ‹‚ðƒXƒe[ƒ^ƒX‚É”―‰fB + pc.c + 0228‚Å‚Ėpc_calcstatus()‚ˉņ”ð—Ķ‘‰Á•Š‚ðŒģ‚É–ß‚ĩflee‚𑝉ÁB + battle.c + battle_calc_weapon_attack()‚ĖhitrateŒvŽZ‚ʼnņ”ð—Ķ•ÛØ‚ðŒvŽZB +EƒOƒ[ƒoƒ‹•ϐ”‚ðŽĀ‘•B +@ '@'‚ā‚ĩ‚­‚Í'l'‚ÅŽn‚Ü‚į‚Č‚Ē•Ï”–ž‚́A‘S‚ă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ˆę•”ƒXƒLƒ‹‚ĖŽĀ‘•/Cģ + ƒfƒBƒoƒCƒ“ƒvƒƒeƒNƒVƒ‡ƒ“Aƒf[ƒ‚ƒ“ƒxƒCƒ“Aƒr[ƒXƒgƒxƒCƒ“ŽĀ‘• + ƒGƒiƒW[ƒR[ƒgCģi–‚–@‚É‚æ‚éUŒ‚‚ɂ̓XƒLƒ‹‚Š“­‚Đ‚Č‚Ē‚æ‚Ī‚ÉCģj + •ŠíUŒ‚ŒnƒXƒLƒ‹CģiƒGƒtƒFƒNƒg‚ð’ʏíUŒ‚‚Đ‚įƒXƒLƒ‹‚ɕύXj + + battle.c + battle_addmastery()‚ŃxƒCƒ“Œn’Į‰Á + battle_calc_damage()‚ŃGƒiƒW[ƒR[ƒgCģ + skill.c + skill_castend_damage_id()‚Ė•ŠíUŒ‚ŒnƒXƒLƒ‹‚Ė•”•Š‚ðCģ + +E“GUŒ‚ŒvŽZ‚ðPC‚Ė‚ā‚Ė‚Æˆę–{‰ŧ + ‚ą‚ę‚ÅPCvsPCAPCvsMOBAMOBvsPCAMOBvsMOB(!?)‚ð‚P‚Â‚ĖŠÖ”‚ÅŒvŽZ‚Å‚Ŧ‚Ü‚· + + battle.c/battle.h + battle_calc_weapon_attack()‚ðCģ + battle_calc_weapon_attack_pc(),~mob()‚ðíœ + mob.c + mob_attack()‚ÅŒvŽZ‚Ébattle_calc_weapon_attack()‚ðŽg‚Ī‚æ‚Ī‚ÉCģ + +E‰rĨŽžŠÔƒf[ƒ^‚Š‚Č‚Ēę‡‚ĖƒfƒtƒHƒ‹ƒg‚ˉrĨŽžŠÔ‚ð‚O‚ɕύX + Ą‚܂ł͂P•b‚É‚ĩ‚Ă܂ĩ‚―‚ЁAƒoƒbƒVƒ…‚Æ‚Đ‚Š‚Ļ‚Đ‚ĩ‚­‚Č‚é‚˂ŁB + iƒoƒbƒVƒ…‚Æ‚Đ‚Ėƒf[ƒ^‚ð—pˆÓ‚·‚ę‚΂ą‚Ī‚ĩ‚Č‚­‚Ä‚ā’ž‚é‚ņ‚Å‚·‚Ёj + + pc.c + pc_readdb()‚Å1000ms‚ðƒZƒbƒg‚·‚é‚Ė‚ðŽ~‚ß‚― + +E‰“‹——ĢUŒ‚‚ĩ‚Ä‚ą‚Č‚ĒƒoƒOA‚ŧ‚Ė‘ž‚ðCģ + mob.c + mob_attack()‚ĖŽË’ö‚ðCģ‚ĩ–Y‚ę‚Ăǂ― + mob_ai_sub_hard()‚ÅŽË’ö‹——ĢŠO‚ĖŽžA–ģˆÚ“Ū‚Ė“G‚Í + ƒ^[ƒQƒbƒg‚ðŠO‚·‚æ‚΂ɂĩ‚― + + +---------- +//0228 by nabe + +Eƒ_ƒuƒ‹ƒAƒ^ƒbƒN‚ĖSkillID‚ðCģB + 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()‚ĖhitrateŒvŽZ‚ʼnņ”ð—ĶŒüã‚ðŒvŽZB +E“åģA“åģŽ“A“åģ—Y‚ðģí‰ŧB + npc_monster3J.txt + mob_db.txt‚ɍ‡‚í‚đ‚āA‚―‚Ô‚ņģ‚ĩ‚Ē‚ÆŽv‚í‚ę‚éID‚ɏCģB + “åģ 1006 -> 1051 + “åģŽ“ 1017 -> 1053 + “åģ—Y 1021 -> 1054 +EƒfƒoƒbƒOƒƒbƒZ[ƒW‚ĖÁ‚ĩ–Y‚ęiHj‚ðíœB + pc.c + printf("pc.c 63 clif_clearchar_area\n");‚ðƒRƒƒ“ƒgƒAƒEƒg + +---------- +//0227 by ŒÓ’ą—– + +Eˆę•”‚ĖƒXƒLƒ‹Œø‰Ę‚ŠŽĀ‘•‚ģ‚ę‚Ü‚ĩ‚― + HP‰ņ•œŒüãASP‰ņ•œŒüãAƒ}ƒOƒjƒtƒBƒJ[ƒgA + ƒnƒCƒfƒBƒ“ƒOAƒNƒ[ƒLƒ“ƒOAŽ€‚ņ‚ū‚Ó‚čA‰ž‹}Žč“– + + map.h + struct map_session_data ‚É inchealtick ƒƒ“ƒo’Į‰Á + pc.c + pc_spheal()‚Ń}ƒOƒjƒtƒBƒJ[ƒgˆ—’Į‰Á + pc_natual_heal_sub()‚ʼnņ•œŒüãƒXƒLƒ‹ˆ—’Į‰Á + pc_authok()‚Åinchealtick‚ð‰Šú‰ŧ‚·‚邿‚Ī‚É•ÏX + pc_walk()‚Åincheaktick‚ðÄÝ’č‚·‚邿‚Ī‚É•ÏX + pc_walk()‚ŃNƒ[ƒLƒ“ƒO‚ĖI—đðŒ‚ð’ēļ‚·‚邿‚Ī‚É•ÏX + pc_walktoxy()‚ŏó‘Ô‚É‚æ‚Á‚ÄˆÚ“Ū•s‰Â”\‚É‚ĩ‚― + skill.c/skill.h + skill_status_change_start(),~timer(),~end()‚ɏˆ—’Į‰Á + skill_check_cloaking()’Į‰ÁAƒNƒ[ƒLƒ“ƒO‚ĖI—đðŒ‚ðŒŸļ + battle.c/battle.h + battle_stopattack()’Į‰Á + battle_calc_weapon_attack()‚ōUŒ‚‚ðŽ~‚߂鏈—’Į‰Á + mob.c + mob_ai_sub_hard()‚ōUŒ‚‚ðŽ~‚߂鏈—’Į‰Á + +E’ʏíUŒ‚ˆ—A‘ÎMOBA‘ÎPC‚ð‹Ī—p‚ɁB + pc.c + pc_attack_mob(),pc_attack_pc()íœ + pc_attack()‚ɍUŒ‚ˆ—’Į‰Á + +Eƒ‚ƒ“ƒXƒ^[‚Ės“Ū‚Ėˆę•”ŽĀ‘• + ƒAƒNƒeƒBƒ”A–ģ”―‰žAˆÚ“Ū‚ĩ‚ȂǁA‰“‹——ĢUŒ‚ˆę•” + + mob.c + mob_ai_sub_hard()‚ɍs“Ū’Į‰Á + mob_ai_sub_hard_activesearch()’Į‰ÁA‹ß‚­‚ĖPC‚Ö‚Ėô“G + +EƒI[ƒo[ƒgƒ‰ƒXƒg‚Ė‘‰Á”{—Ķ‚Š100”{‚ɂȂÁ‚ĂǂéƒoƒO‚ŠCģ‚ģ‚ę‚Ü‚ĩ‚― + battle.c + battle_calc_weapon_attack()‚ŁAŠY“–ŒÂŠ‚ðCģ + + +---------- +//0226 by ŒÓ’ą—– + +‚â‚Á‚Ï‚čƒeƒXƒg‚Í‚ ‚ņ‚Ü‚č‚ĩ‚Ăǂ܂đ‚ņ + +Eˆę•”‚ĖƒXƒLƒ‹Œø‰Ę‚ŠŽĀ‘•‚ģ‚ę‚Ü‚ĩ‚― + ‘Ž“x‘‰ÁAƒGƒ“ƒWƒFƒ‰ƒXAƒLƒ…ƒA[ + ƒCƒ“ƒ|ƒVƒeƒBƒIƒ}ƒkƒXAƒTƒtƒ‰ƒMƒEƒ€AƒŠƒJƒoƒŠ[AƒOƒƒŠƒA + ‚Ó‚­‚ë‚Ī‚Ė–ÚAƒƒV‚Ė–ÚAW’†—ÍŒüãA‰ņ”ð—ĶŒüãA‰ð“Å + ŠŽ—Ę‘‰ÁAƒ‰ƒEƒhƒ{ƒCƒXAƒAƒhƒŒƒiƒŠƒ“ƒ‰ƒbƒVƒ…AƒI[ƒo[ƒgƒ‰ƒXƒg + ƒEƒFƒ|ƒ“ƒp[ƒtƒFƒNƒVƒ‡ƒ“Aƒ}ƒLƒVƒ}ƒCƒYƒpƒ[A‚Q‚g‚p + + (map/) + map.h + struct map_session_data‚Éwatk2,def2‚Č‚Į’Į‰Á + pc.c + pc_calcstatus()‚ɃXƒLƒ‹Cģ’Į‰Á + atk2‚Č‚Į‚ā‘—M‚·‚邿‚Ī‚É•ÏX + battle.c/battle.h + battle_get_def2()‚Č‚Į‘―”’Į‰Á + battle_calc_weapon_damage()‚Å“GŒļŽZ–hŒä‚ĖŠ“ū‚ð + battle_get_def2()‚ɕύX + battle_calc_magic_damage()‚Å“GŒļŽZ–‚–@–hŒä‚ĖŠ“ū‚ð + battle_get_mdef2()‚ɕύX + battle_calc_weapon_damage()‚ŃXƒLƒ‹Cģ‚ð’Į‰Á + skill.c/skill.h + skill_use_nodamage_id()‚ĖŠY“–ŒÂŠ’Į‰Á + skill_status_change_start()‚ĖŠY“–ŒÂŠ’Į‰Á + clif.c + clif_updatestatus()‚Ėatk2‚Č‚Į‚Ėˆ—’Į‰Á + clif_initialstatus()‚Åatk2‚Č‚Į‚Ėˆĩ‚Ē•ÏXAaspd‚Č‚Į‘—M’Į‰Á + +Eļ˜Bƒ_ƒ[ƒWCģ/ļ˜B–hŒäCģ‚Š“K—p‚ģ‚ę‚Ü‚ĩ‚― + (map/) + pc.c + pc_calcstatus()‚Åwatk2‚Ædef‚Ė’Į‰ÁŒvŽZ’Į‰Á + battle.c + battle_calc_weapon_damage()‚Åwatk2‚ðƒ_ƒ[ƒW‚É’Į‰Á + +EinterŽI‚ĖƒpƒPƒbƒg‰ðÍ•”‚Ė’v–―“I‚Č–â‘肊Cģ‚ģ‚ę‚Ü‚ĩ‚― + TCP/IPƒvƒƒOƒ‰ƒ€‚Å‚â‚Á‚Ä‚Í‚Ē‚Ŋ‚Č‚Ē‚ą‚Æ‚ð‚ŧ‚˂܂܂â‚Á‚Ă܂ĩ‚―(Šū + interŽI‚ĖƒpƒPƒbƒg’·ƒf[ƒ^‚ðinter.c‚ÉŽ‚‚æ‚Ī‚ÉCģ‚ģ‚ę‚Ü‚ĩ‚―B + + (char/) + inter.c/inter.h + ƒpƒPƒbƒg’·ƒf[ƒ^ inter_*_packet_length[] ‚ð’Į‰Á + ƒpƒPƒbƒg’·ƒ`ƒFƒbƒN inter_check_length() ‚ð’Į‰Á + mapif_parse_*()‚ÅRFIFOSKIP‚ð‚Č‚ĩ‚ɕύX + int_storage.c/int_storage.h + mapif_parse_*()‚ÅRFIFOSKIP‚ð‚Č‚ĩ‚ɕύX + int_party.c/int_guild.c + Žd—l•ύX‚ɑΉž‚ģ‚đ‚―•ÏX + INTERŽIƒpƒPƒbƒg.txt + ƒpƒPƒbƒg’·ƒŠƒXƒg’Į‰Á + +E‚ŋ‚å‚Á‚Æ‚ĩ‚―Cģ + (char/) + inter.h + inter_cfgName‚ð"conf/inter_athena.cnf"‚ɏCģ + char2.c + char.exe‘æ‚Qˆø”Č—ŠŽžAinter_cfgName‚ðŽg‚Ī‚æ‚Ī‚ÉCģ + (db/) + cast_db.txt + ƒz[ƒŠ[ƒ‰ƒCƒg‚ˉrĨŽžŠÔ’Į‰ÁiƒfƒBƒŒƒC‚Í“K“–j + Ú‚ĩ‚ǐl’Į‰Á‹‚Þ + +---------- +//0225 by ŒÓ’ą—– + +‚Č‚ņ‚ЂЂȂč˜M‚č‚Ü‚ĩ‚―‚Š‘Š•Ï‚í‚į‚ļƒeƒXƒg‚Í‚ ‚ņ‚Ü‚č‚ĩ‚Ă܂đ‚ņB + +EƒXƒLƒ‹Žg—pŽž‚Ė•Ï”‚ð•ύX + ‚æ‚­ŒĐ‚―‚įÅ‰‚Đ‚į—pˆÓ‚ģ‚ę‚Ă܂ĩ‚―‚ˁB + + map.h + struct map_session_data‚Ėcast_*‚ðíœ + skill.c + cast_*‚Ė•Ï”‚ðskill*‚ɕύXB + +EƒXƒe[ƒ^ƒXˆŲíƒXƒLƒ‹‚Ėˆ—‚ð’Į‰ÁiŒø‰Ę‚Í–ĒŽĀ‘•j + ŒĐ‚Đ‚ŊãAƒXƒe[ƒ^ƒXˆŲí‚ÉŠ|‚Đ‚Á‚―‚肯‚Đ‚ū‚ŊB + Œø‰Ę‚͂܂ū‚Č‚ĩB + + skill.c/skill.h + skill_status_change_start(),~end(),~timer(),~clear()’Į‰ÁB + ‚ŧ‚ꂞ‚ęƒXƒe[ƒ^ƒXˆŲí‚ĖŠJŽnAI—đAƒ^ƒCƒ}ˆ—A‘SÁ‹ŽB + map.c/map.h + map_quit()‚Åskill_status_change_clear()‚ðŒÄ‚Ô‚æ‚΂ɂĩ‚―B + struct map_session_data‚Ésc_data,sc_count’Į‰ÁB + struct mob_data‚Ésc_data,sc_count,option,opt1,opt2’Į‰ÁB + pc.c + pc_authok()‚Åsc_data,sc_count‚ð‰Šú‰ŧ‚·‚邿‚΂ɂĩ‚―B + pc_setoption‚Åclif_changeoption()‚Ėˆø”•ύXB + pc_damage()‚ÅŽ€–SŽž‚Éskill_status_change_clear()‚ðŒÄ‚Ô‚æ‚΂ɁB + mob.c + mob_spawn()‚Åsc_data,sc_count‚ð‰Šú‰ŧ‚·‚邿‚΂ɂĩ‚―B + mob_attack()‚Åbattle_calc_damage()‚ðŒÄ‚Ô‚æ‚΂ɂĩ‚―B + mob_damage()‚ÅŽ€–SŽž‚Éskill_status_change_clear()‚ðŒÄ‚Ô‚æ‚΂ɁB + battle.c/battle.h + battle_get_*()‚―‚­‚ģ‚ņ’Į‰ÁB + battle_calc_damage()’Į‰ÁBÅI“I‚Čƒ_ƒ[ƒWŒvŽZ—pB + battle_calc_magic_attack(),battle_calc_weapon_attack()‚Å + battle_calc_damage()‚ðŒÄ‚Ô‚æ‚΂ɂĩ‚―B + clif.h/clif.c + clif_status_change()’Į‰ÁBƒXƒe[ƒ^ƒXˆŲíƒAƒCƒRƒ“•\ŽĶ—pB + clif_changeoption()‚Ėˆø”•ύXB + atcommand.c + clif_changeoption()‚ðŒÄ‚ņ‚łǂé‚Qƒ–Š‚ňø”•ύXB + @die‚Åskill_status_change_clear()‚ðŒÄ‚Ô‚æ‚΂ɁB + +Eƒ}ƒOƒkƒXƒGƒNƒ\ƒVƒYƒ€‚ĖK“ūðŒ‚ŠŠÔˆá‚Á‚Ăǂé‚Ė‚ðCģB + db/skill_tree.txt + ŠY“–ŒÂŠCģBiƒŒƒbƒNƒXƒG[ƒeƒ‹ƒi‚Ė•K—vLv‚ð‚P‚Ɂj + +EƒAƒNƒeƒBƒu‚Č“G‚͍UŒ‚‚·‚邯‚ŦŽžXƒ^[ƒQƒbƒg‚Š•Ï‚í‚邿‚΂ɂȂč‚Ü‚ĩ‚― + mob.c + mob_ai_sub_hard()‚ĖUŒ‚‚ģ‚ę‚―‚ĐŠm”F‚·‚é•”•Š‚É + ƒAƒNƒeƒBƒu‚Č‚į25%‚ĖŠm—Ķ‚Åƒ^[ƒQƒbƒg‚Š•Ï‚í‚邿‚Ī‚É•ÏXB + +Eˆę•”‚ĖƒXƒLƒ‹Œø‰Ę‚ŠŽĀ‘•‚ģ‚ę‚Ü‚ĩ‚― + ƒLƒŠƒGƒGƒŒƒCƒ\ƒ“AƒGƒiƒW[ƒR[ƒgAƒŒƒbƒNƒXƒG[ƒeƒ‹ƒiA + ƒz[ƒŠ[ƒ‰ƒCƒgAƒŠƒUƒŒƒNƒVƒ‡ƒ“Aƒ^[ƒ“ƒAƒ“ƒfƒbƒhAƒ‚ƒ“ƒXƒ^[î•ņ + + skill.c/skill.h + skill_castend_nodamage_id()‚ɃXƒLƒ‹‚Ėˆ—‚ð’Į‰ÁB + skill_castend_*_id()‚Ėˆø”‚ð•ύX + battle.c + battle_calc_damage()‚ɃXƒLƒ‹‚Ėˆ—‚ð’Į‰ÁB + battle_damage(),battle_heal()‚Ėˆø”•ύX + battle_calc_weapon_damage(),battle_calc_magic_damage()ˆø”•ύX + clif.c/clif.h + clif_skill_estimation()’Į‰ÁBƒ‚ƒ“ƒXƒ^[î•ņ‘—M—p + pc.c + battle_calc_weapon_damage()ŒÄ‚Ņo‚ĩ‚Ėˆø”•ύX + +Estorage.txt‚Š–ģ‚Ēę‡interŽI‚Š‹­§I—đ‚·‚éŽd—l‚ð•ύX‚ĩ‚Ü‚ĩ‚― + (char/) + int_storage.c + inter_storage_init()‚Ńtƒ@ƒCƒ‹‚Š“Į‚߂ȂǂÆexit‚ĩ‚Ä‚―‚Ė‚ðCģ + + +---------- +//0224 +E2-2ŽŸE‚ĖƒXƒLƒ‹‚ðƒcƒŠ[‚É’Į‰Á‚ĩ‚Ü‚ĩ‚―iŽĀ‘•‚͂܂ū‚Å‚·j + (db/) + skill_db.txt + skill_tree.txt + + +---------- +//0223 by ŒÓ’ą—– +EƒJƒvƒ‰‘qŒÉ‚ðinterŽI‚ɑΉž‚ģ‚đ‚Ü‚ĩ‚― + ‚ǂ܂܂łĖstorage.txt‚Í‚ŧ‚Ė‚Ü‚ÜŽg‚͂܂·B + interŽI—p‚ĖÝ’čƒtƒ@ƒCƒ‹‚Æ‚ĩ‚Äconf/inter_athena.cnf‚ðŽg‚ǂ܂·B + iÝ’čƒtƒ@ƒCƒ‹‚Íchar.exe‚Ė‘æ‚Qˆø”‚Å‘ž‚Ėƒtƒ@ƒCƒ‹‚ðŽw’č‚Å‚Ŧ‚Ü‚·j + + ƒJƒvƒ‰‘qŒÉ‚ĖinterŽIŽĀ‘•‚ĖŠT—v + + interŽI‚Ístorage.txt‚Ė‘Sƒf[ƒ^‚ðŽ‚ÂBmapŽI‚̓AƒJƒEƒ“ƒg‚Š—v‹‚·‚é‚܂Š+ ‚ŧ‚ĖƒAƒJƒEƒ“ƒg‚Ė‘qŒÉƒf[ƒ^‚ðŽ‚―‚ȂǁBƒNƒ‰ƒCƒAƒ“ƒg‚Đ‚į‘qŒÉ‚ðŠJ‚­—v‹‚Š + ‚ ‚Á‚―‚Æ‚ŦAmapŽI‚͑Ήž‚·‚éƒAƒJƒEƒ“ƒg‚Ė‘qŒÉƒf[ƒ^‚ðinterŽI‚É—v‹‚·‚éB + interŽI‚Đ‚įƒf[ƒ^‚Š“Í‚­‚ƃNƒ‰ƒCƒAƒ“ƒg‚É‘qŒÉƒf[ƒ^‚ð‘—‚éB + ‘qŒÉ‚Ėo‚ĩ“ü‚ę‚̓Nƒ‰ƒCƒAƒ“ƒg‚ÆmapŽIŠÔ‚˒ƐM‚ū‚Ŋ‚ōs‚í‚ę‚éB + ƒNƒ‰ƒCƒAƒ“ƒg‚Š‘qŒÉ‚ð•‚ķ‚é‚ЏI—đ‚·‚é‚ÆAmapŽI‚ÍŠY“–ƒAƒJƒEƒ“ƒg‚Ė + ‘qŒÉƒf[ƒ^‚ðinterŽI‚É‘—‚éB‚ą‚Ė‚Æ‚ŦinterŽI‚ˉž“š‚ð‘Ō‚―‚ļ‚ɃNƒ‰ƒCƒAƒ“ƒg‚É + ‘qŒÉƒNƒ[ƒY‚ð‘—‚éBinterŽI‚Í‘qŒÉƒf[ƒ^‚ðŽó‚ŊŽæ‚邯A + ‘Sˆõ•Š‚Ėƒf[ƒ^‚ðƒtƒ@ƒCƒ‹‚ɕۑķ‚ĩ‚āAmapŽI‚ÉŽŒũƒXƒe[ƒ^ƒX‚ð•Ô‚·B + mapŽI‚ÍŽŒũƒXƒe[ƒ^ƒX‚ð–ģŽ‹‚·‚éB(ƒfƒoƒbƒO—p‚ɉæ–Ę‚Éo—Í‚·‚é‚ū‚Ŋ) + interŽII—đŽž‚É‚ā‘qŒÉƒf[ƒ^‚ðƒtƒ@ƒCƒ‹‚É•Û‘ķ‚·‚éB + + mapŽI‚Åaccount2storage‚ŐV‚ĩ‚Ē‘qŒÉƒf[ƒ^‚ðė‚邯‚ŦA + ‚·‚łɕ‚ķ‚į‚ę‚Ăǂé‘qŒÉƒf[ƒ^‚Ėƒƒ‚ƒŠ‚ðŽg‚ǂ܂í‚ĩ‚―‚Ų‚Ī‚Šƒƒ‚ƒŠ‚Š + ß–ņ‚Å‚Ŧ‚é‚Đ‚āHi‚ą‚ę‚ÍŽĀ‘•‚ĩ‚Ăǂ܂đ‚ņj + + (common/) + mmo.h + struct storage ‚ð map/storage.h ‚Đ‚įˆÚ“ہB + interŽI‚ÆmapŽI—ž•û‚ÅŽg—p‚·‚é‚―‚߁B + (char/) + char2.c + do_final()‚ðėŽAI—đŽž‚Émmo_char_sync()ˆČŠO‚Éinter_save()‚ð + ŒÄ‚Ô‚æ‚΂ɂĩ‚―i‚ą‚ę‚Åinter_*_save()‚Í‘S•”ŒÄ‚΂ę‚Ü‚·j + inter_init()‚ðchar.exe‚Ė‘æ‚Qˆø”‚ā‚ĩ‚­‚Í"conf/inter.cnf"‚Å + ŒÄ‚Ô‚æ‚΂ɂĩ‚―iathena.sh‚ÉinterŽIƒRƒ“ƒtƒBƒOƒtƒ@ƒCƒ‹‚ðŽw’č‚Å‚Ŧ‚Ü‚·j + inter.c/inter.h + inter_storage_init(),inter_storage_save(), + inter_storage_parse_frommap()‚ðŒÄ‚Ô‚æ‚΂ɁB + inter_init()‚ɃRƒ“ƒtƒBƒOƒtƒ@ƒCƒ‹–ž‚Ėˆø”‚ð•t‚Ŋ‚―B + inter_config_read()’Į‰ÁAƒRƒ“ƒtƒBƒOƒtƒ@ƒCƒ‹‚Đ‚į + ‘qŒÉ‚ƃp[ƒeƒB[AƒMƒ‹ƒh‚Ėƒtƒ@ƒCƒ‹–ž‚ð“Į‚ݍž‚݂܂·B + int_storage.c/int_storage.h + V‹K’Į‰ÁB‘qŒÉ•”•Š‚ĖinterŽI‹@”\B + int_party.h/int_party.c/int_guild.h/int_guild.c/ + ƒtƒ@ƒCƒ‹–ž•ϐ”‚ːéŒū’Į‰Á + INTERŽIƒpƒPƒbƒg.txt + ‘qŒÉƒpƒPƒbƒg‚ˉðā’Į‰Á + + (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()‚͕ϐ”‰Šú‰ŧ‚Ė‚Ý‚É•ÏXB + storage_storageopen()‚ł͒P‚Éintif_request_storage()‚ðŒÄ‚Ô‚ū‚Ŋ‚ɁB + storage_storageclose()‚Éintif_send_storage()‚ð’Į‰Á + storage_storage_quitsave()’Į‰ÁBƒNƒ‰ƒCƒAƒ“ƒgI—đŽž‚É + ƒJƒvƒ‰‘qŒÉ‚ŠŠ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 + V‹K’Į‰ÁBinterŽI—p‚ĖƒRƒ“ƒtƒBƒOƒŒ[ƒVƒ‡ƒ“ƒtƒ@ƒCƒ‹ + + +---------- +//0221 by ŒÓ’ą—– + +EƒXƒLƒ‹ƒ^[ƒQƒbƒg‚ĖID‚Аģ‚ĩ‚­Š“ū‚Å‚Ŧ‚Ȃǖâ‘čCģ + clif.c + clif_parse_UseSkillToId()‚ÅID‚ðWORD‚Æ‚ĩ‚Ĉĩ‚Á‚Ä‚―‚Ė‚ðLONG‚ɏCģ + +EƒXƒLƒ‹‰rĨŽžŠÔ‚Æ‘ŪŦ•\A‚Ļ‚æ‚Ņ–‚–@ŒnƒXƒLƒ‹‚ˑېŦCģŽĀ‘• + ‘ېŦƒ_ƒ[ƒWCģ‚Í battle_attr_fix() ‚ÅŒvŽZ‚ĩ‚Ü‚·B + atk_elem‚Í‘ŪŦ‚ŧ‚˂܂܁Adef_elem‚́i‘ېŦlv*20{‘ېŦj‚Å‚·B + ‰rĨŽžŠÔ‚Ískill.c‚ĖCASTFIX‚Ė’l‚ð•Ï‚Ķ‚é‚ą‚ƂŔ{—Ķ‚ð’ēŪ‚Å‚Ŧ‚Ü‚· + + pc.c + pc_readdb()‚Åcast_db.txt‚Æattr_fix.txt‚Ė“Į‚ݍž‚Ý’Į‰Á + skill.c/skill.h + struct skill_db ‚Écast,delay’Į‰ÁA‚ŧ‚ę‚į‚ĖƒAƒNƒZƒT‚ā’Į‰Á + ƒXƒLƒ‹‰rĨŽžŠÔ‚ð skill_get_cast() ‚ÅŠ“ū‚·‚邿‚΂ɂĩ‚― + battle.c/battle.h + attr_fix_table’č‹` + battle_attr_fix()’Į‰ÁA‘ېŦCģ‚ðŒvŽZ‚·‚é + ‘ېŦŒnƒAƒNƒZƒT(battle_get_element()‚Č‚Į)‚ð’Į‰Á + battle_calc_magic_damage()‚ɑېŦCģ‚ð’Į‰Á + cast_db.txt + V‹K’Į‰ÁB‰rĨŽžŠÔ‚ƃfƒBƒŒƒC‚Ėƒf[ƒ^ƒx[ƒX + ‘S‘R‘Ŧ‚č‚Ȃǂ˂ŁA’N‚Đ’Į‰ÁŠó–]B + attr_fix.txt + V‹K’Į‰ÁB‘ېŦCģƒe[ƒuƒ‹ + +Eƒq[ƒ‹‚ĖŽĀ‘• + clif.c/clif.h + clif_skill_nodamage()’Į‰ÁAŽx‰‡Œn‚â‰ņ•œ‚ĖƒGƒtƒFƒNƒg + skill.c/skill.h + skill_castend_damage_id()Askill_castend_nodamage_id()’Į‰ÁA + UŒ‚Œn‚ÆŽx‰‡/‰ņ•œŒn‚Ŋ֐”‚𕊂Ŋ‚― + ƒq[ƒ‹ŒvŽZƒ}ƒNƒ skill_calc_heal() ’Į‰Á + battle.c + battle_calc_magic_damage()‚Ńq[ƒ‹‚Ėƒ_ƒ[ƒWŒvŽZ’Į‰Á + + +---------- +//0220 by ‚ę‚  + +0216‚ĖCģ +HIT‚ĖŒvŽZ‚Š‚Ļ‚Đ‚ĩ‚Đ‚Á‚―‚Ė‚ÅCģ‚ĩ‚Ă݂܂ĩ‚―B +ŠÔˆá‚Á‚Ä‚―‚į‚ē‚ß‚ņ‚Č‚ģ‚ǁB + +Ebattle.c + 256s–Ú‚Ė + hitrate=battle_get_hit(&sd->bl) - battle_get_flee(&sd->bl) + 80; + ‚Š‚―‚Ô‚ņAŽĐ•Ђ˂g‚h‚s‚ÆŽĐ•Š‚Ė‚e‚k‚d‚d‚ÅŒvŽZ‚ĩ‚Ä‚é‹C‚Š‚·‚é‚˂Š+ hitrate=battle_get_hit(&sd->bl) - battle_get_flee(target) + 80; + ‚ɏCģ‚ĩ‚Ü‚ĩ‚―B + + +---------- +//0218 by ŒÓ’ą—– + +ŽĀÛ‚É•ŠŽU‚ģ‚đ‚ăeƒXƒg‚ĩ‚Ä‚Ē‚Č‚Đ‚Á‚―‚čB + +EmapŽI•ŠŽUˆ——p‚ÉinterŽI‹@”\‚ð‚‚Ŋ‚Ă݂éiĄŒã‚Ė‚―‚ß‚ĖŠg’́j + charŽI‚ÉinterŽI‚ðŠņķ‚ģ‚đ‚Ü‚ĩ‚―B•Ą”‚ĖmapŽIŠÔ‚˒ƐM‚É—˜—p‚ĩ‚Ü‚·B + mapŽI‚𕊎U‚ĩ‚ďˆ—‚Å‚Ŧ‚邿‚΂ɂ·‚é‚―‚߂ˋ@”\‚Å‚·B + ĄŒãparty‚âguildŽĀ‘•Žž‚É‚Ŧ‚Á‚Æ–ð‚É‚―‚Á‚Ä‚­‚ę‚é‚Đ‚ÆB + + ‘qŒÉ‚ĖŽĀ‘•‚āinterŽI‚ÉˆÚ“Ū‚·‚Ũ‚Ŧ‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņB + ‚Į‚ĖƒLƒƒƒ‰ƒNƒ^[‚Š‚Į‚ĖmapŽI‚ɂǂé‚ĐŒŸõ‚·‚é‹@”\‚ā‚Ē‚é‚Đ‚āB + + Žg‚ĪƒpƒPƒbƒg‚ĖID‚ÍˆČ‰š‚Ė‚æ‚΂ɂȂč‚Ü‚· + mapŽI=>interŽI‚̓pƒPƒbƒg0x3000` + interŽI=>mapŽI‚̓pƒPƒbƒg0x3800` + ƒpƒPƒbƒg‚ðė‚Á‚―ę‡‚́AINTERŽIƒpƒPƒbƒg.txt‚ɏ‘‚ǂĂ­‚ū‚ģ‚Ē + + ‚ą‚Ė‹@”\‚É‚æ‚郁ƒŠƒbƒg + mapŽI•ŠŽU‚É‚ā‘Ήž‚Å‚Ŧ‚é + ‚ą‚Ė‹@”\‚É‚æ‚éƒfƒƒŠƒbƒg + interŽIŒo—R‚Ė‘S‚Ă˖―—ß‚Ė“Ūė‘Ž“x‚Š—Ž‚ŋ‚é + iˆę‰ņinterŽI‚܂œn‚·‚―‚߁j + ŽI‚ƃNƒ‰ƒCƒAƒ“ƒg‚ð“Ŋ‚ķPC‚ÅŽg‚Á‚Ăǂ邯‚‚į‚Ē‚Đ‚ā + + (char/) + char2.c/char.h + mapif_sendall()’Į‰Ái‘SMAPŽI‚ɃpƒPƒbƒg‚ð‘—‚éj + mapif_send()’Į‰Ái“Á’čMAPŽI‚É‘—‚éFķ‘ķ”ŧ’č•t‚Ŧj + parse_frommap()‚Åinter_parse_frommap()‚ðŒÄ‚Ô‚æ‚΂ɂĩ‚― + (interŽI‚ĖmapŽI‰ðÍ•”‚ðcharŽI‚ÉŠņķ‚ģ‚đ‚―‚ą‚Æ‚ɂȂé) + inter.h/inter.c + V‹K’Į‰ÁBinterŽI‚Ė’†ŠjB + inter_parse_frommap‚ÅMAPŽI‚Đ‚į‚ĖƒpƒPƒbƒg‚ð‰ðÍ‚ĩ‚Ü‚·B + int_party.h/int_party.c/int_guild.h/int_guild.c + V‹K’Į‰ÁBĄŒã‚Ė‚―‚߂˗\–ņBƒp[ƒeƒB‚âƒMƒ‹ƒh‹@”\—p + init‚Ńf[ƒ^‚ð“Į‚ņ‚ŁAsave‚Å•Û‘ķ‚·‚Ũ‚ŦH + save‚͂܂ūŒÄ‚΂ę‚ȂǁBparse‚ŃpƒPƒbƒg‰ðÍB + common/mmo.h‚ ‚―‚č‚Ńp[ƒeƒB[‚âƒMƒ‹ƒh‚Ė\‘Ǒ˂ð + ’č‹`‚·‚é•K—v‚Š‚ ‚邯Žv‚í‚ę‚éB + INTERŽIƒpƒPƒbƒg.txt + ƒpƒPƒbƒg‚ĖƒŠƒXƒg + + (map/) + intif.h/intif.c + interŽI‚Æ’ĘM‚·‚é•”•ЁB + inter_parse()‚ÅinterŽI‚Đ‚į‚ĖƒpƒPƒbƒg‚ð‰ðÍ‚ĩ‚Ü‚·B + interŽI‚Öƒf[ƒ^‚ð‘—‚é‚Æ‚Ŧ‚Íinter_fd‚ðŽg‚ǂ܂·B + chrif.h/chrif.c + chrif_parse()‚Åinter_parse()‚ðŒÄ‚Ô‚æ‚΂ɂĩ‚― + iintif.c‚ĖinterŽI‰ðÍ•”‚ðcharŽI‰ðÍ•”‚ÉŠņķ‚ģ‚đ‚―‚ą‚Æ‚ɂȂé) + +E@kamiƒRƒ}ƒ“ƒh‚ðinterŽIŒo—R‚ɕύX + Œī—‚Æ‚ĩ‚Ă͎Ÿ‚Ė‚æ‚Ī‚ČŠī‚ķ‚Å‚· + ƒNƒ‰ƒCƒAƒ“ƒg„mapŽI„interŽI„‘SmapŽI„‘SƒNƒ‰ƒCƒAƒ“ƒg + + (char/) + inter.c + mapif_GMmessage()’Į‰Á + (map/) + intif.h/intif.c + intif_GMmessage()’Į‰Á + intif_parse‚ÅGMƒƒbƒZ[ƒW‚Ėˆ—‚ð’Į‰Á + clif.c/clif.h + clif_GMmessage()‚Ėˆø”‚ð•ύX + atcommand.c + @kami•”•Š‚Åintif_GMmessage()‚ðŒÄ‚Ô‚æ‚΂ɂĩ‚― + +EWis‚ðinterŽIŒo—R‚ɕύX + Œī—‚Æ‚ĩ‚Ă͎Ÿ‚Ė‚æ‚Ī‚ČŠī‚ķ‚Å‚· + + ‘—‚čŽåƒNƒ‰ƒCƒAƒ“ƒg„‘—‚čŽåmapŽI„interŽI„‘Sƒ}ƒbƒvŽI„(•ŠŠōA) + [•ŠŠōA] + 1.‘ŠŽč‚ːl‚Ē‚émapŽI„‘ŠŽč‚ĖƒNƒ‰ƒCƒAƒ“ƒg + @@@@V@@ @„interŽI„‘—‚čŽåmapŽI„‘—‚čŽåƒNƒ‰ƒCƒAƒ“ƒg + 2.‘ŠŽč‚˂ǂȂĒmapŽI„interŽIi•ŠŠōBj + [•ŠŠōB] + 1.‘SmapŽI‚Љž“š‚ĩ‚―interŽI „‘—‚čŽåmapŽI„‘—‚čŽåƒNƒ‰ƒCƒAƒ“ƒg + 2.(‘S•”‚͉ž“š‚ĩ‚Ä‚Č‚Ē‚Æ‚Ŧ‚́A‘SmapŽI‚ˉž“š‚ð‘Ō‚Â) + + ‚ā‚Ė‚·‚ē‚Ē•ĄŽG‚ɂȂÁ‚Ă܂·‚ˁB + + (char/) + inter.c + struct WisList ’č‹`iWisƒf[ƒ^‚ĖƒŠƒ“ƒNƒŠƒXƒgj + add_wislist(),del_wislist(),search_wislist(), + check_ttl_wislist()’Į‰Á,ƒŠƒ“ƒNƒŠƒXƒg‚ðˆĩ‚ĪŠÖ”Œ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()‚ðŒÄ‚Ô‚æ‚΂ɂĩ‚― + +EƒXƒLƒ‹Žg—pŽž‚Ėƒqƒbƒg”/Á”ïSPŠ“ū‚ĖƒoƒOCģ + skill.c + skill_get_sp(),skill_get_num()‚ÅŽQÆ‚·‚é”z—ņƒCƒ“ƒfƒbƒNƒX‚ðlv-1‚É‚ĩ‚― + + +---------- +//0216 by ŒÓ’ą—– + +‚Ē‚Â‚ā‚Į‚Ļ‚čƒeƒXƒg‚Ų‚Æ‚ņ‚Į‚ĩ‚ĂȂǂ˂ŁAƒoƒO‘å—ʂЂāB + +E0213‚ĖCģH‚Ė‚æ‚­‚í‚Đ‚į‚Č‚Ē‚Æ‚ą‚ëCģ + itemdb.c + ƒRƒ“ƒpƒCƒ‹‚Š’Ę‚į‚Ȃǂ˂Åitemdb_equipoint‚Ėˆø”ƒŠƒXƒg•ύX + +EAthena dev 2.1.1‚Ė“K—p + dev-2.1.1‚Å“K—p‚ģ‚ę‚―Cģ‚ð“K—p‚ĩ‚Ü‚ĩ‚― + + timer.c + 2.1.1‚Ė‚ā‚Ė‚Æ·‚ĩ‘Ö‚Ķ + script.c + C_NE: ‚ĖCģ‚Ė“K—p + README + ÅŒã‚Ė•ķÍ‚ð2.1.1‚Ė‚ā‚Ė‚É·‚ĩ‘Ö‚Ķ + +EƒXƒLƒ‹ƒf[ƒ^ƒx[ƒX‚ĖCģ + ˆę•”‚ĖÁ”ïSP‚âƒqƒbƒg”‚Č‚Į‚ðCģB + + skill_db.txt + ŠY“–ŒÂŠ‚ĖCģ + +EƒXƒLƒ‹UŒ‚‚ĖŽĀ‘••ύX•’Į‰ÁŽĀ‘• + ƒoƒbƒVƒ…Aƒƒ}[ƒiƒCƒgAƒ_ƒuƒ‹ƒXƒgƒŒƒCƒtƒBƒ“ƒOAƒsƒA[ƒX + ƒXƒsƒAƒu[ƒƒ‰ƒ“AƒXƒsƒAƒXƒ^ƒuAƒ{[ƒŠƒ“ƒOƒoƒbƒVƒ… + ƒ\ƒjƒbƒNƒuƒ[AƒOƒŠƒ€ƒgƒD[ƒX ‚Č‚Į‚ĖŽĀ‘••ύX + + ƒiƒp[ƒ€ƒr[ƒgAƒ\ƒEƒ‹ƒXƒgƒ‰ƒCƒNA + ƒtƒ@ƒCƒ„[ƒ{ƒ‹ƒgAƒR[ƒ‹ƒhƒ{ƒ‹ƒgAƒ‰ƒCƒgƒjƒ“ƒOƒ{ƒ‹ƒgAƒA[ƒXƒXƒpƒCƒNA + ƒ†ƒsƒeƒ‹ƒTƒ“ƒ_[ ‚Č‚Į‚ð’Į‰ÁŽĀ‘• + i‘S‚āA”͈͍UŒ‚‚âƒXƒe[ƒ^ƒXˆŲí‚Č‚Į‚Í–ĒŽĀ‘•j + + pc.c/pc.h + 0213‚Ė•ÏX‚ð‚ȂЂÁ‚―‚ą‚Æ‚É‚ĩ‚― + pc_attack_mob()‚ĖCģAŒvŽZ‚Íbattle_calc_weapon_attack()‚É”C‚đA + ‚ŧ‚ĖŒvŽZŒ‹‰Ę‚ð“K—p‚·‚é‚ū‚Ŋ‚ɕύX + clif.c/clif.h + clif_skill_fail(),clif_skill_damage(),clif_skill_damage2()’Į‰Á + ‚ŧ‚ꂞ‚ęŽg—pŽļ”sAŽg—pƒGƒtƒFƒNƒgA‚Ŧ”ō‚΂ĩ•t‚ŦŽg—pƒGƒtƒFƒNƒg + skill.c/skill.h + 0213‚Ė•ÏX‚ð‚ȂЂÁ‚―‚ą‚Æ‚É‚ĩ‚―iƒ_ƒ[ƒW”{—ĶŒvŽZ‚Š‚Ļ‚Đ‚ĩ‚ǁj + skill_castend_id()‚ÉSP/ZenyŠm”F‚ƏÁ”ï•”•Š‚ð’Į‰ÁA + Ží—Þ•Ę‚Éˆ—‚ð’Į‰ÁB + battle.c/battle.h + V‹K’Į‰Á + •ŠíUŒ‚ŒvŽZ—p‚Ébattle_calc_weapon_attack(), + –‚–@UŒ‚ŒvŽZ—p‚Ébattle_calc_magic_attack()‚ð—pˆÓ + i‘o•û‚Æ‚āAMOB‚ÆPC—ž•ûŒvŽZ‰Â”\‚Ȃ͂ļj + ƒtƒ@ƒCƒ‹‘‚â‚ĩ‚·‚Ž‚Æ‚Ē‚ĪˆÓŒĐ‚āc(Šū) + + +---------- +//0214 by ‚ę‚  +Eƒ_ƒuƒ‹ƒAƒ^ƒbƒN‚Š‚Ļ‚Đ‚ĩ‚Đ‚Á‚―‚Æ‚ą‚ë‚ðCģB +EƒXƒLƒ‹‚Ėˆę•”ŽĀ‘• + ƒoƒbƒVƒ…Eƒƒ}[ƒiƒCƒgEƒ_ƒuƒ‹ƒXƒgƒŒƒCƒtƒBƒ“ƒOEƒsƒA[ƒX + ƒXƒsƒAƒu[ƒƒ‰ƒ“EƒXƒsƒAƒXƒ^ƒuEƒ{[ƒŠƒ“ƒOƒoƒbƒVƒ… + ƒ\ƒjƒbƒNƒuƒ[EƒOƒŠƒ€ƒgƒD[ƒX‚Č‚Į‚Å‚·B + + “K“–‚Ȃ˂łĮ‚ą‚ЁA•s‹ï‡‚Š‚ ‚é‚Đ‚ā‚ĩ‚ę‚Ü‚đ‚ņB + ‚ ‚ƁAƒeƒXƒg‚ā‚ ‚Ü‚č‚ĩ‚Ă܂đ‚ņ‚Ė‚Å‚Ļ‚Đ‚ĩ‚Ē‚Æ‚ą‚낊‚ ‚Á‚―‚įCģ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·B + ‘ž‚É‚ā–â‘肊‚ ‚Á‚―‚įŽč’ž‚ĩ‚ð‚ĻŠč‚Ē‚ĩ‚Ü‚·B + •ύX“ā—e‚ÍˆČ‰š‚Ė’Ę‚č‚Å‚·B + + clif.c,clif.h + clif_skill_damage()‚ð’Į‰Á‚ĩ‚Ü‚ĩ‚―B + + pc.c,pc.h + pc_attack_mob()‚Ėˆø”‚ðˆę‚Â’Į‰ÁB + ƒ_ƒuƒ‹ƒAƒ^ƒbƒN‚Š‚Ļ‚Đ‚ĩ‚Đ‚Á‚―‚˂Őģí‚É“Ūė‚·‚邿‚Ī‚ÉCģB + + skill.c + ˆę•”ƒXƒLƒ‹‚ĖŽĀ‘•‚ð‚ĩ‚Ă݂܂ĩ‚―B + + +---------- +//0213 by ‚ę‚  +E0208‚ˁ—ƒRƒ}ƒ“ƒh‚ŏ­‚ĩCģ + atcommand.c + @item‚Ԑ”Žw’肊–ģ‚Ēę‡A“üŽčŒÂ”‚ð‚PŒÂ‚É‚·‚邿‚΂ɂĩ‚―B + @item‚ÅID‚ĖŽw’肊–ģ‚Ēę‡AƒAƒCƒeƒ€‚ð“üŽč‚ĩ‚Ä‚―‚ą‚Æ‚ɂȂÁ‚Ä + ‚Ē‚―‚Ė‚ðCģ + itemdb.c + item_db.txt‚ÅSell‚Ė€–Ú‚ð“X”„‚č‚Ė’l’i‚Æ‚ĩ‚Ă݂―B + item_db2.txt + ŽŽ‚ĩ‚ɃJ[ƒh‚⃌ƒAƒAƒCƒeƒ€‚Ė“X”„‚č‰ŋŠi‚ð’l’i‚ð–{ŽI‚Ė‘Šę‚É‚ĩ + ‚Ă݂―‚ā‚ˁBŽg—p‚·‚éę‡‚Íitem_db.txt‚ƍ·‚ĩ‘ւ͂Ă­‚ū‚ģ‚ǁB + + +---------- +//0208 by nabe + +E—ƒRƒ}ƒ“ƒhŽĀ‘•B + atcommand.h,atcommand.c + ‚Ų‚ÚI-Athena‚ˁ—ƒRƒ}ƒ“ƒh‘Š“–‚Å‚·‚ЁA@GM‚ÆPVP‚Í–ĒŽĀ‘•‚Å‚·B + help.txt‚ā“ŊŦ‚ĩ‚Ăǂ܂·B + GMiƒAƒJƒEƒ“ƒgID704554`704583ję—p‚É‚·‚é‚ɂ́A + atcommand.c‚ĖŠY“–•”•Š‚ĖƒRƒƒ“ƒgƒAƒEƒg‚ð‰ðœ‚ĩ‚ĉš‚ģ‚ǁ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‚ŋ‚å‚Á‚Æ‚ū‚ŊCģB + script.c + {buildin_openstorage,"openstorage","s"}, + ‚Đ‚į + {buildin_openstorage,"openstorage",""}, + ‚ɏCģ‚ĩ‚Ü‚ĩ‚―B + + +---------- +//0206 by ŒÓ’ą—– +EƒXƒLƒ‹ƒcƒŠ[/ƒXƒLƒ‹Žg—p‹@\‚ĖŽĀ‘• + mmo.h + MAX_SKILL‚𑝂â‚ĩ‚― + char2.c + mmo_char_fromstr() + mmo_charstatus‚Ėskill‚ĖƒCƒ“ƒfƒbƒNƒX‚ɃXƒLƒ‹”ԍ†‚ðŽg‚Ī‚æ‚΂ɂĩ‚― + =>ƒXƒLƒ‹‚ĖŒŸõ‚‘މŧ‚Ė‚―‚߁i‚Đ‚í‚č‚Ƀƒ‚ƒŠŽg—p—ƂБ‚Ķ‚éj + pc.h/pc.c + pc_skillup(),pc_calc_skilltree()’Į‰Á + pc_checkskill()•ύXiƒCƒ“ƒfƒbƒNƒX‚ðƒXƒLƒ‹”ԍ†‚Ɂ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_data‚Écast_*‚ð’Į‰Á + skill_db.txt + ƒtƒ@ƒCƒ‹’Į‰Á(db/) + (I-Athena0200‚Ėskill_info2.txt‚ðƒRƒ“ƒo[ƒg‚ĩ‚―‚ā‚Ė) + (ƒXƒLƒ‹Žg—p•”•ŠŠJ”­ŽŌŒü‚Ŋî•ņ) + ƒXƒLƒ‹‚ĖŒø‰Ę‚ðŽĀ‘•‚·‚éęŠ‚Ískill.c‚Ė + skill_castend_id(),skill_castend_pos()‚Å‚·B + ƒ^[ƒQƒbƒg‚âŽg—pƒXƒLƒ‹‚Í sd->cast_* ‚Đ‚į“ū‚Ü‚· + ƒXƒLƒ‹ƒf[ƒ^ƒx[ƒX‚Ö‚Í skill_get_* ‚ŃAƒNƒZƒX‚ĩ‚Ä‚­‚ū‚ģ‚Ē + ĄŒãAƒLƒƒƒXƒeƒBƒ“ƒOƒ^ƒCƒ€‚āƒf[ƒ^ƒx[ƒX‚É“ü‚ę‚é—\’č + +---------- +//0205 by nabe + +Estorage.c‚ĖƒoƒOƒtƒBƒNƒXB +E‘qŒÉƒf[ƒ^‚ðAƒ}ƒbƒvŽI‹N“ŪŽž‚É“Į‚݁Aƒ}ƒbƒvŽII—đŽž‚É‘‚­‚æ‚Ī‚É•ÏXB + storage.h,storage.c + storage_init()‚ðdo_init_storage()‚ɉü–žB + storage_save()‚ðdo_final_storage()‚ɉü–žB + fclose‚ð–Y‚ę‚Ăǂ―‚Ė‚ð’Į‰Á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 + +EƒAƒCƒeƒ€‚ˉņ•œ—Ę‚ð’Į‰Á/•ύ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 + ‰ĐF‚Ēƒn[ƒu@@@@@@@@@HP 21- 29 + ”’‚Ēƒn[ƒu@@@@@@@@@@HP 80-111 + Â‚Ēƒn[ƒu@@@@@@@@@@SP 15- 44 + ƒŠƒ“ƒS@@@@@@@@@@@@HP 12- 15 + ƒoƒiƒi@@@@@@@@@@@@HP 11- 16 + ƒuƒhƒE@@@@@@@@@@@@SP 10- 24 + ‚Ē‚ā@@@@@@@@@@@@@HP 11- 15 + ‚É‚­@@@@@@@@@@@@@HP 70- 99 + ƒnƒ`‚˖ρ@@@@@@@@@@@HP 72- 97 / SP 20- 59 + ƒ~ƒ‹ƒN@@@@@@@@@@@@HP 25- 34 + ƒLƒƒƒ“ƒfƒB@@@@@@@@@@HP 31- 74 + ƒXƒeƒBƒbƒNƒLƒƒƒ“ƒfƒB@@@@@HP 46-109 + ƒŠƒ“ƒSƒWƒ…[ƒX@@@@@@Ķ@HP 28- 32 + ƒoƒiƒiƒWƒ…[ƒX@@@@@@@@HP 27- 33 + ƒuƒhƒEƒWƒ…[ƒX@@@@@@@@SP 15- 39 + ƒjƒ“ƒWƒ“ƒWƒ…[ƒX@@@@@Ķ@HP 29- 32 + ƒJƒ{ƒ`ƒƒ@@@@@@@@@@@HP 14 + ƒyƒbƒgƒt[ƒh@@@@@@@@@HP 53- 83 + ‚æ‚­Ä‚Ē‚―ƒNƒbƒL[@@@@@@HP 80-177 + ‚ЂƂ­‚ŋƒP[ƒL[@@@@@@@HP 251-359 + ‚Ð‚Č‚ ‚į‚ę@@@@@@@@@@HP 175-234 + •H–݁@@@@@@@@@@@@@HP 350-429 + ƒŒƒbƒhƒXƒŠƒ€ƒ|[ƒVƒ‡ƒ“@@Ķ@HP 30- 44 + ƒCƒGƒƒXƒŠƒ€ƒ|[ƒVƒ‡ƒ“@@Ķ@HP 175-234 + ƒzƒƒCƒgƒXƒŠƒ€ƒ|[ƒVƒ‡ƒ“@Ķ@HP 350-429 +@ŒŧÝ‚ĖAthena‚Å‚ÍVIT‚âƒXƒLƒ‹‚É‚æ‚éƒ{[ƒiƒX‚͉Á–Ą‚ģ‚ę‚Ü‚đ‚ņB +@i“K—p‚·‚éę‡‚Íscript.c“ā‚Ėbuildin_healŠÖ”‚ ‚―‚č‚ɂɎč‚ð‰Á‚Ķ‚é•K—v‚ ‚čj +@‚ȂρAĶ•t‚ĖƒAƒCƒeƒ€‚Ėƒf[ƒ^‚Í“K“–‚Å‚·B +EŒÃ‚ĒƒJ[ƒh’Ÿ‚ðŽĀ‘•(UseScript) +E‚ŧ‚Ė‘žCģ +@@‚Ð‚Č‚ ‚į‚ę@@@@@@@@@@d—ʂȂĩĻd—Ę0.1‚ɏCģ +@@•H–݁@@@@@@@@@@@@@d—ʂȂĩĻd—Ę0.1‚ɏCģ +@@ƒoƒ‹ƒ€ƒ“@@@@@@@@@@@d—Ę0.1S4•ÐŽčŒ•Ļd—Ę100S0—žŽčŒ•‚ɏCģ +@‚ȂρASell‚Ė€–Ú‚Í‚ ‚é‚ū‚Ŋ–ģ‘Ę‚Á‚Û‚Ē‚Ė‚Å‘S•”Á‚ĩ‚Ü‚ĩ‚―B + +---------- + +//0202 by nabe + +EƒJƒvƒ‰‘qŒÉ‚ˁu“ŊˆęƒAƒJƒEƒ“ƒg‚Ȃ˂ɋΗL‚Å‚Ŧ‚Č‚ĒƒoƒOv‚ð‰ü—Į‚ĩ‚Ü‚ĩ‚―B + ŠeƒLƒƒƒ‰‚É‘qŒÉƒf[ƒ^‚ðŽ‚―‚đ‚é‚Ė‚Í–ģ‘ƂБ―‚Ē‹C‚Š‚·‚é‚˂ŁA + ƒAƒJƒEƒ“ƒgID‚ÅŠĮ—‚·‚邿‚Ī‚ÉŽd—l‚ð•ύX‚ĩ‚Ü‚ĩ‚―B + ‚Â‚Ē‚Å‚ÉA‘qŒÉƒf[ƒ^‚Í‘S‚Ästorage.c‚Å‚Ü‚Đ‚Č‚ĒA + charŽI‚ÍŠÖ—^‚ĩ‚Ȃǂæ‚΂ɂĩ‚Ü‚ĩ‚―B + ‚ą‚ę‚É”š‚ǁAchar_athena.cnf,mmo.h,char2.c‚ÍŒģ‚É–ß‚ĩ‚Ü‚ĩ‚―B + ‚Ü‚―A‘qŒÉƒtƒ@ƒCƒ‹–ž‚́gstorage.txth‚ɌŒč‚ĩ‚Ăǂ܂·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 + +EƒJƒvƒ‰‘qŒÉ‚ðŽĀ‘•‚ĩ‚Ü‚ĩ‚―B + + ƒXƒNƒŠƒvƒg‚Đ‚įŒÄ‚Ņo‚·‚ɂ́AƒXƒNƒŠƒvƒg“ā‚Å + openstorage; + ‚Æ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB + ƒTƒ“ƒvƒ‹‚Æ‚ĩ‚Änpc_kafraJ.txt‚ð•t‚Ŋ‚Ä‚ ‚č‚Ü‚·B + •đ‚đ‚Änpc_script3J.txt‚ĖŠY“–•”•Š‚ā‰ü•Ï‚ĩ‚Ü‚ĩ‚―B + + char_athena.cnf‚Ė + stor_txt: + ‚Å‘qŒÉƒtƒ@ƒCƒ‹–ž‚ðŽw’č‚ĩ‚Ăǂ܂·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 + Ú‚ĩ‚­‚́Aã‹Lƒtƒ@ƒCƒ‹‚ĖƒRƒƒ“ƒg‚Č‚Į‚ðŽQl‚É‚ĩ‚Ä‚­‚ū‚ģ‚ǁB + +EƒJƒvƒ‰‘qŒÉŽĀ‘•‚É”š‚ǁAmap_athena1.cnf‚ð­‚ĩ‘‚ŦŠ·‚͂܂ĩ‚―B + +E‘S‚Ä‚ĖƒRƒƒ“ƒg•ķ‚ðEUC‚Đ‚įSJIS‚ɕϊ·‚ĩ‚Ü‚ĩ‚―B + +---------- + + Athena Dev. v2.1.1 Released: Middle July, 2003 + (c) 2003 Athena Project. + http://project-yare.de/ + +1. Athena(ƒAƒeƒi)‚É‚Â‚Ē‚Ä +2. ‚ą‚ĖƒŠƒŠ[ƒX‚É‚Â‚Ē‚Ä +3. •K—v‚Č•Ļ +4. Žg‚Ē•û +5. ŒŧÝ‚ĖŽd—l +6. jŽŦ +7. –Ɛӎ–€ +8. •åW +9. English + + +1. ƒAƒeƒi‚É‚Â‚Ē‚Ä + ƒAƒeƒi‚Æ‚Í2003”N1ŒŽ”ž‚΂ɂł―0052.lzh‚ðƒx[ƒX‚Æ‚ĩ‚čė‚į‚ę‚ĂǂéƒGƒ~ƒ…ƒŒ[ƒ^‚Ėˆę‚‚ł·B + Šî–{“I‚Čƒ‰ƒCƒZƒ“ƒX‚̓IƒŠƒWƒiƒ‹‚ŠGPL‚ˉš‚É”z•z‚ģ‚ę‚ĂǂéˆŨA + ‚ą‚ę‚ɏ]‚ĒGPL‚ˉš”z•z‚ð‹–‰Â‚ĩ‚Ü‚·B + /* + ‰ü—Į”Å‚ð”z•z‚·‚éę‡‚Í•K‚ļ‚ą‚ĖREADME‚ð‘‚ŦŠ·‚͂Ă­‚ū‚ģ‚ǁB + ‰―ˆ‚ð‰ü—Į‚ĩ‚―‚Ė‚Đ•ņ(athena@project-yare.de‚Ü‚Å)‚ĩ‚Ä–á‚͂邯•‚Đ‚č‚Ü‚·B + ƒoƒCƒiƒŠ‚Ė‚Ý‚Ė”z•z‚ÍGPLˆá”―‚Å‚·‚Ė‚Å"•K‚ļ"ƒ\[ƒX‚ā“Y•t‚ĩ‚Ä‚­‚ū‚ģ‚ǁB + */ + “Ūė‚ĖŠm”F‚ÍˆČ‰š‚Ė’Ę‚č‚Ė‚Ýs‚Á‚Ăǂ܂·B + // ‚―‚ū‚ĩŠŪ⸂ɓۂ­Ž–‚ð•ۏ؂·‚é‚ā‚˂ł ‚č‚Ü‚đ‚ņ + ‘ΏÛCPU: Intel PentiumŒn // PentiumIIˆČã‚ÅŠm”F. + FreeBSD 4.8R, 4.6.2R + Linux RedHat 7.3 + cygwin + gcc 3.2 20020927 (prerelease) + ŠJ”­ŒģURL: http://project-yare.de/ + + +2. ‚ą‚ĖƒŠƒŠ[ƒX‚É‚Â‚Ē‚Ä + Ą‰ņ‚ĖƒŠƒŠ[ƒX‚Í‘O‰ņ(V2.1)“Ŋ—lŠJ”­”Å‚ĖƒŠƒŠ[ƒX‚Ė‚Ý‚Å‚·B + 2.1‚É”ä‚Ũ‰š‹L‚Ė“_‚ŠCģ‚ģ‚ę‚Ăǂ܂·B + map‚ĖƒfƒtƒHƒ‹ƒgÝ’č‚ŠŠØ‘data.grf‚Ė‚Ýģí‚É“Ūė‚·‚邿‚΂ɂȂÁ‚Ăǂ―“_ + common/timer.c‚âmap/script.c‚ĖŠô‚Â‚Đ‚ĖƒoƒO + + v‘Ž‚ÉUpdate‚ð‹­‚­„§‚·‚é‚ā‚Ė‚Å‚Í‚ ‚č‚Ü‚đ‚ņ‚ŠŠeŽĐ‚Ė”ŧ’f‚ōs‚Á‚ĉš‚ģ‚ǁB + + +3. •K—v‚Č•Ļ + data.grf //sdata.grf‚Í•K—v‚ɉž‚ķ‚Ä + account.txt //‘ķÝ‚ĩ‚Č‚Ēę‡athena.sh‚ŠŽĐ“ŪķŽ‚ĩ‚Ü‚· + conf/*.cnf //Map—p‚ÆChar—p‚Ė“ņŽí—Þ‚ ‚č‚Ü‚· + conf/npc*.txt //npcÝ’č—pƒtƒ@ƒCƒ‹‚Å‚·B•Ą”‚Ėƒtƒ@ƒCƒ‹‚ɕЂŊ‚邹‚Æ‚Š‰Â”\‚Å‚·B + db/*.txt //ƒAƒCƒeƒ€Ajobî•ņ‚Č‚Į + + +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 + ã‹L‚ðs‚Ķ‚Î"‚―‚Ô‚ņ"‹N“Ū‚ĩ‚Ü‚·B + + •â‘Ŧ: + conf/npc_sampleJ.txt‚ɂ̓XƒNƒŠƒvƒg‚Ė‘‚Ŧ•û‚É‚Â‚Ē‚ÄFX‚Ȑā–ū‚Š‹LÚ‚ģ‚ę‚Ăǂ܂·B + ‚ā‚ĩA“ÆŽĐ‚ĖMapÝ’č‚ðs‚Á‚Ă݂―‚ǐl‚âAƒXƒNƒŠƒvƒg‚ð˜M‚č‚―‚Ē•û‚ÍŽQl‚É‚ĩ‚Ä‚­‚ū‚ģ‚ǁB + ‚―‚ū‚ĩAŠJ”­’†‚Ė‚―‚߃XƒNƒŠƒvƒg‚ĖŽd—l‚Š•ÏX‚ģ‚ę‚é‰Â”\Ŧ‚Š‚‚ǂł·B + command.txt‚É‚ÍŽĀ‘•Ï‚Ý‚Ė“ÁŽęƒRƒ}ƒ“ƒh‚É‚Â‚Ē‚Ä‚Ėā–ū‚ð‹LÚ‚ĩ‚Ăǂ܂·B + + +5. ŒŧÝ‚ĖŽd—l + –{ŽI‚Æ”ä‚Ũ‚Ä‚Ļ‚Đ‚ĩ‚Ē(—á‚Ķ‚Îƒvƒo‚Е₭Aƒ|ƒŠƒ“‚ŠƒAƒCƒeƒ€‚ðE‚í‚ȂǂȂĮ)“_‚́A + ‘S‚ÄŒŧÝŠJ”­’†‚Ɉö‚é‚ā‚˂ł·B + Œŧó‚Æ‚ĩ‚ăLƒƒƒ‰ƒNƒ^Œn‹y‚Ņƒ‚ƒ“ƒXƒ^[Œn‚ĖƒoƒO•ņ‚Í–ģŽ‹‚ģ‚ę‚é‰Â”\Ŧ‚Š‚‚ǂł·B + + ƒoƒO•ņ‚É‚Â‚Ē‚Ä•K‚ļ”­ķðŒ‚ð‚Ļ‘‚Ŧ‰š‚ģ‚ǁB + ‰š‚É‚ ‚é•ņ—pƒeƒ“ƒvƒŒ[ƒg‚ðŽg‚Á‚Ä•ņ‚ĩ‚Ä’ļ‚­‚Ə•‚Đ‚č‚Ü‚·B + •ņæ‚̓Gƒ~ƒ…”Â‚ĖŠJ”­ƒXƒŒ‚ɂłāB + ---- Athena v 2.0 (stable or develop) ---- + ygcc verzgcc -v‚ðŽĀsŽž‚É•\ŽĶ‚ģ‚ę‚é“ā—e + y“ŪėƒVƒXƒeƒ€zFreeBSD, Linux(ƒfƒBƒXƒgƒŠƒrƒ…[ƒWƒ‡ƒ“‚ā), cygwin‚Č‚Į + y”­ķ“ā—ezmap‚Š—Ž‚ŋ‚Ä‚ĩ‚Ü‚Á‚―Žž‚Ė•\ŽĶ‚ģ‚ę‚Ăǂ―ƒfƒoƒbƒOî•ņ‚Č‚Į‹ï‘Ė“I‚ɏ‘‚ǂĂ­‚ū‚ģ‚ǁB + y‘€ė“ā—ez‹ï‘Ė“I‚É‚Į‚ņ‚Č‘€ė‚ðs‚Á‚―‚Đ‚ð‘‚Ē‚Ä‚­‚ū‚ģ‚ǁB + ------------------ END ------------------- + —‘z‚̓eƒ“ƒvƒŒ‚ɉÁ‚Ķ‚Ämap.core‚Č‚Įcoreƒtƒ@ƒCƒ‹‚ðUploader‚ɃAƒbƒv‚ĩ‚Ä’ļ‚­‚ą‚Æ‚Å‚·‚Š + –â‘č‚ĖMap‚ū‚Ŋ‚Ėó‘Ô‚É‚ĩcore‚Ė“f‚­—e—ʂɒˆÓ‚ĩ‚Ä‚­‚ū‚ģ‚ǁB + /* + Šm”F‚ĩ‚―ŒĀ‚č‚Å‚Í324ŒÂ‚Ų‚Įmapƒf[ƒ^‚ð“Į‚ݍž‚Ü‚đ‚邯A + 40MB‹ß‚Ēcoreƒtƒ@ƒCƒ‹‚ð“f‚Ŧo‚ĩ‚Ü‚· @FreeBSD + cygwin‚Ėę‡‚Ístackdump‚Æ‚Ē‚Īƒtƒ@ƒCƒ‹‚ɂȂé‚ŧ‚΂ł·B + ‚ĩ‚Đ‚ĩAcoreƒtƒ@ƒCƒ‹‚Č‚Į‚ðgzipˆģk‚Č‚Į‚·‚ę‚Α啝‚ÉŽ‚ģ‚­‚Č‚č‚Ü‚·B + ‘å–}30MB‚Ėcoreƒtƒ@ƒCƒ‹‚Š2.9MB‚Ų‚Į‚ɂȂ邿‚΂ł·B + ‚Å‚·‚˂ŁA‚ā‚ĩƒAƒbƒvƒ[ƒh‚·‚éę‡‚Ígzipˆģk‚Č‚ĮŠeŽĐs‚Á‚Ä‚­‚ū‚ģ‚ǁB + */ + + Ą‰ņ‚ĖƒŠƒŠ[ƒX‚ū‚Ŋ‚łȂ­HISTORY‚ðėŽ‚·‚邯‘å—ʂɋLq‚Š•K—v‚ČˆŨČ—Š‚ĩ‚Ăǂ܂·B + // ‘―‚Ē“ú‚ū‚Æ–{“–‚ÉŒ‹\‚ ‚č‚Ü‚·‚˂ŁddB + + +6. jŽŦ + Ą‰ņ‚ą‚ĖAthenaŠJ”­”Å‚ðo‚·‚É“–‚―‚Á‚ÄŠīŽÓ‚ĩ‚―‚Ē•ûX(‡”Ô•s“Ŋ) + Lemmingށ (Project YARE) + 0052ށ (Uploader) + 35ށ (ƒGƒ~ƒ…ŠJ”­ƒXƒŒ) + Johan Lindhށ(Author of memwatch) + YARE forum‚ĖNPCî•ņ‚ðėŽ‚ĩ‚―•ûX + weissŒĪ‹†‰ïBBS‚Ė—lX‚ȏî•ņƒtƒ@ƒCƒ‹‚ðėŽ‚ĩ‚―•ûX + ÅŒã‚ɁA.coreƒtƒ@ƒCƒ‹’B + + +7. –Ɛӎ–€ + Athena Project‚ÍˆęØAthena‚Ė“Ūė‚ÉŠÖ‚·‚é•ۏؓ™‚͍s‚ǂ܂đ‚ņB + ‚‚܂čAAthena‚Í–ģ•ۏ؂ł·B + athena@project-yare.de‚É“ŪėE‘€ė“™‚ÉŠÖ‚·‚éŽŋ–â‚Č‚Į‚ð‘—‚į‚ę‚Ä‚āˆęØ‚Ļ“š‚͂łŦ‚Ü‚đ‚ņB + –”Athena‚ð—p‚Ē‚―‚ą‚Æ‚É‚æ‚čķ‚ķ‚―”íŠQE–â‘č“™‚ːӔC‚ÍˆęØAthena Project‚Í•‰‚ǂ܂đ‚ņB + + +8. •åW + athena‚ĖŠJ”­‚ÉŽQ‰Á‚ĩ‚―‚Ē//‹ŧ–Ą‚Š‚ ‚邯‚ǂΕû‚ē˜A—‰š‚ģ‚ǁB + ‰äX‚Í‹M•û‚ĖŽQ‰Á‚ð‚ϑԂŋ‚ĩ‚Ăǂ܂·B + // ÅV”łЗ~‚ĩ‚Ē‚ū‚Ŋ‚ʼn―‚į‹Ķ—Í‚ĩ‚Ä’ļ‚Ŋ‚Č‚Ē‚Æ‚Ē‚Ī•û‚Í‚Ļ’f‚č‚Å‚·;-) + [•åW—v€: ƒvƒƒOƒ‰ƒ}(2-3l)] + ”N—î: •s–â + Ŧ•Ę: •s–â + ŒūŒę: “ú–{Œę‚Š—‰ð‰Â”\ + “ā—e: CŒūŒę‚ā‚ĩ‚­‚ÍC++‚É‚æ‚éŠJ”­B(“Á‚Ƀlƒbƒgƒ[ƒN‚âDB‚ĖŒoŒą‚Š—L‚é•û‘å•åW!) + [•åW—v€: –|–ó(?l)] + ”N—î: •s–â + Ŧ•Ę: •s–â + ŒūŒę: “ú–{ŒęA‰pŒę‚Š—‰ð‰Â”\ + “ā—e: •§—–žŒęA“ƈíŒęAž”Į‰åŒęAˆÉ‘ū—˜ˆŸŒęA‘Ũ(ƒ^ƒC)ŒęA’Đ‘NŒęA’†‘Œę‚Ö•ķŒĢAƒTƒCƒg‚Č‚Į‚Ė–|–ó + ˜A—æ: athena@project-yare.de ŽG–ą’S“–‚܂ŁB + + +9. English + This release is just fixed some bugs in timer.c, script.c and map_athena1.conf. + + +(c) 2003 Athena Project. diff --git a/Readme2.txt b/Readme2.txt index acbe2703f..cedb7cbb3 100644 --- a/Readme2.txt +++ b/Readme2.txt @@ -1,30 +1,30 @@ - ______ __ __ - /\ _ \/\ \__/\ \ - __\ \ \L\ \ \ ,_\ \ \___ __ ___ __ - /'__`\ \ __ \ \ \/\ \ _ `\ /'__`\/' _ `\ /'__`\ -/\ __/\ \ \/\ \ \ \_\ \ \ \ \/\ __//\ \/\ \/\ \L\.\_ -\ \____\\ \_\ \_\ \__\\ \_\ \_\ \____\ \_\ \_\ \__/.\_\ - \/____/ \/_/\/_/\/__/ \/_/\/_/\/____/\/_/\/_/\/__/\/_/ - _ _ _ _ _ _ _ _ _ _ _ _ _ - / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ -( e | n | g | l | i | s | h ) ( A | t | h | e | n | a ) - \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ - - --------------------------------------------------------------- -eAthena VERSION --------------------------------------------------------------- -Version 1.0.0 DEV-SVN --------------------------------------------------------------- - -Please read new HTML readme at: -./readme.html - --------------------------------------------------------------- --------------------------------------------------------------- -License: --------------------------------------------------------------- -eAthena is licensed under the GPL. Please refer to LICENSE in -your Athena folder for the full GPL License statement. --------------------------------------------------------------- --------------------------------------------------------------- + ______ __ __ + /\ _ \/\ \__/\ \ + __\ \ \L\ \ \ ,_\ \ \___ __ ___ __ + /'__`\ \ __ \ \ \/\ \ _ `\ /'__`\/' _ `\ /'__`\ +/\ __/\ \ \/\ \ \ \_\ \ \ \ \/\ __//\ \/\ \/\ \L\.\_ +\ \____\\ \_\ \_\ \__\\ \_\ \_\ \____\ \_\ \_\ \__/.\_\ + \/____/ \/_/\/_/\/__/ \/_/\/_/\/____/\/_/\/_/\/__/\/_/ + _ _ _ _ _ _ _ _ _ _ _ _ _ + / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ +( e | n | g | l | i | s | h ) ( A | t | h | e | n | a ) + \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ + + +-------------------------------------------------------------- +eAthena VERSION +-------------------------------------------------------------- +Version 1.0.0 DEV-SVN +-------------------------------------------------------------- + +Please read new HTML readme at: +./readme.html + +-------------------------------------------------------------- +-------------------------------------------------------------- +License: +-------------------------------------------------------------- +eAthena is licensed under the GPL. Please refer to LICENSE in +your Athena folder for the full GPL License statement. +-------------------------------------------------------------- +-------------------------------------------------------------- diff --git a/athena-start b/athena-start index f21dccf71..92d49c2ef 100644 --- a/athena-start +++ b/athena-start @@ -1,84 +1,84 @@ -#!/bin/sh -# athena starting script by rowla - -PATH=./:$PATH - -L_SRV=login-server -C_SRV=char-server -M_SRV=map-server -L_SRV_C=./conf/login_athena.conf -C_SRV_C=./conf/char_athena.conf -C_SRV_C2=./conf/inter_athena.conf -M_SRV_C=./conf/map_athena.conf -M_SRV_C2=./conf/battle_athena.conf -M_SRV_C3=./conf/atcommand_athena.conf -M_SRV_C4=./conf/script_athena.conf -M_SRV_C5=./conf/msg_athena.conf -M_SRV_C6=./conf/grf-files.txt - -print_start() { -# more << EOF -echo "Athena Starting..." -echo " (c) 2003 Athena Project." -echo " URL:http://project-yare.de/" -echo "" -echo "Debug informations will appear," -echo "since this is a test release." -echo "" -echo "checking..." -#EOF -} - -check_account() { - if [ ! -f ./save/account.txt ]; then - echo "0 s1 p1 - S 0" > save/account.txt - echo "1 s2 p2 - S 0" >>save/account.txt - echo "2 s3 p3 - S 0" >>save/account.txt - echo "3 s4 p4 - S 0" >>save/account.txt - echo "4 s5 p5 - S 0" >>save/account.txt - fi -} - -check_files() { - - for i in ${L_SRV} ${C_SRV} ${M_SRV} ${L_SRV_C} ${C_SRV_C} ${C_SRV_C2} ${M_SRV_C} ${M_SRV_C2} ${M_SRV_C3} ${M_SRV_C4} ${M_SRV_C5} ${M_SRV_C6} - do - if [ ! -f ./$i ]; then - echo "$i does not exist, or can't run." - echo "Stoped, Check your compile or configuration file." - exit 1; - fi - done - -# more << EOF -echo "Check done." -echo "Looks good, have a nice athena!" -#EOF -} - - -case $1 in - 'start') - print_start - check_account - check_files - - exec ./${L_SRV} ${L_SRV_C}& -# exec ./${C_SRV} ${C_SRV_C} ${C_SRV_C2} > /dev/null& -# exec ./${M_SRV} ${M_SRV_C} ${M_SRV_C2} > /dev/null& - exec ./${C_SRV} ${C_SRV_C} ${C_SRV_C2}& - exec ./${M_SRV} ${M_SRV_C} ${M_SRV_C2} ${M_SRV_C3} ${M_SRV_C4} ${M_SRV_C5} ${M_SRV_C6}& - - echo "Now Started Athena." -;; - 'stop') - ps ax | grep -E "${L_SRV}|${C_SRV}|${M_SRV}" | awk '{print $1}' | xargs kill -9 - ;; - 'restart') - $0 stop - $0 start - ;; - *) - echo "Usage: athena-start { start | stop | restart }" - ;; -esac +#!/bin/sh +# athena starting script by rowla + +PATH=./:$PATH + +L_SRV=login-server +C_SRV=char-server +M_SRV=map-server +L_SRV_C=./conf/login_athena.conf +C_SRV_C=./conf/char_athena.conf +C_SRV_C2=./conf/inter_athena.conf +M_SRV_C=./conf/map_athena.conf +M_SRV_C2=./conf/battle_athena.conf +M_SRV_C3=./conf/atcommand_athena.conf +M_SRV_C4=./conf/script_athena.conf +M_SRV_C5=./conf/msg_athena.conf +M_SRV_C6=./conf/grf-files.txt + +print_start() { +# more << EOF +echo "Athena Starting..." +echo " (c) 2003 Athena Project." +echo " URL:http://project-yare.de/" +echo "" +echo "Debug informations will appear," +echo "since this is a test release." +echo "" +echo "checking..." +#EOF +} + +check_account() { + if [ ! -f ./save/account.txt ]; then + echo "0 s1 p1 - S 0" > save/account.txt + echo "1 s2 p2 - S 0" >>save/account.txt + echo "2 s3 p3 - S 0" >>save/account.txt + echo "3 s4 p4 - S 0" >>save/account.txt + echo "4 s5 p5 - S 0" >>save/account.txt + fi +} + +check_files() { + + for i in ${L_SRV} ${C_SRV} ${M_SRV} ${L_SRV_C} ${C_SRV_C} ${C_SRV_C2} ${M_SRV_C} ${M_SRV_C2} ${M_SRV_C3} ${M_SRV_C4} ${M_SRV_C5} ${M_SRV_C6} + do + if [ ! -f ./$i ]; then + echo "$i does not exist, or can't run." + echo "Stoped, Check your compile or configuration file." + exit 1; + fi + done + +# more << EOF +echo "Check done." +echo "Looks good, have a nice athena!" +#EOF +} + + +case $1 in + 'start') + print_start + check_account + check_files + + exec ./${L_SRV} ${L_SRV_C}& +# exec ./${C_SRV} ${C_SRV_C} ${C_SRV_C2} > /dev/null& +# exec ./${M_SRV} ${M_SRV_C} ${M_SRV_C2} > /dev/null& + exec ./${C_SRV} ${C_SRV_C} ${C_SRV_C2}& + exec ./${M_SRV} ${M_SRV_C} ${M_SRV_C2} ${M_SRV_C3} ${M_SRV_C4} ${M_SRV_C5} ${M_SRV_C6}& + + echo "Now Started Athena." +;; + 'stop') + ps ax | grep -E "${L_SRV}|${C_SRV}|${M_SRV}" | awk '{print $1}' | xargs kill -9 + ;; + 'restart') + $0 stop + $0 start + ;; + *) + echo "Usage: athena-start { start | stop | restart }" + ;; +esac diff --git a/char-server.sh b/char-server.sh index 39c1882ad..6cddf373c 100644 --- a/char-server.sh +++ b/char-server.sh @@ -1,16 +1,16 @@ -#/bin/sh -#Hi my naem is Kirt and I liek anime - -ulimit -Sc unlimited - -while [ 3 ] ; do -if [ -f .stopserver3 ] ; then -echo server marked down >> servlog.txt -else -echo restarting server at time at `date +"%m-%d-%H:%M-%S"`>> startlog.txt -./char-server -fi - -sleep 5 - -done +#/bin/sh +#Hi my naem is Kirt and I liek anime + +ulimit -Sc unlimited + +while [ 3 ] ; do +if [ -f .stopserver3 ] ; then +echo server marked down >> servlog.txt +else +echo restarting server at time at `date +"%m-%d-%H:%M-%S"`>> startlog.txt +./char-server +fi + +sleep 5 + +done diff --git a/charserv.bat b/charserv.bat index 75b3e7dc5..69900c7ec 100644 --- a/charserv.bat +++ b/charserv.bat @@ -1,4 +1,4 @@ -@echo off -:charserv -start /min /wait char-server.exe conf\char_athena.conf +@echo off +:charserv +start /min /wait char-server.exe conf\char_athena.conf goto charserv \ No newline at end of file diff --git a/conf-tmpl/GM_account.txt b/conf-tmpl/GM_account.txt index 170253c5f..a7acfa038 100644 --- a/conf-tmpl/GM_account.txt +++ b/conf-tmpl/GM_account.txt @@ -1,35 +1,35 @@ -// GM‚Æ‚ĩ‚Ä”FŽŊ‚·‚éƒAƒJƒEƒ“ƒgID‚ðÝ’č -// -// -// GM‚ĖƒŒƒxƒ‹‚Í0ˆČ‰š‚Í–ģŽ‹‚ōőå‚Í99 -704554 99 -704555 1 -704556 1 -704557 1 -704558 1 -704559 1 -704560 1 -704561 1 -704562 1 -704563 1 -704564 1 -704565 1 -704566 1 -704567 1 -704568 1 -704569 1 -704570 1 -704571 1 -704572 1 -704573 1 -704574 1 -704575 1 -704576 1 -704577 1 -704578 1 -704579 1 -704580 1 -704581 1 -704582 1 -704583 1 -794584 1 +// GM‚Æ‚ĩ‚Ä”FŽŊ‚·‚éƒAƒJƒEƒ“ƒgID‚ðÝ’č +// +// +// GM‚ĖƒŒƒxƒ‹‚Í0ˆČ‰š‚Í–ģŽ‹‚ōőå‚Í99 +704554 99 +704555 1 +704556 1 +704557 1 +704558 1 +704559 1 +704560 1 +704561 1 +704562 1 +704563 1 +704564 1 +704565 1 +704566 1 +704567 1 +704568 1 +704569 1 +704570 1 +704571 1 +704572 1 +704573 1 +704574 1 +704575 1 +704576 1 +704577 1 +704578 1 +704579 1 +704580 1 +704581 1 +704582 1 +704583 1 +794584 1 diff --git a/conf-tmpl/atcommand_athena.conf b/conf-tmpl/atcommand_athena.conf index a33be2ae9..f0add1f2e 100644 --- a/conf-tmpl/atcommand_athena.conf +++ b/conf-tmpl/atcommand_athena.conf @@ -1,644 +1,644 @@ -// Athena atcommand Configuration file. -// Translated by Peter Kieser - -// Set here the symbol that you want to use for your commands -// Only 1 character is get (default is '@'). You can set any character, -// except control-character (0x00-0x1f), '%' (party chat speaking) and '/' (standard ragnarok GM commands) -// With default character, all commands begin by a '@': @revive -command_symbol: @ - - -// Sets the level of the users that can use the GM commands. -// : level -// When battle_athena.conf has atcommand_gm_only set to no, -// normal players (gm level 0) can use GM commands if you set 0 to the command level. -// Max GM level is 99. If you want forbid a command to all people, set it with level 100. - -// Default values are set to define different GM levels like follow: -// 0: normal player -// -> no special advantage (only @time to know time and if at_command_gm_only is disabled) -// 1: Super player -// -> some (very) little advantages: storage, petrename, etc... -// 10: Super player+ -// -> same of Super player with !go (very super player) -// 20: Mediator -// -> it's a GM that only need to know people, and move to their to speak with them (they can access to any command about wisps) -// 40: Sub-GM -// -> This GM can help a GM, and can not create item or zeny or modify a character (can have some information commands) -// 50: Sub-GM+ -// -> This GM can change some non-important things on a character -// 60: GM -// -> can do almost anything (excep administration, and mass commands) -// GM is the first level where we can modify a character with important value, create items or create zenys -// 80: GM Chief -// -> can do anything, except administration commands -// 99: Administrator -// -> can do anything! - - -//-------------------------- -// 0: normal player commands - -// Give server time. (6 same commands) -time: 0 -date: 0 -server_date: 0 -serverdate: 0 -server_time: 0 -servertime: 0 - -// Display your ignore list (people from which you ignore wisps) -ignorelist: 0 - -// To change your (own) email (characters protection) -// note: this command doesn't check email itself, but check structure of the email (xxx@xxx) -// if you want be sure of each e-mail disable this option (value: 100) -email: 0 - -// To become GM (need password; password is set in login_athena.conf). -// special!: only a non-GM (player with gm level 0) need to have this command. -// if you change the value, be sure of what you do! -// To be able to create a gm with @gm, you must: -// - give a level to level_new_gm (parameter of login_athena.conf) (not 0) -// - enable to level 0 the @gm command (atcommand_athena.conf) (default 100) - Only level 0 can give access to this command -// - enable gm commands to normal player (battle_athena.conf, atcommand_gm_only parameter) -// - and normal player must give correct password when he use the @gm command (gm_pass paramter in login_athena.conf) -gm: 100 - - -//------------------------- -// 1: Super player commands - -// Suicide your character. -die: 1 - -// Enables you to rename your pet. -petrename: 1 - -party: 1 - -// Brings up your personal storage wherever you are. -storage: 1 - -// Locate someone on a map, returns your coordinates if the person isn't on. -where: 1 - - -//--------------------------- -// 10: Super player+ commands - -// Spawns you to set points in major cities. -go: 10 - - -//---------------------- -// 20: Mediator commands - -// Displays helpfile in Athena base directory (2 same commands). -help: 20 -h: 20 - -// Warp yourself to a person (3 same commands + /shift). -jumpto: 20 -goto: 20 -warpto: 20 - -// follow a player (including warping to them) -follow: 20 - -// Disconnects a user from the server (1 command + right click menu for GM "(name) force to quit"). -kick: 20 - -// Changes your apperance. -model: 20 - -// To get a peco to (un)ride -mountpeco: 20 - -// Returns list of logged in characters with their position (2 same commands). -who: 20 -whois: 20 - -// Returns list of logged in characters with their job. -who2: 20 - -// Returns list of logged in characters with their party/guild. -who3: 20 - -// Returns list of logged in characters with their position in a specifical map. -whomap: 20 - -// Returns list of logged in characters with their job in a specifical map. -whomap2: 20 - -// Returns list of logged in characters with their party/guild in a specifical map. -whomap3: 20 - -// Like @who+@who2+who3, but only for GM. -whogm: 20 - -// Change your appearence to other players to a mob. -disguise: 20 - -//Restore your normal appearance. -undisguise: 20 - -// Display ignore list of a player (people from which the player ignore wisps) -charignorelist: 20 - -// Enable all wispers for a player -inall: 20 - -// Disable all wispers for a player -exall: 20 - - -//-------------------- -// 40: Sub-GM commands - -// Broadcast to the whole server. Using (1 command + /nb, /b). -broadcast: 40 - -// Broadcast to the map you are on (1 command + /lb, /nlb). -local_broadcast: 40 - -// Broadcast (with or without name). -kami: 40 -kamib: 40 - -// Enables you to go to a certain map, at (x,y) coordinates. (@mapmove + /mm or /mapmove) -mapmove: 40 - -// Enables you to view other characters stats. -charstats: 40 - -// Shows Stats Of All Characters Online -charstatsall: 40 - -// Enables GVG on a map (2 same commands). -gvgon: 40 -gpvpon: 40 - -// Turns GVG (Guild v. Guild) off on a map (2 same commands). -gvgoff: 40 -gpvpoff: 40 - -// Heals a person to full HP/SP. -heal: 40 - -// GM Hide (enables you to be invisible to characters, and most monsters) (1 command + /hide). -hide: 40 - -// Changes your job to one you specify (2 same commands). -job: 40 -jobchange: 40 - -// Enables you to to jump randomly on a map (that you are already on). -jump: 40 - -// Warps you to your last save point (2 same commands). -return: 40 -load: 40 - -// Enables lost skills. -lostskill: 40 - -// Saves a warp point. -memo: 40 - -// Set your character display options. (Visual effects of your character) -option: 40 - -//Makes an egg -makeegg: 40 - -//Hatches an egg -hatch: 40 - -// Sets the level of intemecy of your pet. -petfriendly: 40 - -// Sets hunger level of your pet. -pethungry: 40 - -// Turns PVP (Person v. Person) off on a map. -pvpoff: 40 - -// Enables PVP on a map. -pvpon: 40 - -// Enables platinum skills. -questskill: 40 - -// Sets the speed you can walk/attack at. Default is 150. -speed: 40 - -// Enables spirit sphere balls. -spiritball: 40 - -// Warp yourself to a certain map, at (x,y) coordinates (2 same commands). -rura: 40 -warp: 40 - -// Changes GM clothes color (2 same commands) -dye: 40 -ccolor: 40 - -// Changes GM hair style (2 same commands) -hairstyle: 40 -hstyle: 40 - -// Changes GM hair color (2 same commands) -haircolor: 40 -hcolor: 40 - -// Deletes all your items. -itemreset: 40 - -// Kill all monsters in map (without drops) -killmonster2: 40 - -// Sets your spawn point (aka save point). -save: 40 - -// Do some visual effect on your character -effect: 40 - -// Display all items of a player -charitemlist: 40 - -// Display all items of a player's storage -charstoragelist: 40 - -// Display all items of a player's cart -charcartlist: 40 - -// drop all your items -dropall: 40 - -// store all your items -storeall: 40 - -// allow other players to hit you out of pvp -killable: 40 - -// look up a skill by name -skillid: 40 - -// use a skill by id -useskill: 40 - -// make another player killable -charkillable: 40 - -//--------------------- -// 50: Sub-GM+ commands - -// Changes character's model -charmodel: 50 - -guild: 50 - -// Brings up your guild storage wherever you are. -gstorage: 50 - -// Spawns a monster, and a certain amount (3 same commands + /monster). -spawn: 50 -monster: 50 -summon: 50 - -// Spawns a monster with parameters not in same order of @spawn. -monster2: 50 - -// To get a peco to (un)ride for another player. -charmountpeco: 50 - -// Enables to give possibility to a player to rename his/her pet. -charpetrename: 50 - - -//---------------- -// 60: GM commands - -// Starts Guild Wars -agitstart: 60 - -// Ends Guild Wars -agitend: 60 - -// Resurects yourself. -alive: 60 - -// Levels your character to specified level (adds to your level) (3 same commands). -lvup: 60 -baselvlup: 60 -blevel: 60 - -// Raises your job level (3 same commands). -joblvup: 60 -joblvlup: 60 -jlevel: 60 - -// Sets another persons base level. -charbaselvl: 60 - -// Changes the sex of an online player (all characters on the account) -charchangesex: 60 - -// Remove items from a character -chardelitem: 60 - -// Sets another persons job level. -charjlvl: 60 - -// Sets the job of another character (2 same commands). -charjob: 60 -charjobchange: 60 - -// Set options on another character. -charoption: 60 - -// Gives another character status points -charstpoint: 60 - -// Gives another character skill points -charskpoint: 60 - -// Resets another character's stats -charreset: 60 - -// Resets another character's status, skills -charstreset: 60 -charskreset: 60 - -// Saves the respawn point of another character. -charsave: 60 - -// Changes another character's zenny -charzeny: 60 - -// Levels your guild to specified level (2 same commands). -guildlvup: 60 -guildlvlup: 60 - -idsearch: 60 - -// Creates an item of your choosing, either Item ID or Name (1 command + /item). -item: 60 - -// Creates a complet item (card, etc...) of your choosing, either Item ID or Name. -item2: 60 - -// ?? -itemcheck: 60 - -// Kill another character without hitting them. -kill: 60 - -// Kill all monsters in map (with drops) -killmonster: 60 - -// Creates yourself a pet egg, have to use Pet ID. -makeegg: 60 - -// Instantly kills player whose name is entered and deals insane damage to everything around. -// Disabled for now -//nuke: 60 - -// Enable hitting a player even when not in pvp -killer: 60 - -// Creates weapon of desired element. -produce: 60 - -// Warps a character to you (1 command + /recall). -recall: 60 - -// Refines all weapons in your items list. -refine: 60 - -// Will repair all broken items in inventory. -repairall: 60 - -// Revives a character, and heals them. -revive: 60 - -// Warp another person to a certain map, at (x,y) coordinates (2 same commands). -rura+: 60 -charwarp: 60 - -// Change Status of your character -str: 60 -agi: 60 -vit: 60 -int: 60 -dex: 60 -luk: 60 - -// Gets all skills (4 same commands) -allskill: 60 -allskills: 60 -skillall: 60 -skillsall: 60 - -// sets GM stats to maximum (4 same commands) -statall: 60 -statsall: 60 -allstats: 60 -allstat: 60 - -// Gives you job points. -stpoint: 60 - -// Gives you skill points of desired amount. -skpoint: 60 - -// Warps all online character of a guild to you. (at least one member of that guild must be on.) -guildrecall: 60 - -// Warps all online character of a party to you. (at least one party member must be online.) -partyrecall: 60 - -// Allows you to spy on any Guilds Guild chat. (at least one member of that guild must be on.) -guildspy: 60 - -//Allows you to spy on any party's party chat. (at least one party member must be online.) -partyspy: 60 - -// Gives you money (zeny) of desired amount. -zeny: 60 - -// To block definitively a player (only administrator can unblock the account) (2 same commands) -block: 60 -charblock: 60 - -// To unblock a player (2 same commands) -unblock: 60 -charunblock: 60 - -// To ban a player for a limited time (only administrator can unban the account) (4 same commands) -ban: 60 -banish: 60 -charban: 60 -charbanish: 60 - -// To unban a player (4 same commands) -unban: 60 -unbanish: 60 -charunban: 60 -charunbanish: 60 - -// To send specified character in jails -jail: 60 - -// To discharge a prisoner (2 same commands) -unjail: 60 -discharge: 60 - -// To change disguise of another player/GM -chardisguise: 60 -charundisguise: 60 - -// Enables platinum skills of another player. -charquestskill: 60 - -// Enables lost skills of another player. -charlostskill: 60 - -// turn on and off skills on a map -skillon: 60 -skilloff: 60 - -// Create a static warp portal that lasts until the next reboot -addwarp: 60 - -// drop a players possessions on the gruond -chardropall: 60 - -// put a players possessions in storage -charstoreall: 60 - -//---------------------- -// 80: GM Chief commands - -// Set the map you are on to day. -day: 80 - -// Kills everyone on the server. -doom: 80 - -// Kills everyone on the map you are on. -doommap: 80 - -// Set the map you are currently on to night. -night: 80 - -// Recalls Everyone To Your Coordinates -recallall: 80 - -// Revives all players on the map. -raisemap: 80 - -// Revives all players on the server. -raise: 80 - -// Enables a NPC. -enablenpc: 80 - -// Disables a NPC. -disablenpc: 80 - -// Move a NPC -npcmove: 80 - -// turn skills on for a map -skillon: 80 - -// turn skills off for a map -skilloff: 80 - -// Unmute a player -unmute: 60 - -//--------------------------- -// 99: Administrator commands - -// Disconnect all users from the server -kickall: 99 - -// Closes Map-Server -mapexit: 99 - -// Give information about terrain/area (debug function) -gat: 99 - -// Enables debugging -packet: 99 - -// Shows information about the map -mapinfo: 99 - -// Re-load item database (admin command) -reloaditemdb: 99 - -// Re-load monsters database (admin command) -reloadmobdb: 99 - -// Re-load skills database (admin command) -reloadskilldb: 99 - -// Re-load scripts (admin command) -reloadscript: 99 - -// Re-load GM level (admin command) -reloadgmdb: 99 - -// change a battle_config flag without rebooting server -setbattleflag: 99 - -// Refresh only status of players - SQL Only -refreshonline: 99 - -//--------------------------------------------------------------- -// 99: Weather effects - -rain: 99 - -snow: 99 - -fog: 99 - -sakura: 99 - -leaves:99 - -//--------------------------------------------------------------- -// 0: Mail System - SQL Only commands - Must be enabled - -// Check # of messages. -checkmail: 1 - -// List all messages. -listmail: 1 - -// List only new mail. -listnewmail: 1 - -// Read a message. -readmail: 1 - -// Send mail. -sendmail: 1 - -// Send priority mail (tagged with Priority and cannot be deleted until read) -sendprioritymail: 80 - -// Delete a message. -deletemail: 0 - - - -//--------------------- -// OTHER: not a command - -//import: conf/import/atcommand_conf.txt +// Athena atcommand Configuration file. +// Translated by Peter Kieser + +// Set here the symbol that you want to use for your commands +// Only 1 character is get (default is '@'). You can set any character, +// except control-character (0x00-0x1f), '%' (party chat speaking) and '/' (standard ragnarok GM commands) +// With default character, all commands begin by a '@': @revive +command_symbol: @ + + +// Sets the level of the users that can use the GM commands. +// : level +// When battle_athena.conf has atcommand_gm_only set to no, +// normal players (gm level 0) can use GM commands if you set 0 to the command level. +// Max GM level is 99. If you want forbid a command to all people, set it with level 100. + +// Default values are set to define different GM levels like follow: +// 0: normal player +// -> no special advantage (only @time to know time and if at_command_gm_only is disabled) +// 1: Super player +// -> some (very) little advantages: storage, petrename, etc... +// 10: Super player+ +// -> same of Super player with !go (very super player) +// 20: Mediator +// -> it's a GM that only need to know people, and move to their to speak with them (they can access to any command about wisps) +// 40: Sub-GM +// -> This GM can help a GM, and can not create item or zeny or modify a character (can have some information commands) +// 50: Sub-GM+ +// -> This GM can change some non-important things on a character +// 60: GM +// -> can do almost anything (excep administration, and mass commands) +// GM is the first level where we can modify a character with important value, create items or create zenys +// 80: GM Chief +// -> can do anything, except administration commands +// 99: Administrator +// -> can do anything! + + +//-------------------------- +// 0: normal player commands + +// Give server time. (6 same commands) +time: 0 +date: 0 +server_date: 0 +serverdate: 0 +server_time: 0 +servertime: 0 + +// Display your ignore list (people from which you ignore wisps) +ignorelist: 0 + +// To change your (own) email (characters protection) +// note: this command doesn't check email itself, but check structure of the email (xxx@xxx) +// if you want be sure of each e-mail disable this option (value: 100) +email: 0 + +// To become GM (need password; password is set in login_athena.conf). +// special!: only a non-GM (player with gm level 0) need to have this command. +// if you change the value, be sure of what you do! +// To be able to create a gm with @gm, you must: +// - give a level to level_new_gm (parameter of login_athena.conf) (not 0) +// - enable to level 0 the @gm command (atcommand_athena.conf) (default 100) - Only level 0 can give access to this command +// - enable gm commands to normal player (battle_athena.conf, atcommand_gm_only parameter) +// - and normal player must give correct password when he use the @gm command (gm_pass paramter in login_athena.conf) +gm: 100 + + +//------------------------- +// 1: Super player commands + +// Suicide your character. +die: 1 + +// Enables you to rename your pet. +petrename: 1 + +party: 1 + +// Brings up your personal storage wherever you are. +storage: 1 + +// Locate someone on a map, returns your coordinates if the person isn't on. +where: 1 + + +//--------------------------- +// 10: Super player+ commands + +// Spawns you to set points in major cities. +go: 10 + + +//---------------------- +// 20: Mediator commands + +// Displays helpfile in Athena base directory (2 same commands). +help: 20 +h: 20 + +// Warp yourself to a person (3 same commands + /shift). +jumpto: 20 +goto: 20 +warpto: 20 + +// follow a player (including warping to them) +follow: 20 + +// Disconnects a user from the server (1 command + right click menu for GM "(name) force to quit"). +kick: 20 + +// Changes your apperance. +model: 20 + +// To get a peco to (un)ride +mountpeco: 20 + +// Returns list of logged in characters with their position (2 same commands). +who: 20 +whois: 20 + +// Returns list of logged in characters with their job. +who2: 20 + +// Returns list of logged in characters with their party/guild. +who3: 20 + +// Returns list of logged in characters with their position in a specifical map. +whomap: 20 + +// Returns list of logged in characters with their job in a specifical map. +whomap2: 20 + +// Returns list of logged in characters with their party/guild in a specifical map. +whomap3: 20 + +// Like @who+@who2+who3, but only for GM. +whogm: 20 + +// Change your appearence to other players to a mob. +disguise: 20 + +//Restore your normal appearance. +undisguise: 20 + +// Display ignore list of a player (people from which the player ignore wisps) +charignorelist: 20 + +// Enable all wispers for a player +inall: 20 + +// Disable all wispers for a player +exall: 20 + + +//-------------------- +// 40: Sub-GM commands + +// Broadcast to the whole server. Using (1 command + /nb, /b). +broadcast: 40 + +// Broadcast to the map you are on (1 command + /lb, /nlb). +local_broadcast: 40 + +// Broadcast (with or without name). +kami: 40 +kamib: 40 + +// Enables you to go to a certain map, at (x,y) coordinates. (@mapmove + /mm or /mapmove) +mapmove: 40 + +// Enables you to view other characters stats. +charstats: 40 + +// Shows Stats Of All Characters Online +charstatsall: 40 + +// Enables GVG on a map (2 same commands). +gvgon: 40 +gpvpon: 40 + +// Turns GVG (Guild v. Guild) off on a map (2 same commands). +gvgoff: 40 +gpvpoff: 40 + +// Heals a person to full HP/SP. +heal: 40 + +// GM Hide (enables you to be invisible to characters, and most monsters) (1 command + /hide). +hide: 40 + +// Changes your job to one you specify (2 same commands). +job: 40 +jobchange: 40 + +// Enables you to to jump randomly on a map (that you are already on). +jump: 40 + +// Warps you to your last save point (2 same commands). +return: 40 +load: 40 + +// Enables lost skills. +lostskill: 40 + +// Saves a warp point. +memo: 40 + +// Set your character display options. (Visual effects of your character) +option: 40 + +//Makes an egg +makeegg: 40 + +//Hatches an egg +hatch: 40 + +// Sets the level of intemecy of your pet. +petfriendly: 40 + +// Sets hunger level of your pet. +pethungry: 40 + +// Turns PVP (Person v. Person) off on a map. +pvpoff: 40 + +// Enables PVP on a map. +pvpon: 40 + +// Enables platinum skills. +questskill: 40 + +// Sets the speed you can walk/attack at. Default is 150. +speed: 40 + +// Enables spirit sphere balls. +spiritball: 40 + +// Warp yourself to a certain map, at (x,y) coordinates (2 same commands). +rura: 40 +warp: 40 + +// Changes GM clothes color (2 same commands) +dye: 40 +ccolor: 40 + +// Changes GM hair style (2 same commands) +hairstyle: 40 +hstyle: 40 + +// Changes GM hair color (2 same commands) +haircolor: 40 +hcolor: 40 + +// Deletes all your items. +itemreset: 40 + +// Kill all monsters in map (without drops) +killmonster2: 40 + +// Sets your spawn point (aka save point). +save: 40 + +// Do some visual effect on your character +effect: 40 + +// Display all items of a player +charitemlist: 40 + +// Display all items of a player's storage +charstoragelist: 40 + +// Display all items of a player's cart +charcartlist: 40 + +// drop all your items +dropall: 40 + +// store all your items +storeall: 40 + +// allow other players to hit you out of pvp +killable: 40 + +// look up a skill by name +skillid: 40 + +// use a skill by id +useskill: 40 + +// make another player killable +charkillable: 40 + +//--------------------- +// 50: Sub-GM+ commands + +// Changes character's model +charmodel: 50 + +guild: 50 + +// Brings up your guild storage wherever you are. +gstorage: 50 + +// Spawns a monster, and a certain amount (3 same commands + /monster). +spawn: 50 +monster: 50 +summon: 50 + +// Spawns a monster with parameters not in same order of @spawn. +monster2: 50 + +// To get a peco to (un)ride for another player. +charmountpeco: 50 + +// Enables to give possibility to a player to rename his/her pet. +charpetrename: 50 + + +//---------------- +// 60: GM commands + +// Starts Guild Wars +agitstart: 60 + +// Ends Guild Wars +agitend: 60 + +// Resurects yourself. +alive: 60 + +// Levels your character to specified level (adds to your level) (3 same commands). +lvup: 60 +baselvlup: 60 +blevel: 60 + +// Raises your job level (3 same commands). +joblvup: 60 +joblvlup: 60 +jlevel: 60 + +// Sets another persons base level. +charbaselvl: 60 + +// Changes the sex of an online player (all characters on the account) +charchangesex: 60 + +// Remove items from a character +chardelitem: 60 + +// Sets another persons job level. +charjlvl: 60 + +// Sets the job of another character (2 same commands). +charjob: 60 +charjobchange: 60 + +// Set options on another character. +charoption: 60 + +// Gives another character status points +charstpoint: 60 + +// Gives another character skill points +charskpoint: 60 + +// Resets another character's stats +charreset: 60 + +// Resets another character's status, skills +charstreset: 60 +charskreset: 60 + +// Saves the respawn point of another character. +charsave: 60 + +// Changes another character's zenny +charzeny: 60 + +// Levels your guild to specified level (2 same commands). +guildlvup: 60 +guildlvlup: 60 + +idsearch: 60 + +// Creates an item of your choosing, either Item ID or Name (1 command + /item). +item: 60 + +// Creates a complet item (card, etc...) of your choosing, either Item ID or Name. +item2: 60 + +// ?? +itemcheck: 60 + +// Kill another character without hitting them. +kill: 60 + +// Kill all monsters in map (with drops) +killmonster: 60 + +// Creates yourself a pet egg, have to use Pet ID. +makeegg: 60 + +// Instantly kills player whose name is entered and deals insane damage to everything around. +// Disabled for now +//nuke: 60 + +// Enable hitting a player even when not in pvp +killer: 60 + +// Creates weapon of desired element. +produce: 60 + +// Warps a character to you (1 command + /recall). +recall: 60 + +// Refines all weapons in your items list. +refine: 60 + +// Will repair all broken items in inventory. +repairall: 60 + +// Revives a character, and heals them. +revive: 60 + +// Warp another person to a certain map, at (x,y) coordinates (2 same commands). +rura+: 60 +charwarp: 60 + +// Change Status of your character +str: 60 +agi: 60 +vit: 60 +int: 60 +dex: 60 +luk: 60 + +// Gets all skills (4 same commands) +allskill: 60 +allskills: 60 +skillall: 60 +skillsall: 60 + +// sets GM stats to maximum (4 same commands) +statall: 60 +statsall: 60 +allstats: 60 +allstat: 60 + +// Gives you job points. +stpoint: 60 + +// Gives you skill points of desired amount. +skpoint: 60 + +// Warps all online character of a guild to you. (at least one member of that guild must be on.) +guildrecall: 60 + +// Warps all online character of a party to you. (at least one party member must be online.) +partyrecall: 60 + +// Allows you to spy on any Guilds Guild chat. (at least one member of that guild must be on.) +guildspy: 60 + +//Allows you to spy on any party's party chat. (at least one party member must be online.) +partyspy: 60 + +// Gives you money (zeny) of desired amount. +zeny: 60 + +// To block definitively a player (only administrator can unblock the account) (2 same commands) +block: 60 +charblock: 60 + +// To unblock a player (2 same commands) +unblock: 60 +charunblock: 60 + +// To ban a player for a limited time (only administrator can unban the account) (4 same commands) +ban: 60 +banish: 60 +charban: 60 +charbanish: 60 + +// To unban a player (4 same commands) +unban: 60 +unbanish: 60 +charunban: 60 +charunbanish: 60 + +// To send specified character in jails +jail: 60 + +// To discharge a prisoner (2 same commands) +unjail: 60 +discharge: 60 + +// To change disguise of another player/GM +chardisguise: 60 +charundisguise: 60 + +// Enables platinum skills of another player. +charquestskill: 60 + +// Enables lost skills of another player. +charlostskill: 60 + +// turn on and off skills on a map +skillon: 60 +skilloff: 60 + +// Create a static warp portal that lasts until the next reboot +addwarp: 60 + +// drop a players possessions on the gruond +chardropall: 60 + +// put a players possessions in storage +charstoreall: 60 + +//---------------------- +// 80: GM Chief commands + +// Set the map you are on to day. +day: 80 + +// Kills everyone on the server. +doom: 80 + +// Kills everyone on the map you are on. +doommap: 80 + +// Set the map you are currently on to night. +night: 80 + +// Recalls Everyone To Your Coordinates +recallall: 80 + +// Revives all players on the map. +raisemap: 80 + +// Revives all players on the server. +raise: 80 + +// Enables a NPC. +enablenpc: 80 + +// Disables a NPC. +disablenpc: 80 + +// Move a NPC +npcmove: 80 + +// turn skills on for a map +skillon: 80 + +// turn skills off for a map +skilloff: 80 + +// Unmute a player +unmute: 60 + +//--------------------------- +// 99: Administrator commands + +// Disconnect all users from the server +kickall: 99 + +// Closes Map-Server +mapexit: 99 + +// Give information about terrain/area (debug function) +gat: 99 + +// Enables debugging +packet: 99 + +// Shows information about the map +mapinfo: 99 + +// Re-load item database (admin command) +reloaditemdb: 99 + +// Re-load monsters database (admin command) +reloadmobdb: 99 + +// Re-load skills database (admin command) +reloadskilldb: 99 + +// Re-load scripts (admin command) +reloadscript: 99 + +// Re-load GM level (admin command) +reloadgmdb: 99 + +// change a battle_config flag without rebooting server +setbattleflag: 99 + +// Refresh only status of players - SQL Only +refreshonline: 99 + +//--------------------------------------------------------------- +// 99: Weather effects + +rain: 99 + +snow: 99 + +fog: 99 + +sakura: 99 + +leaves:99 + +//--------------------------------------------------------------- +// 0: Mail System - SQL Only commands - Must be enabled + +// Check # of messages. +checkmail: 1 + +// List all messages. +listmail: 1 + +// List only new mail. +listnewmail: 1 + +// Read a message. +readmail: 1 + +// Send mail. +sendmail: 1 + +// Send priority mail (tagged with Priority and cannot be deleted until read) +sendprioritymail: 80 + +// Delete a message. +deletemail: 0 + + + +//--------------------- +// OTHER: not a command + +//import: conf/import/atcommand_conf.txt diff --git a/conf-tmpl/atcommand_athena.conf.orig b/conf-tmpl/atcommand_athena.conf.orig index 2c9def212..3a3e359ae 100644 --- a/conf-tmpl/atcommand_athena.conf.orig +++ b/conf-tmpl/atcommand_athena.conf.orig @@ -1,569 +1,569 @@ -// Athena atcommand Configuration file. -// Translated by Peter Kieser - -// Set here the symbol that you want to use for your commands -// Only 1 character is get (default is '@'). You can set any character, -// except control-character (0x00-0x1f), '%' (party chat speaking) and '/' (standard ragnarok GM commands) -// With default character, all commands begin by a '@': @revive -command_symbol: @ - - -// Sets the level of the users that can use the GM commands. -// : level -// When battle_athena.conf has atcommand_gm_only set to no, -// normal players (gm level 0) can use GM commands if you set 0 to the command level. -// Max GM level is 99. If you want forbid a command to all people, set it with level 100. - -// Default values are set to define different GM levels like follow: -// 0: normal player -// -> no special advantage (only @time to know time and if at_command_gm_only is disabled) -// 1: Super player -// -> some (very) little advantages: storage, petrename, etc... -// 10: Super player+ -// -> same of Super player with !go (very super player) -// 20: Mediator -// -> it's a GM that only need to know people, and move to their to speak with them (they can access to any command about wisps) -// 40: Sub-GM -// -> This GM can help a GM, and can not create item or zeny or modify a character (can have some information commands) -// 50: Sub-GM+ -// -> This GM can change some non-important things on a character -// 60: GM -// -> can do almost anything (excep administration, and mass commands) -// GM is the first level where we can modify a character with important value, create items or create zenys -// 80: GM Chief -// -> can do anything, except administration commands -// 99: Administrator -// -> can do anything! - - -//-------------------------- -// 0: normal player commands - -// Give server time. (6 same commands) -time: 0 -date: 0 -server_date: 0 -serverdate: 0 -server_time: 0 -servertime: 0 - -// Display your ignore list (people from which you ignore wisps) -ignorelist: 0 - -// To change your (own) email (characters protection) -// note: this command doesn't check email itself, but check structure of the email (xxx@xxx) -// if you want be sure of each e-mail disable this option (value: 100) -email: 0 - -// To become GM (need password; password is set in login_athena.conf). -// special!: only a non-GM (player with gm level 0) need to have this command. -// if you change the value, be sure of what you do! -// To be able to create a gm with @gm, you must: -// - give a level to level_new_gm (parameter of login_athena.conf) (not 0) -// - enable to level 0 the @gm command (atcommand_athena.conf) (default 100) - Only level 0 can give access to this command -// - enable gm commands to normal player (battle_athena.conf, atcommand_gm_only parameter) -// - and normal player must give correct password when he use the @gm command (gm_pass paramter in login_athena.conf) -gm: 100 - - -//------------------------- -// 1: Super player commands - -// Suicide your character. -die: 1 - -// Enables you to rename your pet. -petrename: 1 - -party: 1 - -// Brings up your personal storage wherever you are. -storage: 1 - -// Locate someone on a map, returns your coordinates if the person isn't on. -where: 1 - - -//--------------------------- -// 10: Super player+ commands - -// Spawns you to set points in major cities. -go: 10 - - -//---------------------- -// 20: Mediator commands - -// Displays helpfile in Athena base directory (2 same commands). -help: 20 -h: 20 - -// Warp yourself to a person (3 same commands + /shift). -jumpto: 20 -goto: 20 -warpto: 20 - -// follow a player (including warping to them) -follow: 20 - -// Disconnects a user from the server (1 command + right click menu for GM "(name) force to quit"). -kick: 20 - -// Changes your apperance. -model: 20 - -// To get a peco to (un)ride -mountpeco: 20 - -// Returns list of logged in characters with their position (2 same commands). -who: 20 -whois: 20 - -// Returns list of logged in characters with their job. -who2: 20 - -// Returns list of logged in characters with their party/guild. -who3: 20 - -// Returns list of logged in characters with their position in a specifical map. -whomap: 20 - -// Returns list of logged in characters with their job in a specifical map. -whomap2: 20 - -// Returns list of logged in characters with their party/guild in a specifical map. -whomap3: 20 - -// Like @who+@who2+who3, but only for GM. -whogm: 20 - -// Change your appearence to other players to a mob. -disguise: 20 - -//Restore your normal appearance. -undisguise: 20 - -// Display ignore list of a player (people from which the player ignore wisps) -charignorelist: 20 - -// Enable all wispers for a player -inall: 20 - -// Disable all wispers for a player -exall: 20 - - -//-------------------- -// 40: Sub-GM commands - -// Broadcast to the whole server. Using (1 command + /nb, /b). -broadcast: 40 - -// Broadcast to the map you are on (1 command + /lb, /nlb). -local_broadcast: 40 - -// Broadcast (with or without name). -kami: 40 -kamib: 40 - -// Enables you to go to a certain map, at (x,y) coordinates. (@mapmove + /mm or /mapmove) -mapmove: 40 - -// Enables you to view other characters stats. -charstats: 40 - -// Shows Stats Of All Characters Online -charstatsall: 40 - -// Enables GVG on a map (2 same commands). -gvgon: 40 -gpvpon: 40 - -// Turns GVG (Guild v. Guild) off on a map (2 same commands). -gvgoff: 40 -gpvpoff: 40 - -// Heals a person to full HP/SP. -heal: 40 - -// GM Hide (enables you to be invisible to characters, and most monsters) (1 command + /hide). -hide: 40 - -// Changes your job to one you specify (2 same commands). -job: 40 -jobchange: 40 - -// Enables you to to jump randomly on a map (that you are already on). -jump: 40 - -// Warps you to your last save point (2 same commands). -return: 40 -load: 40 - -// Enables lost skills. -lostskill: 40 - -// Saves a warp point. -memo: 40 - -// Set your character display options. (Visual effects of your character) -option: 40 - -//Makes an egg -makeegg: 40 - -//Hatches an egg -hatch: 40 - -// Sets the level of intemecy of your pet. -petfriendly: 40 - -// Sets hunger level of your pet. -pethungry: 40 - -// Turns PVP (Person v. Person) off on a map. -pvpoff: 40 - -// Enables PVP on a map. -pvpon: 40 - -// Enables platinum skills. -questskill: 40 - -// Sets the speed you can walk/attack at. Default is 150. -speed: 40 - -// Enables spirit sphere balls. -spiritball: 40 - -// Warp yourself to a certain map, at (x,y) coordinates (2 same commands). -rura: 40 -warp: 40 - -// Changes GM clothes color (2 same commands) -dye: 40 -ccolor: 40 - -// Changes GM hair style (2 same commands) -hairstyle: 40 -hstyle: 40 - -// Changes GM hair color (2 same commands) -haircolor: 40 -hcolor: 40 - -// Deletes all your items. -itemreset: 40 - -// Kill all monsters in map (without drops) -killmonster2: 40 - -// Sets your spawn point (aka save point). -save: 40 - -// Do some visual effect on your character -effect: 40 - -// Display all items of a player -charitemlist: 40 - -// Display all items of a player's storage -charstoragelist: 40 - -// Display all items of a player's cart -charcartlist: 40 - - -//--------------------- -// 50: Sub-GM+ commands - -// Changes character's model -charmodel: 50 - -guild: 50 - -// Brings up your guild storage wherever you are. -gstorage: 50 - -// Spawns a monster, and a certain amount (3 same commands + /monster). -spawn: 50 -monster: 50 -summon: 50 - -// Spawns a monster with parameters not in same order of @spawn. -monster2: 50 - -// To get a peco to (un)ride for another player. -charmountpeco: 50 - -// Enables to give possibility to a player to rename his/her pet. -charpetrename: 50 - - -//---------------- -// 60: GM commands - -// Starts Guild Wars -agitstart: 60 - -// Ends Guild Wars -agitend: 60 - -// Resurects yourself. -alive: 60 - -// Levels your character to specified level (adds to your level) (3 same commands). -lvup: 60 -baselvlup: 60 -blevel: 60 - -// Raises your job level (3 same commands). -joblvup: 60 -joblvlup: 60 -jlevel: 60 - -// Sets another persons base level. -charbaselvl: 60 - -// Changes the sex of an online player (all characters on the account) -charchangesex: 60 - -// Remove items from a character -chardelitem: 60 - -// Sets another persons job level. -charjlvl: 60 - -// Sets the job of another character (2 same commands). -charjob: 60 -charjobchange: 60 - -// Set options on another character. -charoption: 60 - -// Gives another character status points -charstpoint: 60 - -// Gives another character skill points -charskpoint: 60 - -// Resets another character's stats -charreset: 60 - -// Resets another character's status, skills -charstreset: 60 -charskreset: 60 - -// Saves the respawn point of another character. -charsave: 60 - -// Changes another character's zenny -charzeny: 60 - -// Levels your guild to specified level (2 same commands). -guildlvup: 60 -guildlvlup: 60 - -idsearch: 60 - -// Creates an item of your choosing, either Item ID or Name (1 command + /item). -item: 60 - -// Creates a complet item (card, etc...) of your choosing, either Item ID or Name. -item2: 60 - -// ?? -itemcheck: 60 - -// Kill another character without hitting them. -kill: 60 - -// Kill all monsters in map (with drops) -killmonster: 60 - -// Creates yourself a pet egg, have to use Pet ID. -makeegg: 60 - -// Instantly kills player whose name is entered and deals insane damage to everything around. -nuke: 60 - -// Enable hitting a player even when not in pvp -killer: 60 - -// Creates weapon of desired element. -produce: 60 - -// Warps a character to you (1 command + /recall). -recall: 60 - -// Refines all weapons in your items list. -refine: 60 - -// Will repair all broken items in inventory. -repairall: 60 - -// Revives a character, and heals them. -revive: 60 - -// Warp another person to a certain map, at (x,y) coordinates (2 same commands). -rura+: 60 -charwarp: 60 - -// Change Status of your character -str: 60 -agi: 60 -vit: 60 -int: 60 -dex: 60 -luk: 60 - -// Gets all skills (4 same commands) -allskill: 60 -allskills: 60 -skillall: 60 -skillsall: 60 - -// sets GM stats to maximum (4 same commands) -statall: 60 -statsall: 60 -allstats: 60 -allstat: 60 - -// Gives you job points. -stpoint: 60 - -// Gives you skill points of desired amount. -skpoint: 60 - -// Warps all online character of a guild to you. (at least one member of that guild must be on.) -guildrecall: 60 - -// Warps all online character of a party to you. (at least one party member must be online.) -partyrecall: 60 - -// Allows you to spy on any Guilds Guild chat. (at least one member of that guild must be on.) -guildspy: 60 - -//Allows you to spy on any party's party chat. (at least one party member must be online.) -partyspy: 60 - -// Gives you money (zeny) of desired amount. -zeny: 60 - -// To block definitively a player (only administrator can unblock the account) (2 same commands) -block: 60 -charblock: 60 - -// To unblock a player (2 same commands) -unblock: 60 -charunblock: 60 - -// To ban a player for a limited time (only administrator can unban the account) (4 same commands) -ban: 60 -banish: 60 -charban: 60 -charbanish: 60 - -// To unban a player (4 same commands) -unban: 60 -unbanish: 60 -charunban: 60 -charunbanish: 60 - -// To send specified character in jails -jail: 60 - -// To discharge a prisoner (2 same commands) -unjail: 60 -discharge: 60 - -// To change disguise of another player/GM -chardisguise: 60 -charundisguise: 60 - -// Enables platinum skills of another player. -charquestskill: 60 - -// Enables lost skills of another player. -charlostskill: 60 - -// turn on and off skills on a map -skillon: 60 -skilloff: 60 - -// Create a static warp portal that lasts until the next reboot -addwarp: 60 - - -//---------------------- -// 80: GM Chief commands - -// Set the map you are on to day. -day: 80 - -// Kills everyone on the server. -doom: 80 - -// Kills everyone on the map you are on. -doommap: 80 - -// Set the map you are currently on to night. -night: 80 - -// Recalls Everyone To Your Coordinates -recallall: 80 - -// Revives all players on the map. -raisemap: 80 - -// Revives all players on the server. -raise: 80 - -// Enables a NPC. -enablenpc: 80 - -// Disables a NPC. -disablenpc: 80 - -// Move a NPC -npcmove: 80 - - -//--------------------------- -// 99: Administrator commands - -// Disconnect all users from the server -kickall: 99 - -// Closes Map-Server -mapexit: 99 - -// Give information about terrain/area (debug function) -gat: 99 - -// Enables debugging -packet: 99 - -// Shows information about the map -mapinfo: 99 - -// Re-load item database (admin command) -reloaditemdb: 99 - -// Re-load monsters database (admin command) -reloadmobdb: 99 - -// Re-load skills database (admin command) -reloadskilldb: 99 - -// Re-load scripts (admin command) -reloadscript: 99 - -// Re-load GM level (admin command) -reloadgmdb: 99 - - -//--------------------- -// OTHER: not a command - -//import: conf/import/atcommand_conf.txt +// Athena atcommand Configuration file. +// Translated by Peter Kieser + +// Set here the symbol that you want to use for your commands +// Only 1 character is get (default is '@'). You can set any character, +// except control-character (0x00-0x1f), '%' (party chat speaking) and '/' (standard ragnarok GM commands) +// With default character, all commands begin by a '@': @revive +command_symbol: @ + + +// Sets the level of the users that can use the GM commands. +// : level +// When battle_athena.conf has atcommand_gm_only set to no, +// normal players (gm level 0) can use GM commands if you set 0 to the command level. +// Max GM level is 99. If you want forbid a command to all people, set it with level 100. + +// Default values are set to define different GM levels like follow: +// 0: normal player +// -> no special advantage (only @time to know time and if at_command_gm_only is disabled) +// 1: Super player +// -> some (very) little advantages: storage, petrename, etc... +// 10: Super player+ +// -> same of Super player with !go (very super player) +// 20: Mediator +// -> it's a GM that only need to know people, and move to their to speak with them (they can access to any command about wisps) +// 40: Sub-GM +// -> This GM can help a GM, and can not create item or zeny or modify a character (can have some information commands) +// 50: Sub-GM+ +// -> This GM can change some non-important things on a character +// 60: GM +// -> can do almost anything (excep administration, and mass commands) +// GM is the first level where we can modify a character with important value, create items or create zenys +// 80: GM Chief +// -> can do anything, except administration commands +// 99: Administrator +// -> can do anything! + + +//-------------------------- +// 0: normal player commands + +// Give server time. (6 same commands) +time: 0 +date: 0 +server_date: 0 +serverdate: 0 +server_time: 0 +servertime: 0 + +// Display your ignore list (people from which you ignore wisps) +ignorelist: 0 + +// To change your (own) email (characters protection) +// note: this command doesn't check email itself, but check structure of the email (xxx@xxx) +// if you want be sure of each e-mail disable this option (value: 100) +email: 0 + +// To become GM (need password; password is set in login_athena.conf). +// special!: only a non-GM (player with gm level 0) need to have this command. +// if you change the value, be sure of what you do! +// To be able to create a gm with @gm, you must: +// - give a level to level_new_gm (parameter of login_athena.conf) (not 0) +// - enable to level 0 the @gm command (atcommand_athena.conf) (default 100) - Only level 0 can give access to this command +// - enable gm commands to normal player (battle_athena.conf, atcommand_gm_only parameter) +// - and normal player must give correct password when he use the @gm command (gm_pass paramter in login_athena.conf) +gm: 100 + + +//------------------------- +// 1: Super player commands + +// Suicide your character. +die: 1 + +// Enables you to rename your pet. +petrename: 1 + +party: 1 + +// Brings up your personal storage wherever you are. +storage: 1 + +// Locate someone on a map, returns your coordinates if the person isn't on. +where: 1 + + +//--------------------------- +// 10: Super player+ commands + +// Spawns you to set points in major cities. +go: 10 + + +//---------------------- +// 20: Mediator commands + +// Displays helpfile in Athena base directory (2 same commands). +help: 20 +h: 20 + +// Warp yourself to a person (3 same commands + /shift). +jumpto: 20 +goto: 20 +warpto: 20 + +// follow a player (including warping to them) +follow: 20 + +// Disconnects a user from the server (1 command + right click menu for GM "(name) force to quit"). +kick: 20 + +// Changes your apperance. +model: 20 + +// To get a peco to (un)ride +mountpeco: 20 + +// Returns list of logged in characters with their position (2 same commands). +who: 20 +whois: 20 + +// Returns list of logged in characters with their job. +who2: 20 + +// Returns list of logged in characters with their party/guild. +who3: 20 + +// Returns list of logged in characters with their position in a specifical map. +whomap: 20 + +// Returns list of logged in characters with their job in a specifical map. +whomap2: 20 + +// Returns list of logged in characters with their party/guild in a specifical map. +whomap3: 20 + +// Like @who+@who2+who3, but only for GM. +whogm: 20 + +// Change your appearence to other players to a mob. +disguise: 20 + +//Restore your normal appearance. +undisguise: 20 + +// Display ignore list of a player (people from which the player ignore wisps) +charignorelist: 20 + +// Enable all wispers for a player +inall: 20 + +// Disable all wispers for a player +exall: 20 + + +//-------------------- +// 40: Sub-GM commands + +// Broadcast to the whole server. Using (1 command + /nb, /b). +broadcast: 40 + +// Broadcast to the map you are on (1 command + /lb, /nlb). +local_broadcast: 40 + +// Broadcast (with or without name). +kami: 40 +kamib: 40 + +// Enables you to go to a certain map, at (x,y) coordinates. (@mapmove + /mm or /mapmove) +mapmove: 40 + +// Enables you to view other characters stats. +charstats: 40 + +// Shows Stats Of All Characters Online +charstatsall: 40 + +// Enables GVG on a map (2 same commands). +gvgon: 40 +gpvpon: 40 + +// Turns GVG (Guild v. Guild) off on a map (2 same commands). +gvgoff: 40 +gpvpoff: 40 + +// Heals a person to full HP/SP. +heal: 40 + +// GM Hide (enables you to be invisible to characters, and most monsters) (1 command + /hide). +hide: 40 + +// Changes your job to one you specify (2 same commands). +job: 40 +jobchange: 40 + +// Enables you to to jump randomly on a map (that you are already on). +jump: 40 + +// Warps you to your last save point (2 same commands). +return: 40 +load: 40 + +// Enables lost skills. +lostskill: 40 + +// Saves a warp point. +memo: 40 + +// Set your character display options. (Visual effects of your character) +option: 40 + +//Makes an egg +makeegg: 40 + +//Hatches an egg +hatch: 40 + +// Sets the level of intemecy of your pet. +petfriendly: 40 + +// Sets hunger level of your pet. +pethungry: 40 + +// Turns PVP (Person v. Person) off on a map. +pvpoff: 40 + +// Enables PVP on a map. +pvpon: 40 + +// Enables platinum skills. +questskill: 40 + +// Sets the speed you can walk/attack at. Default is 150. +speed: 40 + +// Enables spirit sphere balls. +spiritball: 40 + +// Warp yourself to a certain map, at (x,y) coordinates (2 same commands). +rura: 40 +warp: 40 + +// Changes GM clothes color (2 same commands) +dye: 40 +ccolor: 40 + +// Changes GM hair style (2 same commands) +hairstyle: 40 +hstyle: 40 + +// Changes GM hair color (2 same commands) +haircolor: 40 +hcolor: 40 + +// Deletes all your items. +itemreset: 40 + +// Kill all monsters in map (without drops) +killmonster2: 40 + +// Sets your spawn point (aka save point). +save: 40 + +// Do some visual effect on your character +effect: 40 + +// Display all items of a player +charitemlist: 40 + +// Display all items of a player's storage +charstoragelist: 40 + +// Display all items of a player's cart +charcartlist: 40 + + +//--------------------- +// 50: Sub-GM+ commands + +// Changes character's model +charmodel: 50 + +guild: 50 + +// Brings up your guild storage wherever you are. +gstorage: 50 + +// Spawns a monster, and a certain amount (3 same commands + /monster). +spawn: 50 +monster: 50 +summon: 50 + +// Spawns a monster with parameters not in same order of @spawn. +monster2: 50 + +// To get a peco to (un)ride for another player. +charmountpeco: 50 + +// Enables to give possibility to a player to rename his/her pet. +charpetrename: 50 + + +//---------------- +// 60: GM commands + +// Starts Guild Wars +agitstart: 60 + +// Ends Guild Wars +agitend: 60 + +// Resurects yourself. +alive: 60 + +// Levels your character to specified level (adds to your level) (3 same commands). +lvup: 60 +baselvlup: 60 +blevel: 60 + +// Raises your job level (3 same commands). +joblvup: 60 +joblvlup: 60 +jlevel: 60 + +// Sets another persons base level. +charbaselvl: 60 + +// Changes the sex of an online player (all characters on the account) +charchangesex: 60 + +// Remove items from a character +chardelitem: 60 + +// Sets another persons job level. +charjlvl: 60 + +// Sets the job of another character (2 same commands). +charjob: 60 +charjobchange: 60 + +// Set options on another character. +charoption: 60 + +// Gives another character status points +charstpoint: 60 + +// Gives another character skill points +charskpoint: 60 + +// Resets another character's stats +charreset: 60 + +// Resets another character's status, skills +charstreset: 60 +charskreset: 60 + +// Saves the respawn point of another character. +charsave: 60 + +// Changes another character's zenny +charzeny: 60 + +// Levels your guild to specified level (2 same commands). +guildlvup: 60 +guildlvlup: 60 + +idsearch: 60 + +// Creates an item of your choosing, either Item ID or Name (1 command + /item). +item: 60 + +// Creates a complet item (card, etc...) of your choosing, either Item ID or Name. +item2: 60 + +// ?? +itemcheck: 60 + +// Kill another character without hitting them. +kill: 60 + +// Kill all monsters in map (with drops) +killmonster: 60 + +// Creates yourself a pet egg, have to use Pet ID. +makeegg: 60 + +// Instantly kills player whose name is entered and deals insane damage to everything around. +nuke: 60 + +// Enable hitting a player even when not in pvp +killer: 60 + +// Creates weapon of desired element. +produce: 60 + +// Warps a character to you (1 command + /recall). +recall: 60 + +// Refines all weapons in your items list. +refine: 60 + +// Will repair all broken items in inventory. +repairall: 60 + +// Revives a character, and heals them. +revive: 60 + +// Warp another person to a certain map, at (x,y) coordinates (2 same commands). +rura+: 60 +charwarp: 60 + +// Change Status of your character +str: 60 +agi: 60 +vit: 60 +int: 60 +dex: 60 +luk: 60 + +// Gets all skills (4 same commands) +allskill: 60 +allskills: 60 +skillall: 60 +skillsall: 60 + +// sets GM stats to maximum (4 same commands) +statall: 60 +statsall: 60 +allstats: 60 +allstat: 60 + +// Gives you job points. +stpoint: 60 + +// Gives you skill points of desired amount. +skpoint: 60 + +// Warps all online character of a guild to you. (at least one member of that guild must be on.) +guildrecall: 60 + +// Warps all online character of a party to you. (at least one party member must be online.) +partyrecall: 60 + +// Allows you to spy on any Guilds Guild chat. (at least one member of that guild must be on.) +guildspy: 60 + +//Allows you to spy on any party's party chat. (at least one party member must be online.) +partyspy: 60 + +// Gives you money (zeny) of desired amount. +zeny: 60 + +// To block definitively a player (only administrator can unblock the account) (2 same commands) +block: 60 +charblock: 60 + +// To unblock a player (2 same commands) +unblock: 60 +charunblock: 60 + +// To ban a player for a limited time (only administrator can unban the account) (4 same commands) +ban: 60 +banish: 60 +charban: 60 +charbanish: 60 + +// To unban a player (4 same commands) +unban: 60 +unbanish: 60 +charunban: 60 +charunbanish: 60 + +// To send specified character in jails +jail: 60 + +// To discharge a prisoner (2 same commands) +unjail: 60 +discharge: 60 + +// To change disguise of another player/GM +chardisguise: 60 +charundisguise: 60 + +// Enables platinum skills of another player. +charquestskill: 60 + +// Enables lost skills of another player. +charlostskill: 60 + +// turn on and off skills on a map +skillon: 60 +skilloff: 60 + +// Create a static warp portal that lasts until the next reboot +addwarp: 60 + + +//---------------------- +// 80: GM Chief commands + +// Set the map you are on to day. +day: 80 + +// Kills everyone on the server. +doom: 80 + +// Kills everyone on the map you are on. +doommap: 80 + +// Set the map you are currently on to night. +night: 80 + +// Recalls Everyone To Your Coordinates +recallall: 80 + +// Revives all players on the map. +raisemap: 80 + +// Revives all players on the server. +raise: 80 + +// Enables a NPC. +enablenpc: 80 + +// Disables a NPC. +disablenpc: 80 + +// Move a NPC +npcmove: 80 + + +//--------------------------- +// 99: Administrator commands + +// Disconnect all users from the server +kickall: 99 + +// Closes Map-Server +mapexit: 99 + +// Give information about terrain/area (debug function) +gat: 99 + +// Enables debugging +packet: 99 + +// Shows information about the map +mapinfo: 99 + +// Re-load item database (admin command) +reloaditemdb: 99 + +// Re-load monsters database (admin command) +reloadmobdb: 99 + +// Re-load skills database (admin command) +reloadskilldb: 99 + +// Re-load scripts (admin command) +reloadscript: 99 + +// Re-load GM level (admin command) +reloadgmdb: 99 + + +//--------------------- +// OTHER: not a command + +//import: conf/import/atcommand_conf.txt diff --git a/conf-tmpl/battle_athena.conf b/conf-tmpl/battle_athena.conf index 04c5227af..17ef2ca54 100644 --- a/conf-tmpl/battle_athena.conf +++ b/conf-tmpl/battle_athena.conf @@ -1,725 +1,725 @@ -// ______ __ __ -// /\ _ \/\ \__/\ \ -// __\ \ \L\ \ \ ,_\ \ \___ __ ___ __ -// /'__`\ \ __ \ \ \/\ \ _ `\ /'__`\/' _ `\ /'__`\ -///\ __/\ \ \/\ \ \ \_\ \ \ \ \/\ __//\ \/\ \/\ \L\.\_ -//\ \____\\ \_\ \_\ \__\\ \_\ \_\ \____\ \_\ \_\ \__/.\_\ -// \/____/ \/_/\/_/\/__/ \/_/\/_/\/____/\/_/\/_/\/__/\/_/ -// _ _ _ _ _ _ _ _ _ _ _ _ _ -// / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ -//( e | n | g | l | i | s | h ) ( A | t | h | e | n | a ) -// \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ -// -//-------------------------------------------------------------- -//eAthena Battle Configuration File -// Made in to plainer english by Ancyker -//-------------------------------------------------------------- -//Note 1: Directives can be set using on/off, yes/no or 1/0. -//Note 2: All rates are in percents, 100 would mean 100%, 200 -// would mean 200%, etc -// Other Information: -// 1000 miliseconds is 1 second. -//-------------------------------------------------------------- - -// Do you want to debug warp points? If set to yes, warp points will appear as flags.(Note 1) -warp_point_debug: no - -// When calculating critical, should we take in to account the enimies luck? (Note 1) -enemy_critical: yes - -// Enemy's Critical Rate (Note 2) -enemy_critical_rate: 100 - -// Are enemy attacks effected by their strength? (Note 1) -enemy_str: yes - -// Can enemies have perfect flee? (Note 1) -enemy_perfect_flee: no - -// The rate of time it takes to cast a spell (Note 2, 0 = No casting time) -casting_rate: 100 - -// Delay time after casting (Note 2) -delay_rate: 100 - -// Is the delay time is dependent on the caster's DEX? (Note 1) -delay_dependon_dex: yes - -// At what dex does the cast time become zero (instacast) -castrate_dex_scale: 150 - -// Is 'Skills add a delay before you can attack' enabled? (Note 1) -skill_delay_attack_enable: yes - -// Whether or not cards and attributes in the left hand are enabled (Note 1) -left_cardfix_to_right: yes - -// Increase player's attack range (in cells) -player_skill_add_range: 0 - -// If the target moves out of range while casting, do we take the items and SP for the skill anyway? (Note 1) -skill_out_range_consume: no - -// Increase Monsters attack range -monster_skill_add_range: 0 - -// If a player is attacked, will they have a delay in being able to move? (Note 1) -// (Setting to no will be like always endure) -player_damage_delay: yes - -// Damaged delay rate (Note 2) -player_damage_delay_rate: 100 - -// Is a player's defense NOT dependant on an enemies attack? (Note 1) -defunit_not_enemy: yes - -// Are summoned monsters level greater then your base level? (I think this is for dead branches) (Note 1) -random_monster_checklv: yes - -// The maximum quantity of monsters that can be summoned per GM command (0 denotes an unlimited quantity) -atcommand_spawn_quantity_limit: 100 - -// Does HP recover if hit by an attribute that's same as your own? (Note 1) -attribute_recover: yes - -// If an item is droped, does it go stright into the users inventory? (Note 1) -item_auto_get: no - -// How long does it take for an item to disappear from the floor after it is dropped? (in miliseconds) -flooritem_lifetime: 60000 - -// How long before the first person who did the most damage to a monster can get the item? (in milliseconds) -item_first_get_time: 3000 - -// How long before the second person who did the second most damage to a monster can get the item? (in milliseconds) -// (It Adds Time From The First Persons Time) -// So, It Is Like First Person's Time + Second Person's Time = Time Before Second Person Can Get The Items -item_second_get_time: 1000 - -// How long before the third person who did the third most/least damage to a monster can get the item? (in milliseconds) -// (It Adds Time From The First Persons Time And Second Persons Time) -// So, It Is Like First Person's Time + Second Person's Time + Third Person's Time = Time Before Third Person Can Get The Items -item_third_get_time: 1000 - -// How long before the first person who did the most damage to a MVP can get the item? (in milliseconds) -mvp_item_first_get_time: 10000 - -// How long before the second person who did the second most damage to a MVP can get the item? (in milliseconds) -// (It Adds Time From The First Persons Time) -// So, It Is Like First Person's Time + Second Person's Time = Time Before Second Person Can Get The Items -mvp_item_second_get_time: 10000 - -// How long before the third person who did the third most/least damage to a MVP can get the item -//(Note the Amount is in Milliseconds and It Adds Time From The First Persons Time And Second Persons Time) -//So It Is Like First Person's Time + Second Person's Time + Third Person's Time = Time Before Third Person Can Get The Items -mvp_item_third_get_time: 2000 - -// Item drop rates (Note 2) - -// The rate the common items are droped (Items that are in the ETC tab, besides card) -item_rate_common: 100 -item_drop_common_min: 1 -item_drop_common_max: 10000 - -// The rate healing items are droped (items that restore HP or SP) -item_rate_heal: 100 -item_drop_heal_min: 1 -item_drop_heal_max: 10000 - -// The rate at which usable items (in the item tab) other then healing items are droped. -item_rate_use: 100 -item_drop_use_min: 1 -item_drop_use_max: 10000 - -// The rate at which equipment is droped. -item_rate_equip: 100 -item_drop_equip_min: 1 -item_drop_equip_max: 10000 - -// The rate at which cards are droped -item_rate_card: 100 -item_drop_card_min: 1 -item_drop_card_max: 10000 - -item_drop_mvp_min: 1 -item_drop_mvp_max: 10000 - -// Can the monster's drop rate become 0? (Note 1) -drop_rate0item: no - -// Rate at which exp. is given. (Note 2) -base_exp_rate: 100 - -// Rate at which job exp. is given. (Note 2) -job_exp_rate: 100 - -// PVP exp. Do players get exp during pvp -pvp_exp: yes - -// When a player dies, how should we penalize them? -// 0 = No penalty. -// 1 = Lose % of current level when killed. -// 2 = Lose % of total experience when killed. -death_penalty_type: 1 - -// Base exp. penalty rate (Each 100 is 1% of their exp) -death_penalty_base: 100 - -// Job exp. penalty rate (Each 100 is 1% of their exp) -death_penalty_job: 100 - -// When a player dies, how much zeny should we penalize them with? -zeny_penalty: 0 - -// The amount of HP a player will respawn with, 0 is default. -// (Unit is in percentage of total HP, 100 is full heal of HP, 0 is respawn with 1HP total.) -restart_hp_rate: 0 - -// The amount of SP a player will respawn with, 0 is default. -// (Unit is in percentage of total SP, 100 is full heal of SP, 0 is respawn with 1SP total.) -restart_sp_rate: 0 - -// [MVP] Summoned monsters HP rate, that is, monsters summoned by an MVP will have this much HP. (Note 2) -mvp_hp_rate: 100 - -// [MVP] Item drop rate, that is, the overall drop rate for items droped by an MVP. (Note 2) -mvp_item_rate: 100 - -// [MVP] Exp. rate. (Note 2) -mvp_exp_rate: 100 - -// The HP rate of normal monsters (that is monsters that are not MVP's) (Note 2) -monster_hp_rate: 100 - -// The maximum attack speed of a monster -monster_max_aspd: 199 - -// (@) GM Commands available only to GM's? (Note 1) -// set to 'No', Normal players (gm level 0) can use GM commands _IF_ you set the command level to 0. -// set to 'Yes', Normal players (gm level 0) can never use a GM command even if you set the command level to 0. -atcommand_gm_only: no - -// [GM] Can use all skills? (No or mimimum GM level) -gm_all_skill: no - -// [GM] Can use all abracadabra skills? (No minimum GM level) -gm_all_skill_add_abra: no - -// [GM] Can equip anything? (No or minimum GM level, can cause client errors.) -gm_all_equipment: no - -// [GM] Raise skills unconditionally, that is, put points in to a skill not in thier jobs skill tree? (no or minimum gm level) -gm_skill_unconditional: no - -// Can a normal player by-pass the skill tree? (Note 1) -player_skillfree: no - -// When doing a skill reset, whether the skill's restriction is to be ignored or not. (Note 1) -player_skillup_limit: yes - -// Forging success rate. (Note 2) -weapon_produce_rate: 100 - -// Prepare Potion succsss rate. (Note 2) -potion_produce_rate: 100 - -// Allow monsters to be aggresive and attack first? (Note 1) -monster_active_enable: yes - -// Monster damage delay rate (Note 1) -monster_damage_delay_rate: 100 - -// Looting monster actions. -// 0 = Monster will consume the item. -// 1 = Monster will not consume the item. -monster_loot_type: 0 - -// Enable monster skills? (Note 1) -mob_skill_use: yes - -// Rate of monsters on a map, 200 would be twice as many as normal. (Note 2) -mob_count_rate: 100 - -// Quest skills can be learned? (Note 1) -// Setting this to yes can open an exploit on your server! -quest_skill_learn: no - -// When skills are reset, quest skills are reset as well? (Note 1) -// Setting this to yes can open an exploit on your server! -quest_skill_reset: no - -// You must have basic skills to be able to sit, trade, form a party or create a chatroom? (Note 1) -basic_skill_check: yes - -// When making a guild, an Emperium is consumed? (Note 1) -guild_emperium_check: yes - -// Maximum tax limit on a guild member. -guild_exp_limit: 50 - -// Maximum castles one guild can own (0 - unlimited) -guild_max_castles: 0 - -// When teleporting, or spawning to a map, how long before a monster sees you if you don't move? (time is in milliseconds) -// That is, when you go to a map and don't move, how long before the monsters will notice you. -// If you attack a monster, it will attack you back regaurdless of this setting. (I think) -player_invincible_time: 5000 - -// [PET] Rate for catching pets (Note 2) -pet_catch_rate: 100 - -// [PET] Can you name a pet more then once? (Note 1) -pet_rename: no - -// [PET] The rate a pet will get friendly by feeding it. (Note 2) -pet_friendly_rate: 100 - -// [PET] The rate at which a pet will become hungry. (Note 2) -pet_hungry_delay_rate: 100 - -// [PET] If your pet is hungry by how much will the friendlyness decrease by. (Default is 5) -// Note: The friendlyness is 0-1000 total, at 0 the pet runs away. -pet_hungry_friendly_decrease: 5 - -// [PET] Does Pet's Attack Damage Based On Str (Note 1) -pet_str: yes - -// [PET] Whether or not the pet's will use skills. (Note 1) -pet_status_support: yes - -// [PET] Does the pet need its equipment before it does its skill? (Note 1) -pet_equip_required: yes - -// [PET] Will all pets attack? (Note 1) -// Do NOT use this with pet skills! -pet_attack_support: no - -// [PET] When the master receives damage from the monster, whether or not the pet attacks back. -pet_damage_support: no - -// [PET] Rate at which a pet will support it's owner in battle. (Note 2) -pet_support_rate: 100 - -// [PET] Does the pets owner receive exp from the pets damage? -pet_attack_exp_to_master: no - -// [PET] The rate exp. is gained from the pet attacking monsters -pet_attack_exp_rate: 100 - -// Will there be a minimum skill dmg even if there is a miss? -skill_min_damage: no - -// Which finger offensive style can be used? -// 0 = Aegis style -// 1 = Athena style -finger_offensive_type: 0 - -// The rate of job exp. from using Heal skill (100 is the same as the heal amount, 200 is double. -// The balance of the exp. rate is best used with 5 to 10) -heal_exp: 0 - -// The rate of exp. that is gained by the process of resurrection, a unit is 0.01%. -// Experience calculations for the experience value * level difference of the person revived / 100 * resurrection_exp/10000 which the revived player has can be got. -resurrection_exp: 0 - -// The rate of job exp. when using discount and overcharge on an NPC (100 is normal, 200 is double.) -// The way it is calculated is (money recieved * skill lv) * shop_exp / 100. -shop_exp: 0 - -// The delay rate of monk's combo (Note 2) -combo_delay_rate: 100 - -// Item check? (Note 1) -// When logged in or moving in map if the item the player is holding isn't correct there will be a check. -item_check: no - -// Will tuxedo and wedding dresses be shown when worn? (Note 1) -wedding_modifydisplay: yes - -// The time interval for HP to restore naturally. (in milliseconds) -natural_healhp_interval: 6000 - -// The time interval for SP to restore naturally. (in milliseconds) -natural_healsp_interval: 8000 - -// Automatic healing skill's time interval. (in milliseconds) -natural_heal_skill_interval: 10000 - -// The maximum weight for a character to carry when the character stops healing naturally. (in %) -natural_heal_weight_rate: 50 - -// Override item names from GRF file? (Note 1) -item_name_override_grffile: yes - -// Are arrows are consumed when used on a bow? (Note 1) -arrow_decrement: yes - -// Maximum atk speed. (Default is 190) -max_aspd: 190 - -// Maximum HP. (Default is 32500) -max_hp: 32500 - -// Maximum SP. (Default is 32500) -max_sp: 32500 - -// Maximum user LV to send to client -// (Default is 99.. Never go above 127) -// -// this is only useful if you have adjusted your client -// to expect levels higher then 99 -max_lv: 99 - -// Max limit of char stats. (agi, str, etc.) -max_parameter: 99 - -// Max weight carts can hold. -max_cart_weight: 8000 - -// Display player skill errors in console? (for debug only) (default: off) (Note 1) -player_skill_log: off - -// Display monster skill errors in console? (for debug only) (default: off) (Note 1) -monster_skill_log: off - -// Display battle log? (for debug only) (default: off) (Note 1) -battle_log: off - -// Display save log? (for debug only) (default: off) (Note 1) -save_log: off - -// Display errors? (for debug only) (default: off) (Note 1) -error_log: off - -// Display other stuff? (for debug only) (default: off) (Note 1) -etc_log: off - -// Save Clothes color. (This will degrade performance [in txt?]) (Note 1) -save_clothcolor: yes - -// Undead type differeniate. -// 0 = element undead -// 1 = race undead -// 2 = both -undead_detect_type: 2 - -// Operational mode of automatic counter. -// 0 = disregard DEF and HIT+20 . CRI*2, 1 = 100% critical -// Players -player_auto_counter_type: 0 -// Monsters -monster_auto_counter_type: 0 - -// Type of penalty that is applied to FLEE when more than agi_penaly_count monsters are targetting player -// 0 = no penalty is applied -// 1 = agi_penaly_num is reduced from FLEE as a % -// 2 = agi_penaly_num is reduced from FLEE as an exact amount -agi_penaly_type: 1 - -// Amount of enemies required to be targetting player before FLEE begins to be penalized -agi_penaly_count: 3 - -// Amount of FLEE penalized per each attacking monster more than agi_penaly_count -agi_penaly_num: 10 - -// Type of penalty that is applied to VIT defense when more than vit_penaly_count monsters are targetting player -// 0 = no penalty is applied -// 1 = vit_penaly_num is reduced from FLEE as a % -// 2 = vit_penaly_num is reduced from FLEE as an exact amount -vit_penaly_type: 1 - -// Amount of enemies required to be targetting player before VIT defense begins to be penalized -vit_penaly_count: 3 - -// Amount of VIT defense penalized per each attacking monster more than vit_penaly_count -vit_penaly_num: 5 - -// When the player attacks an object, the calculation method of DEF. -// With 0 this will be ignored specification, at 1 or more def = subtraction of (DEF* value). -player_defense_type: 0 - -// When the monster attacks an object, the calculation method of DEF. -// With 0 this will be ignored, at 1 or more def = subtraction of (DEF* value). -monster_defense_type: 0 - -// When the pet attacks an object, the calculation method of DEF. -// With 0 this will be ignored specification, at 1 or more def = subtraction of (DEF* value). -pet_defense_type: 0 - -//MDEF‚same as above....(MDEF*value) -magic_defense_type: 0 - -// Whether or not, ground skills of the players' will stack. (Note 1) -player_skill_reiteration: no - -//Whether or not, ground skills of the monsters' will pile up. (Note 1) -monster_skill_reiteration: no - -//Whether or not ground based skills of a certain type such as traps can be cast straight onto other players. (Note 1) -player_skill_nofootset: yes - -//Whether or not ground based skills of a certain type such as traps can be cast straight onto monsters. (Note 1) -monster_skill_nofootset: yes - -// When a player is cloaking, Whether the wall is checked or not. (Note 1) -// Note: Gravity announced that they were changing cloaking so it would -// not need a wall, but this was never implemented. I set to no, for fun. -player_cloak_check_type: no - -// When a monster is cloaking, Whether the wall is checked or not. (Note 1) -monster_cloak_check_type: no - -// Melee damage adjustments for WoE battles (Guild Vs Guild) (Note 2) -gvg_short_attack_damage_rate: 100 - -// Ranged damage adjustments for WoE battles (Guild Vs Guild) (Note 2) -gvg_long_attack_damage_rate: 100 - -// Magic damage adjustments for WoE battles (Guild Vs Guild) (Note 2) -gvg_magic_attack_damage_rate: 100 - -// Misc damage adjustments for WoE battles (Guild Vs Guild) (Note 2) -gvg_misc_attack_damage_rate: 100 - -// When the empelium is broken with WoE mode on, How Long Before The Declaration Of Castle Owner -// and Removal of Monsters/Players from Castle. (in milliseconds) -gvg_eliminate_time: 7000 - -// Whether or not skill is used vis-a-vis the user at the time of MOB skill motion of condition skillused. (Note 1) -// Not sure what this means, something about monsters changing target? -mob_changetarget_byskill: no - -// Player's Direction Changed When Attacking? (Note 1) -player_attack_direction_change: yes - -// Monsters's Direction Changed When Attacking? (Note 1) -monster_attack_direction_change: yes - -// If the player has Undead Elemental Equipment, should they be frozen or not. (Note 1) -player_undead_nofreeze: no - -// Will Player Skills Stay Within Land Limit or not? (Note 1) -player_land_skill_limit: yes - -// Will Monster Skills Stay Within Land Limit or not? (Note 1) -monster_land_skill_limit: yes - -// If a party uses a skill with penalties do they apply? (Note 1) -party_skill_penaly: yes - -// If monster's class is changed will it fully recover HP and SP and Ailments? (Note 1) -monster_class_change_full_recover: no - -// Do produced items have the maker's name on them? (Note 1) -produce_item_name_input: yes - -// Do produced potions have the maker's name on them? (Note 1) -produce_potion_name_input: yes - -// Do crafted arrows have the maker's name on them? (Note 1) -making_arrow_name_input: yes - -// Does created holy water have the maker's name on it? (Note 1) -holywater_name_input: yes - -// Stop logout for 10 seconds after a hit? (Note 1) -prevent_logout: yes - -// If skill fails by delay, should it display or not. (Note 1) -display_delay_skill_fail: yes - -// Can a player in chat room (in-game), be warped by a warp portal? (Note 1) -chat_warpportal: no - -// Can a monster be warped by a warp portal? (Note 1) -mob_warpportal: no - -// Is a monster summoned via dead branch aggresive? (Note 1) -dead_branch_active: yes - -// The highest value at which an item can be sold via the merchant vend skill. (in zeny) -vending_max_value: 10000000 - -// If someone loots, show name in party? (Note 1) -show_steal_in_same_party: no - -// Allow upper class (Advanced 2nd Class)? (Note 1) -// Just leave this at yes -enable_upper_class: yes - -// Is a usual attack of a pet delivered withOUT an attribute? (Note 1) -pet_attack_attr_none: no - -// Is a usual attack of a player delivered withOUT an attribute? (Note 1) -pc_attack_attr_none: no - -// Is a usual attack of a monster delivered withOUT an attribute? (Note 1) -mob_attack_attr_none: no - -// mob attacks againsts players wearing ghostring armor do full damage -mob_ghostring_fix: no - -// Does the Golden Thief Bug card only work during pvp? -// no or 0 - gtb works all the time -// 1 - 100 - percentage of magic damage reduced only during pvp (or gvg) -gtb_pvp_only: no - -// How to count the number of the enemies who do an agi penalty... -// 1 or less: It is a count altogether. -// 2: Full evasion exclusion -// 3: Full evasion and evasion exclusion -// 4 or more: Except all. -agi_penaly_count_lv: 2 - -// How to count the number of the enemies who do a vit penalty -// 1 or less: It is a count altogether. -// 2: Full evasion exclusion -// 3: Full evasion and evasion exclusion -// Four or more: Except all. -vit_penaly_count_lv: 3 - -// Grandcross Settings (Dont mess with these) -// Even if MOB (PC) has overlapped, it HIT(s) compulsion 3. (Default no) -gx_allhit: no -// The effect of the arms card of a damage %UP system is set also to GX at -L effect. (default no) -gx_cardfix: no -// The attribute affinity of GX is calculated doubly. (Default yes) -gx_dupele: yes -// Grandcross display type (Default 1) -// 0: Yellow character -// 1: White character -gx_disptype: 1 - -// If no than you can use the ensemble skills alone. (Note 1) -player_skill_partner_check: yes - -// Is the character of a GM account set as the object of a display by @ command etc. or not? -hide_GM_session: no - -// ƒ†ƒjƒbƒgˆÚ“Ūˆ-•û-@B0‚Å-{ŽIŽd-l(‰ņü•‰‰ŨĻdAŽIˆ-ĻŒy)A1‚ÅAthenaŽd-l(‰ņü•‰‰ŨĻŒyAŽIˆ-Ļd) -// translation (babelfish): -// Unit portable place - ? @. -// With 0 - {mackerel SI -l (circuit load -> heavily, the mackerel place - the ? ? lightly), -// With 1 - Athena SI -l (circuit load -> lightly, the mackerel place - the ? ? it is heavy) -unit_movement_type: 0 - -// Are other requests accepted during [various things[party,guild]] a request or not? -// It does not accept by no accepted by yes. -invite_request_check: yes - -// ƒŠƒ€[ƒuƒgƒ‰ƒbƒv‚ĖŽd-l 0:-{ŽIŽd-lAãĐ1ŒÂ 1:AthenaŽd-lAŽg‚Á‚―ƒAƒCƒeƒ€‚ðŽg‚Á‚―ŒÂ” -// translation (babelfish): -// SI of ???????? -l -// 0: - {Mackerel SI -l, trap 1 -// 1:Athena SI -l, the quantity which used the item which was used -skill_removetrap_type: 0 - -// Will display experience gained from killing a monster. (Note 1) -disp_experience: no - -// Whether or not Marine Spheres and Floras summoned by Alchemist will drop items and give experience? (Note 1) -alchemist_summon_reward: no - -// Maximum level (default 255). Requires that you have an experience table that supports more than 99 levels to go -// any higher. It is left at 255 for default as to not cause problems for people who already have players at higher levels. -// @lvup command will not go higher than this value, and therefor will not loop back around 0. -maximum_level: 255 - -// Leave at 0 to use normal drop system. Anything higher than 0 will allow luk to affect drop rates, based on a percentage. -// Example 1: Setting of 10 with 50 luk would add 5 to the drop rate. So say a card has a drop rate of 2, it would become 7. -// Example 2 : Setting 100 with 99 luk would add 99 to the drop rate. -drops_by_luk: 0 - -// Do all monsters ignore GMs unless attacked? (Note 1) -monsters_ignore_gm: no - -// Turn equipment breaking on. (Note 1) -// Turning this one will allow equipment to break in battles, -// as well as some skills that have chance to break equipmen. -equipment_breaking: no - -// Overall rate of which equipment can break. (Note 2) [100 = .01% chance to break equipment before penalties.] -// Critical attacks will double chance to break equipment, and other skills (such as Power Thrust) will increase weapon breaking chance as well. -// This does not effect Sage weapon enchantment failure chance. -equipment_break_rate: 100 - -// PK Server Mode. Turns entire server pvp(excluding towns). Experience loss is doubled if killed by another player. -// When players hunt monsters over 20 levels higher, they will receive 15% additional exp., and 25% chance of receiving more items. -// There is a nopvp.txt for setting up maps not to have pk on in this mode. Novices cannot be attacked and cannot attack. -// Normal pvp counter and rank display are disabled as well. -pk_mode: no - -// Turn this on to allow a player to level up more than once from a kill. (Note 1) -multi_level_up: no - -// Does using bow to do a backstab give a 50% damage penalty? (Note 1) -backstab_bow_penalty: yes - -// Choose if server begin with night (yes) or day (no) -night_at_start: no - -// Define duration in msec of the day (default: 7,200,000 = 2 hours) -// Set to 0 to disable day cycle (but not @day GM command). -// Except 0, minimum is 60000 (1 minute). -day_duration: 7200000 - -// Define duration in msec of the night (default: 1,800,000 = 30 min) -// Set to 0 to disable night cycle (but not @night GM command). -// Except 0, minimum is 60000 (1 minute). -night_duration: 1800000 - -// Will display a mob's hp/maxhp when the mouse cursor is over them. (Note 1) -// Will not display guardian or emperium hp. -// -// Still under testing (works but doesn't update) -show_mob_hp: no - -// Ban people that try to use an other name of its name (spoof name). -// Duration of the ban, in minutes (default: 5). Value from 0 to 32767 -// to disable the ban, set 0 -ban_spoof_namer: 5 - -// Set here minimum level of a (online) GM that can receive all informations about any player that try to hack, spoof a name, etc. -// Values are from 0 to 100. -// 100: disable information -// 0: send to any people, including normal players -// default: 60, according to GM definition in atcommand_athena.conf -hack_info_GM_level: 60 - -// Set here the minimum GM level to disable the nowarp (from) and nowarpto (to) flags. -// This option is mainly used in AT_commands (@memo, @warp, @charwarp, @go, etc...). All GM commands used to move or set a new map check nowarp and nowarpto flags. -// default: 20 (first level after normal player or super'normal' player) -any_warp_GM_min_level: 20 - -// Set here which client version do you accept. Add all values of clients: -// 1: Clients before 2004-07-06 (old clients) -// 2: 2004-07-06 kRO client -// 4: 2004-07-13 kRO client -// 8: 2004-07-26 kRO client -// 16: 2004-08-09 kRO / 2004-08-16aSakray / 2004-08-17aSakray client -// 32: 2004-09-06aSakray client -// 64: 2004-09-21aSakray Client -// 128: 2004-10-18bSakexe Client -// 256: 2004-10-25aSakexe Client -// default value: 511 (all clients) -packet_ver_flag: 511 - -// Allow GMs to mute players or not? -muting_players: no - -// Mail system - Only function in sql version -mail_system: no - -// valid range of dye's and styles on the client -min_hair_style: 0 -max_hair_style: 20 -min_hair_color: 0 -max_hair_color: 9 -min_cloth_color: 0 -max_cloth_color: 4 - -// Visible area size (how many squares away from a player can they see) -area_size: 14 - -import: conf/import/battle_conf.txt - +// ______ __ __ +// /\ _ \/\ \__/\ \ +// __\ \ \L\ \ \ ,_\ \ \___ __ ___ __ +// /'__`\ \ __ \ \ \/\ \ _ `\ /'__`\/' _ `\ /'__`\ +///\ __/\ \ \/\ \ \ \_\ \ \ \ \/\ __//\ \/\ \/\ \L\.\_ +//\ \____\\ \_\ \_\ \__\\ \_\ \_\ \____\ \_\ \_\ \__/.\_\ +// \/____/ \/_/\/_/\/__/ \/_/\/_/\/____/\/_/\/_/\/__/\/_/ +// _ _ _ _ _ _ _ _ _ _ _ _ _ +// / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ +//( e | n | g | l | i | s | h ) ( A | t | h | e | n | a ) +// \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ +// +//-------------------------------------------------------------- +//eAthena Battle Configuration File +// Made in to plainer english by Ancyker +//-------------------------------------------------------------- +//Note 1: Directives can be set using on/off, yes/no or 1/0. +//Note 2: All rates are in percents, 100 would mean 100%, 200 +// would mean 200%, etc +// Other Information: +// 1000 miliseconds is 1 second. +//-------------------------------------------------------------- + +// Do you want to debug warp points? If set to yes, warp points will appear as flags.(Note 1) +warp_point_debug: no + +// When calculating critical, should we take in to account the enimies luck? (Note 1) +enemy_critical: yes + +// Enemy's Critical Rate (Note 2) +enemy_critical_rate: 100 + +// Are enemy attacks effected by their strength? (Note 1) +enemy_str: yes + +// Can enemies have perfect flee? (Note 1) +enemy_perfect_flee: no + +// The rate of time it takes to cast a spell (Note 2, 0 = No casting time) +casting_rate: 100 + +// Delay time after casting (Note 2) +delay_rate: 100 + +// Is the delay time is dependent on the caster's DEX? (Note 1) +delay_dependon_dex: yes + +// At what dex does the cast time become zero (instacast) +castrate_dex_scale: 150 + +// Is 'Skills add a delay before you can attack' enabled? (Note 1) +skill_delay_attack_enable: yes + +// Whether or not cards and attributes in the left hand are enabled (Note 1) +left_cardfix_to_right: yes + +// Increase player's attack range (in cells) +player_skill_add_range: 0 + +// If the target moves out of range while casting, do we take the items and SP for the skill anyway? (Note 1) +skill_out_range_consume: no + +// Increase Monsters attack range +monster_skill_add_range: 0 + +// If a player is attacked, will they have a delay in being able to move? (Note 1) +// (Setting to no will be like always endure) +player_damage_delay: yes + +// Damaged delay rate (Note 2) +player_damage_delay_rate: 100 + +// Is a player's defense NOT dependant on an enemies attack? (Note 1) +defunit_not_enemy: yes + +// Are summoned monsters level greater then your base level? (I think this is for dead branches) (Note 1) +random_monster_checklv: yes + +// The maximum quantity of monsters that can be summoned per GM command (0 denotes an unlimited quantity) +atcommand_spawn_quantity_limit: 100 + +// Does HP recover if hit by an attribute that's same as your own? (Note 1) +attribute_recover: yes + +// If an item is droped, does it go stright into the users inventory? (Note 1) +item_auto_get: no + +// How long does it take for an item to disappear from the floor after it is dropped? (in miliseconds) +flooritem_lifetime: 60000 + +// How long before the first person who did the most damage to a monster can get the item? (in milliseconds) +item_first_get_time: 3000 + +// How long before the second person who did the second most damage to a monster can get the item? (in milliseconds) +// (It Adds Time From The First Persons Time) +// So, It Is Like First Person's Time + Second Person's Time = Time Before Second Person Can Get The Items +item_second_get_time: 1000 + +// How long before the third person who did the third most/least damage to a monster can get the item? (in milliseconds) +// (It Adds Time From The First Persons Time And Second Persons Time) +// So, It Is Like First Person's Time + Second Person's Time + Third Person's Time = Time Before Third Person Can Get The Items +item_third_get_time: 1000 + +// How long before the first person who did the most damage to a MVP can get the item? (in milliseconds) +mvp_item_first_get_time: 10000 + +// How long before the second person who did the second most damage to a MVP can get the item? (in milliseconds) +// (It Adds Time From The First Persons Time) +// So, It Is Like First Person's Time + Second Person's Time = Time Before Second Person Can Get The Items +mvp_item_second_get_time: 10000 + +// How long before the third person who did the third most/least damage to a MVP can get the item +//(Note the Amount is in Milliseconds and It Adds Time From The First Persons Time And Second Persons Time) +//So It Is Like First Person's Time + Second Person's Time + Third Person's Time = Time Before Third Person Can Get The Items +mvp_item_third_get_time: 2000 + +// Item drop rates (Note 2) + +// The rate the common items are droped (Items that are in the ETC tab, besides card) +item_rate_common: 100 +item_drop_common_min: 1 +item_drop_common_max: 10000 + +// The rate healing items are droped (items that restore HP or SP) +item_rate_heal: 100 +item_drop_heal_min: 1 +item_drop_heal_max: 10000 + +// The rate at which usable items (in the item tab) other then healing items are droped. +item_rate_use: 100 +item_drop_use_min: 1 +item_drop_use_max: 10000 + +// The rate at which equipment is droped. +item_rate_equip: 100 +item_drop_equip_min: 1 +item_drop_equip_max: 10000 + +// The rate at which cards are droped +item_rate_card: 100 +item_drop_card_min: 1 +item_drop_card_max: 10000 + +item_drop_mvp_min: 1 +item_drop_mvp_max: 10000 + +// Can the monster's drop rate become 0? (Note 1) +drop_rate0item: no + +// Rate at which exp. is given. (Note 2) +base_exp_rate: 100 + +// Rate at which job exp. is given. (Note 2) +job_exp_rate: 100 + +// PVP exp. Do players get exp during pvp +pvp_exp: yes + +// When a player dies, how should we penalize them? +// 0 = No penalty. +// 1 = Lose % of current level when killed. +// 2 = Lose % of total experience when killed. +death_penalty_type: 1 + +// Base exp. penalty rate (Each 100 is 1% of their exp) +death_penalty_base: 100 + +// Job exp. penalty rate (Each 100 is 1% of their exp) +death_penalty_job: 100 + +// When a player dies, how much zeny should we penalize them with? +zeny_penalty: 0 + +// The amount of HP a player will respawn with, 0 is default. +// (Unit is in percentage of total HP, 100 is full heal of HP, 0 is respawn with 1HP total.) +restart_hp_rate: 0 + +// The amount of SP a player will respawn with, 0 is default. +// (Unit is in percentage of total SP, 100 is full heal of SP, 0 is respawn with 1SP total.) +restart_sp_rate: 0 + +// [MVP] Summoned monsters HP rate, that is, monsters summoned by an MVP will have this much HP. (Note 2) +mvp_hp_rate: 100 + +// [MVP] Item drop rate, that is, the overall drop rate for items droped by an MVP. (Note 2) +mvp_item_rate: 100 + +// [MVP] Exp. rate. (Note 2) +mvp_exp_rate: 100 + +// The HP rate of normal monsters (that is monsters that are not MVP's) (Note 2) +monster_hp_rate: 100 + +// The maximum attack speed of a monster +monster_max_aspd: 199 + +// (@) GM Commands available only to GM's? (Note 1) +// set to 'No', Normal players (gm level 0) can use GM commands _IF_ you set the command level to 0. +// set to 'Yes', Normal players (gm level 0) can never use a GM command even if you set the command level to 0. +atcommand_gm_only: no + +// [GM] Can use all skills? (No or mimimum GM level) +gm_all_skill: no + +// [GM] Can use all abracadabra skills? (No minimum GM level) +gm_all_skill_add_abra: no + +// [GM] Can equip anything? (No or minimum GM level, can cause client errors.) +gm_all_equipment: no + +// [GM] Raise skills unconditionally, that is, put points in to a skill not in thier jobs skill tree? (no or minimum gm level) +gm_skill_unconditional: no + +// Can a normal player by-pass the skill tree? (Note 1) +player_skillfree: no + +// When doing a skill reset, whether the skill's restriction is to be ignored or not. (Note 1) +player_skillup_limit: yes + +// Forging success rate. (Note 2) +weapon_produce_rate: 100 + +// Prepare Potion succsss rate. (Note 2) +potion_produce_rate: 100 + +// Allow monsters to be aggresive and attack first? (Note 1) +monster_active_enable: yes + +// Monster damage delay rate (Note 1) +monster_damage_delay_rate: 100 + +// Looting monster actions. +// 0 = Monster will consume the item. +// 1 = Monster will not consume the item. +monster_loot_type: 0 + +// Enable monster skills? (Note 1) +mob_skill_use: yes + +// Rate of monsters on a map, 200 would be twice as many as normal. (Note 2) +mob_count_rate: 100 + +// Quest skills can be learned? (Note 1) +// Setting this to yes can open an exploit on your server! +quest_skill_learn: no + +// When skills are reset, quest skills are reset as well? (Note 1) +// Setting this to yes can open an exploit on your server! +quest_skill_reset: no + +// You must have basic skills to be able to sit, trade, form a party or create a chatroom? (Note 1) +basic_skill_check: yes + +// When making a guild, an Emperium is consumed? (Note 1) +guild_emperium_check: yes + +// Maximum tax limit on a guild member. +guild_exp_limit: 50 + +// Maximum castles one guild can own (0 - unlimited) +guild_max_castles: 0 + +// When teleporting, or spawning to a map, how long before a monster sees you if you don't move? (time is in milliseconds) +// That is, when you go to a map and don't move, how long before the monsters will notice you. +// If you attack a monster, it will attack you back regaurdless of this setting. (I think) +player_invincible_time: 5000 + +// [PET] Rate for catching pets (Note 2) +pet_catch_rate: 100 + +// [PET] Can you name a pet more then once? (Note 1) +pet_rename: no + +// [PET] The rate a pet will get friendly by feeding it. (Note 2) +pet_friendly_rate: 100 + +// [PET] The rate at which a pet will become hungry. (Note 2) +pet_hungry_delay_rate: 100 + +// [PET] If your pet is hungry by how much will the friendlyness decrease by. (Default is 5) +// Note: The friendlyness is 0-1000 total, at 0 the pet runs away. +pet_hungry_friendly_decrease: 5 + +// [PET] Does Pet's Attack Damage Based On Str (Note 1) +pet_str: yes + +// [PET] Whether or not the pet's will use skills. (Note 1) +pet_status_support: yes + +// [PET] Does the pet need its equipment before it does its skill? (Note 1) +pet_equip_required: yes + +// [PET] Will all pets attack? (Note 1) +// Do NOT use this with pet skills! +pet_attack_support: no + +// [PET] When the master receives damage from the monster, whether or not the pet attacks back. +pet_damage_support: no + +// [PET] Rate at which a pet will support it's owner in battle. (Note 2) +pet_support_rate: 100 + +// [PET] Does the pets owner receive exp from the pets damage? +pet_attack_exp_to_master: no + +// [PET] The rate exp. is gained from the pet attacking monsters +pet_attack_exp_rate: 100 + +// Will there be a minimum skill dmg even if there is a miss? +skill_min_damage: no + +// Which finger offensive style can be used? +// 0 = Aegis style +// 1 = Athena style +finger_offensive_type: 0 + +// The rate of job exp. from using Heal skill (100 is the same as the heal amount, 200 is double. +// The balance of the exp. rate is best used with 5 to 10) +heal_exp: 0 + +// The rate of exp. that is gained by the process of resurrection, a unit is 0.01%. +// Experience calculations for the experience value * level difference of the person revived / 100 * resurrection_exp/10000 which the revived player has can be got. +resurrection_exp: 0 + +// The rate of job exp. when using discount and overcharge on an NPC (100 is normal, 200 is double.) +// The way it is calculated is (money recieved * skill lv) * shop_exp / 100. +shop_exp: 0 + +// The delay rate of monk's combo (Note 2) +combo_delay_rate: 100 + +// Item check? (Note 1) +// When logged in or moving in map if the item the player is holding isn't correct there will be a check. +item_check: no + +// Will tuxedo and wedding dresses be shown when worn? (Note 1) +wedding_modifydisplay: yes + +// The time interval for HP to restore naturally. (in milliseconds) +natural_healhp_interval: 6000 + +// The time interval for SP to restore naturally. (in milliseconds) +natural_healsp_interval: 8000 + +// Automatic healing skill's time interval. (in milliseconds) +natural_heal_skill_interval: 10000 + +// The maximum weight for a character to carry when the character stops healing naturally. (in %) +natural_heal_weight_rate: 50 + +// Override item names from GRF file? (Note 1) +item_name_override_grffile: yes + +// Are arrows are consumed when used on a bow? (Note 1) +arrow_decrement: yes + +// Maximum atk speed. (Default is 190) +max_aspd: 190 + +// Maximum HP. (Default is 32500) +max_hp: 32500 + +// Maximum SP. (Default is 32500) +max_sp: 32500 + +// Maximum user LV to send to client +// (Default is 99.. Never go above 127) +// +// this is only useful if you have adjusted your client +// to expect levels higher then 99 +max_lv: 99 + +// Max limit of char stats. (agi, str, etc.) +max_parameter: 99 + +// Max weight carts can hold. +max_cart_weight: 8000 + +// Display player skill errors in console? (for debug only) (default: off) (Note 1) +player_skill_log: off + +// Display monster skill errors in console? (for debug only) (default: off) (Note 1) +monster_skill_log: off + +// Display battle log? (for debug only) (default: off) (Note 1) +battle_log: off + +// Display save log? (for debug only) (default: off) (Note 1) +save_log: off + +// Display errors? (for debug only) (default: off) (Note 1) +error_log: off + +// Display other stuff? (for debug only) (default: off) (Note 1) +etc_log: off + +// Save Clothes color. (This will degrade performance [in txt?]) (Note 1) +save_clothcolor: yes + +// Undead type differeniate. +// 0 = element undead +// 1 = race undead +// 2 = both +undead_detect_type: 2 + +// Operational mode of automatic counter. +// 0 = disregard DEF and HIT+20 . CRI*2, 1 = 100% critical +// Players +player_auto_counter_type: 0 +// Monsters +monster_auto_counter_type: 0 + +// Type of penalty that is applied to FLEE when more than agi_penaly_count monsters are targetting player +// 0 = no penalty is applied +// 1 = agi_penaly_num is reduced from FLEE as a % +// 2 = agi_penaly_num is reduced from FLEE as an exact amount +agi_penaly_type: 1 + +// Amount of enemies required to be targetting player before FLEE begins to be penalized +agi_penaly_count: 3 + +// Amount of FLEE penalized per each attacking monster more than agi_penaly_count +agi_penaly_num: 10 + +// Type of penalty that is applied to VIT defense when more than vit_penaly_count monsters are targetting player +// 0 = no penalty is applied +// 1 = vit_penaly_num is reduced from FLEE as a % +// 2 = vit_penaly_num is reduced from FLEE as an exact amount +vit_penaly_type: 1 + +// Amount of enemies required to be targetting player before VIT defense begins to be penalized +vit_penaly_count: 3 + +// Amount of VIT defense penalized per each attacking monster more than vit_penaly_count +vit_penaly_num: 5 + +// When the player attacks an object, the calculation method of DEF. +// With 0 this will be ignored specification, at 1 or more def = subtraction of (DEF* value). +player_defense_type: 0 + +// When the monster attacks an object, the calculation method of DEF. +// With 0 this will be ignored, at 1 or more def = subtraction of (DEF* value). +monster_defense_type: 0 + +// When the pet attacks an object, the calculation method of DEF. +// With 0 this will be ignored specification, at 1 or more def = subtraction of (DEF* value). +pet_defense_type: 0 + +//MDEF‚same as above....(MDEF*value) +magic_defense_type: 0 + +// Whether or not, ground skills of the players' will stack. (Note 1) +player_skill_reiteration: no + +//Whether or not, ground skills of the monsters' will pile up. (Note 1) +monster_skill_reiteration: no + +//Whether or not ground based skills of a certain type such as traps can be cast straight onto other players. (Note 1) +player_skill_nofootset: yes + +//Whether or not ground based skills of a certain type such as traps can be cast straight onto monsters. (Note 1) +monster_skill_nofootset: yes + +// When a player is cloaking, Whether the wall is checked or not. (Note 1) +// Note: Gravity announced that they were changing cloaking so it would +// not need a wall, but this was never implemented. I set to no, for fun. +player_cloak_check_type: no + +// When a monster is cloaking, Whether the wall is checked or not. (Note 1) +monster_cloak_check_type: no + +// Melee damage adjustments for WoE battles (Guild Vs Guild) (Note 2) +gvg_short_attack_damage_rate: 100 + +// Ranged damage adjustments for WoE battles (Guild Vs Guild) (Note 2) +gvg_long_attack_damage_rate: 100 + +// Magic damage adjustments for WoE battles (Guild Vs Guild) (Note 2) +gvg_magic_attack_damage_rate: 100 + +// Misc damage adjustments for WoE battles (Guild Vs Guild) (Note 2) +gvg_misc_attack_damage_rate: 100 + +// When the empelium is broken with WoE mode on, How Long Before The Declaration Of Castle Owner +// and Removal of Monsters/Players from Castle. (in milliseconds) +gvg_eliminate_time: 7000 + +// Whether or not skill is used vis-a-vis the user at the time of MOB skill motion of condition skillused. (Note 1) +// Not sure what this means, something about monsters changing target? +mob_changetarget_byskill: no + +// Player's Direction Changed When Attacking? (Note 1) +player_attack_direction_change: yes + +// Monsters's Direction Changed When Attacking? (Note 1) +monster_attack_direction_change: yes + +// If the player has Undead Elemental Equipment, should they be frozen or not. (Note 1) +player_undead_nofreeze: no + +// Will Player Skills Stay Within Land Limit or not? (Note 1) +player_land_skill_limit: yes + +// Will Monster Skills Stay Within Land Limit or not? (Note 1) +monster_land_skill_limit: yes + +// If a party uses a skill with penalties do they apply? (Note 1) +party_skill_penaly: yes + +// If monster's class is changed will it fully recover HP and SP and Ailments? (Note 1) +monster_class_change_full_recover: no + +// Do produced items have the maker's name on them? (Note 1) +produce_item_name_input: yes + +// Do produced potions have the maker's name on them? (Note 1) +produce_potion_name_input: yes + +// Do crafted arrows have the maker's name on them? (Note 1) +making_arrow_name_input: yes + +// Does created holy water have the maker's name on it? (Note 1) +holywater_name_input: yes + +// Stop logout for 10 seconds after a hit? (Note 1) +prevent_logout: yes + +// If skill fails by delay, should it display or not. (Note 1) +display_delay_skill_fail: yes + +// Can a player in chat room (in-game), be warped by a warp portal? (Note 1) +chat_warpportal: no + +// Can a monster be warped by a warp portal? (Note 1) +mob_warpportal: no + +// Is a monster summoned via dead branch aggresive? (Note 1) +dead_branch_active: yes + +// The highest value at which an item can be sold via the merchant vend skill. (in zeny) +vending_max_value: 10000000 + +// If someone loots, show name in party? (Note 1) +show_steal_in_same_party: no + +// Allow upper class (Advanced 2nd Class)? (Note 1) +// Just leave this at yes +enable_upper_class: yes + +// Is a usual attack of a pet delivered withOUT an attribute? (Note 1) +pet_attack_attr_none: no + +// Is a usual attack of a player delivered withOUT an attribute? (Note 1) +pc_attack_attr_none: no + +// Is a usual attack of a monster delivered withOUT an attribute? (Note 1) +mob_attack_attr_none: no + +// mob attacks againsts players wearing ghostring armor do full damage +mob_ghostring_fix: no + +// Does the Golden Thief Bug card only work during pvp? +// no or 0 - gtb works all the time +// 1 - 100 - percentage of magic damage reduced only during pvp (or gvg) +gtb_pvp_only: no + +// How to count the number of the enemies who do an agi penalty... +// 1 or less: It is a count altogether. +// 2: Full evasion exclusion +// 3: Full evasion and evasion exclusion +// 4 or more: Except all. +agi_penaly_count_lv: 2 + +// How to count the number of the enemies who do a vit penalty +// 1 or less: It is a count altogether. +// 2: Full evasion exclusion +// 3: Full evasion and evasion exclusion +// Four or more: Except all. +vit_penaly_count_lv: 3 + +// Grandcross Settings (Dont mess with these) +// Even if MOB (PC) has overlapped, it HIT(s) compulsion 3. (Default no) +gx_allhit: no +// The effect of the arms card of a damage %UP system is set also to GX at -L effect. (default no) +gx_cardfix: no +// The attribute affinity of GX is calculated doubly. (Default yes) +gx_dupele: yes +// Grandcross display type (Default 1) +// 0: Yellow character +// 1: White character +gx_disptype: 1 + +// If no than you can use the ensemble skills alone. (Note 1) +player_skill_partner_check: yes + +// Is the character of a GM account set as the object of a display by @ command etc. or not? +hide_GM_session: no + +// ƒ†ƒjƒbƒgˆÚ“Ūˆ-•û-@B0‚Å-{ŽIŽd-l(‰ņü•‰‰ŨĻdAŽIˆ-ĻŒy)A1‚ÅAthenaŽd-l(‰ņü•‰‰ŨĻŒyAŽIˆ-Ļd) +// translation (babelfish): +// Unit portable place - ? @. +// With 0 - {mackerel SI -l (circuit load -> heavily, the mackerel place - the ? ? lightly), +// With 1 - Athena SI -l (circuit load -> lightly, the mackerel place - the ? ? it is heavy) +unit_movement_type: 0 + +// Are other requests accepted during [various things[party,guild]] a request or not? +// It does not accept by no accepted by yes. +invite_request_check: yes + +// ƒŠƒ€[ƒuƒgƒ‰ƒbƒv‚ĖŽd-l 0:-{ŽIŽd-lAãĐ1ŒÂ 1:AthenaŽd-lAŽg‚Á‚―ƒAƒCƒeƒ€‚ðŽg‚Á‚―ŒÂ” +// translation (babelfish): +// SI of ???????? -l +// 0: - {Mackerel SI -l, trap 1 +// 1:Athena SI -l, the quantity which used the item which was used +skill_removetrap_type: 0 + +// Will display experience gained from killing a monster. (Note 1) +disp_experience: no + +// Whether or not Marine Spheres and Floras summoned by Alchemist will drop items and give experience? (Note 1) +alchemist_summon_reward: no + +// Maximum level (default 255). Requires that you have an experience table that supports more than 99 levels to go +// any higher. It is left at 255 for default as to not cause problems for people who already have players at higher levels. +// @lvup command will not go higher than this value, and therefor will not loop back around 0. +maximum_level: 255 + +// Leave at 0 to use normal drop system. Anything higher than 0 will allow luk to affect drop rates, based on a percentage. +// Example 1: Setting of 10 with 50 luk would add 5 to the drop rate. So say a card has a drop rate of 2, it would become 7. +// Example 2 : Setting 100 with 99 luk would add 99 to the drop rate. +drops_by_luk: 0 + +// Do all monsters ignore GMs unless attacked? (Note 1) +monsters_ignore_gm: no + +// Turn equipment breaking on. (Note 1) +// Turning this one will allow equipment to break in battles, +// as well as some skills that have chance to break equipmen. +equipment_breaking: no + +// Overall rate of which equipment can break. (Note 2) [100 = .01% chance to break equipment before penalties.] +// Critical attacks will double chance to break equipment, and other skills (such as Power Thrust) will increase weapon breaking chance as well. +// This does not effect Sage weapon enchantment failure chance. +equipment_break_rate: 100 + +// PK Server Mode. Turns entire server pvp(excluding towns). Experience loss is doubled if killed by another player. +// When players hunt monsters over 20 levels higher, they will receive 15% additional exp., and 25% chance of receiving more items. +// There is a nopvp.txt for setting up maps not to have pk on in this mode. Novices cannot be attacked and cannot attack. +// Normal pvp counter and rank display are disabled as well. +pk_mode: no + +// Turn this on to allow a player to level up more than once from a kill. (Note 1) +multi_level_up: no + +// Does using bow to do a backstab give a 50% damage penalty? (Note 1) +backstab_bow_penalty: yes + +// Choose if server begin with night (yes) or day (no) +night_at_start: no + +// Define duration in msec of the day (default: 7,200,000 = 2 hours) +// Set to 0 to disable day cycle (but not @day GM command). +// Except 0, minimum is 60000 (1 minute). +day_duration: 7200000 + +// Define duration in msec of the night (default: 1,800,000 = 30 min) +// Set to 0 to disable night cycle (but not @night GM command). +// Except 0, minimum is 60000 (1 minute). +night_duration: 1800000 + +// Will display a mob's hp/maxhp when the mouse cursor is over them. (Note 1) +// Will not display guardian or emperium hp. +// +// Still under testing (works but doesn't update) +show_mob_hp: no + +// Ban people that try to use an other name of its name (spoof name). +// Duration of the ban, in minutes (default: 5). Value from 0 to 32767 +// to disable the ban, set 0 +ban_spoof_namer: 5 + +// Set here minimum level of a (online) GM that can receive all informations about any player that try to hack, spoof a name, etc. +// Values are from 0 to 100. +// 100: disable information +// 0: send to any people, including normal players +// default: 60, according to GM definition in atcommand_athena.conf +hack_info_GM_level: 60 + +// Set here the minimum GM level to disable the nowarp (from) and nowarpto (to) flags. +// This option is mainly used in AT_commands (@memo, @warp, @charwarp, @go, etc...). All GM commands used to move or set a new map check nowarp and nowarpto flags. +// default: 20 (first level after normal player or super'normal' player) +any_warp_GM_min_level: 20 + +// Set here which client version do you accept. Add all values of clients: +// 1: Clients before 2004-07-06 (old clients) +// 2: 2004-07-06 kRO client +// 4: 2004-07-13 kRO client +// 8: 2004-07-26 kRO client +// 16: 2004-08-09 kRO / 2004-08-16aSakray / 2004-08-17aSakray client +// 32: 2004-09-06aSakray client +// 64: 2004-09-21aSakray Client +// 128: 2004-10-18bSakexe Client +// 256: 2004-10-25aSakexe Client +// default value: 511 (all clients) +packet_ver_flag: 511 + +// Allow GMs to mute players or not? +muting_players: no + +// Mail system - Only function in sql version +mail_system: no + +// valid range of dye's and styles on the client +min_hair_style: 0 +max_hair_style: 20 +min_hair_color: 0 +max_hair_color: 9 +min_cloth_color: 0 +max_cloth_color: 4 + +// Visible area size (how many squares away from a player can they see) +area_size: 14 + +import: conf/import/battle_conf.txt + diff --git a/conf-tmpl/char_athena.conf b/conf-tmpl/char_athena.conf index 7edaa69e3..4783f0446 100644 --- a/conf-tmpl/char_athena.conf +++ b/conf-tmpl/char_athena.conf @@ -1,171 +1,171 @@ -// Athena Character configuration file. - -// Server Communication username and password. -userid: s1 -passwd: p1 - -// Server name, use alternative character such as ASCII 160 for spaces. -server_name: eAthena - -// Wisp name for server: used to send wisp from server to players (between 4 to 23 characters) -wisp_server_name: Server - -// Login Server IP -// -// You should only need to set this if you are running behind a -// firewall or on a machine with multiple interfaces. In that case, -// you need to specify the IP address you wish to export to the entire world. -// -// login_ip:127.0.0.1 - -// Login Server Port -login_port: 6900 - -// Character Server IP -// -// You should only need to set this if you are running behind a -// firewall or on a machine with multiple interfaces. In that case, -// you need to specify the IP address you wish to export to the entire world. -// -// char_ip:127.0.0.1 - -// Character Server Port -char_port: 6121 - -// Console Commands -// Allow for console commands to be used on/off -// This prevents usage of >& log.file -console: off - -// Option to force a player to create an e-mail. -// If a player have default e-mail, and if you activate this option, the player can only connect in the game (to arrive on a map) like follow: -// - Create at least 1 character -// - Select 1 character -// - Select DEL to enter his/her e-mail. (if OK is choosen, client says to the player: 'invalid e-mail') -// - If his/her e-mail is correct, the player enter in the game (an e-mail is saved definitively). -// - If his/her e-mail is incorrect, he/she have 'incorrect e-mail' and must select again DEL. -// - After entering in the game (when the player arrives on a map), DEL and SEL/OK button work normaly for all next connections. -// Resume: If a player have "incorrect/invalid e-mail" when he/she click on 'OK' button, -// the player must click 'DEL' button and register his/her NEW e-mail to enter in the game -// So, default is 0, because administrator must explain to their players before to activate this option. -email_creation: 0 - -// Is Character server in maintainence mode? -char_maintenance: 0 - -// Enable or disable creation of new characters. -char_new: 0 - -// Maximum users able to connect to the server. Set to 0 for unlimited. -max_connect_user: 0 - -// It's to check IP of a player between char-server and other servers (part of anti-hacking system) -// If player doesn't have same IP, connection is refused. -// Set to 0/off/no to not check IP of player. -// Set to 1/on/yes if you want to check (default) -// Note: if you enable this option, be sure that your (local/lan/wan) players use correct ip (in xml file) to contact servers, -// and that your LAN is correctly configured (!), and that LAN configuration of eathena is right. -check_ip_flag: yes - -// How often should the server save all files? (In seconds) -autosave_time: 15 - -// Character server flatfile database -char_txt: save/athena.txt - -// Choose to create or not backup file (yes/no, 0/1, etc...) -// default is 'no', because backup file take time for nothing. Actually, there is no problem on characters file creation and save. -backup_txt_flag: no - -// Character server flatfile database (backup) -backup_txt: save/athena_backup.txt - -// Friends list flatfile database -friends_txt: save/friends.txt - -// Start point, Map name followed by coordinates (x,y) -start_point: new_1-1.gat,53,111 - -// Starting weapon for new characters -start_weapon: 1201 - -// Starting armor for new characters -start_armor: 2301 - -// Starting zeny for new characters -start_zeny: 500 - -// Name used for unknown characters -unknown_char_name: Unknown - -// Log Filename -char_log_filename: log/char.log - -// Allow or not identical name for characters but with a different case (upper/lower): -// example: Test-test-TEST-TesT; Value: 0 not allowed (default), 1 allowed -name_ignoring_case: 0 - -// Manage possible letters/symbol in the name of charater. Control character (0x00-0x1f) are never accepted. Possible values are: -// 0: no restriction (default) -// 1: only letters/symbols in 'char_name_letters' option. -// 2: Letters/symbols in 'char_name_letters' option are forbidden. All others are possibles. -char_name_option: 0 - -// Set the letters/symbols that you want use with the 'char_name_option' option. -// Note: add 'space' between 2 others letters/symbols. -// default: void. -//char_name_letters: - -// Filename of the file which receives the online players list in text -online_txt_filename: online.txt - -// Filename of the file which receives the online players list, but in html version -online_html_filename: online.html - -// Choose how to display online players. -// (sorting operation with a lot of online players can take time on a slow computer) -// 0: no sorting (default) -// 1: by alphabetical order of their name -// 2: by number of their zenys -// 3: by their base level -// 4: by their job (and job level inside the same job) -// 5: by alphabetical order of their actual map location -online_sorting_option: 0 - -// Choose which columns that you want display in the online files. Do the addition of these values: -// (if value is 0, no file is done) -// 1: name (just the name, no function like 'GM') -// 2: job -// 4: levels -// 8: map name -// 16: mapname and coordonates -// 32: zenys -// 64: name (with 'GM' if the player is a GM) -// default value: 1 (only name) -online_display_option: 1 - -// minimum GM level to display 'GM' when we want to display it (default: 1) -online_gm_display_min_level: 20 - -// refresh time (in sec) of the html file in the explorer (default 20) -online_refresh_html: 20 - -// To log the character server? -log_char: 1 - -// What folder the DB files are in (item_db.txt, etc.) -db_path: db - -// Anti-freeze system enable -anti_freeze_enable: 0 -// Anti-freeze system interval (in seconds) -anti_freeze_interval: 6 - -// If you want use an additional configuration file, uncomment and use this parameter -//import: path/additional_configuration_file - -// Mugendai's GUI Support -imalive_on: 0 -imalive_time: 30 -flush_on: 0 +// Athena Character configuration file. + +// Server Communication username and password. +userid: s1 +passwd: p1 + +// Server name, use alternative character such as ASCII 160 for spaces. +server_name: eAthena + +// Wisp name for server: used to send wisp from server to players (between 4 to 23 characters) +wisp_server_name: Server + +// Login Server IP +// +// You should only need to set this if you are running behind a +// firewall or on a machine with multiple interfaces. In that case, +// you need to specify the IP address you wish to export to the entire world. +// +// login_ip:127.0.0.1 + +// Login Server Port +login_port: 6900 + +// Character Server IP +// +// You should only need to set this if you are running behind a +// firewall or on a machine with multiple interfaces. In that case, +// you need to specify the IP address you wish to export to the entire world. +// +// char_ip:127.0.0.1 + +// Character Server Port +char_port: 6121 + +// Console Commands +// Allow for console commands to be used on/off +// This prevents usage of >& log.file +console: off + +// Option to force a player to create an e-mail. +// If a player have default e-mail, and if you activate this option, the player can only connect in the game (to arrive on a map) like follow: +// - Create at least 1 character +// - Select 1 character +// - Select DEL to enter his/her e-mail. (if OK is choosen, client says to the player: 'invalid e-mail') +// - If his/her e-mail is correct, the player enter in the game (an e-mail is saved definitively). +// - If his/her e-mail is incorrect, he/she have 'incorrect e-mail' and must select again DEL. +// - After entering in the game (when the player arrives on a map), DEL and SEL/OK button work normaly for all next connections. +// Resume: If a player have "incorrect/invalid e-mail" when he/she click on 'OK' button, +// the player must click 'DEL' button and register his/her NEW e-mail to enter in the game +// So, default is 0, because administrator must explain to their players before to activate this option. +email_creation: 0 + +// Is Character server in maintainence mode? +char_maintenance: 0 + +// Enable or disable creation of new characters. +char_new: 0 + +// Maximum users able to connect to the server. Set to 0 for unlimited. +max_connect_user: 0 + +// It's to check IP of a player between char-server and other servers (part of anti-hacking system) +// If player doesn't have same IP, connection is refused. +// Set to 0/off/no to not check IP of player. +// Set to 1/on/yes if you want to check (default) +// Note: if you enable this option, be sure that your (local/lan/wan) players use correct ip (in xml file) to contact servers, +// and that your LAN is correctly configured (!), and that LAN configuration of eathena is right. +check_ip_flag: yes + +// How often should the server save all files? (In seconds) +autosave_time: 15 + +// Character server flatfile database +char_txt: save/athena.txt + +// Choose to create or not backup file (yes/no, 0/1, etc...) +// default is 'no', because backup file take time for nothing. Actually, there is no problem on characters file creation and save. +backup_txt_flag: no + +// Character server flatfile database (backup) +backup_txt: save/athena_backup.txt + +// Friends list flatfile database +friends_txt: save/friends.txt + +// Start point, Map name followed by coordinates (x,y) +start_point: new_1-1.gat,53,111 + +// Starting weapon for new characters +start_weapon: 1201 + +// Starting armor for new characters +start_armor: 2301 + +// Starting zeny for new characters +start_zeny: 500 + +// Name used for unknown characters +unknown_char_name: Unknown + +// Log Filename +char_log_filename: log/char.log + +// Allow or not identical name for characters but with a different case (upper/lower): +// example: Test-test-TEST-TesT; Value: 0 not allowed (default), 1 allowed +name_ignoring_case: 0 + +// Manage possible letters/symbol in the name of charater. Control character (0x00-0x1f) are never accepted. Possible values are: +// 0: no restriction (default) +// 1: only letters/symbols in 'char_name_letters' option. +// 2: Letters/symbols in 'char_name_letters' option are forbidden. All others are possibles. +char_name_option: 0 + +// Set the letters/symbols that you want use with the 'char_name_option' option. +// Note: add 'space' between 2 others letters/symbols. +// default: void. +//char_name_letters: + +// Filename of the file which receives the online players list in text +online_txt_filename: online.txt + +// Filename of the file which receives the online players list, but in html version +online_html_filename: online.html + +// Choose how to display online players. +// (sorting operation with a lot of online players can take time on a slow computer) +// 0: no sorting (default) +// 1: by alphabetical order of their name +// 2: by number of their zenys +// 3: by their base level +// 4: by their job (and job level inside the same job) +// 5: by alphabetical order of their actual map location +online_sorting_option: 0 + +// Choose which columns that you want display in the online files. Do the addition of these values: +// (if value is 0, no file is done) +// 1: name (just the name, no function like 'GM') +// 2: job +// 4: levels +// 8: map name +// 16: mapname and coordonates +// 32: zenys +// 64: name (with 'GM' if the player is a GM) +// default value: 1 (only name) +online_display_option: 1 + +// minimum GM level to display 'GM' when we want to display it (default: 1) +online_gm_display_min_level: 20 + +// refresh time (in sec) of the html file in the explorer (default 20) +online_refresh_html: 20 + +// To log the character server? +log_char: 1 + +// What folder the DB files are in (item_db.txt, etc.) +db_path: db + +// Anti-freeze system enable +anti_freeze_enable: 0 +// Anti-freeze system interval (in seconds) +anti_freeze_interval: 6 + +// If you want use an additional configuration file, uncomment and use this parameter +//import: path/additional_configuration_file + +// Mugendai's GUI Support +imalive_on: 0 +imalive_time: 30 +flush_on: 0 flush_time: 30 \ No newline at end of file diff --git a/conf-tmpl/grf-files.txt b/conf-tmpl/grf-files.txt index 186e690cb..3926a63b4 100644 --- a/conf-tmpl/grf-files.txt +++ b/conf-tmpl/grf-files.txt @@ -1,4 +1,4 @@ -data: C:\Program Files\Gravity\RO\data.grf -sdata: C:\Program Files\Gravity\RO\sdata.grf -//adata: C:\Program Files\Gravity\RO\adata.grf +data: C:\Program Files\Gravity\RO\data.grf +sdata: C:\Program Files\Gravity\RO\sdata.grf +//adata: C:\Program Files\Gravity\RO\adata.grf //data_dir: C:\Program Files\Gravity\RO\ \ No newline at end of file diff --git a/conf-tmpl/help.txt b/conf-tmpl/help.txt index 76cc3a922..fa8de1f69 100644 --- a/conf-tmpl/help.txt +++ b/conf-tmpl/help.txt @@ -1,225 +1,225 @@ -// put at first, the minimum level to display the line - 0:To use one command, type it inside the message window where you usually type to chat. - 20:@h/@help - display this help. - 40: - 40:--- MESSAGE CMD --- - 40:/b/@broadcast - Broadcasts a GM message with name of the GM (in yellow) - 40:/nb /@kami - Broadcasts a GM message without name of the GM (in yellow) - 40:@kamib - Broadcasts a GM message without name of the GM (in blue) - 40:/lb/@localbroadcast - Broadcasts a GM message with name of the GM (in yellow) ONLY on your map - 40:/nlb - Broadcasts a GM message without name of the GM (in yellow) ONLY on your map - 0: - 0:--- INFORMATION CMD --- - 20:@who/@whois [match_text] - Display a listing of who is online and where - 20:@who2 [match_text] - Display a listing of who is online and their job - 20:@who3 [match_text] - Display a listing of who is online and their party/guild - 20:@whomap/@whomap2/@whomap3 [map] - like @who/@who2/@who3 but only for specifical map - 20:@whogm [match_text] - Like @who+@who2+who3, but only for GM. - 1:@where [char name] - Tells you the location of a character - 40:@charstatsall - Displays stats of all characters. - 40:@charitemlist - Displays all items of a player. - 40:@charstoragelist - Displays all items of a player's storage. - 40:@charcartlist - Displays all items of a player's cart. - 0:@ignorelist - Displays your ignore list - 99:@mapinfo [<0-3> [map]] - Give information about a map (general info +: 0: no more, 1: players, 2: NPC, 3: shops/chat). - 0:@time/@date/@server_date/@serverdate/@server_time/@servertime - Display the date/time of the server - 60: - 60:@guildspy - You will receive all messages of the guild channel - 60:@partyspy - You will receive all messages of the party channel - 1: - 1:--- CHANGE GM STATE CMD --- - 40:/hide/@hide - Makes you character invisible (GM invisibility). Type @hide again become visible. - 40:@save - Sets respawn point to current spot - 40:@load/@return - Warps you to your save point - 40:/mm//mapmove/@warp/@rura/@mapmove - Warps you to the selected position - 40:@jump [x [y]]- Randomly warps you like a flywing. - 20:/shift/@jumpto/@warpto/@goto - Warps you to selected character - 20:@follow - follow a player - 10:@go - Warps you to a city. - 10: -3: (Memo point 2) 1: morocc 5: izlude 9: yuno 13: niflheim - 10: -2: (Memo point 1) 2: geffen 6: aldebaran 10: amatsu 14: louyang - 10: -1: (Memo point 0) 3: payon 7: xmas (lutie) 11: gonryun 15: start point - 10: 0: prontera 4: alberta 8: comodo 12: umbala 16: prison/jail - 10: - 1:@die ---- suicide - 60:@alive - Revives yourself from death - 40:@heal [ ] - Heals the desired amount of HP and SP. No value specified will do a full heal. - 20: - 40:@job/@jobchange - Changes your job - 40: 0 Novice 7 Knight 14 Crusader 22 Formal - 40: 1 Swordman 8 Priest 15 Monk 23 Super Novice - 40: 2 Mage 9 Wizard 16 Sage - 40: 3 Archer 10 Blacksmith 17 Rogue - 40: 4 Acolyte 11 Hunter 18 Alchem - 40: 5 Merchant 12 Assassin 19 Bard - 40: 6 Thief 13 Peco-Knight 20 Dancer 21 Peco-Crusader - 40: 24 Novice High 31 Lord Knight 38 Paladin - 40: 25 Swordman High 32 High Priest 39 Monk - 40: 26 Mage High 33 High Wizard 40 Professor - 40: 27 Archer High 34 Whitesmith 41 Stalker - 40: 28 Acolyte High 35 Sniper 42 Creator - 40: 29 Merchant High 36 Assassin Cross 43 Clown - 40: 30 Thief High 37 Peco Knight 44 Gypsy 45 Peco-Paladin - 60:@lvup/@blevel/@baselvlup - Raises your base level the desired number of levels. The max is 255 (User Defined). - 60:@joblvup/@jlevel/@joblvlup -Raises your job level the desired number of levels. The max is 50 For Basic Classes. For Super Novice and Advanced Classes it is 70. - 60:@allskill/@allskills/@skillall/@skillsall - Give you all skills. - 40:@option - Adds different visual effects on or around your character - 40: (stackable) - 40: 1 Petrified (stackable) 01 Sight 32 Peco Peco riding 2048 Orc Head - 40: 2 Frozen 01 Poison 02 Hide 64 GM Perfect Hide 4096 Wedding Sprites - 40: 3 Stunned 02 Cursed 04 Cloak 128 Level 2 Cart 8192 Ruwach - 40: 4 Sleeping 04 Silenced 08 Level 1 Cart 256 Level 3 Cart - 40: 6 darkness 08 ??? 16 Falcon 512 Level 4 Cart - 40: 16 darkness 1024 Level 5 Cart - 20:@mountpeco - Give/remove you a peco (Class is required, but not skill) - 20:@disguise - Change your appearence to other players to a mob. - 20:@undisguise - Restore your normal appearance. - 20:@model - Changes your characters appearence. - 40:@dye/@ccolor - Changes your characters appearence (only clothes color). - 40:@hairstyle/@hstyle - Changes your characters appearence (only hair style). - 40:@haircolor/@hcolor - Changes your characters appearence (only hair color). - 40:@speed <1-1000> - Changes you walking speed. 1 being the fastest and 1000 the slowest. Default 150. - 40:@effect [flag] - Give an efect to your character. - 40:@dropall - throws all your possession on the ground - 40:@storeall - puts all your possessions in storage - 40:@killable - make your character killable - 60:@stpoint - Gives you the desired number of stat points. - 60:@skpoint - Gives you the desired number of skill points. - 60:@zeny - Gives you desired amount of Zeny. - 60:@str,@agi,@vit,@int,@dex,@luk - Adds desired amount to any stat. For example "@str 10" raises your str by 10 - 60:@statall/@statsall/@allstats/@allstat [value] - Adds value in all stats (maximum if no value). - 40:@memo [memo_position] - set/change a memo location (no position: display memo points). - 40:@spiritball - Gives you "spirit spheres" like from the skill "Call Spirits" - 40: (If the number you use is > 1000, your server may become instable or crash) - 40:@questskill <#> - Gives you the specified quest skill - 40:@lostskill <#> - Takes away the specified quest skill from you - 40:@skillid - look up a skill by name - 40:@useskill - use a skill on target - 40: Novice Swordsman Thief Merchant - 40: 142 = Emergency Care 144 = Moving HP Recovery 149 = Throw Sand 153 = Cart Revolution - 40: 143 = Act dead 145 = Attack Weak Point 150 = Back Sliding 154 = Change Cart - 40: Archer 146 = Auto Berserk 151 = Take Stone 155 = Crazy Uproar/Loud Voice - 40: 147 = Arrow Creation Acolyte 152 = Stone Throw Magician - 40: 148 = Charge Arrows 156 = Holy Light 157 = Energy Coat - 60: @addwarp - 40: - 40:--- MONSTERS CMD --- - 50:/monster - Spawns 1 of the desired monster. - 50:@spawn/@monster/@summon [ [ [ []]]] - 50:@monster2 [ [ []]] - 50:@spawn/@monster/@summon/@monster2 "desired monster name" [ [ []]] - 50:@spawn/@monster/@summon/@monster2 "desired monster name" [ [ []]] - 50: Spawns the desired monster with any desired name. - 60:@killmonster [map] - kill all monsters of the map (they drop) - 40:@killmonster2 - kill all monsters of your map (without drops) - 1: - 1:--- ITEMS CMD --- - 1:@storage - Opens storage - 50:@gstorage - Opens guild storage - 60:/item - Gives you 1 of the desired item. - 60:@item - Gives you the desired item. - 60:@item2 = Gives you the desired item. - 40:@itemreset - Remove all your items. - 60:@itemcheck - Check your items with authorised items. - 60:@idsearch - Search all items that name have part_of_item_name - 60:@refine <+/- amount> - 60:@produce <# of very's> - 60: Element: 0=None 1=Ice 2=Earth 3=Fire 4=Wind - 60: It has separately with fragment 3 of the attribute + stars, you can apply. - 60:@repairall - Repair all items of your inventory - 40: - 40:--- PVP CMD --- - 40:@pvpon - Turns pvp on on the current map - 40:@pvpoff - Turns pvp off on the current map - 40:@gvgon/@gpvpon - Turns gvg on on the current map - 40:@gvgoff/@gpvpoff - Turns gvg off on the current map - 60:@agitstart - Starts War of Emperium - 60:@agitend - End War of Emperium - 1: - 1:--- GROUPS CMD --- - 1:@party - Create a party. - 50:@guild - Create a guild. - 60:@guildlvup/@guildlvlup <# of levels> - Raise Guild by desired number of levels - 60:@guildrecall - Warps all online characters of a guild to you. - 60:@partyrecall - Warps all online characters of a party to you. - 1: - 1:--- PETS CMD --- - 60:@hatch - Create a pet from your inventory eggs list. - 60:@makeegg - Gives pet egg for monster number in pet DB - 40:@petfriendly <#> - Set pet friendly amount (0-1000) 1000 = Max - 40:@pethungry <#> - Set pet hungry amount (0-100) 100 = Max - 1:@petrename - Re-enable pet rename - 20: - 20:--- REMOTE CHAR CMD --- - 60:@kill - Kills specified character. - 40:@charkillable - make another character killable - 60:@nuke - Kills specified character (nuclear effect). - 60:@chardropall - throws all a chars possession on the ground - 60:@charstoreall - puts all of anothers charactes possessions in storage - 60:/recall/@recall - Warps target character to you. - 80:@recallall - Warps every character online to you. - 60:@charwarp/@rura+ - Warps character to location of choice - 60:@revive - Revives target character. - 40:@charstats - Displays a characters stats. - 20:@charignorelist - Displays ignore list of the player - 20:@inall - Allows all wispers for the player - 20:@exall - Blocks all wispers for the player - 60:@charoption - Like @option command but only to target character. - 50:@charmountpeco - Give/remove to a player a peco (Class is required, but not skill). - 50:@charpetrename - Re-enable pet rename to a player. - 60:@charsave - Changes the target players respawn point. - 60:@charbaselvl <#> - Change a characters base level. - 60:@charjlvl <#> - Change a characters job level. - 60:@charjob/@charjobchange - Changes target characters job. - 60:@charzeny - Give/take a players Zeny - 60:@charstpoint - Give/take a players stat points - 60:@charskpoint - give/take a players skill points - 60:@charskreset - Reset skills of a character. - 60:@charstreset - Reset stats of a character. - 60:@charreset - Reset stats AND skills of a character. - 60:@charquestskill <#> - Gives to a player the specified quest skill. - 60:@charlostskill <#> - Takes away the specified quest skill from the player. - 60:@chardelitem - Remove items from a character - 50:@charmodel - Changes a player's model - 60:@chardisguise - Changes disguise of a player - 60:@charundisguise - Cancels disguise of a player - 60:@charchangesex - Changes sex of a player (all characters of the account) - 60:@charblock/@block - Blocks definitively a account - 60:@charunblock/@unblock - Unblocks a account - 60:@charban/@ban/@banish/@charbanish