![]() |
#1 |
EDuke32 CON mod
I've been playing around with CON files today. I now have pigs firing RPGs, but the problem is they don't do enough damage. They seem to do the same damage as regular (pig) shotgun blasts. I have looked in the CONs and can find nothing that will change the amount of damage of enemy attacks, except for some code in user.con that seems to be about enemy melee attacks.
What I want to do is have enemies that will pick different attacks at random (e.g. pigs that use shotgun most of the time, but fire an RPG every now and then). I think I know how to do this but it will be rather pointless to me if all the attacks from a monster do the same damage. |
|
![]() |
![]() |
#2 |
Re: newb con editing plz help
The attacks don't do the same damage.
|
|
![]() |
![]() |
#3 |
progress
ok, I'll take your word for it. But they sure as heck don't do the amount of damage I want them to. It takes about 3 pig RPGs to kill a Duke with 100 health.
So here's what I've done so far: Pigs shoot SHOTGUN half the time, and RPG half the time. Plus they walk somewhat faster. When troopers are using jetpacks and they fire, 25% of the time they will fire a mortar. On the ground, they shoot more rapidly. Lizardmen use a mix of LASERFIRE and FREEZER shots instead of bullets (this means you can dodge them, but if you don't dodge them you will take a ton of damage). ... Next I want to do something with Octas (probably involving lizard spit). After that, I'm not sure, but I'm sure I'll think of something. I discovered something really annoying while testing my changes to game.con Apparently, game.con is incorporated into .sav files at the time they are created, so that subsequent changes to game.con do not affect saved games. |
|
![]() |
![]() |
#4 |
Re: New to CON editing, please help
That sounds pretty complicated but cool.
And tough. Let's rock.
__________________
Ow my foot :'( |
|
![]() |
![]() |
#5 |
|
Re: New to CON editing, please help
Its not as complicated as most other stuff, but for a newbie, he has some skills.
|
![]() |
![]() |
#6 |
Re: New to CON editing, please help
Thanks for the support, guys. I've made a few additions since yesterday:
There are now two types of pigs: regular and red. 25% of pigs become red when they "wake up". Red pigs are just like regular, except that they explode and damage everything around them when you kill them (with a standard pipebomb radius). Maybe it would be better if they just ran toward the player and blew themselves up like the suicide bombers in Serious Sam? There are also two types of lizard captains: regular and blue (50% each). Only the blue ones fire freezer shots now. (It's good to have some regular lizards with hitscan to force the player to take cover). Blue lizards always shatter when they die. I still haven't figured out what to do with the Octabrains. It's possible to make lizard spit come out in a stream, but then it's just too annoying. I'm trying to make the game more fun, not frustrating with cheap deaths. I wonder how hard it would be to make the holoduke spawn a friendly duke bot to fight by your side. |
|
![]() |
![]() |
#7 |
![]()
I finally figured out what to do with the Octabrains (sorry for replying to myself -- I need to start using edit)
Octabrains now spawn with cstat 2, meaning they are transparent, so shots pass right through them (though they can still be harmed by splash damage). They become solid for a few seconds when they are attacking, which is your only change to shoot them. Since it is annoying to wait around for them to attack, I lowered their hit points from 175 to 100 so you can kill them with fewer hits. I also increased the number of frames of their attack animation so it lasts longer, and made them fire more frequently. |
|
![]() |
![]() |
#8 | |
Re: New to CON editing, please help
Quote:
![]()
__________________
I Know Everything There Is To Know About Anything. Duke Nukem Red Alert SVN Ask Me Anything! |
||
![]() |
![]() |
#9 |
![]()
Thanks Commander. I will try to keep it up.
Now I am having issues with the size commands. First of all, here is the code that I am now using: state pigtype /* this state changes 25% of actors into big red actors with extra health; it should only be used once when they first activate */ ifai 0 { ifrnd 64 { spritepal 2 sizeat 50 50 addstrength 50 } } ends This does what it says. But the odd thing is, it should usually make the actor smaller, not bigger, because the default sprite size is 64 64 (according to the Wiki). However, on pig cops at least, it definitely makes them bigger. I should mention here that I am using the models from the hi-res pack and I haven't tested this on the regular sprites. The other more serious issue is that I can't get sizeto to work. If I try ifrnd 64 { spritepal 2 sizeto 50 50 spawn FRAMEEFFECT1 } it will make the actors red 25% of the time, but it won't change their size (I didn't check to see if the health gets added). It also fails to change their size when I put in other values (I tried MAXXSTRETCH MAXYSTRETCH and several others). I would like to use sizeto because it looks better to have the pigs growing rather than suddenly becoming big. |
|
![]() |
![]() |
#10 |
Re: New to CON editing, please help
The default sprite size is 64x64, yes, but the game sizes actors to something like 32x32 on map load.
|
|
![]() |
![]() |
#11 |
Re: New to CON editing, please help
That's good to know. I still wish I knew why I can't get sizeto to work.
New addition: SUPERKICK If the player kicks while jumping or falling, he will do a SUPERKICK, which does 100 damage. That's a lot of damage, but it's tricky to use on enemies. The main difficulty is that Duke's jump height is well above the heads of most enemies, so you have to time the kick so that it starts on your way down from the jump. SUPERKICK is actually a projectile (though you can't see it). What I would like is for the projectile to come out a little bit lower, but I don't know how. defineprojectile does have a parameter for offset, but this isn't documented and I suspect it is only for the x axis anyway. EDIT: Anyone know how to change Duke's jumpheight? A lower jump would work better with jump kicking. It would also make many maps impossible, but that could be remedied if there were double-jumping (as in UT2K4). EDIT2: Nevermind -- limiting jumpheight is one of the examples on the Wiki. Good thing I noticed that before TerminX chided me again for not reading. ![]()
Last edited by DeeperThought; 04-13-2006 at 06:54 PM.
|
|
![]() |
![]() |
#12 |
Re: New to CON editing, please help
I'm trying to implement multi-jumping. Right now, I'm just trying to get some code that will allow the player to jump again in mid-jump (providing he hasn't started falling yet). Here is the code that I have so far (it is in game.con, and is NOT in an actor's code):
/* the following code is an attempt to implement MULTIJUMPING */ gamevar temp 0 2 gamevar MID 541 0 onevent EVENT_JUMP /* the player is pressing the jump key */ { getplayer[THISACTOR].jumping_counter temp ifvare temp 0 { } else setactor[THISACTOR].jumping_counter MID } endevent If this code worked, it would allow infinite multi-jumps (not what I ultimately want), but I don't care about that right now. More importantly, the code won't compile because eDuke says it doesn't recognize the symbol 'jumping_counter'. I would rather implement this feature inside of the aplayer actor code, but I can't use the onevent command inside actor code. Help? |
|
![]() |
![]() |
#13 |
Re: New to CON editing, please help
You wrote "setactor" instead of "setplayer". Also, why are you saying "ifvare temp 0 { } else" instead of "ifvarn temp 0"?
|
|
![]() |
![]() |
#14 |
Re: New to CON editing, please help
That helped, thanks. Now I have the following code, which compiles, but apparently doesn't do anything (pressing jump while ascending during a jump has no effect):
onevent EVENT_JUMP { getplayer[THISACTOR].jumping_counter temp ifvarn temp 0 setplayer[THISACTOR].jumping_counter MID } endevent |
|
![]() |
![]() |
#15 |
Re: New to CON editing, please help
That's because EVENT_JUMP is only triggered if the jump key is pressed while jumping_counter and jumping_toggle equal 0.
![]() |
|
![]() |
![]() |
#16 | |
Re: New to CON editing, please help
Quote:
onevent EVENT_JUMP { setplayer[THISACTOR].jumping_counter 541 setplayer[THISACTOR].jumping_toggle 1 } endevent It didn't do anything. My theory was that once the player started falling from a jump and pressed the jump key, EVENT_JUMP would be triggered, then the code above would start another (albeit somewhat shorter) jump in mid-air. Could the problem be that pjumping is still false, despite the fact that the counter and toggle have been set? If this is the case, is there a way I can manually set pjumping to true? Edit: I have a workaround. Instead of EVENT_JUMP, I do it with EVENT_USE. I don't mind the fact that the player would have to use two different buttons (who said that double jumping should be easy?) It works, but now I need to add code so that the player stops going up after the second "jump", cuz right now pressing the use button during a jump will catapult you to the ceiling. Edit2: It works now. Here is the code, in case anyone is interested: gamevar temp 0 2 /* used for temporary storage */ gamevar doublejumpflag 0 2 /* set to 1 when player has double jumped and hasn't landed yet */ gamevar MID 541 0 /* this value is put in the jump_counter to give player a second jump */ onevent EVENT_USE /* jumps again in mid-air if player presses use key */ ifvare doublejumpflag 0 { getplayer[THISACTOR].jumping_counter temp ifvarn temp 0 setplayer[THISACTOR].jumping_counter MID setvar doublejumpflag 1 } endevent /* Lastly, I put the following in the actor code for aplayer, so that doublejumpflag gets reset on landing */ ifvare doublejumpflag 1 { ifp ponground setvar doublejumpflag 0 } If anyone can think of a better way of implementing double-jumps, please let me know.
Last edited by DeeperThought; 04-14-2006 at 12:37 AM.
|
||
![]() |
![]() |
#17 |
Re: New to CON editing, please help
I just discovered that the example code on the Wiki for limiting jump height does not work right. It works if you put in the value used in the example, but when I put in higher values (still lower than normal jumps), jumping became HIGHER than normal jumps. Here is the code:
gamevar temp 0 2 gamevar ZERO 0 0 /* this next part is in the aplayer actor code */ getplayer[THISACTOR].jumping_counter temp ifvare temp 721 { setactor[THISACTOR].jumping_counter ZERO } This works by stopping the jump at count 721. The table of stopping points (increments) given in the example is: 0 181 361 541 721 901 1081 1261 1441 For some reason, the code works fine for 721, but when I put in 901 the jump is actually higher (and takes longer) than normal instead of shorter. Same with 1081. This happened even with my double-jump code disabled, so the problem isn't that the two are a bad combination. The strange thing is, even if the table has some wrong values, I don't see how the jumps could possibly get higher than normal. If the increment is never reached, then the jump should default to normal height. Maybe what is happening is the counter is somehow continuing even after it is set to zero, and it keeps going all the way up to 1441, making the total height the normal height plus the stopping point height.
Last edited by DeeperThought; 04-14-2006 at 02:37 AM.
|
|
![]() |
![]() |
#18 |
Re: New to CON editing, please help
A neat idea DeeperThought would be if you could some how make duke jump at a high value then the next time if you jumped straight after he jumped at a lower hight and so on like he was getting weaker at jumping then if you dont jump for a period of time he gets his strentgh back and can jump at full height. Sorta something like how you have stanima in Battle Field 2 and other new games. Just an idea.
__________________
I Know Everything There Is To Know About Anything. Duke Nukem Red Alert SVN Ask Me Anything! |
|
![]() |
![]() |
#19 |
Re: New to CON editing, please help
That might be nice, but right now I can't get the jump height limiting code to work for anything except the middle value. So, as it stands, I'm using the middle value, which is about half the normal jump height. To get an extra boost, you press the action key near the beginning of the jump, while you are still on your way up. If you do it right, you can jump higher than a standard jump this way.
I have been trying to use superkick, and the results are mixed. The easiest method is to get at point blank range, then jump straight up and kick on the way down. The other method that works pretty well is running right up to an enemy and then pressing kick as you start your running jump, so you sort of jump kick through them (pig cops have an annoying tendency to duck under this, which I suppose is only fair). What doesn't work very well is jumping at them when you are far away and then kicking on your way down. More often than not, I end up standing on top of the enemy's head, which is funny but annoying. Anyway, it's a one-hit kill on most enemies and it takes no ammo, so if it's a bit difficult to use and only works in certain situations that's probably best for the sake of game balance. I'm so tired of landing on their heads and being carried around by them as they walk that I'm considering adding some code for this specific situation. You know that Duke line, "I'm going to rip off your head and s.hit down your neck" I was thinking: if you are sitting on top of an enemy, why not have some special attack you can trigger in this situation? |
|
![]() |
![]() |
#20 | ||
Re: New to CON editing, please help
Quote:
Quote:
__________________
I Know Everything There Is To Know About Anything. Duke Nukem Red Alert SVN Ask Me Anything! |
|||
![]() |
![]() |
#21 |
Re: New to CON editing, please help
The Octabrain idea sounds pretty neat.
__________________
If you give a man a jingle, he'll jingle for a day. If you teach a man to jingle, he'll jingle all the way! I got a fever. And the only prescription, is more cowbell. |
|
![]() |
![]() |
#22 |
Re: New to CON editing, please help
The final values in the jumping_counter sequence somewhat force the player back down rather than continuing to propel the player upwards.
|
|
![]() |
![]() |
#23 |
Dtcons
I may not have a chance to work on my CONs again for a while, so I am attaching what I have now in case anyone is interested. As always, make sure you back up your original CONs. I am not including defs.CON because I didn't change it and I assume it is the same for everyone. Note that my game.CON may only work in eDuke. I have not tried it with JFDuke. Also keep in mind that saved games use the CONs they were started with, even if the CONs are no longer in your directory. So, to use these CONs, you need to start a new game.
DTCONS Features: -Pigs can fire RPGs (50% of the time) as well as shotguns. They won't fire RPGs when at point blank range. -Troopers can drop morters when they are airborne. Watch out for the occasional unexploded morter on the ground. -Some pigs turn big and red when they first "wake up". These pigs have more hit points and explode when they die. -Some lizardmen are blue; these fire mostly freezershots with the occasional firelaser thrown in. Blue lizardmen shatter when they die. -Octabrains are transparent unless they are attacking. Projectiles will pass right through transparent Octabrains, though they can still be harmed by splash damage. Octabrains have reduced hit points. -Superkick: If you kick while jumping or falling, you will perform a superkick that does 100 damage (killing most enemies with one or two hits). You can tell if a superkick has impacted with something because a flame will spawn on the ground. Also, it leaves a crack decal on walls. A little bit tricky to use, but very effective when mastered. -Jumping: Jumping height has been reduced. However, you can perform a second jump in mid-air by pressing the action key during the ascent of your regular jump. The timing is a bit delicate (press the action key almost immediately after jumping), but this enables you to jump quite a bit higher. Necessary to reach places that require the nonreduced jumping height. -Zoom mode: Activate the nightvision goggles and stand still and you will enter the zoom mode, which does just what the name suggests. Zoom mode will disengage if you start moving or turn off the goggles. While in zoom mode, press the action key to fire extremely rapid sniper shots. These do not use ammo but they deplete your goggles very rapidly. They are also very deadly. -Minor changes to user.CON, including increased ammo capacity, increased pistol damage (with decreased ammo pickups for pistol), and increased capacity for some inventory items. There may be a few other details I am forgetting. Please let me know if something is not working. ![]() DTCONS.zip Edit: I just updated the attachment. Now Duke jumps higher when on steroids. Double jumping on steroids is quite high. Edit2: Another update -- I added zoom mode (see description above). 3: Discovered I had messed up superkick when I was playing around with different values and forgot to change it back. Now it's fixed.
Last edited by DeeperThought; 04-15-2006 at 12:08 AM.
|
|
![]() |
![]() |
#24 | |
Re: New to CON editing, please help
Quote:
Something I hadn't thought about in this connection is playing with the gravitational constant in user.con |
||
![]() |
![]() |
#25 |
![]()
I request that an admin change the name of this thread to "DT's CON mod for eDuke32" (as far as I know I can't do this myself).
![]() |
|
![]() |
![]() |
#26 |
Re: New to CON editing, please help
Whoa, it's 1996 all over again.
|
|
![]() |
![]() |
#27 |
Re: EDuke32 CON mod
Looks like this article in the PC gamer´s magazine drew even more attention to this forum...
|
|
![]() |
![]() |
#28 | ||
Re: New to CON editing, please help
Quote:
Quote:
|
|||
![]() |
![]() |
#29 | |
|
Re: New to CON editing, please help
Quote:
![]() |
|
![]() |
![]() |
#30 |
Holoduke
I can't find any code in game.con concerning what happens when holoduke is activated. There is an actor, HOLODUKE, but the actor in question is the little statue and the code only concerns picking it up.
I want the holoduke to be an actor that fires weapons and stuff. I think I can do this, but the problem is that unless I can alter/disable the regular code, the original holoduke hologram will show up when you press the button in addition to my actor. That would be lame. Certain effects of inventory items seem to be hardcoded. |
|
![]() |
![]() |
#31 |
Re: EDuke32 CON mod
Newsflash: most of the game is hard coded. EDuke32 provides mechanisms for modifying and/or overriding this hard coded behavior, but nobody is going to sit around and figure it out for you.
![]() The HoloDuke spawns an APLAYER sprite on a different status list than the APLAYER sprites that are controlled by the player. |
|
![]() |
![]() |
#32 |
Re: EDuke32 CON mod
Sometimes I "think out loud" by writing these posts about the problems I am working on. I doesn't mean that I expect others to figure things out for me, though I always welcome help, and you have been very helpful.
So, the holoduke problem... How about this: I make an onevent routine that detects whether the holoduke key is pressed. If it is, and the player has holoduke energy, then the game immediately reduces the holoduke units to zero and spawns my holobot. If the holoduke units are taken away in time, then theoretically the stationary hologram won't be created. |
|
![]() |
![]() |
#33 | |
![]()
hmmm, I can't run eduke using your game.con
Quote:
|
||
![]() |
![]() |
#34 |
|
Re: EDuke32 CON mod
Are you using Eduke or Eduke32?
|
![]() |
![]() |
#35 | |
Re: EDuke32 CON mod
Quote:
|
||
![]() |
![]() |
#36 |
|
Re: EDuke32 CON mod
Try getting the newer version.
|
![]() |
![]() |
#37 |
Re: EDuke32 CON mod
thanks, it worked
|
|
![]() |
![]() |
#38 |
Re: EDuke32 CON mod
Hmmmm....
from the Wiki: http://www.eduke32.com/wiki/EDuke32_event_list "Note: Numbered events have been abandoned in favor of pre-defined names for EDuke32 1.3.0; see this previous revision for legacy information." If you were using 1.3.0 then it should have recognized the pre-defined name 'EVENT_USE'. But apparently it didn't. Odd. Anyway, do try with the latest version and let me know if it works. Putting the number of the event instead of the name should work, too. But I can't even find the corresponding event in the list for the older version (when numbers were still used). Edit: Good, it worked. Thanks, GodBlitzer! By the way, I'm pretty sure that multiplayer IS broken, though I haven't tried multiplayer and I'm not too concerned about it.
Last edited by DeeperThought; 04-15-2006 at 02:44 PM.
|
|
![]() |
![]() |
#39 |
Re: EDuke32 CON mod
The documentation on my site is relevant to the current version. That event was added after 1.3.0 and thus has no explicitly defined number. As for the HoloDuke thing.. you could look through the source to find out which statnum the APLAYER sprite used for the hologram uses and then control the spawned sprite via EVENT_GAME, the most powerful event in EDuke32.
|
|
![]() |
![]() |
#40 | |
Re: EDuke32 CON mod
Quote:
|
||
![]() |
Bookmarks |
Thread Tools | |
|
|