#ifndef _STATUS_H_ #define _STATUS_H_ enum { // struct map_session_data �� status_change�̔�?�e?�u�� // SC_SENDMAX��?�̓N���C�A���g�ւ̒ʒm����B // 2-2���E�̒l�͂Ȃ߂��Ⴍ������ۂ��̂Ŏb��B���Ԃ�?�X����܂��B SC_SENDMAX = 128, // note: max is now 182, but we'll need to do alot of moving around SC_PROVOKE = 0, SC_ENDURE = 1, SC_TWOHANDQUICKEN = 2, SC_CONCENTRATE = 3, SC_HIDING = 4, SC_CLOAKING = 5, SC_ENCPOISON = 6, SC_POISONREACT = 7, SC_QUAGMIRE = 8, SC_ANGELUS = 9, SC_BLESSING = 10, SC_SIGNUMCRUCIS = 11, SC_INCREASEAGI = 12, SC_DECREASEAGI = 13, SC_SLOWPOISON = 14, SC_IMPOSITIO = 15, SC_SUFFRAGIUM = 16, SC_ASPERSIO = 17, SC_BENEDICTIO = 18, SC_KYRIE = 19, SC_MAGNIFICAT = 20, SC_GLORIA = 21, SC_AETERNA = 22, SC_ADRENALINE = 23, SC_WEAPONPERFECTION = 24, SC_OVERTHRUST = 25, SC_MAXIMIZEPOWER = 26, SC_RIDING = 27, SC_FALCON = 28, SC_TRICKDEAD = 29, SC_LOUD = 30, SC_ENERGYCOAT = 31, SC_HALLUCINATION = 34, SC_WEIGHT50 = 35, SC_WEIGHT90 = 36, SC_SPEEDPOTION0 = 37, SC_SPEEDPOTION1 = 38, SC_SPEEDPOTION2 = 39, SC_SPEEDPOTION3 = 40, //-- 40-50 SC_STRIPWEAPON = 50, SC_STRIPSHIELD = 51, SC_STRIPARMOR = 52, SC_STRIPHELM = 53, SC_CP_WEAPON = 54, SC_CP_SHIELD = 55, SC_CP_ARMOR = 56, SC_CP_HELM = 57, SC_AUTOGUARD = 58, SC_REFLECTSHIELD = 59, SC_DEVOTION = 60, SC_PROVIDENCE = 61, SC_DEFENDER = 62, SC_AUTOSPELL = 65, SC_SPEARSQUICKEN = 68, //-- 69-85 SC_EXPLOSIONSPIRITS = 86, SC_STEELBODY = 87, SC_COMBO = 89, SC_FLAMELAUNCHER = 90, SC_FROSTWEAPON = 91, SC_LIGHTNINGLOADER = 92, SC_SEISMICWEAPON = 93, //-- 94-102 SC_AURABLADE = 103, /* �I?���u��?�h */ SC_PARRYING = 104, /* �p���C���O */ SC_CONCENTRATION = 105, /* �R���Z���g��?�V���� */ SC_TENSIONRELAX = 106, /* �e���V���������b�N�X */ SC_BERSERK = 107, /* �o?�T?�N */ //-- 108, 109 SC_ASSUMPTIO = 110, /* �A�V�����v�e�B�I */ //-- 111, 112 SC_MAGICPOWER = 113, /* ���@��?�� */ //-- 114 SC_TRUESIGHT = 115, /* �g�D��?�T�C�g */ SC_WINDWALK = 116, /* �E�C���h�E�H?�N */ SC_MELTDOWN = 117, /* �����g�_�E�� */ SC_CARTBOOST = 118, /* �J?�g�u?�X�g */ //-- 119 SC_REJECTSWORD = 120, /* ���W�F�N�g�\?�h */ SC_MARIONETTE = 121, /* �}���I�l�b�g�R���g��?�� */ //-- 122, 123 SC_HEADCRUSH = 124, /* �w�b�h�N���b�V�� */ SC_JOINTBEAT = 125, /* �W���C���g�r?�g */ //-- 126, 127 SC_STONE = 128, SC_FREEZE = 129, // <-- 130 = a baby skill status? SC_STAN = 130, SC_SLEEP = 131, // <-- 132 = another baby skill? SC_POISON = 132, SC_CURSE = 133, SC_SILENCE = 134, SC_CONFUSION = 135, SC_BLIND = 136, SC_DIVINA = SC_SILENCE, SC_SAFETYWALL = 140, SC_PNEUMA = 141, SC_WATERBALL = 142, SC_ANKLE = 143, SC_DANCING = 144, SC_KEEPING = 145, SC_BARRIER = 146, SC_MAGICROD = 149, SC_SIGHT = 150, SC_RUWACH = 151, SC_AUTOCOUNTER = 152, SC_VOLCANO = 153, SC_DELUGE = 154, SC_VIOLENTGALE = 155, SC_BLADESTOP_WAIT = 156, SC_BLADESTOP = 157, SC_EXTREMITYFIST = 158, SC_GRAFFITI = 159, SC_LULLABY =160, SC_RICHMANKIM =161, SC_ETERNALCHAOS =162, SC_DRUMBATTLE =163, SC_NIBELUNGEN =164, SC_ROKISWEIL =165, SC_INTOABYSS =166, SC_SIEGFRIED =167, SC_DISSONANCE =168, SC_WHISTLE =169, SC_ASSNCROS =170, SC_POEMBRAGI =171, SC_APPLEIDUN =172, SC_UGLYDANCE =173, SC_HUMMING =174, SC_DONTFORGETME =175, SC_FORTUNE =176, SC_SERVICE4U =177, SC_SPIDERWEB =180, /* �X�p�C�_?�E�F�b�u */ // SC_EDP // moved SC_SACRIFICE =184, /* �T�N���t�@�C�X */ SC_WEDDING =187, //�����p(�����ߏւɂȂ���?���̂�?���Ƃ�) SC_NOCHAT =188, //�ԃG��?�� SC_SPLASHER =189, /* �x�i���X�v���b�V��? */ SC_SELFDESTRUCTION =190, /* ���� */ SC_MEMORIZE =197, /* �������C�Y */ // changed from 181 to 192 SC_DPOISON =198, /* �ғ� */ // Used by English Team SC_BROKNARMOR =32, SC_BROKNWEAPON =33, SC_SPEEDUP0 =41, // for skill speedup SC_SPEEDUP1 =42, // for skill speedup SC_SLOWDOWN =45, // for skill slowdown SC_AUTOBERSERK =46, SC_SIGHTTRASHER =73, SC_BASILICA =102, // temporarily use this before an actual id is found [celest] SC_EDP =114, /* �G�t�F�N�g������������ړ� */ SC_MARIONETTE2 =122, // Marionette target SC_ENSEMBLE =159, SC_FOGWALL =178, SC_GOSPEL =179, SC_PRESERVE =181, SC_BATTLEORDERS =182, SC_MOONLIT =183, SC_ATKPOT =185, // [Valaris] SC_MATKPOT =186, // [Valaris] SC_MINDBREAKER =191, SC_SPELLBREAKER =192, SC_LANDPROTECTOR =193, SC_ADAPTATION =194, SC_CHASEWALK =195, SC_REGENERATION =196, // [Celest] SC_BLEEDING = 124, // Temporarily same id as headcrush // -- testing various SC effects // SC_AURABLADE =81, // SC_CONCENTRATION =83, // SC_TENSIONRELAX =84, // SC_BERSERK =85, // SC_CALLSPIRITS =100, // SC_PARRYING =100, // SC_FREECAST =101, // SC_ABSORBSPIRIT =102, // SC_ASSUMPTIO =114, // SC_SHARPSHOOT =127, // SC_GANGSTER =184, // SC_CANNIBALIZE =186, // SC_SPHEREMINE =187, // SC_METEOSTORM =189, // SC_CASTCANCEL =190, // SC_SPIDERWEB =191, }; extern int SkillStatusChangeTable[]; // �p�����[�^�����n battle.c ���ړ� int status_get_class(struct block_list *bl); int status_get_dir(struct block_list *bl); int status_get_lv(struct block_list *bl); int status_get_range(struct block_list *bl); int status_get_hp(struct block_list *bl); int status_get_max_hp(struct block_list *bl); int status_get_str(struct block_list *bl); int status_get_agi(struct block_list *bl); int status_get_vit(struct block_list *bl); int status_get_int(struct block_list *bl); int status_get_dex(struct block_list *bl); int status_get_luk(struct block_list *bl); int status_get_hit(struct block_list *bl); int status_get_flee(struct block_list *bl); int status_get_def(struct block_list *bl); int status_get_mdef(struct block_list *bl); int status_get_flee2(struct block_list *bl); int status_get_def2(struct block_list *bl); int status_get_mdef2(struct block_list *bl); int status_get_baseatk(struct block_list *bl); int status_get_atk(struct block_list *bl); int status_get_atk2(struct block_list *bl); int status_get_speed(struct block_list *bl); int status_get_adelay(struct block_list *bl); int status_get_amotion(struct block_list *bl); int status_get_dmotion(struct block_list *bl); int status_get_element(struct block_list *bl); int status_get_attack_element(struct block_list *bl); int status_get_attack_element2(struct block_list *bl); //���蕐�푮���擾 #define status_get_elem_type(bl) (status_get_element(bl)%10) #define status_get_elem_level(bl) (status_get_element(bl)/10/2) int status_get_party_id(struct block_list *bl); int status_get_guild_id(struct block_list *bl); int status_get_race(struct block_list *bl); int status_get_size(struct block_list *bl); int status_get_mode(struct block_list *bl); int status_get_mexp(struct block_list *bl); int status_get_race2(struct block_list *bl); struct status_change *status_get_sc_data(struct block_list *bl); short *status_get_sc_count(struct block_list *bl); short *status_get_opt1(struct block_list *bl); short *status_get_opt2(struct block_list *bl); short *status_get_opt3(struct block_list *bl); short *status_get_option(struct block_list *bl); int status_get_matk1(struct block_list *bl); int status_get_matk2(struct block_list *bl); int status_get_critical(struct block_list *bl); int status_get_atk_(struct block_list *bl); int status_get_atk_2(struct block_list *bl); int status_get_atk2(struct block_list *bl); int status_get_sc_def(struct block_list *bl, int type); #define status_get_sc_def_mdef(bl) (status_get_sc_def(bl, SP_MDEF1)) #define status_get_sc_def_vit(bl) (status_get_sc_def(bl, SP_DEF2)) #define status_get_sc_def_int(bl) (status_get_sc_def(bl, SP_MDEF2)) #define status_get_sc_def_luk(bl) (status_get_sc_def(bl, SP_LUK)) // ��Ԉُ�֘A skill.c ���ړ� int status_change_start(struct block_list *bl,int type,int val1,int val2,int val3,int val4,int tick,int flag); int status_change_end( struct block_list* bl , int type,int tid ); int status_change_timer(int tid, unsigned int tick, int id, int data); int status_change_timer_sub(struct block_list *bl, va_list ap ); int status_change_clear(struct block_list *bl,int type); // �X�e�[�^�X�v�Z pc.c ���番�� // pc_calcstatus int status_calc_pc(struct map_session_data* sd,int first); int status_calc_speed(struct map_session_data*); // [Celest] // int status_calc_skilltree(struct map_session_data *sd); int status_getrefinebonus(int lv,int type); int status_percentrefinery(struct map_session_data *sd,struct item *item); extern int percentrefinery[5][10]; int do_init_status(void); #endif