LegacyRules is dead. Long live.. yaml?

This commit is contained in:
Chris Forbes
2010-04-02 17:21:01 +13:00
parent 37fd8f7c28
commit 256e8c09ae
10 changed files with 21 additions and 129 deletions

View File

@@ -59,7 +59,7 @@ namespace OpenRA.FileFormats
public class Manifest
{
public readonly string[]
Folders, Packages, LegacyRules, Rules,
Folders, Packages, Rules,
Sequences, Chrome, Assemblies, ChromeLayout,
Weapons, Voices, Terrain;
@@ -71,7 +71,6 @@ namespace OpenRA.FileFormats
Folders = YamlList(yaml, "Folders");
Packages = YamlList(yaml, "Packages");
LegacyRules = YamlList(yaml, "LegacyRules");
Rules = YamlList(yaml, "Rules");
Sequences = YamlList(yaml, "Sequences");
Chrome = YamlList(yaml, "Chrome");

View File

@@ -28,7 +28,6 @@ namespace OpenRA
{
public static class Rules
{
public static IniFile AllRules;
public static TechTree TechTree;
public static Dictionary<string, ActorInfo> Info;
@@ -38,10 +37,6 @@ namespace OpenRA
public static void LoadRules(string map, Manifest m)
{
var legacyRules = m.LegacyRules.Reverse().ToList();
legacyRules.Insert(0, map);
AllRules = new IniFile(legacyRules.Select(a => FileSystem.Open(a)).ToArray());
Log.Write("Using rules files: ");
foreach (var y in m.Rules)
Log.Write(" -- {0}", y);

View File

@@ -1,7 +1,24 @@
using System;
#region Copyright & License Information
/*
* Copyright 2007,2009,2010 Chris Forbes, Robert Pepperell, Matthew Bowra-Dean, Paul Chote, Alli Witheford.
* This file is part of OpenRA.
*
* OpenRA is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* OpenRA is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with OpenRA. If not, see <http://www.gnu.org/licenses/>.
*/
#endregion
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace OpenRA.Traits.Render
{

View File

@@ -20,8 +20,6 @@
using System;
using OpenRA.Graphics;
using System.Collections.Generic;
using OpenRA.FileFormats;
namespace OpenRA.Traits
{

View File

@@ -6,9 +6,6 @@ Packages:
mods/aftermath/packages/expand2.mix
mods/aftermath/packages/hires1.mix
LegacyRules:
mods/aftermath/aftermathUnits.ini: OpenRA patches
Rules:
mods/aftermath/rules.yaml: OpenRA actorinfos

View File

@@ -1,16 +0,0 @@
; The bare minimum rules required for the game to run
; The linecount of this file should reduce to zero as we port things to traits
[General]
ConditionRed=25% ; when damaged to this percentage, health bar turns red
ConditionYellow=50% ; when damaged to this percentage, health bar turns yellow
RefundPercent=50% ; percent of original cost to refund when building/unit is sold
RepairRate=.016 ; minutes between applying repair step
URepairPercent=20% ; [units only] percent cost to fully repair as ratio of full cost
URepairStep=10 ; [units only] hit points to heal per repair 'tick' for units
BuildSpeed=.1 ; general build speed [time (in minutes) to produce a 1000 credit cost item]
LowPowerSlowdown=3 ; slowdown factor for low power
GapRegenInterval=.1 ; gap generators will regenerate their shroud at this time interval
SubmergeDelay=.02 ; forced delay that subs will remain on surface before allowing to submerge

View File

@@ -16,9 +16,6 @@ Packages:
mods/cnc/packages/winter.mix
mods/cnc/packages/desert.mix
LegacyRules:
mods/cnc/minimal.ini: Minimal rules definitions
Rules:
mods/cnc/defaults.yaml: Basic stuff
mods/cnc/system.yaml: Player and world actors

View File

@@ -2,8 +2,6 @@
Packages:
LegacyRules:
Rules:
mods/ra-ng/crate-drop.yaml
mods/ra-ng/defense-queue.yaml

View File

@@ -20,9 +20,6 @@ Packages:
snow.mix
interior.mix
LegacyRules:
mods/ra/rules.ini
Rules:
mods/ra/defaults.yaml: Basic stuff
mods/ra/rules.yaml: OpenRA actorinfos

View File

@@ -1,90 +0,0 @@
; RULES.INI
; If placed in game directory, it will override built in values. Values to be used as multipliers
; or percentages can be specified as either a simple floating point number (embed ".") or as a
; conventional percentage number (append "%"). Values used as cell distances or time delays
; are specified as simple floating point number. Distance values are expressed in cells. Time
; values are expressed in minutes.
[General]
; special weapons
GapRegenInterval=.1 ; gap generators will regenerate their shroud at this time interval
BadgerBombCount=1 ; number of badgers used to drop parabombs
; Chrono side effects
QuakeChance=20% ; percentage chance time quake will occur with each chronoshift use
QuakeDamage=33% ; percentage damage to inflict when time quake occurs
VortexChance=20% ; percent chance that chronal vortex occurs with each chronoshift use
VortexDamage=200 ; damage inflicted by vortex discharge
VortexRange=10 ; scan for victims up to this distance away [in cells]
VortexSpeed=10 ; speed of vortex movement
; repair and refit
RefundPercent=50% ; percent of original cost to refund when building/unit is sold
ReloadRate=.04 ; minutes to reload each ammo point for aircraft or helicopters
RepairPercent=20% ; percent cost to fully repair as ratio of full cost
RepairRate=.016 ; minutes between applying repair step
RepairStep=7 ; hit points to heal per repair 'tick' for buildings
URepairPercent=20% ; [units only] percent cost to fully repair as ratio of full cost
URepairStep=10 ; [units only] hit points to heal per repair 'tick' for units
; combat and damage
TurboBoost=1.5 ; speed multiplier for turbo-boosted weapons when firing upon aircraft
BallisticScatter=1.0 ; maximum scatter distance (cells) for inaccurate ballistic projectiles
C4Delay=.03 ; minutes to delay after placing C4 before building will explode
ExpSpread=.3 ; cell damage spread per 256 damage points for exploding object types [if Explodes=yes]
FireSupress=1 ; radius from target to look for friendlies and thus discourage firing upon, if found
HomingScatter=2.0 ; maximum scatter distance (cells) for inaccurate homing projectiles
MaxDamage=1000 ; maximum damage (after adjustments) per shot
MinDamage=1 ; minimum damage (after adjustments) per shot
OreExplosive=no ; Does the harvester explode big time when destroyed?
PlayerAutoCrush=no ; Will player controlled units automatically try to crush enemy infantry?
PlayerReturnFire=no ; More aggressive return fire from player controlled objects?
PlayerScatter=no ; Will player units scatter, of their own accord, from threats and damage?
TreeTargeting=no ; Automatically show target cursor when over trees?
Incoming=10 ; If an incoming projectile is as slow or slower than this, then
; object in the target location will try to run away. Grenades and
; parachute bombs have this characteristic.
; income and production
BuildSpeed=.4 ; general build speed [time (in minutes) to produce a 1000 credit cost item]
BuildupTime=.06 ; average minutes that building build-up animation runs
OreTruckRate=1 ; speed that harvester truck manages ore [larger means slower]
SeparateAircraft=no ; Is first helicopter to be purchased separately from helipad?
SurvivorRate=.4 ; fraction of building cost to be converted to survivors when sold
; audio/visual map controls
AllyReveal=yes ; Allies automatically reveal radar maps to each other?
ConditionRed=25% ; when damaged to this percentage, health bar turns red
ConditionYellow=50% ; when damaged to this percentage, health bar turns yellow
DropZoneRadius=4 ; distance around drop zone flair that map reveals itself
EnemyHealth=yes ; Show enemy health bar graph when selected?
Gravity=3 ; gravity constant for ballistic projectiles
IdleActionFrequency=.1 ; average minutes between infantry performing idle actions
MessageDelay=.6 ; time duration of multiplayer messages displayed over map
MovieTime=.06 ; minutes that movie recorder will record when activated (debug version only)
NamedCivilians=no ; Show true names over civilians and civilian buildings?
SavourDelay=.03 ; delay between scenario end and ending movie [keep the delay short]
ShroudRate=4 ; minutes between each shroud creep process [0 means no shadow creep]
SpeakDelay=2 ; minutes between EVA repeating advice to the player
TimerWarning=2 ; if mission timer is less than this many minutes, then display in red
FlashLowPower=yes ; Flash the power bar when power is low?
; computer and movement controls
CurleyShuffle=no ; Should helicopter shuffle position between shots (as in C&C)?
BaseBias=2 ; multiplier to threat target value when enemy is close to friendly base
BaseDefenseDelay=.25 ; minutes delay between sending response teams to deal with base threat
CloseEnough=2.75 ; If distance to destination less than this, then abort movement if otherwise blocked.
DamageDelay=1 ; minutes between applying trivial structure damage when low on power
GameSpeeBias=1 ; multiplier to overall game object movement speed
LZScanRadius=16 ; maximum radius to scan for alternate landing zone if otherwise occupied
MineAware=yes ; Are friendly units smart enough to avoid friendly mines?
Stray=2.0 ; radius distance (cells) that team members may stray without causing regroup action
SubmergeDelay=.02 ; forced delay that subs will remain on surface before allowing to submerge
SuspendDelay=2 ; minutes that suspended teams will remain suspended
SuspendPriority=20 ; teams with less than this priority will suspend during base defense ops
TeamDelay=.6 ; interval between checking for and creating teams
; misc
FineDiffControl=no ; Allow 5 difficulty settings instead of only 3 settings?
LowPowerSlowdown=3