Bug fixes:

* Fixed #651, now quest_db is separated between Renewal and Pre-Renewal to avoid non-existent monster/item (current missing monster/items are removed on Pre-Renewal). Thank @lordganja.
* Fixed #622, cast warning in script.c::get_val2. Thank @Litro .

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
This commit is contained in:
Cydh Ramdh 2015-09-24 07:41:02 +07:00
parent 8840d4f397
commit 230811c8ab
5 changed files with 3139 additions and 4 deletions

View File

@ -1,5 +1,7 @@
// Quest Database
//
// Structure of Database:
// Quest ID,Time Limit,Target1,Val1,Target2,Val2,Target3,Val3,Quest Title
// Quest ID,Time Limit,Target1,Val1,Target2,Val2,Target3,Val3,MobID1,NameID1,Rate1,MobID2,NameID2,Rate2,MobID3,NameID3,Rate3,Quest Title
//
// The MobID*, NameID*, and Rate* reflect special values for quests that can drop an item at given rate from given mob.
// If no MobID* is given, then any mob has a chance to drop the given ItemID*.

3132
db/pre-re/quest_db.txt Normal file

File diff suppressed because it is too large Load Diff

View File

@ -381,7 +381,7 @@ int quest_check(TBL_PC *sd, int quest_id, enum quest_check_type type)
void quest_read_txtdb(void)
{
const char* dbsubpath[] = {
"",
DBPATH,
DBIMPORT"/",
};
uint8 f;

View File

@ -2744,7 +2744,8 @@ void* get_val2(struct script_state* st, int64 uid, struct reg_db *ref)
push_val2(st->stack, C_NAME, uid, ref);
data = script_getdatatop(st, -1);
get_val(st, data);
return (data->type == C_INT ? (void*)__64BPRTSIZE(data->u.num) : (void*)__64BPRTSIZE(data->u.str));
//! TODO: Support data->u.num as int64 instead cast it to int? (in get_val, it was casted to int).
return (data->type == C_INT ? (void*)__64BPRTSIZE((int)data->u.num) : (void*)__64BPRTSIZE(data->u.str));
}
/**