diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-09-28 13:26:40 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-09-28 13:26:40 +0000 |
commit | bb8ecf9a28a62c24748f736cc75f217e885e595f (patch) | |
tree | 8a4ed2e55a3888d23ea005f9fc7d937aab226b32 /src/map/script.c | |
parent | da971e54d636b57b0486c4ba95665d5f8cb26152 (diff) | |
download | hercules-bb8ecf9a28a62c24748f736cc75f217e885e595f.tar.gz hercules-bb8ecf9a28a62c24748f736cc75f217e885e595f.tar.bz2 hercules-bb8ecf9a28a62c24748f736cc75f217e885e595f.tar.xz hercules-bb8ecf9a28a62c24748f736cc75f217e885e595f.zip |
- Merged the necessary changes to make the script engine support negative constants (db/const.txt). Thanks to Rayce (from jA) for the code.
- Cleaned up the skill.c code to take into account when skill_unitsetting returns null (skill failed), fixes a possible crash with Wand of Hermode
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8891 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/script.c')
-rw-r--r-- | src/map/script.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/map/script.c b/src/map/script.c index 263e319c1..1210507d6 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -408,7 +408,9 @@ static void add_scriptl(int l) add_scriptb(backpatch>>16); break; case C_INT: - add_scripti(str_data[l].val); + add_scripti(abs(str_data[l].val)); + if(str_data[l].val < 0) //Notice that this is negative, from jA (Rayce) + add_scriptc(C_NEG); break; default: // もう他の用途と確定してるので数字をそのまま @@ -1499,8 +1501,8 @@ static void read_constdb(void) if(line[0]=='/' && line[1]=='/') continue; type=0; - if(sscanf(line,"%[A-Za-z0-9_],%[0-9xXA-Fa-f],%d",name,val,&type)>=2 || - sscanf(line,"%[A-Za-z0-9_] %[0-9xXA-Fa-f] %d",name,val,&type)>=2){ + if(sscanf(line,"%[A-Za-z0-9_],%[-0-9xXA-Fa-f],%d",name,val,&type)>=2 || + sscanf(line,"%[A-Za-z0-9_] %[-0-9xXA-Fa-f] %d",name,val,&type)>=2){ for(i=0;name[i];i++) name[i]=tolower(name[i]); n=add_str((const unsigned char *) name); |