- 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://svn.code.sf.net/p/rathena/svn/trunk@8891 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
skotlex
2006-09-28 13:26:40 +00:00
parent 32b53e9ba2
commit f7a1d44c3e
3 changed files with 23 additions and 14 deletions

View File

@@ -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);