Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 5 6 [7]

Author Topic: Limitless: a DFHack-driven adventurer suggestion game.  (Read 11799 times)

AfellowDwarf

  • Bay Watcher
  • Paranoid crossdresser
    • View Profile
Re: Limitless: a DFHack-driven adventurer suggestion game.
« Reply #90 on: October 19, 2013, 05:37:07 am »

Create an undead a vampiric giant sponge.
« Last Edit: October 19, 2013, 10:14:12 am by AfellowDwarf »
Logged
My interactive forum thing: Adventures of Sir Major

highmax28

  • Bay Watcher
  • I think this is what they call a tantrum spiral...
    • View Profile
Re: Limitless: a DFHack-driven adventurer suggestion game.
« Reply #91 on: October 19, 2013, 10:30:39 am »

Create an undead a vampiric giant sponge.

WITH WINGS SO IT CAN MOVE! AND REMOVE THE IMMOBILE TAG SOMEHOW
Logged
just shot him with a balistic arrow, i think he will get stuned from that >.>

"Guardian" and Sigfriend Of Necrothreat
Jee wilikers, I think Highmax is near invulnerable, must have been dunked in the river styx like achilles was.
Just make sure he wears a boot.

AfellowDwarf

  • Bay Watcher
  • Paranoid crossdresser
    • View Profile
Re: Limitless: a DFHack-driven adventurer suggestion game.
« Reply #92 on: October 19, 2013, 11:52:08 am »

Create an undead a vampiric giant sponge.

WITH WINGS SO IT CAN MOVE! AND REMOVE THE IMMOBILE TAG SOMEHOW
Wings can be severed. It should get a spit attack instead.
Logged
My interactive forum thing: Adventures of Sir Major

highmax28

  • Bay Watcher
  • I think this is what they call a tantrum spiral...
    • View Profile
Re: Limitless: a DFHack-driven adventurer suggestion game.
« Reply #93 on: October 19, 2013, 01:45:34 pm »

Create an undead a vampiric giant sponge.

WITH WINGS SO IT CAN MOVE! AND REMOVE THE IMMOBILE TAG SOMEHOW
Wings can be severed. It should get a spit attack instead.
STILL REMOVE THE IMMOBILE TAG
Logged
just shot him with a balistic arrow, i think he will get stuned from that >.>

"Guardian" and Sigfriend Of Necrothreat
Jee wilikers, I think Highmax is near invulnerable, must have been dunked in the river styx like achilles was.
Just make sure he wears a boot.

Orange Wizard

  • Bay Watcher
  • mou ii yo
    • View Profile
    • S M U G
Re: Limitless: a DFHack-driven adventurer suggestion game.
« Reply #94 on: October 19, 2013, 04:48:35 pm »

*opens door*

Create an undead a vampiric giant sponge.

WITH WINGS SO IT CAN MOVE! AND REMOVE THE IMMOBILE TAG SOMEHOW
Wings can be severed. It should get a spit attack instead.
STILL REMOVE THE IMMOBILE TAG

*slams the door, and flees screaming into the night*
Logged
Please don't shitpost, it lowers the quality of discourse
Hard science is like a sword, and soft science is like fear. You can use both to equally powerful results, but even if your opponent disbelieve your stabs, they will still die.

Atomic Chicken

  • Bay Watcher
    • View Profile
Re: Limitless: a DFHack-driven adventurer suggestion game.
« Reply #95 on: October 20, 2013, 08:45:29 am »

If I may ask, how was the teleporting into hell carried out?
Logged
As mentioned in the previous turn, the most exciting field of battle this year will be in the Arstotzkan capitol, with plenty of close-quarter fighting and siege warfare.  Arstotzka, accordingly, spent their design phase developing a high-altitude tactical bomber. 

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: Limitless: a DFHack-driven adventurer suggestion game.
« Reply #96 on: October 20, 2013, 02:46:18 pm »

If I may ask, how was the teleporting into hell carried out?

Code: (instant_transmission.lua) [Select]
-- Allows instant transmission.

if df.global.gamemode~=1 then
qerror("Adventure mode only (for now). Sorry!")
end

function getTileType(x,y,z)
    local block = dfhack.maps.getTileBlock(x,y,z)
    if block then
        return block.tiletype[x%16][y%16]
    else
        return 0
    end
end

function getPowerLevel(unit)
local speed = 1000/dfhack.units.computeMovementSpeed(unit)
local strength = unit.body.physical_attrs.STRENGTH.value/3550
local endurance = unit.body.physical_attrs.ENDURANCE.value/1000
local toughness = unit.body.physical_attrs.TOUGHNESS.value/2250
local spatialsense = unit.status.current_soul.mental_attrs.SPATIAL_SENSE.value/1500
local kinestheticsense = unit.status.current_soul.mental_attrs.KINESTHETIC_SENSE.value/1000
local willpower = unit.status.current_soul.mental_attrs.WILLPOWER.value/1000
local bodysize = (unit.body.blood_count/100)^2
local powerlevel = bodysize*speed*((strength*endurance*toughness*spatialsense*kinestheticsense*willpower)^(1/6))
return powerlevel
end

local function positionIsValid(x,y,z)
local occupancy = dfhack.maps.getTileBlock(x,y,z).occupancy[x%16][y%16]
local tiletype = getTileType(x,y,z)
local attrs = df.tiletype.attrs[tiletype]
if occupancy.building~=0 or occupancy.unit or not dfhack.maps.isValidTilePos(x,y,z) or attrs.shape == df.tiletype_shape.WALL  then return false else return true end
end

local dialog = require('gui.dialogs')

local function teleport(player,unitID)
local unit = df.global.world.units.all[unitID]
local playeroccupancy = dfhack.maps.getTileBlock(player.pos).occupancy[player.pos.x%16][player.pos.y%16]
local teleportToPosX = unit.pos.x
local teleportToPosY = unit.pos.y
local timesTried = 0
teleportToPosY = unit.pos.y - 1
repeat
if timesTried > 4 then qerror("Failed to teleport.") end
local hasNotTried = true
if teleportToPosY < unit.pos.y and hasNotTried then
teleportToPosY = unit.pos.y
teleportToPosX = unit.pos.x-1
hasNotTried = false
end
if teleportToPosX < unit.pos.x and hasNotTried then
teleportToPosX = unit.pos.x
teleportToPosY = unit.pos.y+1
hasNotTried = false
end
if teleportToPosY > unit.pos.y and hasNotTried then
teleportToPosY = unit.pos.y
teleportToPosX = unit.pos.x+1
hasNotTried = false
end
if teleportToPosX > unit.pos.x and hasNotTried then
teleportToPosX = unit.pos.x
teleportToPosY = unit.pos.y-1
hasNotTried = false
end
timesTried = timesTried + 1
until positionIsValid(teleportToPosX,teleportToPosY,unit.pos.z)
dfhack.gui.showAnnouncement("You put two fingers up to your head and concentrate...",11)
player.pos.x = teleportToPosX
player.pos.y = teleportToPosY
player.pos.z = unit.pos.z
if not player.flags1.on_ground then playeroccupancy.unit = false else playeroccupancy.unit_grounded = false end
end

function selectUnit() --taken straight from here, but edited so I can understand it better: https://gist.github.com/warmist/4061959/... again. Also edited for syndromeTrigger, but in a completely different way.
    local creatures=df.global.world.units.all
    local tbl={}
    local tunit=df.global.world.units.active[0]
    for k,creature in ipairs(creatures) do
local plevel=math.ceil(getPowerLevel(creature))
local racename=df.creature_raw.find(creature.race).caste[creature.caste].caste_name[0]
table.insert(tbl,{racename.." "..plevel.." ".. (creature==tunit and "(You!)" or ""),nil,k})
    end
    local f=function(name,C)
        teleport(tunit,C[3])
    end
dialog.showListPrompt("Left is species, right is power level.","Choose creature to teleport to:",COLOR_WHITE,tbl,f)
end

selectUnit()

Icefire2314

  • Bay Watcher
  • Programmer and Space Enthusiast
    • View Profile
Re: Limitless: a DFHack-driven adventurer suggestion game.
« Reply #97 on: October 21, 2013, 04:30:08 pm »

Attempt to befriend a flying clown.
Logged
"ERUTH PULL THE DAMN LEVER THE ZOMBIES ARE ABOUT TO GET INSIDE!"
"zzz"
BAY 12 MINI CITY: http://bay-12.myminicity.com/

Atomic Chicken

  • Bay Watcher
    • View Profile
Re: Limitless: a DFHack-driven adventurer suggestion game.
« Reply #98 on: October 27, 2013, 03:11:19 pm »

If I may ask, how was the teleporting into hell carried out?

Code: (instant_transmission.lua) [Select]
-- Allows instant transmission.

if df.global.gamemode~=1 then
qerror("Adventure mode only (for now). Sorry!")
end

function getTileType(x,y,z)
    local block = dfhack.maps.getTileBlock(x,y,z)
    if block then
        return block.tiletype[x%16][y%16]
    else
        return 0
    end
end

function getPowerLevel(unit)
local speed = 1000/dfhack.units.computeMovementSpeed(unit)
local strength = unit.body.physical_attrs.STRENGTH.value/3550
local endurance = unit.body.physical_attrs.ENDURANCE.value/1000
local toughness = unit.body.physical_attrs.TOUGHNESS.value/2250
local spatialsense = unit.status.current_soul.mental_attrs.SPATIAL_SENSE.value/1500
local kinestheticsense = unit.status.current_soul.mental_attrs.KINESTHETIC_SENSE.value/1000
local willpower = unit.status.current_soul.mental_attrs.WILLPOWER.value/1000
local bodysize = (unit.body.blood_count/100)^2
local powerlevel = bodysize*speed*((strength*endurance*toughness*spatialsense*kinestheticsense*willpower)^(1/6))
return powerlevel
end

local function positionIsValid(x,y,z)
local occupancy = dfhack.maps.getTileBlock(x,y,z).occupancy[x%16][y%16]
local tiletype = getTileType(x,y,z)
local attrs = df.tiletype.attrs[tiletype]
if occupancy.building~=0 or occupancy.unit or not dfhack.maps.isValidTilePos(x,y,z) or attrs.shape == df.tiletype_shape.WALL  then return false else return true end
end

local dialog = require('gui.dialogs')

local function teleport(player,unitID)
local unit = df.global.world.units.all[unitID]
local playeroccupancy = dfhack.maps.getTileBlock(player.pos).occupancy[player.pos.x%16][player.pos.y%16]
local teleportToPosX = unit.pos.x
local teleportToPosY = unit.pos.y
local timesTried = 0
teleportToPosY = unit.pos.y - 1
repeat
if timesTried > 4 then qerror("Failed to teleport.") end
local hasNotTried = true
if teleportToPosY < unit.pos.y and hasNotTried then
teleportToPosY = unit.pos.y
teleportToPosX = unit.pos.x-1
hasNotTried = false
end
if teleportToPosX < unit.pos.x and hasNotTried then
teleportToPosX = unit.pos.x
teleportToPosY = unit.pos.y+1
hasNotTried = false
end
if teleportToPosY > unit.pos.y and hasNotTried then
teleportToPosY = unit.pos.y
teleportToPosX = unit.pos.x+1
hasNotTried = false
end
if teleportToPosX > unit.pos.x and hasNotTried then
teleportToPosX = unit.pos.x
teleportToPosY = unit.pos.y-1
hasNotTried = false
end
timesTried = timesTried + 1
until positionIsValid(teleportToPosX,teleportToPosY,unit.pos.z)
dfhack.gui.showAnnouncement("You put two fingers up to your head and concentrate...",11)
player.pos.x = teleportToPosX
player.pos.y = teleportToPosY
player.pos.z = unit.pos.z
if not player.flags1.on_ground then playeroccupancy.unit = false else playeroccupancy.unit_grounded = false end
end

function selectUnit() --taken straight from here, but edited so I can understand it better: https://gist.github.com/warmist/4061959/... again. Also edited for syndromeTrigger, but in a completely different way.
    local creatures=df.global.world.units.all
    local tbl={}
    local tunit=df.global.world.units.active[0]
    for k,creature in ipairs(creatures) do
local plevel=math.ceil(getPowerLevel(creature))
local racename=df.creature_raw.find(creature.race).caste[creature.caste].caste_name[0]
table.insert(tbl,{racename.." "..plevel.." ".. (creature==tunit and "(You!)" or ""),nil,k})
    end
    local f=function(name,C)
        teleport(tunit,C[3])
    end
dialog.showListPrompt("Left is species, right is power level.","Choose creature to teleport to:",COLOR_WHITE,tbl,f)
end

selectUnit()
Thanks! :D
Logged
As mentioned in the previous turn, the most exciting field of battle this year will be in the Arstotzkan capitol, with plenty of close-quarter fighting and siege warfare.  Arstotzka, accordingly, spent their design phase developing a high-altitude tactical bomber. 

Lost in Nowhere

  • Bay Watcher
  • AHAHAHAHA~!
    • View Profile
Re: Limitless: a DFHack-driven adventurer suggestion game.
« Reply #99 on: December 19, 2013, 11:05:57 pm »

Create a giant, flaming crater somewhere.
Logged
And so I strike, like an unseen dodge ball in an echoing gymnasium!
Another book entitled Start Your Day with Extinction.
Must be the next book in the series after Start Your Day with Death.

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: Limitless: a DFHack-driven adventurer suggestion game.
« Reply #100 on: December 19, 2013, 11:09:52 pm »

Create a giant, flaming crater somewhere.

AAAAAAAAHAHAHAHAHAHAHAAAA--

And thus was the world destroyed by Armok's emissary to be reforged.

Spoiler: OOC (click to show/hide)
Pages: 1 ... 5 6 [7]