Commit 0c58f35e authored by VanillaSalt's avatar VanillaSalt

update EFFECT_FLAG_CLIENT_HINT

parent cbd4a536
...@@ -757,6 +757,25 @@ void field::add_effect(effect* peffect, uint8 owner_player) { ...@@ -757,6 +757,25 @@ void field::add_effect(effect* peffect, uint8 owner_player) {
effects.cheff.insert(peffect); effects.cheff.insert(peffect);
if(peffect->is_flag(EFFECT_FLAG_COUNT_LIMIT)) if(peffect->is_flag(EFFECT_FLAG_COUNT_LIMIT))
effects.rechargeable.insert(peffect); effects.rechargeable.insert(peffect);
if(peffect->is_flag(EFFECT_FLAG_PLAYER_TARGET) && peffect->is_flag(EFFECT_FLAG_CLIENT_HINT)) {
bool target_player[2] = {false, false};
if(peffect->s_range)
target_player[owner_player] = true;
if(peffect->o_range)
target_player[1 - owner_player] = true;
if(target_player[0]) {
pduel->write_buffer8(MSG_PLAYER_HINT);
pduel->write_buffer8(0);
pduel->write_buffer8(PHINT_DESC_ADD);
pduel->write_buffer32(peffect->description);
}
if(target_player[1]) {
pduel->write_buffer8(MSG_PLAYER_HINT);
pduel->write_buffer8(1);
pduel->write_buffer8(PHINT_DESC_ADD);
pduel->write_buffer32(peffect->description);
}
}
} }
} }
void field::remove_effect(effect* peffect) { void field::remove_effect(effect* peffect) {
...@@ -797,6 +816,25 @@ void field::remove_effect(effect* peffect) { ...@@ -797,6 +816,25 @@ void field::remove_effect(effect* peffect) {
if(peffect->is_flag(EFFECT_FLAG_COUNT_LIMIT)) if(peffect->is_flag(EFFECT_FLAG_COUNT_LIMIT))
effects.rechargeable.erase(peffect); effects.rechargeable.erase(peffect);
core.reseted_effects.insert(peffect); core.reseted_effects.insert(peffect);
if(peffect->is_flag(EFFECT_FLAG_PLAYER_TARGET) && peffect->is_flag(EFFECT_FLAG_CLIENT_HINT)) {
bool target_player[2] = {false, false};
if(peffect->s_range)
target_player[peffect->effect_owner] = true;
if(peffect->o_range)
target_player[1 - peffect->effect_owner] = true;
if(target_player[0]) {
pduel->write_buffer8(MSG_PLAYER_HINT);
pduel->write_buffer8(0);
pduel->write_buffer8(PHINT_DESC_REMOVE);
pduel->write_buffer32(peffect->description);
}
if(target_player[1]) {
pduel->write_buffer8(MSG_PLAYER_HINT);
pduel->write_buffer8(1);
pduel->write_buffer8(PHINT_DESC_REMOVE);
pduel->write_buffer32(peffect->description);
}
}
} }
} }
void field::remove_oath_effect(effect* reason_effect) { void field::remove_oath_effect(effect* reason_effect) {
......
...@@ -731,6 +731,9 @@ public: ...@@ -731,6 +731,9 @@ public:
#define CHINT_NUMBER 5 #define CHINT_NUMBER 5
#define CHINT_DESC_ADD 6 #define CHINT_DESC_ADD 6
#define CHINT_DESC_REMOVE 7 #define CHINT_DESC_REMOVE 7
//
#define PHINT_DESC_ADD 6
#define PHINT_DESC_REMOVE 7
//Messages //Messages
#define MSG_RETRY 1 #define MSG_RETRY 1
#define MSG_HINT 2 #define MSG_HINT 2
...@@ -818,6 +821,7 @@ public: ...@@ -818,6 +821,7 @@ public:
#define MSG_RELOAD_FIELD 162 // Debug.ReloadFieldEnd() #define MSG_RELOAD_FIELD 162 // Debug.ReloadFieldEnd()
#define MSG_AI_NAME 163 #define MSG_AI_NAME 163
#define MSG_SHOW_HINT 164 #define MSG_SHOW_HINT 164
#define MSG_PLAYER_HINT 165
#define MSG_MATCH_KILL 170 #define MSG_MATCH_KILL 170
#define MSG_CUSTOM_MSG 180 #define MSG_CUSTOM_MSG 180
#endif /* FIELD_H_ */ #endif /* FIELD_H_ */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment