This topic is for discussion of map #62: Conversion
(http://knucklecracker.com/creeperworld3/queryMaps.php?query=thumbnailid&id=62)
Author: Flabort
Desc:
Many smaller emitters produce helpful AC... at first. Should they be overrun by creeper, they convert and grow stronger. You can turn them back, but will have to destroy them eventually. #NoVoid #NoSpores #CRPL #Flabort #NoBerthas #Large
My first custom map that I've shared. Contains my first working CRPL script. ;D
Nice map, would have appreciated if I did not have to spend time destroying all the AC emitters.
BTW, please update your game from the beta thread so the map previews can be improved...
I have manually updated the thumbnail image to the improved quality available from the current beta.
Interesting map. Definitely pays to be aggressive early.
Quote from: Karsten75 on January 03, 2014, 09:08:30 AMBTW, please update your game from the beta thread so the map previews can be improved...
Sorry, Finalized the map in 1.02, THEN installed CS. :-[
Quote from: Grayzzur on January 03, 2014, 12:50:30 PM
Interesting map. Definitely pays to be aggressive early.
Yup. Thanks for playing. :)
Quote from: virgilw on January 03, 2014, 09:50:58 AM
I have manually updated the thumbnail image to the improved quality available from the current beta.
Thank you Soooooo much. :) You're awesome.
This is a good idea... I like those flip emitters, I like them a lot. Made me think about taking objectives at a strategic level much like armies might take cities. I see you also thought carefully about using Air Exclusion zones. First thing I wanted to do was bomb remote emitters to convert them to my side...
The only irritation in the map is having to nullify the anti-emitters at the end. Here is an updated version of the FlipEmitter script that makes it so that a friendly FlipEmitter doesn't have to be nullified to win the map.
# FlipEmitter.crpl
# ------------------------------------------
$amtCreeper:50
$amtAnti:-25
$interval:60
once
-1 ->state
@SetState(0)
endonce
if (GetCreeper(CurrentCoords) 0 gt)
@SetState(1)
endif
if (GetCreeper(CurrentCoords) 0 lt)
@SetState(0)
endif
if (<-state)
SetCreeper(CurrentCoords <-amtCreeper)
else
SetCreeper(CurrentCoords <-amtAnti)
endif
<-interval Delay
:SetState
->newState
if (<-newState <-state neq)
<-newState ->state
if (<-state)
SetUnitAttribute(Self CONST_COUNTSFORVICTORY TRUE)
else
SetUnitAttribute(Self CONST_COUNTSFORVICTORY FALSE)
endif
endif
Whoops, I had just finished making the same idea for it. Also has a display like regular emitters, but doesn't look as nice.
version 2.0
$amtCreeper:50
$amtAnti:-25
$interval:60
$startState:0
#Initializes state, thanks to Grayzzur for the idea.
Once
<-startState ->state
endonce
#Checks if there is creeper, if there is, sets the converter to make creeper.
CurrentCoords GetCreeper 0 gt if
1 ->state
"amt:" ->amtAnti "
delay:" <-interval 30 div concat concat concat SetPopUpText
FALSE ->CONST_COUNTSFORVICTORY
endif
#Checks if there is anticreeper, if there is, sets the converter to make AC
CurrentCoords GetCreeper 0 lt if
0 ->state
#the linebreak is on purpose, and concat because the amt isn't always the same.
"amt:" ->amtCreeper "
delay:" <-interval 30 div concat concat concat SetPopUpText
TRUE ->CONST_COUNTSFORVICTORY
endif
#Checks the state, remember if there was nothing under it, it will use it's last state!
<-state if
CurrentCoords <-amtCreeper SetCreeper
else
CurrentCoords <-amtAnti SetCreeper
endif
<-interval Delay
version 2.2
# Converterv2.crpl
# Created on: 1/3/2014 1:53:35 PM
# ------------------------------------------
$amtCreeper:50
$amtAnti:-25
$interval:60
$startState:0
#Initializes state, thanks to Grayzzur for the idea.
Once
<-startState ->state
"
" ->lineBreak
endonce
#Checks if there is creeper, if there is, sets the converter to make creeper.
CurrentCoords GetCreeper 0 gt if
1 ->state
SetPopUpText("amt: " <-amtCreeper <-lineBreak "delay: " <-interval 30 div concat concat concat concat)
SetUnitAttribute(Self CONST_COUNTSFORVICTORY TRUE)
endif
#Checks if there is anticreeper, if there is, sets the converter to make AC
CurrentCoords GetCreeper 0 lt if
0 ->state
#the linebreak is on purpose, and concat because the amt isn't always the same.
SetPopUpText("amt: " <-amtAnti <-lineBreak "delay: " <-interval 30 div concat concat concat concat)
SetUnitAttribute(Self CONST_COUNTSFORVICTORY FALSE)
endif
#Checks the state, remember if there was nothing under it, it will use it's last state!
<-state if
CurrentCoords <-amtCreeper SetCreeper
else
CurrentCoords <-amtAnti SetCreeper
endif
<-interval Delay
Most maps with flip emitters don't require you to kill the friendly emitters to win.
Quote from: Loren Pechtel on April 01, 2014, 10:21:25 PM
Most maps with flip emitters don't require you to kill the friendly emitters to win.
This was the prototype map, the first map with flip emitters ever.
After receiving this complaint, I made the second version, which I believe is the most widely used version. (See version 2.2 in the spoiler in the post above your own)
Or Virgil's version, which we made at the same time; he wrote it as I was writing my second version (See the post above the previously mentioned post).
The main difference between those two is warp notation, and how the victory requirement was set.
A bit too easy especially after you've nullified one or two emitters.
Maybe some spores would help.