summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorcelest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec>2004-12-23 11:44:57 +0000
committercelest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec>2004-12-23 11:44:57 +0000
commit1b008a629ddb633d91a70e2c037924fab10e2d6c (patch)
tree9d74acfa108d52affea8481d0edc8639f4049d9f /src
parentae6da4b867571ac6b53198e56b11a31d037f3dd2 (diff)
downloadhercules-1b008a629ddb633d91a70e2c037924fab10e2d6c.tar.gz
hercules-1b008a629ddb633d91a70e2c037924fab10e2d6c.tar.bz2
hercules-1b008a629ddb633d91a70e2c037924fab10e2d6c.tar.xz
hercules-1b008a629ddb633d91a70e2c037924fab10e2d6c.zip
* Updated Sacrifice
* Fixed compile errors in party.c * Moved SC_EDP back to 114 git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@750 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src')
-rw-r--r--src/map/battle.c17
-rw-r--r--src/map/party.c2
-rw-r--r--src/map/skill.h15
3 files changed, 17 insertions, 17 deletions
diff --git a/src/map/battle.c b/src/map/battle.c
index ef05f16a8..1dd13b67b 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -3490,16 +3490,6 @@ static struct Damage battle_calc_pc_weapon_attack(
damage = damage*(200+20*skill_lv+20*pc_checkskill(sd,AS_POISONREACT))/100;
damage2 = damage2*(200+20*skill_lv+20*pc_checkskill(sd,AS_POISONREACT))/100;
break;
- case PA_SACRIFICE:
- if(sd){
- int hp, mhp, damage3;
- hp = battle_get_hp(src);
- mhp = battle_get_max_hp(src);
- damage3 = mhp*9/100;
- damage = damage*damage3*(90+10*skill_lv)/10000;
- damage2 = damage2*damage3*(90+10*skill_lv)/10000;
- }
- break;
case ASC_BREAKER: // -- moonsoul (special damage for ASC_BREAKER skill)
if(sd){
int damage3;
@@ -3614,11 +3604,12 @@ static struct Damage battle_calc_pc_weapon_attack(
damage += damage * (150 + sc_data[SC_EDP].val1 * 50) / 100;
no_cardfix = 1;
}
- if (!skill_num && !(t_mode&0x20) && sc_data[SC_SACRIFICE].timer != -1) {
+ // sacrifice works on boss monsters, and does 9% damage to self [Celest]
+ if (!skill_num && /*!(t_mode&0x20) &&*/ sc_data[SC_SACRIFICE].timer != -1) {
int mhp = battle_get_max_hp(src);
- int dmg = mhp * (5 + sc_data[SC_SACRIFICE].val1 * 5) / 1000;
+ int dmg = mhp * 9/100;
pc_heal(sd, -dmg, 0);
- damage = dmg * (90 + sc_data[SC_SACRIFICE].val1 * 15) / 100;
+ damage = dmg * (90 + sc_data[SC_SACRIFICE].val1 * 10) / 100;
damage2 = 0;
hitrate = 1000000;
s_ele = 0;
diff --git a/src/map/party.c b/src/map/party.c
index 9443608fb..ddaed7fc7 100644
--- a/src/map/party.c
+++ b/src/map/party.c
@@ -591,7 +591,7 @@ int party_exp_share(struct party *p,int map,int base_exp,int job_exp,int zeny)
return 0;
for(i=0;i<MAX_PARTY;i++)
if((sd=p->member[i].sd)!=NULL && sd->bl.m==map && session[sd->fd] != NULL) {
- if (/* pc_issit(sd) || */ (sd->chatID != NULL) || (sd->idletime < (time(0) - 120)))
+ if (/* pc_issit(sd) || */ sd->chatID || (sd->idletime < (time(0) - 120)))
continue;
#ifdef TWILIGHT
pc_gainexp(sd,base_exp,job_exp);
diff --git a/src/map/skill.h b/src/map/skill.h
index 5baf42024..f98893120 100644
--- a/src/map/skill.h
+++ b/src/map/skill.h
@@ -1,4 +1,4 @@
-// $Id: skill.h,v 1.5 2004/12/3 7:53:26 PM Celestia $
+// $Id: skill.h,v 1.5 2004/12/23 7:43:16 PM Celestia $
#ifndef _SKILL_H_
#define _SKILL_H_
@@ -223,6 +223,7 @@ enum { // struct map_session_data �� status_change�̔�?�e?�u��
SC_SPEEDPOTION1 = 38,
SC_SPEEDPOTION2 = 39,
SC_SPEEDPOTION3 = 40,
+//-- 40-50
SC_STRIPWEAPON = 50,
SC_STRIPSHIELD = 51,
SC_STRIPARMOR = 52,
@@ -238,6 +239,7 @@ enum { // struct map_session_data �� status_change�̔�?�e?�u��
SC_DEFENDER = 62,
SC_AUTOSPELL = 65,
SC_SPEARSQUICKEN = 68,
+//-- 69-85
SC_EXPLOSIONSPIRITS = 86,
SC_STEELBODY = 87,
SC_COMBO = 89,
@@ -245,21 +247,28 @@ enum { // struct map_session_data �� status_change�̔�?�e?�u��
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,
@@ -314,7 +323,7 @@ enum { // struct map_session_data �� status_change�̔�?�e?�u��
SC_SPIDERWEB =180, /* �X�p�C�_?�E�F�b�u */
SC_MEMORIZE =181, /* �������C�Y */
SC_DPOISON =182, /* �ғ� */
- SC_EDP =183, /* �G�t�F�N�g������������ړ� */
+// SC_EDP =183, // moved
SC_SACRIFICE =184, /* �T�N���t�@�C�X */
SC_WEDDING =187, //�����p(�����ߏւɂȂ���?���̂�?���Ƃ�)
SC_NOCHAT =188, //�ԃG��?��
@@ -332,7 +341,7 @@ enum { // struct map_session_data �� status_change�̔�?�e?�u��
SC_SIGHTTRASHER =73,
// SC_BASILICA =125, // 125 is the same id as joint break
SC_BASILICA =102, // temporarily use this before an actual id is found [celest]
-// SC_EDP =114, //
+ SC_EDP =114, /* �G�t�F�N�g������������ړ� */
SC_MARIONETTE2 =122, // Marionette target
SC_ENSEMBLE =159,
SC_FOGWALL =178,