- October 10, 2024, 11:14
- Welcome, Guest
Show Posts
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Pages: 1 [2]
16
This has been floating around since 0993 and is part of a larger mod that will not be released for at least another version. It features some distinctly unusual (for DoomRL) AIs which accurately represent their original game counterparts, and the AIs are the star of this show. Enjoy.
Distributed Raw, because Raw is Better.
Distributed Raw, because Raw is Better.
17
Bug Reports / [0.9.9.4 Win2003 R2 x64] Crashes when loading midi
« on: September 05, 2011, 18:40 »Quote
----------------------------------------------------------------------
Timestamp : 09.06.2011 00:22:19
Error level : FATAL EXCEPTION
Message : Fatal exception encountered
An unhandled exception occurred at $0048181E :
ESoundException : RegisterMusic(music/00 - inter.mid): Unknown file format
$0048181E TSOUND__REGISTERMUSIC, line 156 of d:/Projects/fpcvalkyrie/src/vsound.pas
$00481AA2 TSOUND__REGISTERMUSIC, line 171 of d:/Projects/fpcvalkyrie/src/vsound.pas
$0047C44D TDOOMCONFIG__MUSICQUERY, line 244 of src/doomconfig.pas
$00480B29 TLUACONFIG__ENTRYFEED, line 62 of d:/Projects/fpcvalkyrie/src/vluaconfig.pas
$0047BF5C TDOOMCONFIG__CREATE, line 208 of src/doomconfig.pas
$0041D8F0 TDOOM__LOAD, line 219 of src/doombase.pas
$0041E027 TDOOM__RUN, line 326 of src/doombase.pas
$004022CA main, line 91 of src/doomrl.pas
----------------------------------------------------------------------
Seems self-explanatory. Problem goes away if GameMusic == false. Since the linux folks have similar problems I'm guessing they are related.
18
Bug Reports / MAd does not affect plasma shotgun
« on: March 15, 2011, 05:19 »
on account of it being plasma instead of shrapnel. Since ignoring armor is better than halving armor I would consider this a bit illogical, and thus a bug.
19
Modding / Voodoo dolls
« on: March 01, 2011, 20:06 »
I was playing around in the sandbox with the Generator class.
There were two Doomguys. And the extra one acted just like voodoo dolls do in regular doom. Which is AWESOME, so I want that kept.
Unfortunately there was no way to NOT have voodoo dolls unless I manually called all of the Generator functions and omit Generator.place_player at the end. Which is fairly advanced considering that most of the time what I'll want to do is simply call Generator.generate() after setting the danger level.
To fix this issue but still keep the voodoo dolls I propose a quick hack of "if the coords are -1, -1 don't place the player in a scripted level", or possibly "Don't place the player if no call to Level.Player() was made" Might be interesting to see what happens if NO player is spawned, but that's their bug.
There were two Doomguys. And the extra one acted just like voodoo dolls do in regular doom. Which is AWESOME, so I want that kept.
Unfortunately there was no way to NOT have voodoo dolls unless I manually called all of the Generator functions and omit Generator.place_player at the end. Which is fairly advanced considering that most of the time what I'll want to do is simply call Generator.generate() after setting the danger level.
To fix this issue but still keep the voodoo dolls I propose a quick hack of "if the coords are -1, -1 don't place the player in a scripted level", or possibly "Don't place the player if no call to Level.Player() was made" Might be interesting to see what happens if NO player is spawned, but that's their bug.
20
AliensRL / AliensRL 0.8 YAVP
« on: June 04, 2010, 02:37 »-- AliensRL 0.8 Post Mortem ------------------------------------------
Name : Ellen Ripley
Class : Marine
Rank : Badass
Result : killed the queen and escaped
Score : 24550
Total experience : 27100
Experience left : 2900
Game length : 621897 turns
Security keycards : 6
Military keys : 1
Armor : Power armor [4]
Sidearm : M4A3 pistol (12/12)
Primary : M41A pulse rifle (62/99)
Heavy : M56 smartgun (20/50)
Medpacks: 5
-- Graveyard ---------------------------------------------------------
#°.........°#.......%|.....#.........
#...........#..............#..ÜÜÜ.ÜÜ.
#..........°#..............#.........
#...°......a#../...........#..ÜÜÜ.ÜÜ.
#######-#####..............#.........
##........../..............#..ÜÜÜ.ÜÜ.
##.........#..............#.........
##........#....a.a.......|..ÜÜÜ.ÜÜ.
##.......#..............#.........
##......#.a............#..ÜÜÜ.ÜÜ.
##.....#..............#.........
##....#..|..X==......#..ÜÜÜ.ÜÜ.
##...#.&...===......#þa.......
##..#..%..===......#......þ.þ
##a#..a...a.......######-###
#########/########.þ.......
##..............#......]..
##.............#..ÜÜÜ.ÜÜ.
##......a.....#.........
##..........a#þ........
##..........#...þ....þ
#####################
-- Skills ------------------------------------------------------------
Sidearms : expert
Light weapons : master
Heavy weapons : advanced
Technical : advanced
Medicine : basic
Fitness : expert
Perception : basic
-- Ammunition --------------------------------------------------------
9mm ammo : 233/400
.44 ammo : 150/150
M309 ammo : 0/500
M250 ammo : 380/500
60mm gren. : 39/40
12g. shells : 200/200
frag grenade : 6/3
inc grenade : 3/3
krak grenade : 2/3
-- Kills (2354) ------------------------------------------------------
490 juveniles
386 warriors
160 elites
31 praetorians
225 scavengers
674 hunters
74 stalkers
193 drones
102 workers
18 overseers
1 queen
-- Messages ----------------------------------------------------------
juvenile dies.
You barely scratch the juvenile! You
lightly hit the juvenile! You barely
scratch the juvenile! You lightly hit
the juvenile! The juvenile dies.
You barely hit the hunter! You barely
hit the hunter! You barely scratch
the hunter! You barely hit the
hunter! The hunter dies.
You activate the Elevator. Entering
----------------------------------------------------------------------
First win. 11th game overall.
Compared to skarczew I played a much slower game, killing enemies and exploring the towers which paid off as the end game was (comparatively) easy.
My first two skill buys were Sidearms and light.
The early game was, naturally, a hunt for ammo. I let enemies get close enough to blast 'em and tried carefully to balance my med-pack ammo expenditures. I lucked out though and got the combat shotty and a nice bit of surplus ammo--enough that I willingly killed drones and workers to get them off my back. Finding armor was a bit tougher, but I eventually found a flak jacket and later flak armor.
By mid-game I'd thrown some XP into medicine (one level is good, more are not) and fitness. Hunters were giving me fits with their tendency to 'crawl through vents' and appear right where I didn't want them to; fitness reduced my pain (all I know about the 'pain' stat is that you don't want it) and gave me more grenades. Grenades are defensive if you ask me. A good inc or krak grenade can turn certain hunter tag team death into at worst 20 hp lost. Without grenades my marine wouldn't be here to talk about it.
Eventually I found the nicely balanced scoped M42A. It used M250 ammo, was highly penetrative, and when coupled with my expert light arms training hurt aliens mucho. I started using it almost exclusively once I noticed that my ammo gains in the military tower covered using it to kill every drone, scavenger, and elite in my way. Occasionally I used an M41A; it handled the tougher enemies a little bit better but it was harder to keep stocked with ammo.
End game was fairly easy. Eventually I found the power armor giving me a backup heavy weapon (I used the RPG while bored for a while; for the final ascent I went with the two automatic weapons that didn't share ammo). By now my marine was pretty tough; XP was rolling in and once I mastered light arms I was throwing it into technical and fitness and even throwing (a mostly useless stat IMHO). I rarely dipped below 4 medkits and I was leaving a lot of them behind. Since I've never actually gotten this far I had no idea that I needed to save up keycards to get to the queen. Whoops. About two hours of searching later I had the keycards, beat up the queen, learned I had to go all the way back while being hounded by enemies, and beat the game.
I hate hunters. I really hate how they jump out of imaginary vents. The run command is useful for not getting surprised by the damn things, but there were several close calls.
I never did find the magnun though...
21
So, do you have an awesome idea for a doomrl level or mod but lack the skill/time/motivation to make it a reality? Post it here, and let your idea influence others!
My idea (that I'm not going to code): The DoomRL Casino
Play the slots, bet items for upgrades, and battle monsters when the chips go down. A fun way to spend the evening! Of course the house has the advantage, and not just because they can eviscerate unruly players...
Subset idea: Russian Roulette
dlvl 22-24. Six teleporters. Five lead to happy equipment. One is instant death. Do you take the risk? The rewards should only be tempting to people who probably can't take out the cyberdemon with their current equipment.
Now it's the community's turn to implement or exchange ideas of their own!
My idea (that I'm not going to code): The DoomRL Casino
Play the slots, bet items for upgrades, and battle monsters when the chips go down. A fun way to spend the evening! Of course the house has the advantage, and not just because they can eviscerate unruly players...
Subset idea: Russian Roulette
dlvl 22-24. Six teleporters. Five lead to happy equipment. One is instant death. Do you take the risk? The rewards should only be tempting to people who probably can't take out the cyberdemon with their current equipment.
Now it's the community's turn to implement or exchange ideas of their own!
22
Releases / Skulltag Arena
« on: May 06, 2010, 22:33 »
The skulltag arena discussion thread. Current version is on the mod server. Current changelog and sources are stored here: http://forum.chaosforge.org/index.php/topic,6139.0.html. This mod is released under the 'Do whatever the hell you want with it' license.
I am interested in bugs and suggestions as well as balance discussion, though if someone else wanted to take over for this mod's upkeep I'd be fine with that too.
I am interested in bugs and suggestions as well as balance discussion, though if someone else wanted to take over for this mod's upkeep I'd be fine with that too.
23
Modding / Infinite Arena (0.9.9.1)
« on: April 24, 2010, 19:25 »
Since several are based on it but not everyone knows what it is, the infinite arena is attached (1.03). Wiki version also updated.
24
Modding / TerminatorRL
« on: April 09, 2010, 21:31 »
This came about after some kicking around in IRC. The actual level only took about an hour to create. It's rough, but it's not exactly meant to be Citizen Kane :)
If anyone wants to adopt the level or idea they can.
Code: [Select]
local t2_plot = function ()
outputsave()
Clear()
bloodslide()
clearkeybuf()
plotwrite(6, 7, RED, 60, "Three million humans lost their money on July 2nd, 2003.",
" ",
"The viewers of the abomination called the movie discontinuity.",
"They lived only to face a new sequel, and remake after remake...")
if escapepressed() then
return
end
enter()
Clear()
Update()
plotwrite(6, 8, RED, 60, "Filmnet, the company that would eventually acquire the franchise,",
"sent two terminators back through time.",
"Their mission: to prevent the sequels and restore the property's value.")
if escapepressed() then
return
end
enter()
Clear()
Update()
plotwrite(6, 8, RED, 60, "The first terminator was programmed to find James Cameron",
"and convince him to put a stop to the new film.",
"It failed.")
if escapepressed() then
return
end
enter()
Clear()
Update()
plotwrite(6, 8, RED, 60, "The second was set to strike at the movie itself",
"while it was still filming.",
"It was just a matter of who would go down first.")
if escapepressed() then
return
end
enter()
clearkeybuf()
end
--ground
Cells{
sID = "t2_ground",
name = "ground",
ascii = "\249",
asciilow = ".",
color = LIGHTGRAY,
color_dark = DARKGRAY,
set = CELLSET_FLOORS,
flags = { CF_OVERLAY },
bloodto = "blood",
}
Cells{
sID = "t2_rock",
name = "ground",
ascii = "\249",
asciilow = ".",
color = BROWN,
color_dark = DARKGRAY,
set = CELLSET_FLOORS,
flags = { CF_OVERLAY },
bloodto = "blood",
}
Cells{
sID = "t2_road",
name = "road",
ascii = "\249",
asciilow = ".",
color = DARKGRAY,
color_dark = DARKGRAY,
set = CELLSET_FLOORS,
flags = { CF_OVERLAY },
bloodto = "blood",
}
Cells{
sID = "t2_roadmarker",
name = "road marker",
ascii = "\249",
asciilow = ".",
color = YELLOW,
color_dark = DARKGRAY,
set = CELLSET_FLOORS,
flags = { CF_OVERLAY },
bloodto = "blood",
}
Cells{
sID = "t2_grass1",
name = "grass",
ascii = "\249",
asciilow = ".",
color = GREEN,
color_dark = DARKGRAY,
set = CELLSET_FLOORS,
flags = { CF_OVERLAY },
bloodto = "blood",
}
Cells{
sID = "t2_grass2",
name = "grass",
ascii = "\249",
asciilow = ".",
color = LIGHTGREEN,
color_dark = DARKGRAY,
set = CELLSET_FLOORS,
flags = { CF_OVERLAY },
bloodto = "blood",
}
--walls
Cells{
sID = "t2_void",
name = "void",
ascii = " ",
color = BLACK,
color_dark = BLACK,
set = CELLSET_WALLS,
flags = {CF_BLOCKLOS, CF_BLOCKMOVE, CF_MULTISPRITE, CF_STICKWALL},
}
--movie stuff
Cells{
sID = "t2_camera",
name = "movie camera",
ascii = "%",
color = DARKGRAY,
armor = 3,
hp = 3,
flags = { CF_BLOCKMOVE, CF_FRAGILE, CF_OVERLAY },
}
Cells{
sID = "t2_lights",
name = "lights",
ascii = "%",
color = LIGHTGRAY,
armor = 3,
hp = 3,
flags = { CF_BLOCKMOVE, CF_FRAGILE, CF_OVERLAY },
}
Cells{
sID = "t2_bluescreen", --
name = "screen",
ascii = "=",
color = DARKGRAY,
armor = 3,
hp = 10,
flags = { CF_BLOCKMOVE, CF_OVERLAY },
}
Cells{
sID = "t2_chair",
name = "director's chair",
ascii = "/",
color = BLUE,
armor = 2,
hp = 1,
flags = { CF_PUSHABLE, CF_BLOCKMOVE, CF_FRAGILE, CF_OVERLAY },
}
--enemies
Beings{
name = "guard",
sID = "t2_guard",
ascii = "@",
color = BROWN,
toDam = 0,
toHit = 0,
HP = 10,
speed = 90,
corpse = true,
danger = 1,
sprite = 0,
desc = "Security guards hired for the shoot",
flags = { BF_OPENDOORS },
OnCreate = function()
Being.setWeapon(ITEM_PISTOL)
Being.addItem(ITEM_AMMO, 30)
end,
}
Beings{
name = "worker",
sID = "t2_worker",
ascii = "@",
color = RED,
toDam = 0,
toHit = 0,
HP = 10,
speed = 90,
corpse = true,
danger = 0,
sprite = 0,
desc = "Lowly workers",
flags = { BF_OPENDOORS, BF_DISTANCE },
}
Beings{
name = "Arnold Schwarzenegger",
sID = "t2_arnie",
ascii = "@",
color = DARKGRAY,
toDam = 1,
toHit = 0,
HP = 15,
speed = 100,
corpse = true,
danger = 1,
sprite = 0,
desc = "The Terminator himself.",
flags = { BF_USESITEMS, BF_UNIQUENAME, BF_OPENDOORS },
OnDie = function()
UI.msg("Hey! No killing the Governator!")
end,
}
Beings{
name = "Jonathan Mostow",
sID = "t2_director",
ascii = "@",
color = LIGHTBLUE,
toDam = 0,
toHit = 0,
HP = 10,
speed = 90,
corpse = true,
danger = 1,
sprite = 0,
desc = "The film's director.",
flags = { BF_USESITEMS, BF_UNIQUENAME, BF_BOSS, BF_OPENDOORS, BF_DISTANCE },
OnDie = function()
UI.msg("Terminated.")
end,
}
Beings{
name = "Nick Stahl",
sID = "t2_actor1",
ascii = "@",
color = WHITE,
toDam = 0,
toHit = 0,
HP = 10,
speed = 90,
corpse = true,
danger = 1,
sprite = 0,
desc = "The whiny lead.",
flags = { BF_UNIQUENAME, BF_OPENDOORS, BF_DISTANCE },
}
Beings{
name = "Claire Danes",
sID = "t2_actor2",
ascii = "@",
color = WHITE,
toDam = 0,
toHit = 0,
HP = 10,
speed = 90,
corpse = true,
danger = 1,
sprite = 0,
desc = "The other whiny lead.",
flags = { BF_UNIQUENAME, BF_OPENDOORS, BF_DISTANCE },
}
Beings{
name = "Kristanna Loken",
sID = "t2_actor3",
ascii = "@",
color = WHITE,
toDam = 0,
toHit = 0,
HP = 10,
speed = 90,
corpse = true,
danger = 1,
sprite = 0,
desc = "The new terminator",
flags = { BF_UNIQUENAME, BF_OPENDOORS, BF_DISTANCE },
}
Levels("CUSTOM",{
name = "Hell's Arena",
Create = function ()
t2_plot()
Level.fill(CELL_T2_VOID)
Level.tile(".", CELL_FLOOR)
Level.tile(",", CELL_T2_GROUND)
Level.tile("#", CELL_WALL)
Level.tile("+", CELL_DOOR)
Level.tile("R", CELL_T2_ROAD)
Level.tile("S", CELL_T2_ROADMARKER)
Level.tile("=", CELL_T2_BLUESCREEN)
Level.tile("%", CELL_T2_CAMERA)
Level.tile("O", CELL_T2_LIGHTS)
Level.tile("C", CELL_T2_CHAIR)
Level.tile("1", CELL_FLOOR, { being = NPC_T2_GUARD})
Level.tile("2", CELL_FLOOR, { being = NPC_T2_WORKER})
Level.tile("3", CELL_T2_GROUND, { being = NPC_T2_ARNIE})
Level.tile("4", CELL_T2_GROUND, { being = NPC_T2_DIRECTOR})
Level.tile("5", CELL_T2_GROUND, { being = NPC_T2_ACTOR1})
Level.tile("6", CELL_T2_GROUND, { being = NPC_T2_ACTOR2})
Level.tile("7", CELL_T2_GROUND, { being = NPC_T2_ACTOR3})
Level.tile("8", CELL_T2_GROUND, { being = NPC_T2_WORKER})
Level.put(2,2,{
",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,RRRRRRRRR,,,,,,,,,,,",
",,,,,,########,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,RRRRRRRRR,,,#####,,,",
",,,,,,#1.....#,,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,RRRRRRRRR,,,#...#,,,",
",,,,,,#......+,,,,,,,,,================,,,,,,,,,,,,,,,,,RRRRSRRRR,,,#.2.#,,,",
",,,,,,#......#,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,RRRRSRRRR,,,##+##,,,",
",,,,,,#......#,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,RRRRRRRRR,,,,,,,,,,,",
",,,,,,#......#,,,,,,,O,,,,,,,,,,,,,,,,,,,O,,,,,,,,,,,,,,RRRRRRRRR,,,,,,,,,,,",
",,,,,,#......#,,,,,,,,,,,,,,,,,,,,,,%,,,,,,,,,,,,,,,,,,,RRRRRRRRR,,,,,,,,,,,",
",,8,,,#......+,,,,6,,,,%,,,,,,,,,,,,,,O,,,,,,,,,,,,,,,,,RRRRRRRRR,,,,,,,,,,,",
",,,,,,#1.....#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,RRRRSRRRR,,,,,,,,,,,",
",,,,,,########,,,,,,,,,,,,,,C,,%,,,,,,,,,,,,,,,,,,,,,,,,RRRRSRRRR,,,,,,,,,,,",
",,,,,,,,,,,,,,,,,,,,,,,,,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,,RRRRRRRRR,,,,,,,,,,,",
",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,RRRRRRRRR,,,,,,,,,,,",
",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,RRRRRRRRR,,,,,,,,,,,",
",,,,,,,,,,,,8,,,,,,,,,,7,,,,,,,##############,,,,,,,,,,,RRRRRRRRR,,,,,,,,,,,",
",,,,,,,,,,,,,,,,,,,,,,,,,,,8,,,#............#,,,,,,,,,,,RRRRSRRRR,,,,,,,,,,,",
",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,#............#,,,,,,,,,,,RRRRSRRRR,,,,,,,,,,,",
",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,#............#,,,,,,,,,,,RRRRRRRRR,,,,,,,,,,,",
})
Level.scatter(2, 2, MAXX-1, MAXY-1, CELL_T2_GROUND, CELL_T2_GRASS1, 40)
Level.scatter(2, 2, MAXX-1, MAXY-1, CELL_T2_GROUND, CELL_T2_GRASS2, 10)
Level.scatter(2, 2, MAXX-1, MAXY-1, CELL_T2_GROUND, CELL_T2_ROCK, 100)
Level.player(68,10)
end,
OnEnter = function ()
Player.clearInv()
Player.setWeapon( ITEM_SHOTGUN )
Player.addItem( ITEM_SHELL, 50 )
Player.hpmax = 1000
Player.hp = 1000
Player.armor = 200
end,
})
If anyone wants to adopt the level or idea they can.
25
Bug Reports / Armor durability 255%
« on: April 07, 2010, 19:06 »
Take the Gothic Armor. It has 200% durability.
Add one bulk mod.
Result: Not 300% or 400% durability but 255%.
Add one bulk mod.
Result: Not 300% or 400% durability but 255%.
26
Modding / Level modding and syntax preference
« on: February 25, 2010, 15:43 »
Just in case you didn't know, modding is now open--in a limited form. Already work is underway, creating new and exciting levels, and a tutorial is planned as well. And an argument sort've broke out on this point which hopefully you, the community, can resolve :)
In Lua (the language mods are written in), almost every object is a table. And Lua is fairly flexible with how you assign tables. For instance, if I were to create an item, the following approaches are all valid:
Which one do you, the community prefer? It's the form that the wiki pages will use, so choose wisely!
In Lua (the language mods are written in), almost every object is a table. And Lua is fairly flexible with how you assign tables. For instance, if I were to create an item, the following approaches are all valid:
Code: [Select]
-- C-style
local new_cell
new_cell = {}
new_cell.name = "object"
new_cell.ascii = ":"
Cells(new_cell)
-- Table style
local new_cell
new_cell = {}
new_cell["name"] = "object"
new_cell["ascii"] = ":"
Cells(new_cell)
-- Lua style
Cells{
name = "object",
ascii = ":"
}
Which one do you, the community prefer? It's the form that the wiki pages will use, so choose wisely!
27
Bug Reports / Another badge bug
« on: November 22, 2009, 00:28 »
version: the public win 99
UAC Diamond is not awarded when the conditions are met. Not that anyone's ever going to get it anyway.
UAC Diamond is not awarded when the conditions are met. Not that anyone's ever going to get it anyway.
Pages: 1 [2]