summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog.txt4
-rw-r--r--conf-tmpl/battle_athena.conf2
-rw-r--r--src/map/script.c16
3 files changed, 14 insertions, 8 deletions
diff --git a/Changelog.txt b/Changelog.txt
index e5759fc06..2c672e79a 100644
--- a/Changelog.txt
+++ b/Changelog.txt
@@ -1,5 +1,9 @@
Date Added
01/05
+ * Set 'droprate0item''s default to 'yes' so that items with 0 rate will never
+ drop [celest]
+ * Look at item type other than item ID as well to check whether it is a card
+ in card-related script commands - better support for custom items [celest]
* Reset all skill variables if the skill fails so certain skills can't be
abused (such as Warp, thanks to Alex14 for pointing it out) [celest]
* Added /mapflag/noreturn.txt for disabling butterfly wings (not fly wings)
diff --git a/conf-tmpl/battle_athena.conf b/conf-tmpl/battle_athena.conf
index ba93edf31..35d959261 100644
--- a/conf-tmpl/battle_athena.conf
+++ b/conf-tmpl/battle_athena.conf
@@ -176,7 +176,7 @@ item_rate_1000_min: 1000
item_rate_1000_max: 10000
// Can the monster's drop rate become 0? (Note 1)
-drop_rate0item: no
+drop_rate0item: yes
// Rate at which exp. is given. (Note 2)
base_exp_rate: 100
diff --git a/src/map/script.c b/src/map/script.c
index dca1fbe12..22ae9f040 100644
--- a/src/map/script.c
+++ b/src/map/script.c
@@ -5215,9 +5215,9 @@ int buildin_getequipcardcnt(struct script_state *st)
return 0;
}
do{
- if( (sd->status.inventory[i].card[c-1] > 4000) &&
- (sd->status.inventory[i].card[c-1] < 5000)){
-
+ if( (sd->status.inventory[i].card[c-1] > 4000 &&
+ sd->status.inventory[i].card[c-1] < 5000) ||
+ itemdb_type(sd->status.inventory[i].card[c-1]) == 6){ // [Celest]
push_val(st->stack,C_INT,(c));
return 0;
}
@@ -5244,8 +5244,9 @@ int buildin_successremovecards(struct script_state *st)
return 0;
}
do{
- if( (sd->status.inventory[i].card[c-1] > 4000) &&
- (sd->status.inventory[i].card[c-1] < 5000)){
+ if( (sd->status.inventory[i].card[c-1] > 4000 &&
+ sd->status.inventory[i].card[c-1] < 5000) ||
+ itemdb_type(sd->status.inventory[i].card[c-1]) == 6){ // [Celest]
cardflag = 1;
item_tmp.id=0,item_tmp.nameid=sd->status.inventory[i].card[c-1];
@@ -5297,8 +5298,9 @@ int buildin_failedremovecards(struct script_state *st)
return 0;
}
do{
- if(( sd->status.inventory[i].card[c-1] > 4000) &&
- (sd->status.inventory[i].card[c-1] < 5000)){
+ if( (sd->status.inventory[i].card[c-1] > 4000 &&
+ sd->status.inventory[i].card[c-1] < 5000) ||
+ itemdb_type(sd->status.inventory[i].card[c-1]) == 6){ // [Celest]
cardflag = 1;