[Freeciv-Dev] [bug #22823] World-ranged tech requirements have implicit survives flag

2014-10-20 Thread Jacob Nevins
Update of bug #22823 (project freeciv):

  Status:  Ready For Test = Fixed  
 Open/Closed:Open = Closed 


___

Reply to this item at:

  http://gna.org/bugs/?22823

___
  Message sent via/by Gna!
  http://gna.org/


___
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev


[Freeciv-Dev] [bug #22823] World-ranged tech requirements have implicit survives flag

2014-10-19 Thread Jacob Nevins
Update of bug #22823 (project freeciv):

  Status: In Progress = Ready For Test 
 Planned Release:   2.6.0 = 2.4.4, 2.5.0, 2.6.0

___

Follow-up Comment #2:

Also patches for stable branches which correct autogenerated help to match the
semantics on those branches (which aren't changing). (I don't think this
affects any rulesets I know about.)

(file #22668, file #22669)
___

Additional Item Attachment:

File name: trunk-world-tech-survives.patch Size:27 KB
File name: S2_5-S2_4-world-tech-survives.patch Size:1 KB


___

Reply to this item at:

  http://gna.org/bugs/?22823

___
  Message sent via/by Gna!
  http://gna.org/


___
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev


[Freeciv-Dev] [bug #22823] World-ranged tech requirements have implicit survives flag

2014-10-18 Thread Jacob Nevins
URL:
  http://gna.org/bugs/?22823

 Summary: World-ranged tech requirements have implicit
survives flag
 Project: Freeciv
Submitted by: jtn
Submitted on: Sat 18 Oct 2014 12:41:20 BST
Category: None
Severity: 3 - Normal
Priority: 5 - Normal
  Status: None
 Assigned to: None
Originator Email: 
 Open/Closed: Open
 Release: 
 Discussion Lock: Any
Operating System: None
 Planned Release: 2.6.0

___

Details:

I think bits in the global_advances[] cache, once set, are never cleared.

On S2_5 and prior, this cache is used to obsolete great wonders. That's good;
if a tech is lost by all players, we wouldn't want the wonder coming back to
life. (Certainly found_new_tech() wouldn't cope with this, when notifying
players.)

global_advances[] is also used to implement world-ranged tech requirements
(is_tech_in_range()). So this is currently a survives type effect, and an
equivalent non-survives effect is not available.

I think we should move to only use global_advances[] when the survives flag
is set in a requirement, and implement a non-survives world-ranged player
tech requirement that really iterates over all players. (I don't think this
will be used often enough to warrant a cache at first.)

From 2.6, wonder obsoletion is generalised to use effects. If we made this
change, we'd have to change rulesets to add a survives flag to these
requirements (and document this in the ruleset upgrade notes).




___

Reply to this item at:

  http://gna.org/bugs/?22823

___
  Message sent via/by Gna!
  http://gna.org/


___
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev


[Freeciv-Dev] [bug #22823] World-ranged tech requirements have implicit survives flag

2014-10-18 Thread Jacob Nevins
Update of bug #22823 (project freeciv):

  Status:None = In Progress
 Assigned to:None = jtn

___

Follow-up Comment #1:

Working on a patch for this.

I've adjusted most rules so that there's no behaviour change. These are the
exceptions:
* Inspire_Partisans effects (if everyone forgets Guerilla Warfare, it stops
happening)
* Alien ruleset Soul penalty on players that don't know it goes away if
everyone forgets it.

___

Reply to this item at:

  http://gna.org/bugs/?22823

___
  Message sent via/by Gna!
  http://gna.org/


___
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev