Author: jtn
Date: Tue May 12 09:22:38 2015
New Revision: 29047

URL: http://svn.gna.org/viewcvs/freeciv?rev=29047&view=rev
Log:
Allow client to see effect multipliers.

See gna bug #23584.

Modified:
    trunk/common/effects.c
    trunk/common/packets.def
    trunk/fc_version

Modified: trunk/common/effects.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/common/effects.c?rev=29047&r1=29046&r2=29047&view=diff
==============================================================================
--- trunk/common/effects.c      (original)
+++ trunk/common/effects.c      Tue May 12 09:22:38 2015
@@ -360,9 +360,12 @@
 void recv_ruleset_effect(const struct packet_ruleset_effect *packet)
 {
   struct effect *peffect;
+  struct multiplier *pmul;
   int i;
 
-  peffect = effect_new(packet->effect_type, packet->effect_value, NULL);
+  pmul = packet->has_multiplier ? multiplier_by_number(packet->multiplier)
+                                : NULL;
+  peffect = effect_new(packet->effect_type, packet->effect_value, pmul);
 
   for (i = 0; i < packet->reqs_count; i++) {
     effect_req_append(peffect, packet->reqs[i]);
@@ -381,6 +384,13 @@
 
     effect_packet.effect_type = peffect->type;
     effect_packet.effect_value = peffect->value;
+    if (peffect->multiplier) {
+      effect_packet.has_multiplier = TRUE;
+      effect_packet.multiplier = multiplier_number(peffect->multiplier);
+    } else {
+      effect_packet.has_multiplier = FALSE;
+      effect_packet.multiplier = 0; /* arbitrary */
+    }
 
     counter = 0;
     requirement_vector_iterate(&(peffect->reqs), req) {

Modified: trunk/common/packets.def
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/common/packets.def?rev=29047&r1=29046&r2=29047&view=diff
==============================================================================
--- trunk/common/packets.def    (original)
+++ trunk/common/packets.def    Tue May 12 09:22:38 2015
@@ -1801,6 +1801,8 @@
 PACKET_RULESET_EFFECT = 175; sc, lsend
   EFFECT_TYPE effect_type;
   SINT32 effect_value;
+  BOOL has_multiplier;
+  MULTIPLIER multiplier;
 
   UINT8 reqs_count;
   REQUIREMENT reqs[MAX_NUM_REQS:reqs_count];

Modified: trunk/fc_version
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/fc_version?rev=29047&r1=29046&r2=29047&view=diff
==============================================================================
--- trunk/fc_version    (original)
+++ trunk/fc_version    Tue May 12 09:22:38 2015
@@ -54,7 +54,7 @@
 #   - Avoid adding a new mandatory capability to the development branch for
 #     as long as possible.  We want to maintain network compatibility with
 #     the stable branch for as long as possible.
-NETWORK_CAPSTRING_MANDATORY="+Freeciv.Devel-3.0-2015.May.09"
+NETWORK_CAPSTRING_MANDATORY="+Freeciv.Devel-3.0-2015.May.09b"
 NETWORK_CAPSTRING_OPTIONAL=""
 
 FREECIV_DISTRIBUTOR=""


_______________________________________________
Freeciv-commits mailing list
Freeciv-commits@gna.org
https://mail.gna.org/listinfo/freeciv-commits

Reply via email to