|
Whip Staffs
|
|
Submitted by bare_elf on Wed, 2012-06-13 02:54
|
|
I was chatting with Omniscient_Colossus the other night and told him about the DS1 Map Conversion Project. He told me that from what he had seen the project looked very promising. I asked Omniscient_Colossus, if it would be possible to use some of his fancy Whip Staffs and Whip Maces in the project and he said sure.
So Using DS1 Siege Editor I opened the tank protected dsres file. I verified that all the custom art work for inventory icons and active icons was where it should be. Since everything else such as artwork and sound should be covered by the converted files or the new files I figured if I Tanked the mod using Tank Creator 2 everything should work. However the Items will not show up in inventory. Then I thought eeek different naming conventions exist between DS1 and DS2. So I would guess that the game does not understand the names of the items and therefore does not load them. I am unsure how the templates need to be changed and was wondering if someone might help me with that. If you would help please post a comment here and download the files http://siegetheday.org/~bare_elf/DSM/DS2/ocw.zip
Here are what some of the staffs look like
|
|
|
Comments
its not the naming convention its the fact the game dont use the same effect coding, each effect would have to be recoded for ds2.
Would that prevent the staff from showing up in inventory? I figured that might prevent the special effects but did not know that it would prevent the item from appearing at all.
i was just thinking, i beleive that broken world has a monster called a lasher that uses a whip perhaps we could code from that??
After talking to Dark Elf on IRC I came to the understanding I do not have the time or the skill to convert the necessary files to support DS2. If someone else has the time or the time and skill to mess about with this please give it a shot. So I guess I will just work with things I understand like War Fans, throwing bricks, throwing plates, long bows and armor
I've got the whips loaded in DS2 but of course they don't act like whips because the necessary skrit doesn't work in DS2. They act just like normal maces or staffs.
For what it's worth, here's the templates.
http://www.siegetheday.org/~iryan/files/whips.zip
That's cool I will give it a look. Thanks so much
from bw templates\dev\test.gas
[dev,t:template,n:dev_sword_whip]
{
specializes = base_sword_template;
doc = "[TEST OBJECT] dev_sword_whip";
[aspect]
{
model = m_w_dag_003;
}
[attack]
{
attack_range = 0.5;
damage_max = 4;
damage_min = 2;
}
[common]
{
is_pcontent_allowed = false;
screen_name = "Knife Whip";
}
[gui]
{
inventory_height = 2;
inventory_icon = b_gui_ig_i_w_dgr_007;
inventory_width = 1;
}
[test_effect_playground]
{
effect = "whip_test";
target_hero = true;
}
}
[dev,t:template,n:dev_sword_whip2]
{
specializes = base_sword_template;
doc = "[TEST OBJECT] dev_sword_whip";
[aspect]
{
model = m_w_dag_003;
}
[attack]
{
attack_range = 0.5;
damage_max = 4;
damage_min = 2;
}
[common]
{
is_pcontent_allowed = false;
screen_name = "Knife Whip";
}
[gui]
{
inventory_height = 2;
inventory_icon = b_gui_ig_i_w_dgr_007;
inventory_width = 1;
}
[test_effect_playground]
{
effect = "whip_test2";
target_hero = true;
watch_hero = true;
}
}
from bw global\effects\efct_test.gas
[whip_test]
{
skrit=[[
property Goid target$ doc = "Target to run the effect on.";
startup state StartUp$
{
event OnEnterState$
{
int SiegeTarget$ = WorldFXMgr.CreateTarget();
int effect$ = WorldFXMgr.CreateRibbonEffect(SiegeTarget$, 0, RA_CAMERA_XAXIS);
WorldFXMgr.SetTargetDependence( effect$, false, false );
WorldFXMgr.SetEffectTexture( effect$, "b_sfx_band4" );
WorldFXMgr.SetQuadRendering( effect$, true );
WorldFXMgr.AttachSimulation( effect$, "SpawnParticles( 200, 0xFFFFFFAA, 0xFFFFFFAA, .1, .1)", 0.0 );
WorldFXMgr.AttachSimulation( effect$, "PositionAtTarget()", 0.0 );
WorldFXMgr.AttachSimulation( effect$, "AccelAlongTargetVector( 0.0, 0.0, 1.0, 20, 20 )", 0.0 );
WorldFXMgr.AttachSimulation( effect$, "MoveWithVelocity()", 0.0 );
WorldFXMgr.AttachSimulation( effect$, "ScaleChange( 0.05, 0.07, 0.0, 0.0 )", 0.0 );
WorldFXMgr.SetEffectSrcBlend( effect$, PB_SRCALPHA );
WorldFXMgr.SetEffectDestBlend( effect$, PB_DESTALPHA );
WorldFXMgr.AttachTargetToGo( SiegeTarget$, target$, "weapon_grip" );
}
}
]];
}
[whip_test2]
{
skrit=[[
property Goid target$ doc = "Target to run the effect on.";
int rib1$;
int rib2$;
int create_rib$( eRibbonAlign axis$ )
{
// $$$ Fix createribboneffect - eli
int SiegeTarget$ = WorldFXMgr.CreateTarget();
int effect$ = WorldFXMgr.CreateRibbonEffect( SiegeTarget$, 0, axis$ );
//effect$ = WorldFXMgr.CreateParticleEffect();
WorldFXMgr.SetTargetDependence( effect$, false, false );
WorldFXMgr.SetEffectTexture( effect$, "b_sfx_band4" );
//WorldFXMgr.SetEffectTexture( effect$, "b_sfx_sparkle01" );
WorldFXMgr.SetQuadRendering( effect$, true );
WorldFXMgr.AttachSimulation( effect$, "SpawnParticles( 300, 0xFF0000FF, 0xFF0000FF, .1, .1)", 0.0 );
//WorldFXMgr.AttachSimulation( effect$, "SpawnParticles( 3000, 0xFF000022, 0xFF000022, .25, .25)", 0.0 );
WorldFXMgr.AttachSimulation( effect$, "PositionAtTarget()", 0.0 );
WorldFXMgr.AttachSimulation( effect$, "AccelAlongTargetVector( 0.0, 0.0, 1.0, 16, 16 )", 0.0 );
WorldFXMgr.AttachSimulation( effect$, "MoveWithVelocity()", 0.0 );
WorldFXMgr.AttachSimulation( effect$, "ScaleChange( 0.025, 0.05, 0.0, 0.0 )", 0.0 );
WorldFXMgr.AttachSimulation( effect$, "AlphaChange( 0.03, 0.05, 0.0, 0.0 )", 0.0 );
WorldFXMgr.SetEffectSrcBlend( effect$, PB_SRCALPHA );
WorldFXMgr.SetEffectDestBlend( effect$, PB_DESTALPHA );
WorldFXMgr.AttachTargetToGo( SiegeTarget$, target$, "weapon_grip" );
return effect$;
}
startup state StartUp$
{
event OnEnterState$
{
rib1$ = create_rib$( RA_CAMERA_XAXIS );
rib2$ = create_rib$( RA_CAMERA_YAXIS );
}
}
event OnEffectHandleMessage$( eWorldEvent e$, WorldMessage msg$ )
{
report.generic("Got a message\n");
if( e$ == WE_ANIM_OTHER )
{
if( msg$.data1 == 'bswg' )
{
{
report.generic("swinging!!\n");
int accel$ = WorldFXMgr.AttachSimulation( rib1$, "ApplyForceAlongTargetVector( 0.0, 0.0, 1.0, 150, 0, 0, 0.1 )", 0.0 );
WorldFXMgr.DetachSimulation( rib1$, accel$, 0.7 );
int accel2$ = WorldFXMgr.AttachSimulation( rib1$, "ApplyForceAlongTargetVector( 0.0, 0.0, 1.0, -150, 0, 0, 0.5 )", 0.0 );
WorldFXMgr.DetachSimulation( rib1$, accel2$, 0.7 );
int color$ = WorldFXMgr.AttachSimulation( rib1$, "ColorChange( 0.0, 0.0, 0xFF6666FF, 0.0 )", 0.0 );
WorldFXMgr.DetachSimulation( rib1$, color$, 0.7 );
int color2$ = WorldFXMgr.AttachSimulation( rib1$, "ColorChange( 0.0, 0.0, 0xFF0000FF, 0.5 )", 0.0 );
WorldFXMgr.DetachSimulation( rib1$, color2$, 0.7 );
}
//
{
int accel$ = WorldFXMgr.AttachSimulation( rib2$, "ApplyForceAlongTargetVector( 0.0, 0.0, 1.0, 150, 0, 0, 0.1 )", 0.0 );
WorldFXMgr.DetachSimulation( rib2$, accel$, 0.7 );
int accel2$ = WorldFXMgr.AttachSimulation( rib2$, "ApplyForceAlongTargetVector( 0.0, 0.0, 1.0, -150, 0, 0, 0.5 )", 0.0 );
WorldFXMgr.DetachSimulation( rib2$, accel2$, 0.7 );
int color$ = WorldFXMgr.AttachSimulation( rib2$, "ColorChange( 0.0, 0.0, 0xFF6666FF, 0.0 )", 0.0 );
WorldFXMgr.DetachSimulation( rib2$, color$, 0.7 );
int color2$ = WorldFXMgr.AttachSimulation( rib2$, "ColorChange( 0.0, 0.0, 0xFF0000FF, 0.5 )", 0.0 );
WorldFXMgr.DetachSimulation( rib2$, color2$, 0.7 );
}
}
if( msg$.data1 == 'eswg' )
{
}
}
}
]];
}
I decided to find out what teh interwebz knows about ribbon effects so I entered "WorldFXMgr ribbon" into Google and got exactly one hit (which is a feat rarely matched).
The one hit was my own site.
(Update) New machine has been delivered - need to get DS/DS2 installed (with toolkits) and see what I can do. Now which thread had all the Win 7 64-bit considerations?
http://www.siegetheday.org/?q=node/1288 - think this link may help, i know with win7, its best not to install to program files(x86), instead i installed to c:\dungeon siege, c:\dungeon siege2 c:\dungeon siege 2 broken world, much easier to find. and make sure to run the dsvideoconfig and set video driver to your video card, and not use TnL
I'm trying to get all the Dungeon Siege stuff installed on my new machine but the DS2 disk 1 refuses to complete. I have an ISO image on a hard drive on another machine that I use to run it there (it has no optical drive) but I can't load the second disk if I start the installation from that, because it wants the other disks loaded on the same drive.
Anyone have any ideas how to get past this? I've tried to clean the physical disk without success. It always dies trying to read the Terrain.ds2res file which I think is the last one, and nearest the edge of the CD. It's possible I could image the other disks onto the optical-drive-less machine and do the install from there, but that's a lot of effort.
It's been a while since I did such things...
Are you familiar with the DOS 'subst' command? Did you try it out already!?
Assumed drive letter Z: is free, assumed O: is your CD-/DVD-drive on your current PC, and assumed your mounted CD-image is on M: (could be a network folder too), then type:
subst Z: M:\
Start installing it from Z:, and after CD1 is installed, type:
subst Z: /D
subst Z: O:\
You can put then the 2nd/3rd/.. CD into your CD-/DVD-drive O: and the installation should go installing it from Z:
At least I would give it a try.
It appears that subst only really works for swapping drive letters within a machine. For a mapped network location, subst makes that unusable. I.e. it can't find anything via that letter. That may be different from older Windows.
I also tried disconnecting the mapped drive letter and using subst to re-assign that to the local drive, but Windows 7 resolves the mapped drive to "\\machine\sharename\" and wants the second disk mounted there, and not at "Z:\"
It looks like I'm stuck with copying all the other disks over to the server, so I can mount the images in sequence. Or plan B is to upgrade another (XP) machine so it can handle DS development - I already have it installed there.
@Ghastley: Hm, if the CDs are still acceptably readable you could try out ISO Recorder to produce images of the remaining CDs.
This tool is quite comfortable and easy to handle. It may have problems with game CDs, but since you have CD 1 already this shouldn't matter here.
By the way, can you tell the installation process to skip that file (continuing the installation) !?