Hassat Hunter

Administrators
  • Content Count

    4,753
  • Joined

  • Last visited

  • Days Won

    125

Everything posted by Hassat Hunter

  1. 1.2! 1.1-1.2 * Fixed getting the quest and a lightsaber part in the following instances; After killing Vrook & When killing a Cannok on Dxun. * Fixed getting a part instead of a full lightsaber in the following instances; Both above & when killing Lootra.
  2. I mean having her darts and rockets be added to the random loot options. Replacing probably better items...
  3. The Swoop racing code is primarily inside the .exe. As such, the correlation seems pretty easy to make. And infact 1.0 cracks do have swoop race issues, even if some are called "1.0b"... And that's about enough talk of cracks, okay?
  4. Sorry it took this long, but here it is. Laser Slice sounds sweeeet. Too bad it's not included in the game (plasma instead) . //:: k_trp_generic /* Generic Trap Scripts Trap Name Trap Animation Effect minor Effect average Effect deadly Flash Stun A bright light explodes. Save at DC 15 or be stunned. Save at DC 20 or be stunned. Save at DC 25 or be stunned. Fragmentation Mine Conventional explosion Explodes for 3-18 damage in medium radius. Explodes for 5-30 damage in medium radius. Explodes for 9-54 damage in medium radius. Laser Slice Trap Lasers shoot out from floor and flay a character. Lasers cut up one target for 4-24 damage. Lasers cut up one target for 7-42 damage. Lasers cut up one target for 12-72 damage. Gas Trap Gas shoots out and poisons everyone Inflicts a mild poison on everyone in a medium radius. Inflicts a average poison on everyone in a medium radius. Inflicts a virulent poison on everyone in a medium radius. Sonic Charge Sonic blast shoots out and damages in a range Sonic damage for 3-18 */ //:: Created By: Preston Watamaniuk //:: Copyright (c) 2002 Bioware Corp. #include "k_inc_debug" void main() { int nDC; object oTarget; int nTrapID = GetTrapBaseType(OBJECT_SELF); location lTrap = GetLocation(OBJECT_SELF); Db_PostString("Trap Fired", 5,5,4.0); // DJS-OEI 1/20/2004 // Made a bunch of changes to support the trap // design for KotOR2. //FLASH STUN MINE if( nTrapID == TRAP_BASE_TYPE_FLASH_STUN_MINOR || nTrapID == TRAP_BASE_TYPE_FLASH_STUN_AVERAGE || nTrapID == TRAP_BASE_TYPE_FLASH_STUN_STRONG || nTrapID == TRAP_BASE_TYPE_FLASH_STUN_DEADLY || nTrapID == TRAP_BASE_TYPE_FLASH_STUN_DEVASTATING) { //The only difference between the flash traps is the DC. Therefore I am //using 1 section of the if statement. if(nTrapID == TRAP_BASE_TYPE_FLASH_STUN_MINOR) {nDC = 15 ;} if(nTrapID == TRAP_BASE_TYPE_FLASH_STUN_AVERAGE) {nDC = 20 ;} if(nTrapID == TRAP_BASE_TYPE_FLASH_STUN_STRONG) {nDC = 25 ;} if(nTrapID == TRAP_BASE_TYPE_FLASH_STUN_DEADLY) {nDC = 30 ;} if(nTrapID == TRAP_BASE_TYPE_FLASH_STUN_DEVASTATING) {nDC = 35 ;} // DJS-OEI 1/27/2004 // Increase the radius for each rank in Demolitions float fRadius = 3.3; int nDemoSkill = GetOwnerDemolitionsSkill( OBJECT_SELF ); if( nDemoSkill > 0 ) { fRadius += 0.1 * nDemoSkill; } //RWT-OEI 05/24/04 - +1 to the DC per 5 points of Demolitions Skill nDC += (nDemoSkill / 5); effect eStun = EffectStunned(); eStun = SetEffectIcon(eStun, 63 );//RWT-OEI 07/08/04 - Added effect for this oTarget = GetFirstObjectInShape(SHAPE_SPHERE, fRadius, lTrap, TRUE); while(GetIsObjectValid(oTarget)) { if(!WillSave(oTarget, 15) && GetRacialType(oTarget) != RACIAL_TYPE_DROID && !GetIsNeutral(oTarget, OBJECT_SELF)) { ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eStun, oTarget, RoundsToSeconds(3)); } oTarget = GetNextObjectInShape(SHAPE_SPHERE, fRadius, lTrap, TRUE); } } //FRAGMENTATION MINE else if(nTrapID == TRAP_BASE_TYPE_FRAGMENTATION_MINE_MINOR || nTrapID == TRAP_BASE_TYPE_FRAGMENTATION_MINE_AVERAGE || nTrapID == TRAP_BASE_TYPE_FRAGMENTATION_MINE_STRONG || nTrapID == TRAP_BASE_TYPE_FRAGMENTATION_MINE_DEADLY || nTrapID == TRAP_BASE_TYPE_FRAGMENTATION_MINE_DEVASTATING ) { int nDice; int nDamage; effect eDamage; //The only difference between the frag traps is the damage. Therefore I am //using 1 section of the if statement. if(nTrapID == TRAP_BASE_TYPE_FRAGMENTATION_MINE_MINOR) {nDamage = 18; nDC = 15;} if(nTrapID == TRAP_BASE_TYPE_FRAGMENTATION_MINE_AVERAGE) {nDamage = 30; nDC = 20;} if(nTrapID == TRAP_BASE_TYPE_FRAGMENTATION_MINE_STRONG) {nDamage = 42; nDC = 25;} if(nTrapID == TRAP_BASE_TYPE_FRAGMENTATION_MINE_DEADLY) {nDamage = 54; nDC = 30;} if(nTrapID == TRAP_BASE_TYPE_FRAGMENTATION_MINE_DEVASTATING) {nDamage = 66; nDC = 35;} // DJS-OEI 1/26/2004 // Modify damage by the demolitions skill of the person that // placed this mine. int nDemoSkill = GetOwnerDemolitionsSkill( OBJECT_SELF ); if( nDemoSkill > 0 ) { nDamage += nDemoSkill;//RWT-OEI 05/24/04 - Took out the /5 per Feargus } // DJS-OEI 1/27/2004 // Increase the radius for each rank in Demolitions float fRadius = 3.3; if( nDemoSkill > 0 ) { fRadius += 0.1 * nDemoSkill; } oTarget = GetFirstObjectInShape(SHAPE_SPHERE, fRadius, lTrap, TRUE); while(GetIsObjectValid(oTarget)) { if(!GetIsNeutral(oTarget, OBJECT_SELF)) { nDamage = GetReflexAdjustedDamage(nDamage, oTarget, nDC); eDamage = EffectDamage(nDamage, DAMAGE_TYPE_PIERCING); ApplyEffectToObject(DURATION_TYPE_INSTANT, eDamage, oTarget); } oTarget = GetNextObjectInShape(SHAPE_SPHERE, fRadius, lTrap, TRUE); } } //LASER SLICING TRAP - THIS IS NOW THE PLASMA MINE else if(nTrapID == TRAP_BASE_TYPE_LASER_SLICING_MINOR || nTrapID == TRAP_BASE_TYPE_LASER_SLICING_AVERAGE || nTrapID == TRAP_BASE_TYPE_LASER_SLICING_STRONG || nTrapID == TRAP_BASE_TYPE_LASER_SLICING_DEADLY || nTrapID == TRAP_BASE_TYPE_LASER_SLICING_DEVASTATING ) { ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(1044),GetLocation(OBJECT_SELF)); int nDice; int nDamage; effect eDamage; //The only difference between the laser slicing traps is the damage. Therefore I am //using 1 section of the if statement. if(nTrapID == TRAP_BASE_TYPE_LASER_SLICING_MINOR) {nDamage = 24; nDC = 15;} if(nTrapID == TRAP_BASE_TYPE_LASER_SLICING_AVERAGE) {nDamage = 42; nDC = 20;} if(nTrapID == TRAP_BASE_TYPE_LASER_SLICING_STRONG) {nDamage = 60; nDC = 25;} if(nTrapID == TRAP_BASE_TYPE_LASER_SLICING_DEADLY) {nDamage = 78; nDC = 30;} if(nTrapID == TRAP_BASE_TYPE_LASER_SLICING_DEVASTATING) {nDamage = 96; nDC = 35;} // DJS-OEI 1/26/2004 // Modify damage by the demolitions skill of the person that // placed this mine. int nDemoSkill = GetOwnerDemolitionsSkill( OBJECT_SELF ); if( nDemoSkill > 0 ) { nDamage += 3 * nDemoSkill / 2;//RWT-OEI 05/24/04 - Changed to (3*skill)/2 per Fergus } // DJS-OEI 1/27/2004 // Increase the radius for each rank in Demolitions float fRadius = 3.3; if( nDemoSkill > 0 ) { fRadius += 0.1 * nDemoSkill; } oTarget = GetFirstObjectInShape(SHAPE_SPHERE, fRadius, lTrap, TRUE); while(GetIsObjectValid(oTarget)) { if(!GetIsNeutral(oTarget, OBJECT_SELF)) { nDamage = GetReflexAdjustedDamage(nDamage, oTarget, nDC); eDamage = EffectDamage(nDamage, DAMAGE_TYPE_BLASTER); ApplyEffectToObject(DURATION_TYPE_INSTANT, eDamage, oTarget); } oTarget = GetNextObjectInShape(SHAPE_SPHERE, fRadius, lTrap, TRUE); } } //GAS POISON TRAP else if(nTrapID == TRAP_BASE_TYPE_POISON_GAS_MINOR || nTrapID == TRAP_BASE_TYPE_POISON_GAS_AVERAGE || nTrapID == TRAP_BASE_TYPE_POISON_GAS_STRONG || nTrapID == TRAP_BASE_TYPE_POISON_GAS_DEADLY || nTrapID == TRAP_BASE_TYPE_POISON_GAS_DEVASTATING ) { effect ePoison; //The only difference between the poison traps is the poison type. Therefore I am //using 1 section of the if statement. if(nTrapID == TRAP_BASE_TYPE_POISON_GAS_MINOR) {ePoison = EffectPoison(POISON_DAMAGE_MILD);} if(nTrapID == TRAP_BASE_TYPE_POISON_GAS_AVERAGE) {ePoison = EffectPoison(POISON_DAMAGE_AVERAGE);} if(nTrapID == TRAP_BASE_TYPE_POISON_GAS_STRONG) {ePoison = EffectPoison(POISON_ABILITY_AND_DAMAGE_AVERAGE);} if(nTrapID == TRAP_BASE_TYPE_POISON_GAS_DEADLY) {ePoison = EffectPoison(POISON_DAMAGE_VIRULENT);} if(nTrapID == TRAP_BASE_TYPE_POISON_GAS_DEVASTATING) {ePoison = EffectPoison(POISON_ABILITY_AND_DAMAGE_VIRULENT);} ePoison = SetEffectIcon(ePoison, 110);//RWT-OEI 07/08/04 // DJS-OEI 1/27/2004 // Increase the radius for each rank in Demolitions float fRadius = 3.3; int nDemoSkill = GetOwnerDemolitionsSkill( OBJECT_SELF ); if( nDemoSkill > 0 ) { fRadius += 0.2 * nDemoSkill;//RWT-OEI 05/24/04 - Changed from .1 to .2 per Fergus } oTarget = GetFirstObjectInShape(SHAPE_SPHERE, fRadius, lTrap, TRUE); while(GetIsObjectValid(oTarget)) { if(GetRacialType(oTarget) != RACIAL_TYPE_DROID && !GetIsNeutral(oTarget, OBJECT_SELF)) { ApplyEffectToObject(DURATION_TYPE_PERMANENT, ePoison, oTarget); } oTarget = GetNextObjectInShape(SHAPE_SPHERE, fRadius, lTrap, TRUE); } } //SONIC CHARGE TRAP else if ( nTrapID == TRAP_BASE_TYPE_SONIC_CHARGE_MINOR || nTrapID == TRAP_BASE_TYPE_SONIC_CHARGE_AVERAGE || nTrapID == TRAP_BASE_TYPE_SONIC_CHARGE_STRONG || nTrapID == TRAP_BASE_TYPE_SONIC_CHARGE_DEADLY || nTrapID == TRAP_BASE_TYPE_SONIC_CHARGE_DEVASTATING ) { int nDice; effect eDamage; int nDamage; effect eDex; if (nTrapID == TRAP_BASE_TYPE_SONIC_CHARGE_MINOR || nTrapID == TRAP_BASE_TYPE_SONIC_CHARGE_AVERAGE) { eDex = EffectAbilityDecrease(ABILITY_DEXTERITY, 2); } else if (nTrapID == TRAP_BASE_TYPE_SONIC_CHARGE_STRONG || nTrapID == TRAP_BASE_TYPE_SONIC_CHARGE_DEADLY) { eDex = EffectAbilityDecrease(ABILITY_DEXTERITY, 4); } else // devestating { eDex = EffectAbilityDecrease(ABILITY_DEXTERITY, 6); } eDex = SetEffectIcon(eDex, 112); if (nTrapID == TRAP_BASE_TYPE_SONIC_CHARGE_MINOR) {nDamage = 18; nDC = 15; } if (nTrapID == TRAP_BASE_TYPE_SONIC_CHARGE_AVERAGE) {nDamage = 30; nDC = 20; } if (nTrapID == TRAP_BASE_TYPE_SONIC_CHARGE_STRONG) {nDamage = 42; nDC = 25; } if (nTrapID == TRAP_BASE_TYPE_SONIC_CHARGE_DEADLY) {nDamage = 54; nDC = 30; } if (nTrapID == TRAP_BASE_TYPE_SONIC_CHARGE_DEVASTATING) {nDamage = 66; nDC = 35; } // DJS-OEI 1/26/2004 // Modify damage by the demolitions skill of the person that // placed this mine. int nDemoSkill = GetOwnerDemolitionsSkill( OBJECT_SELF ); if( nDemoSkill > 0 ) { nDamage += nDemoSkill; } // DJS-OEI 1/27/2004 // Increase the radius for each rank in Demolitions float fRadius = 3.3; if( nDemoSkill > 0 ) { fRadius += 0.1 * nDemoSkill; } oTarget = GetFirstObjectInShape(SHAPE_SPHERE, fRadius, lTrap, TRUE); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(3007),GetSpellTargetLocation()); while (GetIsObjectValid(oTarget)) { if ( !GetIsNeutral(oTarget, OBJECT_SELF)) { int nDamageNew = GetReflexAdjustedDamage(nDamage, oTarget, nDC); eDamage = EffectDamage( nDamageNew, DAMAGE_TYPE_SONIC); ApplyEffectToObject(DURATION_TYPE_INSTANT, eDamage, oTarget); if (nDamage <= nDamageNew) { ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eDex, oTarget, 30.0); } } oTarget = GetNextObjectInShape(SHAPE_SPHERE, fRadius, lTrap, TRUE); } } }
  5. Or you're just lucky qua specs. I haven't had the float very often with 1.0 even. Never with 1.0b though.
  6. From what I gather it still misses a few unique sounds. And it's just not the same without them...
  7. You only get the Lightsaber (part) when forcing peace though. And I found another reason why Hanharr may be better than Mira, atleast you don't get her crappy items as loot instead of some other better stuff. But she looks really nice as DS
  8. Depends on how long you're willing to wait. You mean "Kreia's Fall"? Or something else?
  9. Not sure why you think it shouldn't. :? And yes, you can even use the same savegames.
  10. Progress is being made on 1.8. But with the many "when is it released?" questions, maybe it's time for an update. Testing is underway. 2 severe gamestopping bugs have already been found and squashed. Who knows if there are more, until more testing has been done? Aside from TSLRCM Zbyl and Stoney are busy with M4-78EP too of course, which limits their time available to work here. I, aside from testing, also do some dialogue fixing here and there. Mostly nitpickery stuff (since there is not a lot of cut content remaining that there is time to do that). Remember a TSLRP tester on Mantis wanting Bao to look at the console on Telos sometimes? That's in 1.8. Also a lot of small one-liners that were missing from TSL due to typo's. But mostly just VO that´s cut short, pauses after being done for a small while, wrong camera positions (each 3 were in the Kreia listen lesson on Nar Shaddaa, but no longer!), not the most interesting things to talk about. But while there may be less additional content and cool stuff (like ingame Visas cutscene, Battle for Telos, ingame Dantooine movies) than there was in 1.6-1.7, all these little things polished together add more a feeling of a professional product. Well, more than already given of course. Well, I will continue on trying to make 1.8 an as-bug-free and polished experience for everyone as possible now, the project is moving forward even if you don't see releases, getting a little better every day. Until you get the full product in hand, have some screenshots of what you can expect to be additionally restored (or fixed, depends how you look at it), and isn't as boring as a VO line cut short . I will post additional screens as I come along new stuff. For now there are just these 2. http://deadlystream.com/forum/gallery/album/80/11-preview-of-18/
  11. From the album: Preview of 1.8

    A bugfix for the Twin Suns encounter. Now, with proper low INF this previously unattainable (since; typo'd) branch opens up. The more reason to be mean to Atton in 1.8 PS; The weird camera stance has already been fixed. But that's for you to discover in the full version .
  12. Heh, that seems like a pretty random reason 0_0. But good you got it fixed, enjoy the Remote influence mod .
  13. Just a reminder that you're free to report any issues. Not only gamestopping ones. Typo's or dialog issues (for me at least) are very welcome .
  14. You can try; 1) Vsync on. Though that's a big performance hit. 2) Disable Vertex Buffer Objects = 1 under [graphic options] to the .ini. Should give improved performance with smoke (lots on Peragus) and Dantooine.
  15. Not really related. "replacing" a loading screen just has you put load_[module].tga in the override. Done. However how to get the proper loading screen to appear in the first place, that's what I wonder. Obviously it's possible, since I did it for myself, but since deleting pretty much all files I tweak afterwards and still having it, I have a hard time seeing how to replicate that effect for other users.
  16. Jaesun, familiar name from the Obsidian Boards and Off Topic Productions boards xD. Hi! *bothers Doctor about his cock up*
  17. Of course the earlier you enter the less XP you get later cleaning the place out... Although the exile generally is highered level than Mira at that point (or any other NPC).
  18. Why yes, leveling up does heal you full. But that was not what ttlan was talking about...
  19. Hassat Hunter

    Typical Atton

    From the album: Preview of 1.8

    A variation on the old line. Which is the same, minus the final few words. Which, imo, are typically Atton, so would be a shame not to have .
  20. Example; Just added Load_007EBO (a clone of 003EBO). And it adds the screen just fine, no adjustments needed (probably since it's an OE module, not one by TSLRCM). Although it's not included in loadscreens.2da (just like Telos Czerka, and a few other modules)
  21. Tried that. It makes no difference what-so-ever. So that's not the factor that makes loading screens appear on the new modules or not.
  22. Obvious maybe; but you did already tried moving the remote mod out of override? Did that fix it?
  23. Hmmm, have yet to notice it using plain TSL (with TSLRCM obviously). Entering EH? Same health. Going from one module to the other? (test area; Nar Shaddaa) it's the same, no healing...
  24. Okay, anybody with spare time, modding experience and a will to help. http://www.megaupload.com/?d=0YZDRW38 TSLRCM required. 1) Warp to 350NAR. What loading screen do you see? 2) Put the contents of map "1" into your override. What loading screen do you see when warping to 350NAR? 3) Put the contents of map "2" into 350NAR.mod and 350NAR.rim. What loading screen do you see when warping to 350NAR? If all 3 give the default, there is much work to be done for me still to find the cause .