Buffy 005 launched - try it out with 3 new Gauntlets!

Noble Zarkon

Elite Quattromaster - Immortal (BTS)
Super Moderator
Hall of Fame Staff
GOTM Staff
Supporter
Joined
Sep 6, 2012
Messages
8,436
Location
Gibraltar
Following a lot of hard work we are delighted to announce the launch of the new Buffy 005 mod, this updates BUG and BULL to the latest stable versions and will be the last major update to BUFFY.

If you installed a beta or pre-release version of 005 please note there have been some minor changes to the final version so please delete the old Mod folder, download this version and re-install.

The change logs for the new version are linked below but the main enhancements are:-
  1. All AI attitude modifiers are now shown including those previously hidden.

  2. A better Espionage screen with much more detail.

  3. Integration of the Espionage victory identifier code - no longer need a special version for Culture / Espionage games.

We will continue to accept games played in 003 and 004b until the 24th July as long as they were started before today
. (nb: GOTM will continue to use 003 for the next few months).

To celebrate the launch we have 3 new gauntlets starting which will give you a few opportunities to try out the new mod!

** New Gauntlets Starting **

G-Minor 232 - Conquest, Zulu, Warlord, Ancient, Standard, Epic, Pangaea,

G-Major 158 - Score, Inca, Immortal, Ancient, Tiny, Marathon, Big and Small - High Score Wins!

G-Major 159 - Cultural, Arabia, Monarch, Ancient, Standard, Normal, Hemispheres

 
Last edited:
Here are the change logs for the new versions:-

Spoiler BUG 4.3 & 4.4 Changes :

Code:
BUG 4.4 released May 17th, 2010

CHANGES

New Features:

- BUG Plot List (Unit Icons)
    Completely rewritten code significantly speeds up drawing icons of large unit stacks
- Resource Deals
    Resource icons in active import/export columns on the RESOURCES tab of the Foreign Advisor
    show the full deal they belong to and can be clicked to cancel the deal [BULL]

Improvements:

- Production Queue
    Items that have hammers invested already are drawn in cyan (projects only work with BULL)
- Customizable Domestic Advisor
    Added Draft Anger column
- Great Person Tech Prefs
    Added headings and limited Current and Future techs to those that can be researched
- Unit Naming
    Can use multiple counters for a single naming code
- Civ4lerts
    Worst Enemy alerts show the old enemy along with the new one
- BUG Button
    Added option to hide the button and moved it slightly left
- Translations
    Added several improved Spanish translations by Gerard

Bug Fixes:

- Random Events
    Fixed culture-level checking in Partisans random event; event is now possible on 3.19 and above
- Unit Naming
    Civilization name code uses adjective as described in hover help as opposed to noun form (English vs. England)
- Worst Enemy
    Fixed check in games with multiple players on a team
    Alert ignores human teams instead of AIs
- Civ4lerts
    City-related, Worst Enemy, and Refuses to Talk alerts work for each player in Hot Seat games
    Worst Enemy and Refuses to Talk alerts work with AI AutoPlay
    Worst Enemy alert not shown when team is killed (was showing no-name team)
- Combat Log
    Actual owner of hidden nationality units is not exposed
- Options Screen
    Fixed options that were not being saved and/or could only turn off
- Foreign Advisor
    INFO tab shows correct modifier total, including visible values from Show Hidden Attitude mod when active

Merged Mods:

- Unofficial Patch
    Updated to release version 1.50


MODDING

    *** Important: See "Removed EntryPoints Modules" below ***

New Features:

- BugUtil
    Added export(), exportFunction(), extend(), and extendFunction() for injecting functions into EntryPoints modules
- Configuration
    Added <export> and <extend> XML elements that call exportFunction() and extendFunction() respectively
- BugData
    New API for storing data in CyGame's script data that is 100% compatible with SdToolKit

Improvements:

- Simplified Initialization
    BugInit.init() alone guards against being called twice
    CyGame.isFinalInitialized() used to check if Civ4 is ready
- Removed EntryPoints Modules
    CvAppInterface, CvDiplomacyInterface, CvOptionsScreenCallbackInterface, and CvRandomEventInterface
    If your mod needs to add code to any of these modules, use <export> and <extend> or use the original BTS modules as a base
- PlayerUtil
    players() and teams() now accept active parameter that restrict to players/teams that can become active

Bug Fixes:

- Better Espionage
    Removed unused EspionageEventManager
- AttitudeUtil
    Limits Worst Enemy checks to teams that are alive
- BugUtil Logging
    Unicode encoding errors are caught and ignored in log()
- Options
    Unsaved options use TYPE_MAP to convert to correct real type (bool/int/etc) when setting
    <option> key defaults to id if inside <options> so they are saved to the INI file
- Initialization
    BUG now tells BULL that it has been initialized so BULL can query for options


____________________________________________________________________________________________________
BUG 4.3 released February 16th, 2010

CHANGES

New Features:

- Main Interface
    Can choose from three sizes for the build/action buttons
    Added a button to bring up the BUG Options Screen (top left)
- Espionage Advisor
    New layout shows EPs spent against you and icons for passive missions
    Can swap cities and missions lists to see cost in each city for a single mission
    New GLANCE-style tab shows EPs spending on and by each rival you've met
- Technology Chooser
    Added color-coded shadow denoting each technology's era
- BUFFY
    Barbarian Uprising events require Priesthood

Improvements:

- Main Interface
    Unit Plot drawing improvements (pre-work only at the moment)
- Great Person Bar
    Added city's total GP/Turn to hover.
- City Screen
    Can select which tiles to count in Raw Yields when Civ starts
- Foreign Advisor
    Can select how to display attitudes: numbers, smilies, or both
    Shows technologies that you cannot trade to rivals
- Technology Chooser
    Added hover to GP Research icons showing the preferred order
- Unit Naming
    Unnamed initial units are named when you found your capital
    Units from tribal villages (goody huts) are named
    Random names can now be mixed with other naming codes or static text
- Reminders
    Saved for all players in multiplayer games [BULL]

Bug Fixes:

- Strategy Layer
    Fixed random crash on Windows Vista/7
- City Screen
    Happiness and unhappiness are shown for foreign cities
    Whip/Draft Anger is shown for teammates' cities
    Raw Yields now adds Trade Routes to commerce total when Fractional Trade is off, hides fractions when on
- Team Games
    WHEOOH works correctly and won't check if a rival will DoW on your teammates or theirs
    Worst Enemy no longer shown for humans' teammates
- Multiplayer OOS Errors
    Changed random "polling error" on F8:MEMBERS tab to use asynchronous RNG
    Changed random unit name generator to use asynchronous RNG
- Scoreboard
    You can always see how many cities your teammates have
- Unit Naming
    Phonetic and Greek naming codes now start at first element (alpha)
    Domain code (^dm^) uses translated description (Water) instead of XML key (DOMAIN_WATER)

MODDING

New Features:

- BUFFY
    Merged BUFFY code into BUG so there's one code repository

Improvements:

- Translation
    Split CIV4GameText XML files for Options into individual files matching the Config folder
- BugEventManager
    Added addPopupHandlers() that takes the name and functions as parameters instead of a single tuple
- Configuration
    Added a warning when you specify a key for an <option> or <list> that is outside an <options> or <section> element
- DllUtil
    widget() now accepts an existing WidgetType as the first parameter when you only need the data values to vary

Bug Fixes:

- BugPath
    Added safeDebugPath() and safeInfoPath() to safely log paths that might contain non-Latin characters


Spoiler BULL 1.2 Changes :

BULL 1.2 released May 17th, 2010

CHANGES

New Features:

- Ignore Harmless Barbarians
No warnings for nearby barbarians that cannot enter your lands
- Starting Experience
Added starting experience and number of promotions a unit will receive
Added list of the present and missing sources of experience and their amounts similar to resource modifiers for buildings
- Draft Unit and Limit
Added full unit description: strength, moves, XP, promotions, abilities, etc.
Added number of units you can draft this turn
Added messages to Draft button hover when you have reached the player or city limits
- Cancel Deal Info
Can click an import/export bonus on the Foreign Advisor to cancel the deal and hover shows full deal [BUG]

Improvements:

- Building Actual Effects
Added Global Happiness and Health [Fuyu]
Added Building Class Happiness (unused in original game) [Fuyu]
Added Global War Weariness Modifier [Fuyu]
Added Angry Population affected by Happiness
Added Spoiled Food affected by Health
- Show Hidden Attitudes
Debug mode exposes all modifiers

Bug Fixes:

- Leaderheads
Worst Enemies you haven't met are no longer shown
- Show Hidden Attitudes
First Impression modifier resets to zero for each leader
- Production Decay
Scales correctly with game speed
- Options
Starting a new game no longer breaks BULL's access to BUG's options

Merged Mods:

- Unofficial Patch
Updated to release version 1.50


MODDING

New Features:

- API
Added calculateExperience() in CvGameCoreUtils
Added calculateLevel() in CvGameCoreUtils
Added CvUnitInfo::canAcquireExperience()
Added CvGameTextMgr::setBasicUnitHelpWithCity()
Added CvGameTextMgr::setUnitExperienceHelp()
- Python API
Exposed calculateExperience()
Exposed calculateLevel()
Exposed CvUnitInfo::canAcquireExperience()

Improvements:

- API
Added iAngryPop to CvCity::getAdditionalHappinessByBuilding()
Added iSpoiledFood to CvCity::getAdditionalHealthByBuilding()
Added CvCity::getAdditionalHappinessByBuilding() form that doesn't take any reference arguments
Added CvCity::getAdditionalHealthByBuilding() form that doesn't take any reference arguments
- Python API
Exposed CvCity::get/set/changeProjectProduction()
Exposed CvCity::getAdditionalHappinessByBuilding(BuildingTypes eBuilding) [four forms]
Exposed CvCity::getAdditionalHealthByBuilding(BuildingTypes eBuilding) [four forms]

Bug Fixes:

- Initialization
Added setIsBug() that is called by BUG once all options have been read
The XML values or defaults are used until BUG has been initialized
- Building Additional Effects
Only buildings that your civilization can build are checked so asserts aren't triggered
- Production Decay
CvCity::isBuilding/UnitProductionDecay() and getBuilding/UnitProductionDecayTurns() scale with game speed


Spoiler Unofficial Patch 1.5 change log :

- CvCityAI::AI_buildingValueThreshold - Fixed bug causing AI cities to over value buildings which unlock specialists in many circumstances when picking what to build
- CyInfoInterface2 - Fixed issue with "getHappiness" for improvements (thanks NotSoGood)
- CvPlayer::canFound - Changed handling of founding on water tiles so that Python callback has final say if it is turned on
- CvPlayer::removeBuildingClass - Fixed issue with removing buildings when building class was maxed out for some mods (thanks EF)
- CvPlot::doImprovement - Minor efficiency improvement for existing game speed scaling fix
- CvPlot::doImprovment & CvPlot::doFeature - Now scale accoding to getVictoryDelayPercent, which is more appropriate
- CvUnitAI::AI_specialSeaTransportMissionary - Fixed minor bug in valuation for executives
- CvPlayerAI::AI_targetGold - Fixed bug causing AI to not bother with budgeting for expenses for first 40 turns of scenarios and advanced start games
- CvCity::init - Reverted to standard BTS code where floodplains are removed when a city is founded
- CvCity::kill - Replace floodplain after city is destroyed
- CvTeam::doTurn - Added barbarian passive tech fix from Mongoose SDK
- CvPlayerAI::AI_changePeacetimeTradeValue and CvPlayerAI::AI_changePeacetimeGrantValue - AIs you haven't met yet will no longer get angry at you for trading with their worst enemy (thanks Sephi)
- CvPlayerAI::AI_getStrategyHash - Fixed several bugs where player ID was used where team ID was intended
- CvPlayerAI::AI_targetCityValue - Fixed issues with valuation of cities with inactive world wonders, multi-holy-cities
- CvCity - Added function getNumActiveWorldWonders()
- CvPlayerAI::AI_commerceWeight - Improved valuation of generating culture in human player cities when culture bar is > 50% (ie, player probably going for cultural victory)
- CyInfoInterface1 - Added missing CvUnitInfo::isOnlyDefensive (thanks Afforess)
- CvCityAI::AI_calculateCulturePressure and CvCityAI::AI_playerCloseness - Fixed incorrect usage of getID() (thanks denev)
- CvPlayerAI::AI_foundValue - Added missing division for iClaimThrehsold (thanks denev)
- CvTeam::shareCounters - Fixed bug causing inappropriate overflow research and effectively free techs when forming a Permanent Alliance
- CIV4GameText_Events_BTS.xml - Fixed Italian translation for TXT_KEY_EVENTTRIGGER_MOTOR_OIL and usage of Amun-Re (thanks jsbrigo)
- Popup.py - Fixed X versus iX in addPythonButtonXY(), and (maybe) fixed reference to non-existent variable in addTitleData() (thanks EF)
- CvCity::getProductionModifier (three versions of this function) - Changed to allow mods to create negative production modifiers (thanks NotSoGood)
- CvUnit::rangeStrike - Fixed bug with determining if can range strike, and potential OOS from range strikes (thanks God-Emperor)
- CvUnit::canRangeStrikeAt - Added check for whether target plot is visible (thanks God-Emperor)
 
Last edited:
Known Issues
  1. Formatting of various Mapfinder error messages is incorrect.

  2. Python errors when Mapfinder unable to regenerate map.

  3. Incorrect text shown when limit of 3 missionaries reached under Organised Religion - says "Requires Monastery".
We hope to have a 005a version issued towards the end of the year to fix these issues.
 
Last edited:
Many thanks to:-
  • the BUG and BULL teams for their excellent work

  • @Lemon Merchant for her support and assistance

  • @Denniz for coding and compiling the DLL

  • the HOF players who tracked down bugs

  • and especially to @lymond without whose persistence we would never have got here!
 
Last edited:
- Unofficial Patch Updated to release version 1.50
Might be nice to have more detail here. While everything else falls under 'unaltered gameplay' (like interface changes), this mod does alter play.
Not in the major ways some mods purposely change gameplay, but this mod fixes 'bugs'. Put in quotes because it's what the Unofficial Patch team considers a bug. And there's one 'bug' they fixed which BUFFY un-fixes, correct?
There could be other AI behavior changes. Could make for some exciting surprises!
 
trying it out this afternoon. it was crashing on me a lot more than .003, or .004b. I'll keep playing around with it. Anyone else seeing less stability?
 
trying it out this afternoon. it was crashing on me a lot more than .003, or .004b. I'll keep playing around with it. Anyone else seeing less stability?

Not at all. Actually 005 should be more stable and perform a lot better. They did rewrite the code for PLE (Plot List Enhancements) as it was a major hog in 003. However, you still might want to turn it off like I did in 003.
 
005 crashes everytime when I start a 2nd game.
Strange - I've not had a crash with any version of Buffy for years.

Can you turn on logging in your ini file and see what is produced?

Code:
; Enable the logging system
LoggingEnabled = 1

; Enable synchronization logging
SynchLog = 0

; Overwrite old network and message logs
OverwriteLogs = 1

; Enable rand event logging
RandLog = 1

; Enable message logging
MessageLog = 1
 
Last edited:
Not in the major ways some mods purposely change gameplay, but this mod fixes 'bugs'. Put in quotes because it's what the Unofficial Patch team considers a bug. And there's one 'bug' they fixed which BUFFY un-fixes, correct?
I've added the Unofficial Patch change log, note I was mistaken - it was a BUG change we reverted.
 
Last edited:
@Noble Zarkon
I turned on logging and started BtS.
First I started a new custom game and played for 6 turns. Made a starting save and an ending save. Then I went back to the main menu and started a second custom game. The game crashes when it is initializing.
Where in the log files do I need to look?
 
@Noble Zarkon
First I started a new custom game and played for 6 turns. Made a starting save and an ending save.

Just to be clear, is this something you do manually or are you using the mod options to auto-generate the saves
 
Back
Top Bottom