Announcement

Collapse
No announcement yet.

Slic suggestion party!

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Slic suggestion party!

    Post your slic suggestions here!

    Here's an old crusty file I found on my decrepit computer in which I came up with a slew of events suggestions (tailored to the Civ2 events macro language but probably translatable to Slic)

    Some of these are moot things that Slic has totally different ways of doing. Maybe somebody can get something useful from this, as there are a lot of great suggestions for triggers and actions:

    Code:
    Rough Draft Events File for NeoCiv
    
    "Ok I think this will work"  --DarthVeda's last words
    
    Follows this pattern:
    
    @BEGINIF
    ifciv = "civ" and <trigger> and/or <trigger> then
    	<statement>
    		<statement requirements>
    			<if there are more requirements>
    				<only double option statements can get this far>
    	<statement>
    @ENDIF
    
    
    ::Triggers::
    
    IfAttackerCiv = (Civ name that this is done by... MUST PROCEED MOST "if"s)
    
    IfDefendingCiv = (Civ name that this is done to)
    
    IfUnitKilled = (Unit name)
    
    IfSpaceFilled = (If this x,y space is occupied)
    
    IfFieldFilled = (x1,y1,x2,y2,x3,y3,x4,y4 counter-clockwise around a square area)
    
    IfCityTaken = (Owner,City name)
    
    IfCitySurrounded = (If the city is surrounded on all sides)
    
    IfTechAchieved = (If the particular tech is attained)
    
    IfTechs = (If you have this many or greater techs)
    
    IfTurn = (Turn)
    
    IfUnitAmount = (If number of units equals this)
    
    IfCashAmount = (If money equals this)
    
    IfNegotiation = (Audiencer and then audiencee)
    
    IfTrade = (If your trade is greater or equal to this)
    
    IfScience = (Number of beakers per turn)
    
    IfLuxury = (Number of cups per turn)
    
    IfIncome = (If you are earning this much per turn or greater)
    
    IfDeficit = (If you are losing this much per turn or greater)
    
    IfManufacturing = (If your industrial power is greater or equal to X 	shields.[Civ,Manufacturing])
    
    IfPopulation = (If the population is above this number...)
    
    IfCasualties = (If this many units or greater have been killed... *can* be followed by 	IfUnitType)
    
    IfKills = (If this many enemy units are killed... *can* be followed by IfUnitType)
    
    IfBuilt = (Number of units built... *can* be folowed by IfUnitType)
    
    IfStructures = (If this many city structures exist... *can* be followed by IfStructureType)
    
    IfStructureType = (Only used with IfStructures... structure type, like Factory or Pyramids)
    
    IfUnitType = (Used only with IfBuilt or IfCasualties... this kind of unit or domain)
    
    IfCivKilled = (If this civilization perishes...)
    
    IfWar = (If war is declared between Nation1,Nation2 [seperated by comma])
    
    IfAlliance = (If an alliance is formed between Nation1,Nation2)
    
    IfNonAgression = (If a non-aggression pact is formed between Nation1,Nation2)
    
    IfCeaseFire = (If a cease-fire is signed between Nation1,Nation2)
    
    IfNukes = (If a nuclear weapon is used x times)
    
    IfWins = (If this many battles are won...)
    
    IfLoses = (If you lose this many battles...)
    
    IfCityPollution = (If there is this much pollution IN a particular city)
    
    IfPollution = (If there is this much pollution in the world...)
    
    IfNuclearPollution = (If there is this much pollution from atomic weaponry...)
    
    IfTerrainAmount = (terrain name followed by number of biomes: Arctic,10)
    
    IfStartup (Triggered when the game begins)
    
    
    ::Actions::
    
    
    GlobalWarming (causes global warming)
    
    NuclearWinter (reverse global warming)
    
    KillUnit (kills a unit... see what must folllow below)
    	<owner civ name>
    	<unit name>
    
    KillCiv (Kills a civilization)
    	<civ name>  (for whom the bell tolls)
    
    KillCity (kills a city)
    	<city>  (city to be wiped from the map)
    
    ChangeMoney (change the monetary value by x)
    	<civ receiving>
    	<money> (400 or -400 for example)
    
    TransferMoney (move money from one civ to another)
    	<civ one>  (Giver)
    	<civ two>  (Receiver)
    	<amount> (A negative value cannot be here)
    
    TransferUnit (move a unit from one civ to another)
    	<unit name or "anyunit">  (If no unit exists then one is purchased and given to the 		appropriate civ")
    	<civ one> (Giver)
    	<city to be taken from>
    	<civ two> (Taker)
    	<city to be put in>
    	<vetranized>  (Yes or No.... is this unit now a veteran?)
    	<health>  (A percentage up to 100 but not lower than 1)
    
    ChangeIncome (set income for a civ)
    	<civ to be modified>
    	<new income> (-4 or 4 for example to be added *every* turn following)
    
    ChangeScience (set science rate)
    	<civ to be modified>
    	<new beaker rate> (7 or -4 beakers for example for every turn following)
    
    ChangeLuxuries (set luxury rate per city)
    	<civ to be modified>
    	<name of city or "all">  (could be specific cities seperated by commas)
    	 <luxuries> (a positive or negative number could be added to the rate)
    
    ChangeProduction
    	<civ to be modified>
    	<name of city or "all">  (Or you could do New York,Philadelphia for example)
    	<production> (-3 or 3 for example to be added every turn following)
    
    BeginNegociation (start negotiation between)
    	<audiencer>
    	<audiencee>
    	<atmosphere> (I.E. Enraged, Icy, Neutral, Worshipful, etc.)
    
    StopNegociation (prevent negociation from taking place)
    	<allowed for or "none"> (cpu,cpu or cpu,human or human,human)
    
    CreateUnit (creates a unit)
    	<unit name>
    	<veteran status>
    	<health>  (could be over or under the original unit allotments)
    	<fortified status>
    	<number of units to create>
    	<space or "no"> (x,y) 
    	<field or "no"> (x1,y1,x2,y2,x3,y3,x4,y4)
    
    ChangeCityStatus (changes the values of a city)
    	<owner or "anyciv">
    	<city name or "anycity">
    	<new city name> (Leave it alone to not change)
    	<allegiance or "no"> (Specify the name of the civ that owns this city)
    	<shield progress or "no"> (set shield progress on current goal in percentage)
    	<add population or "no"> (number)
    	<set population or "no">
    	<subtract population or "no">
    	<happiness or "no"> (Disorder, Normal, or WeLove)
    	<current project or "no"> (sets the current project, e.g. Pyramids)
    	
    ChangePoliticalStatus
    	<side one>  (Civ or civs seperated by commas Greek,Babylonian)
    	<side two>
    	<new emotional state> (Enraged, Icy, Neutral, Worshipful, Etc. toward each 		other)
    	<new political state> (War, Alliance, Cease-Fire, Peace, No Contact)
    
    ChangeCivStatus (changes a civ's properties)
    	<old civ name>
    	<new civ name or "no">  (no would mean not to change this value)
    	<new king name or "no">
    	<new civ adjective> (such as "hittite")
    	<new civ government> (such as "Fundamentalism")
    	<new civ reputation> (this will adjust their 'evilness' 0 means they never backstab 		while 100 means they are Hitler)
    	<political target, "all" or "none">  (sets initiative for next statement [none would 		skip] could be Nation1,Nation2,Nation3 seperated by commas)
    	<new political status> (War, Alliance, Peace, Cease-Fire, No Contact to 		target)
    	<new tax rates> (10,80,10 for percentage Tax, Science, and Luxuries)
    
    DeclareIndependence (cities break away from x civilization)
    	<target civilization or "anyciv">
    	<breakaway cities or "anycity"> (Such as New York,Philadelphia)
    	<new civilization name>
    	<new civ adjective>
    	<relationship to mother country> (War, Alliance, Peace, Cease-Fire, No Contact)
    	<new civs king name>
    	<new civ reputation>
    	<political target, "all" or "none">
    	<political status to targets>
    	<new tax rates>
    	<new civ government>
    
    ChangeHumanPlayer (sets who the human controls)
    	<player control is now> (Civilization name, such as "Greek")
    
    GiveTechnology
    	<tech receiving civ>
    	<tech number, "all" or "anytech">
    
    TakeTechnology
    	<civ losing tech>
    	<tech number, "all" or "anytech">
    
    ChangeAttack (modify attack values)
    	<unit name or "all" or a domain>
    	<multiple of change>  (2 would double while .5 would halve the values)
    
    ChangeDefense (same as attack)
    	<unit name or "all" or a domain>
    	<multiple of change>
    
    ChangeMovement (same as attack)
    	<unit name or "all" or a domain>
    	<multiple of change>
    
    Duration (sets the duration of an event... if not stated then defaulted at 1)
    	<number of turns>
    
    GiveOption (pops up an option... warning... this is complex)
    	<civ>  (Civ that gets the option)
    	<option title> ^The Title of the option bar goes here
    	<option 1> ^Here is where each option would go
    	<option 2> ^All must start with a "^"
    	<option 3> ^If they do not then put a "no" to ignore
    	<option 4> ^Up to ten options allowed
    	<option 5> no
    	<option 6> ^The above statements do nothing
    	<option 7> ^The following will demonstrate the ability:
    	<option 8> ^Get 400 Money
    		ChangeMoney
    			TriggerAttacker
    			400
    	<option 9> ^Get a New Technology
    		GiveTechnology
    			TriggerAttacker
    			anytech
    	<option 0> ^Get an enemy city
    		ChangeCityStatus
    			anyciv
    			anycity
    
    			TriggerAttacker
    			no
    			no
    			no
    			no
    			no
    			no
    
    ChangeTerran (changes a terrain)
    	<coordinate field>  (Counter-clockwise around the rectangle 		x1,y1,x2,y2,x3,y3,x4,y4)
    	<new terrain> (Arctic, etc.)
    	<pollution status>  (yes/no is this square polluted?)
    	<nuclear pollution status>  (does this square contain nuclear pollution?)
    
    MoveUnit (moves a unit)
    	<units in x,y coordinate or "no">  (Any unit that gets in x,y moves)
    	<unit name or "anyunit" or "no" or domain>  (select a specfic unit)
    	<end location> (x,y coordinate where they are headed)
    
    Flag (Flag an event)
    	<number>
    
    Deflag (prevents an event)
    	<number>
    
    ::WildCards::
    
    
    Random (Picks something)
    
    Interval (turns only, followed by comma then number)
    
    TriggerAttacker (selector, killer, any initiator)
    
    TriggerDefender (selectee, defendee, or any recipient)
    
    JustOnce (don't do this twice)
    
    ::::Example::::
    Here's something to do after the Greeks have built the FBI (Statue of Liberty) Wonder it allows them to do something special every other turn.  
    Obviosuly you could just do this with a regular building as well.
    
    @BEGINIF
    IfAttackerCiv = Greeks And IfStructures = 1 And IfStructureType = FBI Then
    	Interval,2
    	Flag
    		1
    	GiveOption
    		Greeks
    		^FBI Wonder Option
    		^Take 100 cash from the Turks
    			TransferMoney
    				Turks
    				Greeks
    				100
    		^Get a Turkish City
    			ChangeCityStatus
    				Turks
    				anycity
    				no 
    				Greeks
    				no
    				no 
    				no
    				no
    				no
    				no
    		^Corrupt the Turkish Government
    			JustOnce
    			DeclareIndependence
    				Turks
    				anycity
    				Turkish Liberation Front
    				Liberators
    				War
    				Muhammed
    				35
    				Greeks
    				Alliance
    				30,60,30
    				Fundamentalism
    @ENDIF
    
    And if the Turkish discovered what negates the wonder
    
    @BEGINIF
    IfCiv = Turks And IfTechAchieved = 30 Then
    	Deflag
    		1
    @ENDIF
    
    Final Note: If you deflagged a deflag then the first deflag would no longer function
    <font size=1 face=Arial color=444444>[This message has been edited by DarthVeda (edited November 20, 2000).]</font>

  • #2
    We'll have to wait until SLIC2 docs are released from Activision and our industrious modmakers, but I have a few suggestions.

    1) I started athread called Sabotage! where I lamented the absence of the spy's ability to destroy city improvements, and discussed the possibility of recreating them. We even have a couple of posts by Mr. Ogre (thanks!). WesW's thread regarding new units raised an interesting possibility: special ops units - stealth units who can perform combat, bombard (harassment) and have special abilities. Instead of allowing the spy to destroy improvements, perhaps a terrorist unit instead? Still stealthy, some combat abilities, but especially the capability to destroy improvements (and perhaps assassinate a la the eco-terrorist?)

    2) Given the flexibility of SLIC2, how about recreating the CIA? Have certain advances (Military Intelligence, perhaps) allow certain 'intelligence agency' functions, like giving (creating) units under control of allied nations, engaging in propaganda attacks (similar to the cleric's prophesy(?) ability) that reduce happiness, etc. We'll have to see what SLIC2 can do, but the lack of in-depth intelligence abilities is something missing from all Civ-type games.

    3) Although the immediate focus should be on fleshing out the ancient through modern periods (i.e. filling in logical gaps of advancement and unit continuity), SLIC2 coding could allow for some interesting future units and abilities. I know a lot of people hate the science-fiction aspect of CtP, to which I say: bite me. Speculation of the future is one of my favorite parts of CtP. Given the advances in military (and other) technology over the past century, do you expect to use the same units 'til the middle of the third millenium? Lets allow for some truly fascinating units in the final stretch.

    4) Again, though many don't like the idea of fantasy scenarios, I love 'em. Harlan's Lord of the Rings scenario and the Midgard scenarios all were incredible fun in Civ2. No reason why CtP can't have something similar. I was upset when CtP1's scenario capabilities didn't pan out (especially because of one fantasy-oriented idea where space would have been used as the 'astral' plane for teleportation and the home to various beasties), but there is hope for CtP2. Imagine a basilisk (a highly poisonous monster) that turns all terrain it walks on into a dead tile.

    Well, I'd like to hear from the rest of you, actigrammers and modmakers, settlers and kings. What would you like to try to do with SLIC2? If you're familiar with it, what can be done? Lets start the creative juices flowing. Now I have to get back to work before my boss realizes how much company time I'm wasting.

    Comment


    • #3
      DarthVeda,
      Well, a lot of the things you describe are standard functions or events in SLIC, you don't need to write them or 'translate' them, just call their name and use them (examples: IfSpaceFilled, IfCeaseFire, KillUnit, GiveTechnology, MOveUnit, etc.). Most of the others aren't standard functions but can easily be created in SLIC by users (examples: IfSurrounded, IfStructures, TransferUnit, ChangeCityStatus, etc.) and there's a few that can't be done at all as far as I can see. I'm pretty sure ChangeProduction isn't possible and ChangeHumanPlayer isn't either (though there is a workaround where you can swap all cities and units etc with another player and although the name and color etc of your civs will still be the same, you've effectively changed places). There may be one or two others that I overlooked or that after some experimenting turn out to be undoable, but not more than that.

      ajbera,
      Most, if not all, of what you describe is possible but one thing: if you want to implement all kinds of exotic things in the game, how are you gonna get the AI to deal with it. SLIC is not the problem here, the AI is (though I haven't looked at the AI files yet, maybe they turn out to be flexible enough but I wouldn't put my money on it).
      Administrator of WePlayCiv -- Civ5 Info Centre | Forum | Gallery

      Comment


      • #4
        I understand your point. However, certain AI routines already exist for special units to perform their unique abilities. If the AI can effectively use clerics, eco-terrorists, etc., they may well be able to utilize spec ops troops, etc. I suppose it depends on what the new unit is modeled on. If a Green Beret is loosely modeled on the eco-terrorist, with similar abilities, there is a reasonable chance the AI will use them properly.
        As for the basilisk concept, it's just a side effect of movement of the unit, not an ability to be 'used', so no problem there either. The difficulties would exist with new-fangled science fiction units, I think. Perhaps some enterprising modmaker can make a few bizarre units and let the AI play with them to see if they are utilized properly.

        Comment

        Working...
        X