summaryrefslogtreecommitdiff
path: root/src/map/status.c
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-05-29 14:10:22 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-05-29 14:10:22 +0000
commit5723fdae682d71948b2b10161e336d36ea03bdfa (patch)
treea49f68754a7b3a50cd81751329f5100f2d41e550 /src/map/status.c
parent0a68e706bac90f56073f3ad2a30c4bada260225c (diff)
downloadhercules-5723fdae682d71948b2b10161e336d36ea03bdfa.tar.gz
hercules-5723fdae682d71948b2b10161e336d36ea03bdfa.tar.bz2
hercules-5723fdae682d71948b2b10161e336d36ea03bdfa.tar.xz
hercules-5723fdae682d71948b2b10161e336d36ea03bdfa.zip
- Fixed pc_readparam/pc_setparam to use battle_status.hp/sp rather than status.hp/sp, fixes scripts reading the wrong Hp/Sp values
- Added some missing SC_* entries on the initial listing (potion related and speed up ones) - Fixed function declaration of map_getcellp() git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6817 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/status.c')
-rw-r--r--src/map/status.c23
1 files changed, 18 insertions, 5 deletions
diff --git a/src/map/status.c b/src/map/status.c
index 4baa3d8d3..66f1e3901 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -369,17 +369,25 @@ void initChangeTables(void) {
SkillStatusChangeTable[SL_SOULLINKER] = MAPID_SOUL_LINKER,
//Status that don't have a skill associated.
- StatusIconChangeTable[SC_WEIGHT50 ] = SI_WEIGHT50;
- StatusIconChangeTable[SC_WEIGHT90] = SI_WEIGHT90;
+ StatusIconChangeTable[SC_WEIGHT50] = SI_WEIGHT50;
+ StatusIconChangeTable[SC_WEIGHT90] = SI_WEIGHT90;
StatusIconChangeTable[SC_ASPDPOTION0] = SI_ASPDPOTION;
StatusIconChangeTable[SC_ASPDPOTION1] = SI_ASPDPOTION;
StatusIconChangeTable[SC_ASPDPOTION2] = SI_ASPDPOTION;
StatusIconChangeTable[SC_ASPDPOTION3] = SI_ASPDPOTION;
- StatusIconChangeTable[SC_SPEEDUP0] = SI_SPEEDPOTION;
- StatusIconChangeTable[SC_SPEEDUP1] = SI_SPEEDPOTION;
- StatusIconChangeTable[SC_MIRACLE] = SI_SPIRIT;
+ StatusIconChangeTable[SC_SPEEDUP0] = SI_SPEEDPOTION;
+ StatusIconChangeTable[SC_SPEEDUP1] = SI_SPEEDPOTION;
+ StatusIconChangeTable[SC_MIRACLE] = SI_SPIRIT;
//Other SC which are not necessarily associated to skills.
+ StatusChangeFlagTable[SC_ASPDPOTION0] = SCB_ASPD;
+ StatusChangeFlagTable[SC_ASPDPOTION1] = SCB_ASPD;
+ StatusChangeFlagTable[SC_ASPDPOTION2] = SCB_ASPD;
+ StatusChangeFlagTable[SC_ASPDPOTION3] = SCB_ASPD;
+ StatusChangeFlagTable[SC_SPEEDUP0] = SCB_SPEED;
+ StatusChangeFlagTable[SC_SPEEDUP1] = SCB_SPEED;
+ StatusChangeFlagTable[SC_ATKPOTION] = SCB_BATK;
+ StatusChangeFlagTable[SC_MATKPOTION] = SCB_MATK;
StatusChangeFlagTable[SC_INCALLSTATUS] |= SCB_STR|SCB_AGI|SCB_VIT|SCB_INT|SCB_DEX|SCB_LUK;
StatusChangeFlagTable[SC_INCSTR] |= SCB_STR;
StatusChangeFlagTable[SC_INCAGI] |= SCB_AGI;
@@ -3830,6 +3838,11 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val
//Check for inmunities / sc fails
switch (type) {
+ case SC_POISON:
+ case SC_DPOISON:
+ if (undead_flag && !(flag&1))
+ return 0; //Undead inmune to poison. Thanks to orn [Skotlex]
+ break;
case SC_FREEZE:
case SC_STONE:
//Undead are inmune to Freeze/Stone