Topic locked, move to Pass the Map 3 :D
Rules:
1. You can make changes to the map only if none has LOCKED the topic.
2. To make your tile make a post in this thread saying LOCKED. Then download the map form the latest UNLOCKED post.
3. After editing, FINALIZE your map and make a new post with UNLOCKED in it. Attach the finalized map and screenshot.
4. You may not make another tile unless 3 (!changed) other people make theirs.
5. The time limit is 5 hours, so that one does not lock the topic if they will not make their part of the map.
Map specific rules:
1. The tiles are uneven size to make things more interesting. You may not claim more than one large(45x45) tile.
2. The map theme is "Industrial", #noDigitalis and #noRunners. I set the terrain textures but feel free to change them if you have a better idea. This might change once someone makes/chooses really cool textures.
3. Don't make too severe unit limits, and if you change the unit limits write it, limiting CN's to 1 is cool but disallowing half of the weapons is less so.
UNLOCKED!!!
Added a moving cannon. Shoots automatically at player units. Moves along level 7 terrain like a glider (this is a $var and can be changed per individual tower). Sets its own images automatically. Is damaged by nullifiers normally, and snipe it to disable.
UNLOCKED!!!
I have applied the textures, so don't change them now.
Also I'm not sure what's the range of your gun C0? It looked like 50?? I think it's too large, as the gun moves only the units near it should be targeted so I'm in favour changing the range to around 20.
Quote from: pawel345 on February 04, 2014, 03:34:57 PM
I have applied the textures, so don't change them now.
Also I'm not sure what's the range of your gun C0? It looked like 50?? I think it's too large, as the gun moves only the units near it should be targeted so I'm in favour changing the range to around 20.
Ah yes - I assumed I did that. Forgot to recompile. I'll lock this topic again and make a new bit as well as fixing that cannon once two more people have modified.
For those who would add more cannons - just place a core and add "net_turret.crpl". They DO NOT have to be on L7 terrain. If so, they'll just stay still but work just the same.
LOCKED!
Also, I could change the gun's range...
Quote from: Lost in Nowhere on February 04, 2014, 05:31:31 PM
LOCKED!
Also, I could change the gun's range...
To 15, if you will! Thank you!
UNLOCKED
-Created a safe landing location
-Set limit for building forges to 0
-Reduced range on C0's gun as requested
UNLOCKED
Look Ma, No CRPL!
Clean0nion: Your big gun is bugged. I shot it with a sniper, and it was then infinitely stuck in Recovery mode. You're setting Timer 0 back to 300 every tick when health is zero, it never counts down to zero. I tried a quick fix, but it didn't work, so I left it unchanged. I might keep looking at it, but I didn't want to keep the map locked up.
@CleanOnion,
I added
0 ->recoveryMode to the initial once block, and updated :CheckHealth as listed below, and that seemed to fix it to me. See if that behaves the way you intended. I did NOT change the script in the map being passed around, I leave that to you.
Spoiler
:CheckHealth
<-recoveryMode if
GetTimer0 eq0 if
Self CONST_SNIPERTARGET 1 SetUnitAttribute
0 ->recoveryMode
"" SetPopupText
0 SetPopupTextAlwaysVisible
Self CONST_HEALTH 60 SetUnitAttribute
endif
else
Self CONST_HEALTH GetUnitAttribute 0 eq if
Self CONST_SNIPERTARGET 0 SetUnitAttribute
1 ->recoveryMode
1 SetPopupTextAlwaysVisible
"Recovering... " SetPopupText
300 SetTimer0
endif
endif
Also, your range finder image seems to be missing from the map.
Currently, saving the Forge is impossible as far as I can tell.
Set the limit back to 1, so that if player can't save it, they can still rebuild it. That was my original intention as I wasn't sure how the rest of the map will look. I might modify it slightly while playtesting so there is a realistic chance to get it.
Quote from: Grayzzur on February 04, 2014, 08:11:09 PM
@CleanOnion,
I added 0 ->recoveryMode to the initial once block, and updated :CheckHealth as listed below, and that seemed to fix it to me. See if that behaves the way you intended. I did NOT change the script in the map being passed around, I leave that to you.
Spoiler
:CheckHealth
<-recoveryMode if
GetTimer0 eq0 if
Self CONST_SNIPERTARGET 1 SetUnitAttribute
0 ->recoveryMode
"" SetPopupText
0 SetPopupTextAlwaysVisible
Self CONST_HEALTH 60 SetUnitAttribute
endif
else
Self CONST_HEALTH GetUnitAttribute 0 eq if
Self CONST_SNIPERTARGET 0 SetUnitAttribute
1 ->recoveryMode
1 SetPopupTextAlwaysVisible
"Recovering... " SetPopupText
300 SetTimer0
endif
endif
Also, your range finder image seems to be missing from the map.
Yeah, that should work perfectly. I'll add a new section and fix both these issues once I can, which should be later today. Thanks for this.
Unlocked!
Drill rider will make more rails. It won't ride into space or to higher ground. Also avoids player's units and walls.
It can be deactivated in CRPL core properties(for easier editing).
If it is active, please save the map before playing it.
That is positively evil. :)
UNLOCKED!!!
Added a new tile
Added a new, separate track
Added a regular turret to new track
Added a smaller, faster turret to larger track
Modified (mostly unintentionally) a few cells of the chunk beneath me - this was mostly graphical edits. Nothing major was affected. My apologies.
I must say that this drill thing is a tad spammy.
Oh, and another thing: WHERE CAN I GET THESE FANCY TERRAIN TEXTURES?
UNLOCKED
Added the middle-bottom large area
I just noticed that it kind of looks like a head...
UNLOCKEDQuote from: Lost in Nowhere on February 04, 2014, 08:42:10 PM
Currently, saving the Forge is impossible as far as I can tell.
I had an idea about that....
Looks like whatever's destroying the floor damaged one of those cannons. This one has an anti-creeper payload, and due to the damaged rails requires energy from the player network to fire. Targeting servo is jammed, and it's pointed at the Forge.
Currently set to request 10 packets to fire, with a payload of 250 shots before it's empty. That and the size of the energy node next to it are negotiable with respect to opening game balance/difficulty. I'll take suggestions and make adjustments during the final edit phase.
Originally I was going to suggest we lock down Terps on this map, but now that the little DrillRider is going crazy, I think some players may need a Terp!
UNLOCKED
I added a dome protecting 4 spore towers. It only takes map space so that you can't build a nullifier. To bring it down you need to take all generators on the map. I added a generator to my previous square. If you could add some generators in other squares as well I would be thankfull. The generator acts like a regular emitter, it just has some nice graphics. You can adjust the amount it produces as well as the delay.
I can take one square if no one fights me for it??
Sure, anyone can :D
Don't forget to post "LOCKED" in big letters while you work.
I'll probably change the emitter in the upper spiral to one of those generators when everyone is done.
LOCKED
Just had to come home from work first :)
Whoever next builds more rail - please! Add some more turrets!
I don't think we want too many turrets. Plus, have you watched that little drill rider unit? There will be rails... lots and lots of rails.
Quote from: Grayzzur on February 06, 2014, 11:13:58 AM
I don't think we want too many turrets. Plus, have you watched that little drill rider unit? There will be rails... lots and lots of rails.
Lots of rails but no turrets to use them make for an empty map. And we don't have a great deal of emitters as it is.
UNLOCKED
- Started with the terrain design for my square
- Removed Map Border
- Added Death Star (with a tiny funny detail if you look close)
- Added a spinning Galaxy
- Changed Terrain Texture 5 because I thought the color was to bright on the old one. I think the new one looks better with the rest of the color theme. I`ll revert it if you guys think the old texture looks better.
I say it looks cool :D Again I would ask to add some of my "generators" across the map, as with only one the huge structure I made has no purpose.
About the turrets I say a person who will do the two squares that are let make a "factory" for turrets that will make new ones once player kills the old ones. ofc you should be able to kill the factory-similar to a runner nest.
UNLOCKED
I added another rail creating thing and a generator.
also added a place where someone could code a turret spawner If someone could actually code the thing, that would be great,
added a generator,
limited terps and berthas to ~6
Ok there is was a problem with C0 turret script making them invincible. I fixed it and also made them not leave a PZ. As we might want to have some more turrets I propose we add a turret factory to the map. I would place it under the dome for some protection, it will make new small turrets so that there will be 5 on the map, something like in V's Aether map. What do you guys think? I attach the fixed turret script and the proposed turret factory script below.
Quote from: pawel345 on February 06, 2014, 01:53:17 PM
Ok there is was a problem with C0 turret script making them invincible. I fixed it and also made them not leave a PZ.
Alright. That seems to be fine. Your solution is a tad messy, but I'll leave it there nonetheless.
However - I didn't like the thing where you change the redness based on health. It was horrible. Steppy and blocky. Like income taxes, but in for image redness.
So, I improved that and commented what you put there in the @CheckHealth function!
What I commented
# Self CONST_HEALTH GetUnitAttribute 10000 eq if
# Self "main" 255 255 255 255 SetImageColor
# endif
# Self CONST_HEALTH GetUnitAttribute 10000 lt if
# Self "main" 255 200 100 255 SetImageColor
# endif
# Self CONST_HEALTH GetUnitAttribute 9961 lt if
# Self "main" 255 100 100 255 SetImageColor
# endif
# Self CONST_HEALTH GetUnitAttribute 9941 lt if
# Self "main" 255 0 0 255 SetImageColor
# endif
What I added
Self "main" 255 Self CONST_HEALTH GetUnitAttribute 9940 sub 60 div 255 mul dup 255 SetImageColor
Your script :D so you get to change it as you like :P I did it like that so that there is a clear indication if the gun was hit once twice or trice as the hp bar had to be removed.
Quote from: pawel345 on February 06, 2014, 02:19:38 PM
Your script :D so you get to change it as you like :P I did it like that so that there is a clear indication if the gun was hit once twice or trice as the hp bar had to be removed.
Now your solution actually makes a lot of sense!
LOCKED
UNBLOCKED
- Added Opening Logo with sound
- Added a Generator
- Added a "AC tank" that you can blow up to get some "free" AC
UNLOCKED
Fixed the terrain that was changed by someone else in my section (Be Careful!). Changed my emitter to a generator.
Unlocked.
Added a construction facility. Takes two nullifiers to destroy.
Also added opening text.
I moved a turret near the forge. Remove at will.
unlocking.
(http://i.imgur.com/hnNRu56.jpg)
It's finally done. what is that red thing? a runner.
also, there is allready a rain of creeper along with turned generators(i saved AFTER i did the thing.), so to compensate, i allowed the forge to be remade for twice the normal cost.
Quote from: Cavemaniac on February 06, 2014, 11:21:45 PM
What?
http://www.youtube.com/watch?v=cTFt2yV-WB0 (http://www.youtube.com/watch?v=cTFt2yV-WB0)
OK so I must say WUT HAPPEND? The map seems completely unplayable, at least according to me. Random creeper rain from the beginning, random spores flying around, I have no idea what is happening. I think that random guppy really destroys the map. The spores are not all that bad, they could stay, but the creeper rain is a bad idea. What do other think?
My concerns:
Looks like it was allowed to run for a bit and then saved, so everything's no longer in the starting location. Some of the walls are already damaged, including the ones containing the emitter by the starting location. Those Drill Riders are vicious enough without giving them a head start! (Plus MadMag's startup logo doesn't come down anymore.) -- To fix all this, it'll probably be easier to revert to the previous map and re-apply the new grid's changes.
The creeper rain falls on the forge and destroys it before those walls even come down.
There are WHITE spores that deliver regular creeper?
And that freakin' guppy... 750 health, 0.5 heal rate, counts for victory? You can't kill it. I can barely see the health bar move with a PZ Sniper nailing it. As soon as it gets away from you, it's healed. Am I missing something on this thing?
I also think there are too many turrets coming out of that factory too quickly.
It's late. I'll talk to y'all in the morning.
I also think it is best to load up a previous savegame and start from there again.
Here's what I'd do if I had the time.
Load up Warpsing's save. Extract any new scripts and images.
Go back to the next save. That should be my save. If it's still broken there, go back to the save before that. That shouldn't be broken.
Then just redo the edits.
As for the turrets factory, it produces a turret every 300 frames up to a maximum of 11 turrets on the map where the variable "name" is "Gun1", which is the default. Both of those numbers are $vars.
OK then the map is LOCKED for Warpsing to fix it and reupload his square. I attach the latest "good" version that is C0 version.
As for other stuff, I think that 11 turrets is a bit much. Let's make it something like 8 maybe? It will be enough to make it hard for the player but they will not be everywhere.
Also as this map is nearing completion we can start thinking about a Pass the Map 3 theme. I through about making it an island sort of map like 3P Hawaii? I would make the map 150x150 but the 30 squares around would be creeper ocean, around 3~4 deep, with a "wave" programmed to come after a while making it around 6 deep for some time. What do you guys think?
Quote from: pawel345 on February 07, 2014, 03:27:24 AM
Also as this map is nearing completion we can start thinking about a Pass the Map 3 theme. I through about making it an island sort of map like 3P Hawaii? I would make the map 150x150 but the 30 squares around would be creeper ocean, around 3~4 deep, with a "wave" programmed to come after a while making it around 6 deep for some time. What do you guys think?
What I think? Try something that doesn't become a massive slog after a few minutes. In other words, hard start, easy win. However, this is nearly impossible when creating it with multiple people.
Something to keep in mind is that only about 25% of those who downloaded your first effort were able to post a score.
This is a great concept (community maps), but too often the end result is a map designed for the better players - and most of our members get left out in the cold.
Some kind of messaging device(s) should also be included for game information. It isn't that big a deal do some saves/re-starts for smaller maps, but can get unwieldy on the larger ones.
Looking forward to playing the end result.
H
Yep.. Something to think over. We must not overfill the map with cool stuff that makes it very hard to beat or understand.
Cool stuff is okay. Confusing stuff is not.
Here's an idea, then.
All the contributors make the map as normal. CRPL, cores, all the stuff.
Then a moderator - probably pawel - goes through all the things, removes what is detrimental, and changes the vars of things. Not to mention modifying and universal-ising the terrain.
And then that map is uploaded along with a list of what was changed to this topic. If someone doesn't like a change to their contribution, that is changed again so they're happy. And then when everyone is happy, the map gets CS'd.
Quote from: Clean0nion on February 07, 2014, 11:04:47 AM
Here's an idea, then.
All the contributors make the map as normal. CRPL, cores, all the stuff.
Then a moderator - probably pawel - goes through all the things, removes what is detrimental, and changes the vars of things. Not to mention modifying and universal-ising the terrain.
And then that map is uploaded along with a list of what was changed to this topic. If someone doesn't like a change to their contribution, that is changed again so they're happy. And then when everyone is happy, the map gets CS'd.
That's a good plan. Everyone throws in what they want to, and then someone with an eye for game balance goes in and tweaks it until it's just right.
You guys should pick the person who'll play Balancer. Or if there are a lot of people interested, maybe give it to someone new each map.
So how about it? Who would be interested in filling that role?
Grayzzur or Pawel..
Quote from: MadMag on February 07, 2014, 02:17:20 PM
Grayzzur or Pawel..
Agreed. I'd do it but:
1. I take so long to do stuff.
2. I'd forget.
3. I can't handle that commitment!
QuoteAgreed. I'd do it but:
You are crazy...
I can gladly supervise, as it was me who came up with the idea in the first place, ofc as this is a community effort I only get to do more or less cosmetic changes to improve playability.
UNLOCKED.
(http://i.imgur.com/HRYs33x.jpg)
completed the terrain. also, that's a hellrider guppy down there, that has the emitter a bit more resistant, but still vulnerable.
so, it takes ammo and AC, and does nothing with it. it also prevents building within an area. and connects to structures, also uses spores. It also acts as a shell for a mobile emitter. also, it is capble if being snipered and beamed, so if you don't have a certain update, the guppy might be unintentionally harder.
also, those red things make terrain upon beaming them... wait, did i make them snipeable?
UNLOCKED
Fixed some terrain in my section.
Grammar/spell check on the opening conversation.
Moved an energy node near the damaged turret to a place not as quickly overrun by creeper.
Ok everyone... time to play for difficulty/balance/bugs and see what needs to be polished before releasing to the community.
My initial feel is that there's too much happening too quickly at the starting location, and random things can overwhelm you quickly. And that's with the turrets all shooting blanks.
C0: Something's wrong with the turrets. They make noise, but they don't even tickle. And once they're fixed, it's going to be a very hard map as-is, in my opinion.
Ok, I get the Hellrider Guppy shooting out spores. That's fine. There are ALSO random spores appearing from random origins. I don't understand those. What's the deal there?
Also, what's the point of the collectors in the void PZ's? And why are there 2 collectors in each PZ?
Right, the turrets still have the old script, fixing it now. The random spores come form the "Guppy" as the script says to shoot a spore form random location to it's location. I will comment it out as it will just confuse the player.
Edits to the map:
-Changed the net_turret.crpl with the one I wrote(C0 if you want your fixed script I can place it there but form your comment I understood that you agreed to my original solution).
-Lowered the range of the stationary turret near the forge to 25 form 30.
-Removed the random spores form the Helrider Guppy, it still fires spores but the ones form random locations are removed.
-Removed the PZ collectors and relays in the void. I realize they where placed there so that guppy can eat packets form the network but the player can destroy them with one click so there is no point in them.
-Changed so that you can rebuild the forge for 1000 packets if you don't manage to save it. Also changed the conversation accordingly. It should make things a bit easier while still make the player to rush for the forge if possible.
-Changed the max number of turrets to 6, also made the factory produce smaller turrets, range 12, speed 0.8. 11 turrets would make the game almost unplayable. Also increased the interval to 900.
Do the turrets still fire blanks? If so, I really have no idea what's going on there. They work on my home save.
It seems so. I am looking at the script now, I noticed something breaks when they have more than one target in range. Add your working script here. But check if they are firing when there are more than 1 unit in range also if they keep firing after they have destroyed a unit. For me they work, and then suddenly stop working around 30 sec into the game.
Quote from: pawel345 on February 08, 2014, 06:57:46 AM
It seems so. I am looking at the script now, I noticed something breaks when they have more than one target in range. Add your working script here. But check if they are firing when there are more than 1 unit in range also if they keep firing after they have destroyed a unit. For me they work, and then suddenly stop working around 30 sec into the game.
Loaded a bunch of turrets onto a separate map using a slightly outdated script.
Some fire, some don't. If a turret notices a unit, it fires successfully. But it doesn't always notice the unit.
This feature seems to be randomly distributed amongst turrets moving and stationary. I'm working on this.
UPDATE: If a turret has been firing at a unit and a closer unit appears, it stops. That's the error. Trying to find a solution.
UPDATE: I'm seeing no issues with the script. Ugh.
Try working on it on the Pass the map, as I managed to make it work on a test map but it breaks once copied to here.
Quote from: pawel345 on February 08, 2014, 12:57:36 PM
Try working on it on the Pass the map, as I managed to make it work on a test map but it breaks once copied to here.
The map that it's being tested on won't matter. If it doesn't work, it doesn't work.
UPDATE: Found a part of the script that makes no sense in the :GetClosestUnit function.
UPDATE: FIIIIIIIIIIIIXXXEEEEDDD!!!!!! Uploading now!
UPDATE: Merging with most recent script version...
If I bump the energy resource node near the damaged turret up from 50 to 150-200, then I have an easier time establishing a base and being able to save the forge. I recommend we make that change. You still have to go for it fairly quickly, or it's position gets overrun with creeper.
The turret factory seems to only be making small turrets.
I beat the map and didn't get a victory. Not sure if it's me, or if there's something hiding that counts for victory.
Script is here.
Spoiler
# net_turret.crpl
# Created by VirgilW
# Modified by Clean0nion
# ------------------------------------------
#THIS IS PTM
$name:"Gun1"
#$barrelOffset:60
#$barrelRecoil:60
$barrelRecoilRate:0.5
#$barrelRecoilTime:330
$maxRotationSpeed:0.05
$fireDelay:60
$range:15
$payload:30
$scale:1.5
$MIN_TERRAIN_HEIGHT:7
$MAX_TERRAIN_HEIGHT:7
$SPEED:0.5
once
Self CONST_DESTROYONDAMAGE 0 SetUnitAttribute
Self CONST_SNIPERTARGET 1 SetUnitAttribute
Self CONST_NULLIFIERDAMAGEAMT 10000 SetUnitAttribute
Self CONST_MAXHEALTH 10000 SetUnitAttribute
Self CONST_HEALTH 10000 SetUnitAttribute
Self CONST_HEALRATE 0 SetUnitAttribute
Self CONST_SNIPERIGNORELOS 1 SetUnitAttribute
Self CONST_DESTROYONDAMAGE 1 SetUnitAttribute
Self CONST_SHOWHEALTHBAR 0 SetUnitAttribute
Self CONST_CREATEPZ 0 SetUnitAttribute
15 <-scale mul ->barrelOffset
15 <-scale mul ->barrelRecoil
Self "main" "Custom0" SetImage
self "barrel" "Custom1" SetImage
self "circleImg" "Custom0_256pp" SetImage
Self "main" <-scale <-scale SetImageScale
Self "barrel" <-scale <-scale SetImageScale
0 ->targetX
0 ->targetY
-1 ->lastCellX
-1 ->lastCellY
self "barrel" 0 SetImageRotation
self "barrel" 0 0 -0.01 SetImagePosition
Self "circleImg" 0 0 0 256 SetImageColor
Self "circleImg" <-range Mul(2.0) Add(1) Div(3) Dup SetImageScale
<-barrelOffset ->currentBarrelOffset
1 ->recovery
endonce
@CheckHealth
@ShowRangeFinder
GetTimer0 eq0 if
@GetClosestUnit ->closestUnit
<-closestUnit neq0 if
<-closestUnit CONST_COORDX GetUnitAttribute ->targetX
<-closestUnit CONST_COORDY GetUnitAttribute ->targetY
else
-1 ->targetX -1 ->targetY
GetQueuedMoveCount eq0 if
@ChooseNewCell if
<-chosenX <-chosenY <-SPEED QueueMove
CurrentX ->lastCellX
CurrentY ->lastCellY
endif
endif
endif
@ManageBarrel ->onTarget
@HandleRecoil
<-onTarget if
GetTimer0 eq0 if
PlaySound("Weapons20")
@CreateBullet
<-currentBarrelOffset <-barrelRecoil sub ->currentBarrelOffset
<-currentBarrelOffset 0 lt if 0 ->currentBarrelOffset endif
<-fireDelay SetTimer0
endif
else
endif
endif
:CreateBullet
"CRPLCore" CurrentX CurrentY CreateUnit ->unit
<-unit "net_turret_bullet.crpl" AddScriptToUnit
<-unit "net_turret_bullet.crpl" "targetX" <-targetX SetScriptVar
<-unit "net_turret_bullet.crpl" "targetY" <-targetY SetScriptVar
<-unit "net_turret_bullet.crpl" "payload" <-payload SetScriptVar
<-unit "main" "Custom2" SetImage
<-unit "main" <-scale <-scale SetImageScale
<-unit "main" -0.01 SetImagePositionZ
<-unit "main" self "barrel" GetImageRotation SetImageRotation
:GetClosestUnit
99999999 ->closestDistance
0 ->closestUnit
GetUnitsInRange(CurrentCoords <-range) ->unitCount
do (<-unitCount 0)
->unit
CurrentCoords <-unit CONST_COORDX GetUnitAttribute <-unit CONST_COORDY GetUnitAttribute Distance ->d
<-d <-closestDistance lt
#CurrentCoords <-unit CONST_COORDX GetUnitAttribute <-unit CONST_COORDY GetUnitAttribute
if
GetUnitType(<-unit) ->ut
<-ut "POWERZONE" eq <-ut "TECHARTIFACT" eq or <-ut "MESSAGEARTIFACT" eq or <-ut "SHIELDKEY" eq or <-ut "TOTEM" eq or <-ut "OREDEPOSIT" eq or <-ut "RESOURCEPACK" eq or <-ut "BERTHA" eq or not if
<-d ->closestDistance
<-unit ->closestUnit
endif
endif
loop
<-closestUnit
:ManageBarrel
<-targetX -1 eq <-onTarget 1 eq or if
0
return
endif
<-targetX CurrentX sub ->deltaX
CurrentY <-targetY sub ->deltaY
<-deltaY <-deltaX atan2 ->desiredAngle
self "barrel" GetImageRotation <-desiredAngle ShortestAngle ->rot
<-rot <-maxRotationSpeed gt if
<-maxRotationSpeed ->rot
else
<-rot <-maxRotationSpeed -1 mul lt if
<-maxRotationSpeed -1 mul ->rot
endif
endif
<-rot abs 0.0001 lt if
1 ->onTarget
else
0 ->onTarget
endif
self "barrel" GetImageRotation <-rot 0.2 mul add ->rot
self "barrel" <-rot SetImageRotation
self "main" <-rot SetImageRotation
<-onTarget
:HandleRecoil
<-currentBarrelOffset <-barrelOffset lt if
<-currentBarrelOffset <-barrelRecoilRate add ->currentBarrelOffset
<-currentBarrelOffset <-barrelOffset gt if <-barrelOffset ->currentBarrelOffset endif
endif
self "barrel" GetImageRotation ->rot
<-rot cos <-currentBarrelOffset mul ->barrelX
<-rot sin <-currentBarrelOffset mul ->barrelY
self "barrel" <-barrelX <-barrelY -0.01 SetImagePosition
:CheckHealth
Self "main" 255 Self CONST_HEALTH GetUnitAttribute 9940 sub 60 div 255 mul dup 255 SetImageColor
Self CONST_HEALTH GetUnitAttribute 9940 lte if
Self CONST_SNIPERTARGET 0 SetUnitAttribute
1 SetPopupTextAlwaysVisible
"Recovering... " SetPopupText
<-recovery if
300 SetTimer0
0 ->recovery
endif
GetTimer0 eq0 if
"" SetPopupText
0 SetPopupTextAlwaysVisible
Self CONST_HEALTH 10000 SetUnitAttribute
1 ->recovery
endif
else
Self CONST_SNIPERTARGET 1 SetUnitAttribute
Self CONST_SNIPERIGNORELOS 1 SetUnitAttribute
endif
:ChooseNewCell
-1 ->chosenX
-1 ->chosenY
@GetPossibleCells
0 <-count RandInt ->randCellNumber
<-count 0 do
->y
->x
I <-randCellNumber eq if
<-x ->chosenX
<-y ->chosenY
endif
loop
<-chosenX -1 neq
:GetPossibleCells
0 ->count
CurrentX 1 add ->cx CurrentY ->cy @CheckCell #Right
CurrentX ->cx CurrentY 1 sub ->cy @CheckCell #Up
CurrentX 1 sub ->cx CurrentY ->cy @CheckCell #Left
CurrentX ->cx CurrentY 1 add ->cy @CheckCell #Down
<-count eq0 if
<-lastCellX
<-lastCellY
1 ->count
endif
:CheckCell
<-cx <-lastCellX neq <-cy <-lastCellY neq or if
<-cx <-cy GetTerrain ->terrainHeight
<-terrainHeight <-MIN_TERRAIN_HEIGHT gte <-terrainHeight <-MAX_TERRAIN_HEIGHT lte and if
<-cx
<-cy
<-count 1 add ->count
endif
endif
:ShowRangefinder
if (Distance(GetMouseCell CurrentCoords) lte(3.5))
SetImageColor(Self "circleImg" 0 0 0 85)
else
SetImageColor(Self "circleImg" 0 0 0 0)
endif
The only things that might need changing are the image names - I've already gone over all the variables.
@Grayzzur - MadMag's Death Star?
Also not sure what happens to the giant shield when you take down the generators, but if it doesn't destroy itself that could be it.
UPDATE: Just updated that spoiler.
I modified the factory so that it makes small turrets.
I checked MadMag's Death Star and galaxy spinnner, both don't count. The shield gets destroyed. There are two other image cores on the map that also don't count for victory. Maybe it wigged out because I was playing through the editor.
Ok, if small turrets were intentional, we're good. I thought it was going to be random.
No idea was causing to map to fail winning, but the turrets completely work in this save.
It was the Hellrider that was breaking it.
Suffice to say that shields no longer protect you from turrets. The Hellrider has not been modified.
Another thing: the opening text is messy, not serious enough, does not follow the chat theme of other game levels, and is full of grammatical errors, and also focuses far too heavily on the Guppy.
One more thing: there are two areas where it would be EASIER to begin than the starting zone, even after three or four minutes into the game. These are between the shield and the AC tank, and beneath the spawn next to the guppy.
A small adjustment i made, should help with the text, also put a message artifact not too far from the hellrider.
UNLOCKED
Ok.
* Re-un-commented spore from random location to guppy - this snuck back in, it's confusing. The guppy has an emitter anyway.
* Fixed the targeting issue with the turrets. They now properly target the closest player unit, regardless of how many units are in range.
* Increased energy node by damaged turret to 100.
* Hellrider Guppy (per chat discussion) moves at 0.5, heals at 0.2, has 250 health.
* Spelling/grammar adjustments to the new message artifact.
If you'd care to say what the problem was, too, I'd be much obliged.
Quote from: Clean0nion on February 08, 2014, 05:25:36 PM
If you'd care to say what the problem was, too, I'd be much obliged.
Recoil issue: I think I commented out a couple variables by accident when helping with one of the earlier bugs. Putting those back fixed this.
Targeting issue: It was in the :GetClosestUnit function. There were some extra commands causing an IF to evaluate incorrectly, and also left numbers on the stack to be picked up as the unit id on the next loop. This would basically cause it to "lock on" to an invalid unit id and hang.
Spoiler
:GetClosestUnit
99999999 ->closestDistance
0 ->closestUnit
GetUnitsInRange(CurrentCoords <-range) ->unitCount
do (<-unitCount 0)
->unit
CurrentCoords <-unit CONST_COORDX GetUnitAttribute <-unit CONST_COORDY GetUnitAttribute Distance ->d
<-d <-closestDistance lt CurrentCoords <-unit CONST_COORDX GetUnitAttribute <-unit CONST_COORDY GetUnitAttribute if
GetUnitType(<-unit) ->ut
<-ut "POWERZONE" eq <-ut "TECHARTIFACT" eq or <-ut "MESSAGEARTIFACT" eq or <-ut "SHIELDKEY" eq or <-ut "TOTEM" eq or <-ut "OREDEPOSIT" eq or <-ut "RESOURCEPACK" eq or <-ut "BERTHA" eq or not if
<-d ->closestDistance
<-unit ->closestUnit
endif
endif
loop
<-closestUnit
Ok then the first person to clear it may upload it with the following description:
A map made together by several knucklekracker forum members. Clean0nion, JonneeG, Lost in Nowhere, pawel345, Mikoz, Grayzzur, MadMag and Warpsing. Hope you enjoy. The pass the map game can be found on the forums in custom map discussion, if you want to make a part of the next map you are welcome. #PassTheMap #noDigitalis #Spores #CRPL #noRunners #Void
Quote from: Grayzzur on February 08, 2014, 06:07:41 PM
Quote from: Clean0nion on February 08, 2014, 05:25:36 PM
If you'd care to say what the problem was, too, I'd be much obliged.
Recoil issue: I think I commented out a couple variables by accident when helping with one of the earlier bugs. Putting those back fixed this.
Targeting issue: It was in the :GetClosestUnit function. There were some extra commands causing an IF to evaluate incorrectly, and also left numbers on the stack to be picked up as the unit id on the next loop. This would basically cause it to "lock on" to an invalid unit id and hang.
Spoiler
:GetClosestUnit
99999999 ->closestDistance
0 ->closestUnit
GetUnitsInRange(CurrentCoords <-range) ->unitCount
do (<-unitCount 0)
->unit
CurrentCoords <-unit CONST_COORDX GetUnitAttribute <-unit CONST_COORDY GetUnitAttribute Distance ->d
<-d <-closestDistance lt CurrentCoords <-unit CONST_COORDX GetUnitAttribute <-unit CONST_COORDY GetUnitAttribute if
GetUnitType(<-unit) ->ut
<-ut "POWERZONE" eq <-ut "TECHARTIFACT" eq or <-ut "MESSAGEARTIFACT" eq or <-ut "SHIELDKEY" eq or <-ut "TOTEM" eq or <-ut "OREDEPOSIT" eq or <-ut "RESOURCEPACK" eq or <-ut "BERTHA" eq or not if
<-d ->closestDistance
<-unit ->closestUnit
endif
endif
loop
<-closestUnit
That's the same bit I removed in my updated script - look upwards a couple of posts in this topic. As for the variables: what were they?
Another version here I really hope it works now
Fixed the bent rail.
EDIT: This time with both attachments.
*phew*
It's out there. #212
So, is this the part where you guys start spitballing themes and features of the next in the series? Or have the problems you guys were having with this one burned you all out for today?
Well I have a good idea abut the theme for the next map. My idea is to make it an island type of map, like 3P Hawaii, so the beginning will have an ocean of creeper 3~4 deep. What do you guys think?
Here's an idea.
That.
But all of the edit squares - or most of them, at least - are separated. Islands!