summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/char/Makefile.in12
-rw-r--r--src/common/Makefile.in17
-rw-r--r--src/login/Makefile.in12
-rw-r--r--src/map/Makefile.in12
-rw-r--r--src/map/skill.c29
-rw-r--r--src/map/status.c5
-rw-r--r--src/plugins/Makefile.in12
-rw-r--r--src/test/Makefile.in10
-rw-r--r--src/tool/Makefile.in20
9 files changed, 85 insertions, 44 deletions
diff --git a/src/char/Makefile.in b/src/char/Makefile.in
index 02759b32e..4bb7f3fb8 100644
--- a/src/char/Makefile.in
+++ b/src/char/Makefile.in
@@ -34,21 +34,27 @@ CC = @CC@
export CC
#####################################################################
-.PHONY: all sql char-server clean help
+.PHONY: all sql char-server clean buildclean help
all: sql
sql: char-server
-clean:
+buildclean:
+ @echo " CLEAN char (build temp files)"
+ @rm -rf *.o obj_sql
+
+clean: buildclean
@echo " CLEAN char"
- @rm -rf *.o obj_sql ../../char-server@EXEEXT@
+ @rm -rf ../../char-server@EXEEXT@
help:
@echo "possible targets are 'char-server' 'all' 'clean' 'help'"
@echo "'char-server' - char server"
@echo "'all' - builds all above targets"
@echo "'clean' - cleans builds and objects"
+ @echo "'buildclean' - cleans build temporary (object) files, without deleting the"
+ @echo " executables"
@echo "'help' - outputs this message"
#####################################################################
diff --git a/src/common/Makefile.in b/src/common/Makefile.in
index 78f9cd0d1..53b7a472e 100644
--- a/src/common/Makefile.in
+++ b/src/common/Makefile.in
@@ -40,22 +40,25 @@ CC = @CC@
export CC
#####################################################################
-.PHONY: all sql common common_sql common_mini clean help
+.PHONY: all sql common common_sql common_mini clean buildclean help
all: sql
sql: $(SQL_DEPENDS)
-clean:
- @echo " CLEAN common"
+buildclean:
+ @echo " CLEAN common (build temp files)"
@rm -rf *.o obj_all obj_sql
+clean: buildclean
+ @echo " CLEAN common"
+
help:
@echo "possible targets are 'sql' 'all' 'clean' 'help'"
- @echo "'sql' - builds object files used in sql servers"
- @echo "'all' - builds all above targets"
- @echo "'clean' - cleans builds and objects"
- @echo "'help' - outputs this message"
+ @echo "'sql' - builds object files used in sql servers"
+ @echo "'all' - builds all above targets"
+ @echo "'clean', 'buildclean' - cleans builds and objects"
+ @echo "'help' - outputs this message"
#####################################################################
diff --git a/src/login/Makefile.in b/src/login/Makefile.in
index b6b70a495..a97d17f68 100644
--- a/src/login/Makefile.in
+++ b/src/login/Makefile.in
@@ -31,21 +31,27 @@ CC = @CC@
export CC
#####################################################################
-.PHONY: all sql login-server clean help
+.PHONY: all sql login-server clean buildclean help
all: sql
sql: login-server
-clean:
+buildclean:
+ @echo " CLEAN login (build temp files)"
+ @rm -rf *.o obj_sql
+
+clean: buildclean
@echo " CLEAN login"
- @rm -rf *.o obj_sql ../../login-server@EXEEXT@
+ @rm -rf ../../login-server@EXEEXT@
help:
@echo "possible targets are 'login-server' 'all' 'clean' 'help'"
@echo "'login-server' - login server"
@echo "'all' - builds all above targets"
@echo "'clean' - cleans builds and objects"
+ @echo "'buildclean' - cleans build temporary (object) files, without deleting the"
+ @echo " executables"
@echo "'help' - outputs this message"
#####################################################################
diff --git a/src/map/Makefile.in b/src/map/Makefile.in
index fb78d51a1..b516c61ca 100644
--- a/src/map/Makefile.in
+++ b/src/map/Makefile.in
@@ -47,21 +47,27 @@ CC = @CC@
export CC
#####################################################################
-.PHONY: all sql map-server clean help
+.PHONY: all sql map-server clean buildclean help
all: sql
sql: map-server
-clean:
+buildclean:
+ @echo " CLEAN map (build temp files)"
+ @rm -rf *.o obj_sql
+
+clean: buildclean
@echo " CLEAN map"
- @rm -rf *.o obj_sql ../../map-server@EXEEXT@
+ @rm -rf ../../map-server@EXEEXT@
help:
@echo "possible targets are 'map-server' 'all' 'clean' 'help'"
@echo "'map-server' - map server"
@echo "'all' - builds all above targets"
@echo "'clean' - cleans builds and objects"
+ @echo "'buildclean' - cleans build temporary (object) files, without deleting the"
+ @echo " executables"
@echo "'help' - outputs this message"
#####################################################################
diff --git a/src/map/skill.c b/src/map/skill.c
index f359e81d4..a55fb2937 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -8066,7 +8066,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
int rate = 45 + 5 * skill_lv;
if( rnd()%100 < rate ){
clif->skill_nodamage(src, bl, skill_id, skill_lv, 1);
- map->foreachinrange(skill->area_sub,bl,skill->get_splash(skill_id,skill_lv),BL_CHAR,src,skill_id,skill_lv,tick,flag|BCT_ENEMY|1,skill_castend_nodamage_id);
+ map->foreachinrange(skill->area_sub,bl,skill->get_splash(skill_id,skill_lv),BL_CHAR,src,skill_id,skill_lv,tick,flag|BCT_ENEMY|1,skill->castend_nodamage_id);
}else if( sd ) // Failure on Rate
clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
}
@@ -8919,12 +8919,17 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case GN_MANDRAGORA:
if( flag&1 ) {
- if ( clif->skill_nodamage(bl, src, skill_id, skill_lv,
- sc_start(bl, type, 25 + 10 * skill_lv, skill_lv, skill->get_time(skill_id, skill_lv))) )
- status_zap(bl, 0, status_get_max_sp(bl) * (25 + 5 * skill_lv) / 100);
- } else
- map->foreachinrange(skill->area_sub, bl, skill->get_splash(skill_id, skill_lv), BL_CHAR,
- src, skill_id, skill_lv, tick, flag|BCT_ENEMY|1, skill->castend_nodamage_id);
+ int chance = 25 + 10 * skill_lv - (status_get_vit(bl) + status_get_luk(bl)) / 5;
+ if ( chance < 10 )
+ chance = 10;//Minimal chance is 10%.
+ if ( rand()%100 < chance ) {//Coded to both inflect the status and drain the target's SP only when successful. [Rytech]
+ sc_start(bl, type, 100, skill_lv, skill->get_time(skill_id, skill_lv));
+ status_zap(bl, 0, status_get_max_sp(bl) * (25 + 5 * skill_lv) / 100);
+ }
+ } else if ( sd ) {
+ map->foreachinrange(skill->area_sub, bl, skill->get_splash(skill_id, skill_lv), BL_CHAR,src, skill_id, skill_lv, tick, flag|BCT_ENEMY|1, skill->castend_nodamage_id);
+ clif->skill_nodamage(bl, src, skill_id, skill_lv, 1);
+ }
break;
case GN_SLINGITEM:
@@ -13588,16 +13593,18 @@ struct skill_condition skill_get_requirement(struct map_session_data* sd, uint16
if( itemid_isgemstone(req.itemid[i]) && skill_id != HW_GANBANTEIN )
{
if( sd->special_state.no_gemstone )
- { //Make it substract 1 gem rather than skipping the cost.
- if( --req.amount[i] < 1 )
- req.itemid[i] = 0;
+ { // All gem skills except Hocus Pocus and Ganbantein can cast for free with Mistress card -helvetica
+ if( skill_id != SA_ABRACADABRA )
+ req.itemid[i] = req.amount[i] = 0;
+ else if( --req.amount[i] < 1 )
+ req.amount[i] = 1; // Hocus Pocus always use at least 1 gem
}
if(sc && sc->data[SC_INTOABYSS])
{
if( skill_id != SA_ABRACADABRA )
req.itemid[i] = req.amount[i] = 0;
else if( --req.amount[i] < 1 )
- req.amount[i] = 1; // Hocus Pocus allways use at least 1 gem
+ req.amount[i] = 1; // Hocus Pocus always use at least 1 gem
}
}
if( skill_id >= HT_SKIDTRAP && skill_id <= HT_TALKIEBOX && pc->checkskill(sd, RA_RESEARCHTRAP) > 0){
diff --git a/src/map/status.c b/src/map/status.c
index 6b2edc9ac..497d02bbf 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -4221,7 +4221,7 @@ unsigned short status_calc_int(struct block_list *bl, struct status_change *sc,
if(sc->data[SC_MARIONETTE])
int_ += ((sc->data[SC_MARIONETTE]->val4)>>16)&0xFF;
if(sc->data[SC_MANDRAGORA])
- int_ -= 5 + 5 * sc->data[SC_MANDRAGORA]->val1;
+ int_ -= 4 * sc->data[SC_MANDRAGORA]->val1;
if(sc->data[SC_COCKTAIL_WARG_BLOOD])
int_ += sc->data[SC_COCKTAIL_WARG_BLOOD]->val1;
if(sc->data[SC_INSPIRATION])
@@ -6270,9 +6270,6 @@ int status_get_sc_def(struct block_list *bl, enum sc_type type, int rate, int ti
tick -= 1000 * ((status->get_lv(bl) / 10) + ((sd?sd->status.job_level:0) / 5));
tick = max(tick,10000);
break;
- case SC_MANDRAGORA:
- sc_def = (st->vit+st->luk)/5;
- break;
case SC_KYOUGAKU:
tick -= 1000 * status_get_int(bl) / 20;
break;
diff --git a/src/plugins/Makefile.in b/src/plugins/Makefile.in
index ed573238d..53f44a0b4 100644
--- a/src/plugins/Makefile.in
+++ b/src/plugins/Makefile.in
@@ -44,8 +44,14 @@ clean: buildclean
help:
@echo "possible targets are $(PLUGINS:%='%') 'all' 'clean' 'help'"
- @echo "'sample' - sample plugin"
- @echo "'help' - outputs this message"
+ @echo ""
+ @echo "$(PLUGINS:%='%')"
+ @echo " - builds a specific plugin"
+ @echo "'all' - builds all above targets"
+ @echo "'clean' - cleans builds and objects"
+ @echo "'buildclean' - cleans build temporary (object) files, without deleting the"
+ @echo " compiled plugins"
+ @echo "'help' - outputs this message"
#####################################################################
@@ -56,4 +62,4 @@ Makefile: Makefile.in
../../plugins/%@DLLEXT@: %.c $(ALL_H) $$(shell ls %/* 2>/dev/null)
@echo " CC $<"
- @$(CC) @DEFS@ @CFLAGS@ @CPPFLAGS@ @LDFLAGS@ @SOFLAGS@ -o $@ $< \ No newline at end of file
+ @$(CC) @DEFS@ @CFLAGS@ @CPPFLAGS@ @LDFLAGS@ @SOFLAGS@ -o $@ $<
diff --git a/src/test/Makefile.in b/src/test/Makefile.in
index cb99e7004..0c6d15c6b 100644
--- a/src/test/Makefile.in
+++ b/src/test/Makefile.in
@@ -24,13 +24,17 @@ CC = @CC@
export CC
#####################################################################
-.PHONY: all test_spinlock
+.PHONY: all test_spinlock clean buildclean
all: test_spinlock Makefile
-clean:
+buildclean:
+ @echo " CLEAN test (build temp files)"
+ @rm -rf *.o obj
+
+clean: buildclean
@echo " CLEAN test"
- @rm -rf *.o obj ../../test_spinlock@EXEEXT@
+ @rm -rf ../../test_spinlock@EXEEXT@
#####################################################################
diff --git a/src/tool/Makefile.in b/src/tool/Makefile.in
index baf4a0327..ee448a16a 100644
--- a/src/tool/Makefile.in
+++ b/src/tool/Makefile.in
@@ -22,7 +22,7 @@ CC = @CC@
export CC
#####################################################################
-.PHONY: all mapcache clean help
+.PHONY: all mapcache clean buildclean help
all: mapcache Makefile
@@ -32,16 +32,22 @@ mapcache: ../../mapcache@EXEEXT@
@echo " LD $(notdir $@)"
@$(CC) @LDFLAGS@ $(LIBCONFIG_INCLUDE) -o ../../mapcache@EXEEXT@ $(MAPCACHE_OBJ) $(COMMON_OBJ) $(LIBCONFIG_OBJ) @LIBS@
-clean:
+buildclean:
+ @echo " CLEAN tool (build temp files)"
+ @rm -rf obj_all/*.o
+
+clean: buildclean
@echo " CLEAN tool"
- @rm -rf obj_all/*.o ../../mapcache@EXEEXT@
+ @rm -rf ../../mapcache@EXEEXT@
help:
@echo "possible targets are 'mapcache' 'all' 'clean' 'help'"
- @echo "'mapcache' - mapcache generator"
- @echo "'all' - builds all above targets"
- @echo "'clean' - cleans builds and objects"
- @echo "'help' - outputs this message"
+ @echo "'mapcache' - mapcache generator"
+ @echo "'all' - builds all above targets"
+ @echo "'clean' - cleans builds and objects"
+ @echo "'buildclean' - cleans build temporary (object) files, without deleting the"
+ @echo " executables"
+ @echo "'help' - outputs this message"
#####################################################################