diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-02-20 21:28:44 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-02-20 21:28:44 +0000 |
commit | d63bfea2a4c95f34b3373dab2d1425d72ea227df (patch) | |
tree | 105847d717682fefb7e4737661010ac703a2bd72 /src/map | |
parent | 0d8bcc88e3a5d621b5e483b8af1eff7958f0fe79 (diff) | |
download | hercules-d63bfea2a4c95f34b3373dab2d1425d72ea227df.tar.gz hercules-d63bfea2a4c95f34b3373dab2d1425d72ea227df.tar.bz2 hercules-d63bfea2a4c95f34b3373dab2d1425d72ea227df.tar.xz hercules-d63bfea2a4c95f34b3373dab2d1425d72ea227df.zip |
- Play-dead and Basilica now do block Gospel
- Map SQL server will no longer ignore the gm-list packets received from char.
- Login-SQL server will not free the current GM listing if the SQL reading of it failed.
- Login-SQL will now read for the GM list ALL accounts with level above 0, not just those with level above min_gm_level (just like the TXT server does)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5349 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/pc.c | 26 | ||||
-rw-r--r-- | src/map/status.c | 22 |
2 files changed, 13 insertions, 35 deletions
diff --git a/src/map/pc.c b/src/map/pc.c index 7955c0132..b8bea9740 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -7949,14 +7949,11 @@ int pc_autosave(int tid,unsigned int tick,int id,int data) int pc_read_gm_account(int fd)
{
-#ifdef TXT_ONLY
int i = 0;
RFIFOHEAD(fd);
-#endif
if (gm_account != NULL)
aFree(gm_account);
GM_num = 0;
-#ifdef TXT_ONLY
gm_account = (struct gm_account *) aCallocA(((RFIFOW(fd,2) - 4) / 5), sizeof(struct gm_account));
for (i = 4; i < RFIFOW(fd,2); i = i + 5) {
gm_account[GM_num].account_id = RFIFOL(fd,i);
@@ -7964,26 +7961,6 @@ int pc_read_gm_account(int fd) //printf("GM account: %d -> level %d\n", gm_account[GM_num].account_id, gm_account[GM_num].level);
GM_num++;
}
-#else
- sprintf (tmp_sql, "SELECT `%s`,`%s` FROM `%s` WHERE `%s`>='%d'",gm_db_account_id,gm_db_level,gm_db,gm_db_level,lowest_gm_level);
- if(mysql_query(&lmysql_handle, tmp_sql) ) {
- ShowSQL("DB error - %s\n",mysql_error(&lmysql_handle));
- ShowDebug("at %s:%d - %s\n", __FILE__,__LINE__,tmp_sql);
- return 0;
- }
- lsql_res = mysql_store_result(&lmysql_handle);
- if (lsql_res) {
- gm_account = (struct gm_account *) aCallocA((size_t)mysql_num_rows(lsql_res), sizeof(struct gm_account));
- while ((lsql_row = mysql_fetch_row(lsql_res))) {
- gm_account[GM_num].account_id = atoi(lsql_row[0]);
- gm_account[GM_num].level = atoi(lsql_row[1]);
- ShowNotice("GM account: %d -> level %d\n", gm_account[GM_num].account_id, gm_account[GM_num].level);
- GM_num++;
- }
- }
-
- mysql_free_result(lsql_res);
-#endif /* TXT_ONLY */
return GM_num;
}
@@ -8394,9 +8371,6 @@ int do_init_pc(void) { natural_heal_prev_tick = gettick();
add_timer_interval(natural_heal_prev_tick + NATURAL_HEAL_INTERVAL, pc_natural_heal, 0, 0, NATURAL_HEAL_INTERVAL);
add_timer(gettick() + autosave_interval, pc_autosave, 0, 0);
-#ifndef TXT_ONLY
- pc_read_gm_account(0);
-#endif /* not TXT_ONLY */
if (battle_config.day_duration > 0 && battle_config.night_duration > 0) {
int day_duration = battle_config.day_duration;
diff --git a/src/map/status.c b/src/map/status.c index 3e36817c5..4b6fade9b 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -343,15 +343,6 @@ int status_check_skilluse(struct block_list *src, struct block_list *target, int if (target && status_isdead(target) && skill_num != ALL_RESURRECTION && skill_num != PR_REDEMPTIO)
return 0;
- if (skill_num == PA_PRESSURE && flag) {
- //Once Gloria Domini has been casted, there's nothing you can do to stop it. [Skotlex]
- //- Except hiding from it.
- tsc = target?status_get_sc(target):NULL;
- if(tsc && tsc->option&OPTION_HIDE)
- return 0;
- return 1;
- }
-
mode = src?status_get_mode(src):MD_CANATTACK;
if (!skill_num && !(mode&MD_CANATTACK))
@@ -368,6 +359,19 @@ int status_check_skilluse(struct block_list *src, struct block_list *target, int if (race&INF_GROUND_SKILL && skill_get_unit_target(skill_num)&BCT_ENEMY)
return 0;
}
+
+ if (skill_num == PA_PRESSURE && flag) {
+ //Gloria Avoids pretty much everythng....
+ tsc = target?status_get_sc(target):NULL;
+ if(tsc) {
+ if (tsc->option&OPTION_HIDE)
+ return 0;
+ if (tsc->count && tsc->data[SC_TRICKDEAD].timer != -1)
+ return 0;
+ }
+ return 1;
+ }
+
if (src) sc = status_get_sc(src);
if(sc && sc->opt1 >0)
|