Dynamic Campaign Generator (DCG) is a mod for the game "Men of War" and some of its successors that randomly generates skirmish missions and lets you keep your surviving forces from one battle to another. Some people find this mod tricky to install the first time - please read the readme.txt carefully and ask for help (if you need it) on our forums here on this site, or at the game developer's site.

Post feature Report RSS Changelog

Listing of new features added, other changes and release dates

Posted by on

This is a changelog for the Dynamic Campaign Generator (DCG) mod which gives an idea of how it has developed over time. DCG was first released as a mod for Faces of War and has been updated for Men of War and then Men of War: Assault Squad.

Version 5.0 ~ January 1, 2017
- Removed requirements for J# and XNA installs
- Requires .NET Framework 4.5
- Timed attack missions add more time for player to complete objectives on larger maps
- Objective pointer entity customizable in settings.xml
- Some minor bug fixes

Version 4.5 ~ November 8, 2015
- Handling of units in operations files revamped, allowing new unit attributes
- Operation unit filters added
- Operation unit ignore rarity attribute added which applies to heavy tanks (category 5)
- Added 4-wave and 3-wave variants of wave defense and limited 5-wave variant to when tank counter is present
- Revamped operational combat resolution, with visible strengths and odds for auto-resolved battles, including percentage chance of attack success displayed dynamically
- New unit counters on operation map and other improvements
- Mission points bonus setting to nations.xml now also raises the floor for the player's points to 20.
- Minor changes to order of point calculation after battles.

Version 4.0 ~ December 20, 2013
- New region: Southern Europe (#7)
- Adjust AI force size larger for oversized maps
- Ally forces from another nation can appear in-battle if a player attack is supported on the operation map by another nation
- Player may now purchase troops in excess of authorized force size by paying double the cost or else the cost plus the current force size, whichever is greater
- The player is notified when the campaign has ended because the date has passed the end of the war
- The interface now allows the player to start a new campaign when the old campaign ends without shutting down
- News messages and images have been added to the After Action Report screen
- The player may receive a bonus to the number of units authorized based on a calculation involving operations won and recent battle victories in the previous campaign
- Fixed bug preventing artillery spotting round smoke from appearing and spotting round smoke is now also easier to see
- If available, an "historical" operation will automatically be picked when random selection is chosen and it has not previously been played
- Fixed some bugs with disbanding squads
- Computer now begins moving its infantry before vehicles at start
- No air attacks at night
- Higher likelihood of air attacks when player has vehicles with counter tag
- Higher likelihood of AI armored units on operation screen (closer to 50%) when massedarmorattackallowed is true
- Point loss for failed transit mission reduced to 50%
- Fixed bug with calculating enemy soldiers lost
- Single AI medium or heavy tanks (ie. not part of a platoon) are now generated with an accompanying infantry squad
- Improved squad sort order on purchase screen
- Added region restriction capability for infiltration missions and overlays which will prevent things like ambient horses, chickens and cars from appearing in North Africa
- Added reaction moves for computer on operation map which allows a chance for an idle unit to add its category and some extra forces to a unit being attacked by the player's own unit; this also allows computer forces from two different nations to appear in the same defense
- Added button on purchase screen to reset (clear) ALL inventories to their default loadouts with one click

Version 3.5 ~ April 6, 2013
- Updated to XNA 3.1
- Added new feature: sea and railroad transit operations and missions which occur between standard operations when the chosen theatre requires a change of region (if you wish to disable this feature, simply delete the xml files beginning with the word "Transit" in the "operations" sub-folder).
- Added new feature: overlays for standard battle types which include more ambient activity or tactical challenges
- Added new feature: icons which allow player to influence allied troop movements in-game
- Added new feature: DCG will provide a single squad for temporary player use if the player has no valid forces for the current mission
- Added new system for handling weather using a Weather.xml file and new environment files (included in map packs); Note that deleting the Weather.xml file will restore the original system
- Changed conditions under which random AI minefields appear: only when the player is attacking on the operational map
- Changed mission briefing text to improve clarity about goals
- Changed computer deployment for the timed attack mission
- Added recognition of noncombat tag in vehicles xml and humans xml files which prevents the computer from randomly selecting that vehicle (fuel tankers, for example) or soldier as a passenger (tank crewman, for example)
- Added recognition of counter tag in vehicles xml files which indicates if a particular overpowered tank has a specific unit on the opposing side which is capable of defeating it - if so, the computer has an increasing chance of receiving one of these units when the player wins multiple battles in a row
- Fixed bug which drastically reduced the amount of points the player recieved for completing a mission (now player will get more points)
- Added setting for the number by which fuel is divided to get the base cost for refuelling on the details screen
- Added optional season qualifier to operation templates
- Added 25 point bonus for winning a timed battle where the AI is attacking in multiple waves
- Added 50 point bonus as a victory condition for some infiltration missions
- Notice of penalty for choosing battles behind friendly lines now properly shows up on the AAR screen text
- Disband now transfers units to the allied AI for the next battle only. However, for vehicles, this happens only if the vehicle has at least one crew member and also either 1) it was just purchased on the current screen, or 2) it passes a check with a 50% chance
- Disbanding a vehicle now also disbands any riders or crew linked to the vehicle even if they are not part of the crew squad
- Added savewaitinterval setting to Settings.xml to help with rare cases where saving the MoW game takes more than a hundred milliseconds; in these cases, DCG incorrectly brings up the post-battle sequence twice - the new setting is in milliseconds; the higher the setting, the longer DCG will wait for the save to complete
- Fixed bug in Map Editor screen where a map without a category, region, or season would continue showing value from most recent map viewed, but would not save that value when save was selected
- Fixed bugs affecting buttons on Details screen
- Fixed bug causing crashes with non-sequential nation ids in the operation editor
- Fixed wind for random weather (original system)
- Added penalty for allied vehicles knocked out and added them to the campaign record
- Platoons should appear with all members in the same camoflage
- Fixed issue that would allow one AI artillery battery even if ArtilleryBatteriesMax was set to zero in Settings.xml
- Changed mission folder from single\DCG to single0_DCG in order to solve low-resolution menu issues by putting the Dynamic Campaign button at the top
- Included new UI graphics, movie and music for Men of War menus (thanks to Ty who made this)
- The horizontal bar between the text and the map in the After Action Report screen is now draggable to make reading the text easier
- The current theatre is now pre-selected in the theatre dropdown on the campaign/theatre selection screen when applicable
- Aircraft altitudes are now assigned in a different way to reduce mid-air collisions - the first plane will start at 40 (the maximum allowed in the game), the second at 30, and the third at 20
- Default artillery spotting round fx changed so that the smoke disappears after a while

Version 3.0 ~ September 16, 2011
- Added new mission type: wave defense - defend for 12 minutes; 2 minute setup time; 5 AI waves at 2 minute intervals
- Added tag to Settings.xml which can be used to disable timed mission types
- Added much larger deployment area for player when defending a map already owned
- Changed defense of captured invasion beach so player is not defending from the water
- Changed counterattack against a captured invasion beach map so player starts at the map edge
- Unchecked units on the Mission Planning screen now have reinforcement icons in battle so they can can be called in individually at any time (with a 10 second delay)
- Added a campaign record report with statistics on mission success and troop losses to text window on the After Action Report screen
- Fixed facing of vehicles in platoon deployment at start of battle
- Fixed squad detection in save game files so that in-game changes to squad composition are reflected in DCG
- Increased starting distance between platoon members, which helps them to avoid getting stuck and not moving
- Fixed issue where objectives would appear in a setup zone on maps with custom zones which did not correspond to whether the unit was attacking or defending on the operation map - on rare occasions, this fix will result in objectives in very hard-to-reach places
- Added airbase marker on operation map showing location of airbase infiltration missions
- Made right-click unit category popup on operation map transparent and show check marks for available types
- Fixed computer reserve (2nd wave) force not responding when attacked before activation
- Bonus to maximum size of computer reserve (2nd wave) force when computer is attacking
- Added a random chance for the player to acquire a bonus unit when the player loses a battle and does not have many points and troops
- Increased the chance of player ally troops appearing in a mission when the player has few troops
- Added F1 Help and link on main form
- Artillery spotter breed now adjustable in nations.xml
- Settings for air and artillery attack probability and for computer bonus units have been moved to nations.xml so they can be adjusted by theatre
- Added mission points bonus setting to nations.xml to give the player 50% more or less points after each mission in certain theatres
- Changed timed attack mission so that eliminating all enemy units no longer affects victory
- Added new button to the Details popup on the Purchase screen which adds 100 fuel to the vehicle regardless of capacity (any excess fuel will be wasted when the mission begins, so use caution)
- Added bonus for enemy soldiers lost and penalty for allied soldiers lost (1 point per 8 soldiers)
- Added tags to Settings.xml which can be used to change the fx type associated with artillery spotting rounds and explosions
- Added attackprobability setting to operations which determines the likelihood of units on the operation map attempting an attack
- Added vertical bar next to units on the operation map showing the attackprobability for each unit
- Unit attackprobability rises when a unit wins and drops when it loses; if it drops to zero, the unit is withdrawn from the operation
- Changed some in-game text to reside in DCGmission.lng file in localization folder

Version 2.5 ~ February 26, 2011
- Map nation and date restrictions now possible
- Completely rewrote waypoint code so each unit has its own set of waypoints (they are no longer shared and units may clump less)
- AI off-map artillery spotters start in AI setup area, have a waypoint to move towards, and must be alive and in contact with some of your forces to call in artillery
- Rarity overrides added so vehicle rarity can change over time
- Added rarity column to purchase screen; items which are unavailable are now indicated in light gray
- Fixed some bugs with how the AI chooses vehicles
- Added new mission type which gives the player a limited amount of time to capture one objective; the player does not have to hold the objective, however, only clear it once before the timer runs out to win
- Added new maneuver plan for the computer in which troops form a line rather than move to the objectives
- Airplane altitude fixes
- Added small purchase price discount for each vehicle player already has of the same type to reflect easier support for like types
- Platoon deployment and movement added for vehicles (platoon members share waypoints)
- Removed commander tag from 1st wave computer squads so they can seek cover if they are not in contact when they reach their final waypoint
- New possible victory bonus for some infiltration missions prevents the computer forces from attacking anywhere on the operation map the following day
- New possible victory bonus for some infiltration missions on airbase maps prevents the computer from conducting airstrikes for the remainder of the operation
- Moved xml files to a subfolder
- Fixed crash bug when continuing a campaign between operations and all dropdowns are not selected yet
- Infiltration missions only occur at night now unless "No Night Battles" option is checked
- No 2nd wave computer troops are present in infiltration missions
- Computer squads do not get assault orders in infiltration missions
- New easier missions setting on Settings form which ignores the unitsrandomcomputerbonus setting when calculating the number of computer units for a mission (this is equivalent to changing the unitsrandomcomputerbonus setting to 0 in the Settings.xml file)
- Added some region-specific generic (random map) operations and removed a few old ones
- Units in generic operations are now assigned a random category type
- Code improvements and fixes
- Added file with gameplay information named "instructions.htm"

Version 2.4 ~ September 26, 2010
- Player-targeted off-map artillery added for purchase
- AI off-map artillery added with many settings in the Settings.xml and Nations.xml files and spotters on the map
- Fixed bug which reused friendly AI waypoints for air attack targeting
- Added check boxes to the Mission Planning screen - now unchecked units are absent from the battle until the player achieves victory, allowing units to be used in a post-battle support role if desired
- Added infiltration missions when the player unit is dragged onto a map far behind enemy lines
- Introduced possibility that computer will concentrate most forces on one objective
- Reduced delay for second wave attack
- Fixed bug which allowed attacks outside of pocket on operation map
- Reduced frequency of tanks slightly in massed armor attacks
- Vehicles will now stop and engage spotted enemies enroute to their objectives
- Split Eastern Front Campaign to make early war easier for German player
- Added maps from patch 1.17.5
- Added Japanese forces and Manchurian, Southeast Asian, and Pacific theatres
- Raised default point ceiling to 1000
- Added setting to influence the amount of allied forces in a mission when coordinating an attack on operation map

Version 2.3 ~ December 11, 2009
- Added an After Action Report screen which shows the results of the previous battle and of any other battles won or lost by other units on the operation map
- Added a backup and restore feature for campaigns so it is easier to try different campaigns or to revert to an earlier situation (backup and restore buttons are on the main menu)
- Added a brain to crew and passengers of all vehicles, eliminating the bug which caused these troops to appear invincible and to be missing their icon on the left of the screen when controlled by the player (Thank you to Trog for the idea)
- Added new graphics by Ngvede to the operation screen and improved the system for unit counter and overlay graphics to be more flexible
- Changed the system for player purchased close air support to allow targeting of air attacks in the battle (by clicking on the icons on the right and then clicking on a location to attack); also made cost of close air support adjustable by nation and theatre (see nations.xml) (Thank you to Trog for the new air support scripts)
- New end condition for operations which have a start and stop date specified - the operation will end in stalemate if the number of days remaining drops to zero at which point the player will receive credit for any victory points controlled
- New force size system which calculates the maximum number of units allowed by adding all soldiers and crew members and the doubled category number of each vehicle or piece of heavy equipment
- It is no longer possible to reset the loadout of (rearm) foreign equipment on the Battle Preparation screen
- System for individual soldiers to "level up" after each battle implemented (infantry pack required)
- Fixed the system for selecting shields (Schürzen) and texture mods appearing on vehicles and improved the system for choosing texture mods randomly
- Preserve wrecks and shellholes on maps for the duration of an operation (Thank you to Trog for explaining how)
- When the player's unit on the operation screen is next to the front line, but not attacking or defending (no arrow pointing to or from the player's unit), now the undeclared attack comes from the front line; enemy forces are reduced to 50% strength and limited to light tanks or less (a recon in force); 10 points are subtracted since it should be an easier than normal battle
- When the player's unit on the operation screen is not near a front line (far behind friendly lines), now the undeclared attack comes from a random direction (representing partisans, infiltrators, etc); the player is allowed to deploy anywhere on the battle map since it is all friendly territory; enemy forces are reduced to 25% strength and limited to infantry; 20 points are subtracted since it should be a very easy battle
- It is now possible to have units from more than one nation per side in operations (for example, UK and USA units can appear as allies in the same operation).
- Setting added for starting battles with player units set to hold position
- Cannons and other man-portable heavy equipment will now stop and engage attacking enemies enroute to their objectives
- Customized fuel tank sizes handled
- Setting added for game registry entry and game process name for compatibility with expansions
- Code improvements and fixes

Version 2.2 ~ May 22, 2009
- Operation Editor added (allows building operations based on historical situations)
- Added dropdown to campaign screen which allows selection of available operations for the specified nation, theatre and date
- New victory condition for operations (besides capturing all supply sources): eliminate all opposing units on the operation map - this is the only option when an enemy supply source is inaccessible (offshore, for example)
- Added ability to customize icon, name and category for units which appear on the operation map
- When categories have been specified for operation map units, force compositions in battles will reflect the specified categories - for example, a battle involving an armored unit may feature many tanks, while an airborne unit may have only infantry
- Modified massed tank attack feature when player has won serveral battles in a row so it is less frequent, added tag to theatre configuration to turn this feature on or off
- Modified air attacks to allow multiple planes under certain conditions
- Added greater variety in positioning of random mission objectives
- Added ability to drag and drop soldiers to and from vehicles on the purchase screen
- Added right click menu to the purchase screen which allows adding soldiers to existing squads or vehicles for a price
- Purchase screen shows occupied crew positions when an existing vehicle node is expanded
- Purchase screen shows enemy vehicles destroyed and added bonus of 10% of vehicle value
- Deployment screen shows mission briefing text
- Allow multiple xml files for nation, map, vehicle, squad and human data - this allows adding new content without modifying existing files
- Added ability to specify 2x starting point bonus per nation per theatre in nations.xml
- Allow customizing point ceiling in settings.xml
- Code improvements and fixes

Version 2.1 ~ March 23, 2009
- Map Data Editor added (allows customization of DCG map data, including for newly added maps)
- Men of War folder is automatically determined on clean install of DCG
- Fixed issue where some maps had more than three objectives - now the maximum is three
- Externalized label and button text to a config file for possible localization
- Purchase screen now calculates additional rarity checks after each successful check, allowing more than one vehicle per type to be available
- Service dates displayed on Purchase screen

Version 2.0 ~ March 16, 2009
- Converted to Men of War
- Updated to XNA 3.0 and J# 2.0 SE
- Dynamic Campaign is now selected in Men of War as a separate campaign menu option
- New weather generation code
- Minimaps and grass (.grs) files included again and both finally work in Men of War
- AI Aircraft no longer fly with their landing gear down
- Added many new maps and vehicles and soldiers from Men of War
- Allow region and season specific squads and vehicles
- Many minor improvements and bug fixes
- Experimental: added Korean War theatre (uses USSR to stand in for North Korea and China)

Version 1.7 ~ February 15, 2009
- Added a screen after each operation ends which allows the choice of theatre, computer nation, and date for the next operation
- Added button on purchase screen for resetting an entire squad or vehicle to default loadouts
- Added a chance of friendly vehicles appearing when the player's attack is supported by another friendly unit on the Operation screen
- Operation screen feature: defeat of an enemy unit with no retreat path results in removal of that unit for the remainder of the operation
- Operation screen feature: out of supply maps are indicated with an icon
- Operation screen feature: when the player's unit is out of supply, the rearm and purchase buttons on the Battle Preparation Screen are disabled
- Operation screen feature: when isolated pockets develop, units may not move between these areas across enemy territory
- Operation screen feature: added identifiers to units
- Added much extra info to log.txt output

Version 1.6 ~ December 16, 2008
- Operation screen allows the player to choose whether to attack or defend and which map to fight on and from what direction
- Replaced third party .dds loader with Microsoft XNA code
- Single window user interface
- Many code improvements and fixes
- Split off Zeke Wolff and Ngvede maps into separate MapPack download to reduce size of basic DCG download

Version 1.5 ~ December 15, 2007
- Additional maps by Zeke Wolff
- Added a small number of player ally squads to some missions
- Battle Preparation Screen shows crew squads
- Battle Preparation Screen shows soldiers that have been separated from squads and allows them to be drag-dropped back into squads
- Battle Preparation Screen allows drag-dropping of soldiers between squads up to a maximum of 8 soldiers per squad
- Battle Preparation Screen has new option: add empty squad

Version 1.4 ~ October 21, 2007
- Fixed bug which failed to detect victory in the save file in version 1.3
- Fixed a problem where a circling aircraft would reset the objectives timer repeatedy
- Added operations which link battlefields together
- Up to 10 battlefields are randomly placed in a line at the start of each operation
- Thumbnails of the battlefield maps for the operation are displayed in a line on the Mission Planning screen with the player's edge on the left and the current map highlighted with a blue triangle
- Each battle won shifts the current map to the right and each battle lost shifts it to the left
- Winning an operation (victory on the rightmost map) gives you an extra unit slot and many points
- Losing an operation (defeat on the leftmost map) causes you to lose your command
- Terrain alterations are carried through on maps until the operation ends
- Added the ability to adjust unit positions prior to each mission
- Additional maps by Zeke Wolff and Ngvede
- New background art by Ngvede
- Minefields implemented
- Unit Details Screen has an option to reset to default loadout for vehicles or individual soldiers
- Added additional waypoints to unit paths to make the computer more unpredictable
- Added option to purchase close air support for each mission (although this is not always effective because the attacks are very inaccurate)
- Added a setting to increase starting points by 50%
- Added a setting to have no battles at night
- Added a few civilians
- Added pictures and text provided by Ngvede to the preparation and planning screens
- Added icons to the lists in the preparation and planning screens (Thank you to vecchiounno for coming up with that idea)
- Fixes to Vehicles.xml
- Additions to Squads.xml

Version 1.3 ~ September 9, 2007
- Fix for objective capture bug where mission did not complete when timer expired
- Implemented computer reserve forces which move when the objective conditions are first met
- Added randomized passengers to computer vehicles
- Aerial attacks implemented
- Reduced the number of soldiers in the squads to 8 or less
- Unit Details Screen accessible from Force Selection Screen
- Added option in Settings Screen for the player's units to begin each mission without orders
- Procurement points are limited to a maximum of 200 at one time
- Starting procurement points increased to 100 for USA to improve playability since it lacks effective anti-tank guns (this could also be seen as reflecting industrial advantage)

Version 1.2 ~ April 7, 2007
- Force Selection Screen implemented between missions
- Fixes to Vehicles.xml
- Fixes to squads.xml
- Fix for 64-bit Windows: compile using "/platform:x86" switch

Version 1.1 ~ March 27, 2007
- On the settings window there is an "Extract All Maps" button which extracts all the original maps ahead of time. If this fails for some reason, do the following: rename game.pak to game.zip in your \Men of War\resource folder and unzip the map subfolder into your \Men of War\mods\Campaign\ folder. Do the same thing for 1.pat and any other .pat files in the \Men of War folder, and do them in sequence from lowest to highest. Rename the files back to their original names when done. When you are done there should be a \Men of War\mods\Campaign\map folder with all of the original map data in it
- Fixes for localization problems
- Code improvements and fixes
- New button in settings window for adding new maps - simply press the button and select the map to add. This will add the data to the Maps.xml file. It is necessary to exit Campaign.exe and run it again for the new maps to be used. If maps are intended for a specific region or season, tags must be added to the Maps.xml file by hand; otherwise the map will appear in all regions and seasons
- Fixes to Vehicles.xml
- Fixes to squads.xml
- Log added
- Windows "tada" sound added when new mission is generated
- Excluded grass (*.grs files) again because BestWay indicated on the forum that the caching issue would not be fixed
- Precipitation removed from North Africa weather possibilities

Version 1.0 ~ December 13, 2006
- Included grass (*.grs files) again when maps are unpacked
- Fixed mission completion or failure when one side has no soldiers that are not completely inside vehicles
- Fixed incorrect calculation of surviving crews
- Second set of mission triggers active - player completes mission if all objectives are simultaneously occupied by the player and not contested by the computer for the amount of time specified in the countdown timer (note that the timer resets whenever computer-contolled units approach the objective or the player leaves the vicinity of the objective)
- Code improvements and fixes
- Additions and fixes to Vehicles.xml (everything that comes with the game is in now except boats and planes)
- Additions to Squads.xml
- Updates to Maps.xml
- Carry over of details fixed - no randomization after initial appearance
- Abandoned vehicles no longer carried over
- Shields (Schürzen) implemented
- Armor damage carries over
- Vehicles.xml allows extra inventory items to be specified (now includes fuel cans and repair kits in unarmed vehicles)
- New settings added to Settings.xml which determine the number of units allocated in each mission
- When a mission is completed successfully, the computer receives bonus units in the next mission increasing in proportion with the number of successful missions in a row
- When a mission is failed or incomplete, the player will receive less reinforcements and no vehicle reinforcements in the next mission
- When a mission is completed successfully, any soldier or vehicle whose inventory is completely empty will be reloaded with its default ammo/inventory loadout in the next mission

Version 0.99 Beta ~ November 5, 2006
- First set of mission triggers active - player fails mission if all player units are eliminated; player completes mission if all computer units are eliminated
- Fog of War option added in settings
- Weather added
- Calendar advances after each battle
- Code improvements and fixes
- Fixed excessive delay at mission start
- Updates to Maps.xml

Version 0.94 Beta ~ October 29, 2006
- Code improvements and fixes
- Fixed bug - inventories attached to incorrect soldiers; occasionally caused crash
- Updates to Maps.xml and new map features: pre-specified setup zones and objectives
- Selection of maps by appropriate region
- Additions and fixes to Vehicles.xml

Version 0.93 Beta ~ October 21, 2006
- Code improvements and fixes
- Objective markers on map and in objective summary

Version 0.92 Beta ~ October 12, 2006
- Code improvements and fixes
- New Maps.xml file with map data
- Some unsuitable training maps excluded now
- Additions and fixes to Vehicles.xml

Version 0.91 Beta ~ October 1, 2006
- Lots of fixes
- Vehicle textures included
- Vehicle details included
- Additions and fixes to Vehicles.xml

Version 0.9 Beta ~ September 23, 2006
- Initial release
- Missions are randomly generated using all the maps from the game (some aren't very suitable though). The maps are decompressed on the fly from the .pak - something new - keeps file size down, but its a bit slower (10 seconds or so) to generate missions than the old mod.
- Vehicles and soldiers carry over from mission to mission with their inventories. Squads reappear intact - that was broken in the old mod.
- Dates are implemented so you get equipment when it was historically available (though some dates need tweaking, I'm sure).

Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.

Follow Report Profile
Men of War
Men of War
Send Message
Release date
Mod watch
Related Games
Men of War
Men of War Real Time Tactics
Related Groups
Dynamic Campaign Generator
Dynamic Campaign Generator Developer & Publisher